Skip to content

Releases: WolfwithSword/Bambu-HomeAssistant-Flows

2.1.4 - General Update

02 Jun 15:56
Compare
Choose a tag to compare

This update is mostly cleanup of the basic and advanced flow, but also adds in a new sensor for the top-levle print-error in the basic flow, as well as a new method of checking if the printer is cloud-connected properly when in cloud mqtt mode.

Additionally, there are now blueprints setup for homeassistant. One of which (notify on print error) requires this basic flow update.

New Features

  • Basic Flow
    • New sensor: Print Error
      • Values will be None or Error. Attributes will have description if available. This error will be the same as any print halting top level error that is a popup on your printer's screen or handy app.
    • New function: If cloud-mqtt connected, use status from bambulab http API to determine if printer is online as well and reachable by cloud.

Changed

  • Basic flow
    • Moved cloud-mode config item to new spot

opera_ofCXMvdq6K

  • Advanced Flow
    • Adjusted times in unzipping and downloading 3mfs

2.1.3 - Adv flow rework and new icons

14 May 17:46
f8f1bae
Compare
Choose a tag to compare

This update includes yet another fix for start/end dates. The advanced flow was entirely reworked, and new AMS humidity icons!

Breaking change: AMS Humidity Level values are now inverted, 5 is 1 and 1 is 5 etc. This is to support better UX with the new icons.

New Features

  • Basic Flow
    • Added count of current skipped objects
  • Advanced Flow
    • Add print weight and cost sensors

Changed

  • Basic Flow
    • Inverted humidity level (breaking-ish change)
    • fixed times
  • Advanced Flow
    • Reworked entirely
    • Removed dependency on python palette, zip palette and base64 palette. As well as python package for Addon users.
      • It does all this work now via exec nodes for ftps/unzipping
    • Fixed logic around http print info mapping
    • Fix makerworld prints on P1 series not working with backup download attempts for plate number
    • organized into groups
  • Bed mesh flows (both)
    • Fixed minor bug in specific scenario when ABL is running during a calibration
  • YAML Dashboards
    • Added many new icons for humidity levels (in media zip)
    • Updated AMS yamls to use new icons

image

2.1.2 - Print Options and start time fix

28 Apr 02:03
Compare
Choose a tag to compare

This update is a partial implementation of new features for allowing you to control most print-options for your printer (that are supported). These include everything from first layer inspection, prompt sound, auto recovery, air print detection and more! As long as it's supported by your printer, it should pick up.

This update also adds a fix for missing print start times (hopefully), as I found a pretty safe way to track it as it is missing from bambu's data now. Additionally, an extra fix was added to the advanced flow (requires basic flow update too) such that if you hit "print again" on the printer, it should have a better chance of being tracked and downloaded!

New Features

  • Basic Flow
    • Toggle switches for all supported print-options depending on the printer firmware and model (automatic)
      • Auto Recovery, First Layer Inspection, Buildplate Detection, Nozzle Blob Detection, Air Print Detection, Prompt Sound Enable, AMS Auto Switch Filament, Filament Tangle Detection, Toggle Recording, Change Camera Resolution, etc
    • Stores the ID's and filenames of unique prints up to 3 days to support advanced flow changes
  • Advanced Flow
    • New check if HA Printer Device Name is misconfigured
    • Smart Print Detect
    • If the print you started was from "print again" option, it gets it from internal printer memory, which is inaccessible.
    • New feature stores your last few prints, such that it can do a lookup on the subtask id and get the correct filepath and attempt to fetch it!

Changed

  • YAML Dashboards
    • "Print Details Yaml" was the only one updated for 2.1.2
      • Added tab for Print Options

image

2.1.1 Dashboards, Custom Speed Control, Update Notifs

13 Apr 00:27
Compare
Choose a tag to compare

This update optimizes the dashboard yamls to be more modular to benefit from HA's Sections UI. It also adds in the Basic flow a custom speed-control percentage slider (30%-180%) that works entirely with OEM firmware (but thanks to Jon from X1Plus for the gcode calculations!). Also adds sensors to the printer for the version of the nodered flows in use (Adv and Basic) and if an update is available (if it can connect to internet).

New Features

  • Basic Flow
    • Sensors for Flow Versions (basic + adv)
    • Sensors for if flow version is out of date (requires internet connection, else it will not exist)
    • Custom Speed Control Percentage (2% increments, 30-180% supported. Also adjusts feedrate properly and tested)
      • If the requested speed matches an existing profile, (50%, 100%, 124%, 166%) it will use the preset instead of calculated values.
  • Advanced Flow
    • Support for flow version check

