mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-08-11 00:30:12 -04:00
An end-of-print auto-off on a plug that powers a filter fan marked the linked printer offline and forced its state to "unknown". The mark was unrecoverable: connected heals on the next MQTT message but state does not (only frames carrying gcode_state rewrite it, and steady-state push_status frames are partial), so the printer stayed "unknown" until a manual Force Refresh and the queue never dispatched to it again. The offline mark is now an explicit presumption: mark_power_off records the state it overwrites and _on_message undoes it as soon as the printer sends another report on its own topic, since inbound traffic proves the power was never cut. A reconnect discards the saved state, so a genuine power cut is unaffected. Each plug also gains a controls_printer_power flag (default true, backfilled) that gates all five power-off paths, and the queue's power-on step now picks the flagged plug instead of whichever linked plug came first. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| asyncio_handlers.py | ||
| auth.py | ||
| catalog_defaults.py | ||
| compat.py | ||
| config.py | ||
| database.py | ||
| db_dialect.py | ||
| encryption.py | ||
| local_config.py | ||
| logging_filters.py | ||
| paths.py | ||
| permissions.py | ||
| tasks.py | ||
| trace.py | ||
| websocket.py | ||