Releases: WolfwithSword/Bambu-HomeAssistant-Flows
2.1.7 General Update
Dashboard YAMLS
- Add wifi signal strength to all printers. Colour and icon changes based on value (thanks @disconn3ct for the initial work!)
- For Nodered based versions, if it detects a wired network, it will swap to an ethernet icon
- For HACs versions, only supports wifi icons.
Basic Flow
- General cleanup and fixes
- Changed most values that would previously report "None" to "No Data" or "Not Set" (semi-breaking change if you have automations setup on current filament). This is because Homeassistant update now treats string "None" as "Unknown" :/
- Under GCode Control, if enabled, a new "select" entity, which provides movement actions
- X, Y and Bed can move +- 1m and +- 10mm relative
- Extruder can move +- 2mm relative
- Custom speed slider values changed. Max is now 166 instead of 180, and algorithm is modified to be smoother and more reliable, should also fix some odd high pitch sounds when changing (Thanks x1plus/jon)
X1Plus flow
- Added preliminary support for x1plus expander additional sensors. Should support basic temp/humidity and air quality/particular matter sensors with existing drivers. This requires the unreleased/upcoming expansion board and a future x1plus version.
Blueprints
- Updated bentobox blueprint to add "Not Set" as a state to fix functionality when "None" no longer works. Should not be super needed since there were multiple backup states to turn off bento box.
What's Changed
- HACs Bentobox Blueprint and YAML changes by @WolfwithSword in #11
- feat: wifi on p1s by @disconn3ct in #12
- v2.1.7 General Update by @WolfwithSword in #13
New Contributors
- @disconn3ct made their first contribution in #12
Full Changelog: 2.1.6...2.1.7
2.1.6 Basic Flow Cloud Fix?
This is a quick emergency update to try addressing the issues Bambulab pointed out here: https://forum.bambulab.com/t/bambu-lab-mqtt-limitations/83440
I cannot explain what they found with multiple concurrent clients, however I have identified a single sequence of events for the following:
- During a routine reconnect attempt (only in cloud connections), the cloud has instability
- This occurs twice in a row
- After occurring a second time, it has a chance to run another connection loop in parallel and stack upon each other. With more cloud instability this can raise, and anything above 3 loops can cause its own local instability and grow more and more
- This will explain the many reconnects they mentioned, as well as client id's being different, but NodeRed is very good at closing unused client connections, so these should have closed immediately.
Either way, I have introduced several preventative measures for cloud connection flow.
- Multiple delay nodes now get reset before being processed, so if anything is built up in a queue, it will be erased. This is done on all reconnect logic nodes such that only ever one reconnect loop can ever exist.
- There is now a 30s delay after mqtt status is detected as down before it starts reconnect logic, which checks if it is back up after 30s. This should accommodate for instability.
- The mqtt connection to the printer and/or cloud will now have a non-generated client id of
nodered_wws_<printer_serial>
. This is to help diagnose future issues and let Bambu know the users are using my newer flows.
I have not been in contact with bambu yet as of writing this, but will notify them of this attempted fix.
Please update especially if you are using the Cloud connection.
2.1.5 X1Plus Flow & A1 Mini Yaml update
This update introduces a brand new experimental flow for integrating specific X1Plus features into homeassistant.
Additionally, several YAML improvements have been done, such as to the AMSLite, A1Mini and Control yamls ( thanks @informagico )
New Features
- Basic Flow
- Support for X1Plus flow, such as sensors for version detection if available
- X1Plus Flow
- New flow
- Provides sensors for OEM Version, X1Plus Version
- Button for checking for OTA updates
- Toggle switches to enable/disable OTA and VNC
- Update integration, so you can upgrade to latest official X1Plus firmware remotely from within HA and get the latest version info.
- This is EXPERIMENTAL and highly subject to change
New X1Plus Flow: https://www.wolfwithsword.com/x1plus-nodered-to-homeassistant/
Changed
- Dashboard Yamls
- A1 Mini and AMS Lite images updated
- A1 Mini and AMS Lite YAMLs updated (both versions)
- Printer Control YAML updated (both versions)
- Printer Details YAML updated (HACs version)
2.1.4 - General Update
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.
- New sensor: Print Error
Changed
- Basic flow
- Moved cloud-mode config item to new spot
- Advanced Flow
- Adjusted times in unzipping and downloading 3mfs
2.1.3 - Adv flow rework and new icons
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
2.1.2 - Print Options and start time fix
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
- Toggle switches for all supported print-options depending on the printer firmware and model (automatic)
- 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
- "Print Details Yaml" was the only one updated for 2.1.2
2.1.1 Dashboards, Custom Speed Control, Update Notifs
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.
- Completely remade to support HA Sections dashboard view layout
2.1.0 X1Plus and Optimizations
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
- Optimization regarding MQTT subscriptions from HA Broker.
-
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
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.
- If the DB portion is kept and setup
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!
- Print Start Time and Print End Time sensors are now proper datetime sensors instead of hard-formatted strings.
- 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.
- NodeRed Version
2.0.9 / 2.0.10 Experimental A1 Support, Door Sensor, Fixes
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.