Changed

  • YAML Dashboards
    • Completely remade to support HA Sections dashboard view layout
      • Much more modular and user friendly!
    • Split up Printer Control into 3 sections
      • Printer control (power, speed, homing)
      • Fan + Temp control (chamber heater exists if it's an X1E)
      • Print Details
    • AMS units now display ID number on them if available to help with sorting
    • Custom Speed control slider
    • Home Axis Button
    • New: Requires Tabbed-Card from HACs now.

2.1.0 X1Plus and Optimizations

18 Mar 01:09
Compare
Choose a tag to compare

This update adds a few new sensors, a lot of flow cleanups, and X1Plus support reviving the Bed Mesh Flows!

New Features

  • Basic Flow
    • Firmware R specific data will be added as sensors when applicable
    • X1Plus specific data will be added as sensors when applicable
    • Added "arbitary gcode command sending" options (requires manually setting to true, see blog post for details)
  • Advanced Flow
    • Plate ID is now saved in printjob data too
  • Bed Mesh Flows
    • Works again now with X1Plus! Requires Basic Flow update as well

Changed

  • Basic Flow

    • Optimization regarding MQTT subscriptions from HA Broker.
      • It will now have some wildcard subscriptions and filters in flow, reducing the number of active subscriptions needed.
    • Several data sensors are now listed as retained data, and can be flow-saved to optimize other flows.
    • Added support for new format of HMS codes for compatibility
    • Several nodes have debug statuses with timestamps now
  • Advanced Flow

    • Reduce dependency on HA nodes in favour of retained mqtt/flow saved variables.
    • Several nodes have debug statuses with timestamps now

2.0.11 Fixes & New Sensors

29 Jan 12:49
Compare
Choose a tag to compare

This update adds a few minor bug fixes that came up in edge cases (which self-fixed for the most part). Additionally, it has a few new sensors and organization for both the basic and advanced flows, and associated changes in the dashboard yamls.

New Features

  • Basic Flow
    • Uptime sensor. This is the uptime (updates every 15s) of the NodeRed flow connection/deployment in conjunction with the printer being online/connected to the flow. Useful to tell if NodeRed is disconnecting without you knowing.
  • Advanced Flow
    • If the DB portion is kept and setup
      • New sensors for Filament Printed Amount and Filament Print Times.
      • Aggregate sensors that poll the database to collect total print hours and in the attributes separate by filament type. Additionally, same for total print amount in kg.
      • *This is only since the Advanced Flow with DB was setup.

image
image

Changed

  • Basic Flow
    • Print Start Time and Print End Time sensors are now proper datetime sensors instead of hard-formatted strings.
      • This also removes some of the confusing timestamp logic in the flow, so it's a bit more organized and error-resistant now!
  • Advanced Flow
    • "Bug Fix" for parsing filament vendor from gcode file. A few more lines of gcode were added so it pushed it out of my extracted amount. Expanded this to resolve the issue.
  • Dashboards
    • NodeRed Version
      • Updated printer control dashboard where print start time and print end time were to use the new datetime/timestamp sensors, with a format applied to visually keep it consistent with before.

2.0.9 / 2.0.10 Experimental A1 Support, Door Sensor, Fixes

30 Dec 17:56
Compare
Choose a tag to compare

This update adds A1 Support, updates to stage and filament translations, general fixes and one modification for print previews.

New Features

  • Basic Flow
    • Door sensor!
  • Dashboards
    • A1 Support

Changed

  • Basic Flow
    • Added loop reconnect to attempt to be compatible with cloud mqtt changes for timeouts (will need user testing)
  • Advanced Flow
    • Print Preview is now MQTT / HA entity type "Image" instead of camera. Dashboard YAMLs have been updated with this as part of the release. To update your already setup yamls, change the "camera._print_preview" to "image._print_preview" in printer yamls
  • Dashboards
    • Updated ALL dashboards to be compatible with newer 3.4.0 version of card-mod. There was a format change requirement, so suggestion to update all yamls.

2.0.8 Experimental X1E/A1 Mini support. New Sensors & Control

06 Nov 00:49
Compare
Choose a tag to compare

This update adds experimental support for the A1 Mini and X1E
As such, it contains mostly changes to the basic flow and dashboards.
There is minor code cleanup in the advanced flow.

New Features

  • Basic Flow
    • Added experimental support for A1 Mini and X1E
      • X1E has chamber temperature set command with correct limits enforced by currently loaded filament types
      • A1 Mini currently will determine if the AMS is an AMS Lite. I am currently working on an alternative way to detect this.
    • Added 10 new parsable stages for the print_stage
    • Added new sensors:
      • Printer connected via wifi or ethernet
      • If printer is homed (None, X, Y, Z, XY, XZ, YZ, XYZ)
      • Generic sensors about printer SSDP discovery information (and error checking)
        • Error checking if IP and resolved IP if a hostname matches based on serial number
        • IF this does not work for you, you may need to open ports 2021 and 1990 from the nodered instance to the hist machine.
        • This is non critical and only serves as additional sensors, so it is not necessary.
      • Separated out target temperature attributes as their own independant sensors
      • New diagnostic sensors about MQTT connection state, cloud connection state, etc.
    • Backup method for HMS data fetching.
      • Nov 5th Bambu added a cloudflare JS challenge to their api endpoint for the HMS file downloading. As such, it can't be scripted easily. So as a backup if it fails to fetch, it will get a backup from my git repository.
    • Home Printer button. Will only home if printer is not printing.
  • HomeAssistant Dashboards
    • Added specific images for P1S, X1E, A1 Mini and AMS Lite.
    • Changed AMS image to be more neutral
    • Finally moved the AMS_2.png image to the bambuprinter directory in yamls and guide.

2.0.7 New Advanced Features

06 Oct 12:27
Compare
Choose a tag to compare

This update is for the advanced ftps nodered flow, as well as Grafana dashboards.

This includes a DB change

Bugs Fixed or Addressed

  • Advanced Flow
    • Fixed multi-material print cost extraction

New Features

  • Advanced Flow
    • [DB CHANGE] New DB Column for "filament_data" and "progress_done"
      • Filament data is all the extracted info useful from the gcode file. Note that makerworld prints do NOT have weight or cost.
      • This is a more finer-grain detail of the other costs from last update. This will store it with each unique profile name in a json array.
      • Progress done will be default 100 for past prints, but going forward will be 0 for new prints, 100 for finished, and any failed will be the last % value
    • GCode Extraction
      • Full filament details extraction
    • In addition to checking the NOTES 1 node from last update, there is a NEW manual update with a NOTES 2 node. PLEASE READ IT.
      • This is for past prints that do not have filament_data. It will automatically add a dummy value in there with a single filament based on the existing material columns.
  • Grafana Dashboards
    • Dashboards were overhauled to prioritize the filament_data column for material types, weights, costs. If it is empty or none were "used" in a print, it will backup use the overall material column value.

2.0.6 New Features & Fixes (Print Material Cost)

18 Sep 14:08
Compare
Choose a tag to compare

This update is for the basic nodered flow and mostly the advanced ftps nodered flow, as well as some Grafana dashboards.

This includes a DB change, as now I extract the cost of a print from the gcode file.

Bugs Fixed or Addressed

  • Basic Flow
    • Additional fixes around regex matching for plate name
  • Advanced Flow
    • More fixes (regex related) for plate name inconsistencies. Turns out, bambu changes things a lot depending how you start a print
    • Additional search logic for files during FTP searching

New Features

  • Advanced Flow
    • [DB CHANGE] New DB Column for "material_used_cost"
      • While I already had columns for material price and cost, they were setup differently and couldn't be repurposed. Instead of removing these in case others were through other means using them, I added a new column. Your DB should update automatically to add the new column.
      • This column is meant to be the cost of the material used for a given print job
      • Just like the material used, in the event of a failed or cancelled print, it will attempt to use the print progress as a % modifier to change this value. It is not perfect but again, good enough for rough estimates. Please only ever consider the values as rough estimates.
      • This REQUIRES you to make a printer profile in bambu/orca slicer which has the filament cost configured accurately per filament you use if you want the most accurate data.
    • GCode Extraction
      • Now the FTP flow will also extract the gcode file and parse the last 7 lines.
      • In the last few lines, there is usually a field for the filament cost of the whole print. This will auto-populate the column in the DB for a given print if found, otherwise 0.0
    • For all previous prints in the DB where the column is 0.0, there is a (semi-dirty) method to update them all which I have included in the DB flow. It allows you to configure your average cost per kg of a filament type, then with the press of a button it will calculate a "good enough" estimate of the material_used_cost for each historic print of that same material where the value was 0.0.
    • This will only work one time so be sure in your "average" calculations
    • It is optional
    • Read the NOTES thoroughly before using it.
  • Grafana Dashboards
    • Added Material Used Cost as a column, added a row for its calculation per filament type as well. And finally, added a column for total print cost combining both it and the electric cost. Changes done in both dashboards.