bambuddy/backend/app/core
maziggy cd004df817 Show Home Assistant sensors on the printer card (#1148, #448)
Binds binary_sensor and reading-carrying sensor entities to a printer and
renders their state on its card, worded by Home Assistant's device_class.
Optional per-sensor alert condition drives a notification on the transition
into the alert state and an opt-in interlock that holds queued prints while
alerting -- a hold with a readable waiting_reason, never a failure, and only
ever on a sensor that was read successfully.

Sensors get their own table rather than a wider entity pattern on SmartPlug:
get_smart_plug_by_printer would otherwise hand the card's power button a door
contact to switch.

The hold is passed to the model matcher directly rather than merged into
busy_printers: _check_auto_drying reads that set as "is currently printing"
and would put an idle-but-held printer down the mid-print drying path.

The notification_providers migration spells its default FALSE, not 0 --
Postgres rejects an integer default for a boolean and _safe_execute swallows
the error.
2026-08-05 14:26:38 +02:00
..
__init__.py Added screenshots 2025-11-28 10:23:59 +01:00
asyncio_handlers.py fix(#1113): silence Windows asyncio Proactor cleanup-RST noise 2026-04-27 16:14:31 +02:00
auth.py fix(overlay): authenticate the OBS overlay with a token when login is enabled (#2613) 2026-07-20 13:04:35 +02:00
catalog_defaults.py Inventory UX improvements, color catalog expansion, settings polish 2026-02-15 09:12:34 +01:00
compat.py Fix Python 3.10 compatibility (StrEnum requires 3.11) 2026-03-05 10:44:24 +01:00
config.py Housekeeping 2026-08-02 12:29:32 +02:00
database.py Show Home Assistant sensors on the printer card (#1148, #448) 2026-08-05 14:26:38 +02:00
db_dialect.py Add optional PostgreSQL database support 2026-04-03 11:33:29 +02:00
encryption.py feat(encryption): MFA at-rest encryption auto-bootstrap with status UI (#1219) (#1231) 2026-05-08 09:01:51 +02:00
local_config.py feat(system): NTP-gate state on /api/v1/system/appliance 2026-06-22 14:23:30 +02:00
logging_filters.py Bound the scheme repetition in the log credential-redaction pattern. As an 2026-08-02 11:17:49 +02:00
oidc_env.py fix(oidc): strip the required BAMBUDDY_OIDC_* values and register the local-login bypass 2026-08-01 11:37:01 +02:00
paths.py feat(encryption): MFA at-rest encryption auto-bootstrap with status UI (#1219) (#1231) 2026-05-08 09:01:51 +02:00
permissions.py feat(slicer): Slicer Pipelines — save & reuse a preset bundle in one click (#1425 PR A) 2026-06-27 13:56:18 +02:00
tasks.py fix(asyncio): track strong refs on orphan create_task sites 2026-06-06 10:41:28 +02:00
trace.py feat(observability): trace ID column on every log line + X-Trace-Id header 2026-04-26 10:01:17 +02:00
websocket.py feat(toast): restore upload-progress toast for scheduler dispatches (#1625 follow-up) 2026-06-27 11:28:00 +02:00