Repository navigation
Releases: levtos/plug_policy_engine
Release list
v0.3.6
IGNIS branding update
Branding-only patch. Adds the approved Unicorn Station logo and native Home Assistant 2026.3+ brand images, source PNG and proportional export sizes. Updates product display names while preserving technical integration/domain/entity/API/database/registry identities.
No functional policy, engine or automation changes. Installation and Live verification remain separate user actions. Older HA/HACS CDN pictures may require a separate brands publication; prepared PNGs and details are in brand/README.md.
What's Changed
- Branding: IGNIS logos; no functional changes (v0.3.6) by @levtos-codex in #24
Full Changelog: v0.3.5...v0.3.6
v0.3.5
What's Changed
- chore: adopt GitHub workflow and direct stable HACS release by @Levtos-Acc in #14
- ci: retire GitLab pipeline include by @Levtos-Acc in #17
- [Governance] Align Codex bootstrap bridge by @Levtos-Acc in #18
- docs: Claude bootstrap bridge (control#25) by @Levtos-Acc in #19
- docs: define AGENTS completion contract by @Levtos-Acc in #20
- Fix Bias Light TV-master policy by @levtos-codex in #23
New Contributors
- @levtos-codex made their first contribution in #23
Full Changelog: v0.3.4...v0.3.5
v0.3.4
v0.3.3
plug_policy_engine v0.3.2
Summary
FLEET-170: Tablet/dashboard charging fail-safe is no longer blocked by transient unavailable/unknown suspend states.
Fix
- Tablet charging can bypass policy suspend when battery is unknown/unavailable or below the configured low threshold.
- Tablet low/unknown battery turn_on reasserts no longer trigger the non-latching auto-suspend guard.
- Optional display service calls are skipped when the display target itself is unknown/unavailable.
- Non-tablet appliance behavior and existing safety blockers remain unchanged.
Tests
python -m pytest tests\plug_policy_engine\test_engine.py tests\plug_policy_engine\test_apply_debounce.py -q-> 59 passedpython -m pytest tests\plug_policy_engine\test_tablet_display.py -q-> 9 passedpython -m pytest -q-> 174 passedpython -m compileall -q custom_components\plug_policy_engine tests\plug_policy_engine-> passedpython -m json.tool custom_components\plug_policy_engine\manifest.json-> passed
Deploy
No deploy performed. Benni handles HACS update/deploy and Home Assistant restart/reload.
plug_policy_engine v0.3.1
Summary
- FLEET-220: Bias-Light policy now follows the TV stack instead of broad entertainment activity.
- Adds gaming_source_entity with Benni media-state defaults and UI visibility.
- PC gaming/Overwatch no longer turns on switch.living_bias_light_plug; TV, streaming, and TV gaming remain supported.
Validation
- python -m pytest -q -p no:cacheprovider (164 passed)
- python -m compileall -q custom_components\plug_policy_engine tests\plug_policy_engine
v0.3.0 — AO policy for appliances
AO policy option for appliances
Washer/dryer/dishwasher (kind=appliance) can now be set to AO (Always-On) in addition to HB/AC.
Why: Under AC an idle appliance is cut when the household is truly away — leaving the plug dead so you cannot (remote-)start the machine when you return. AO never cuts and ensures the plug stays on. Running/unknown programs remain protected.
After update: switch Waschmaschine/Trockner (+Spülmaschine) from AC → AO in the integration Options; re-enable the plugs manually if they were cut.
Full test suite: 163 passed.
plug_policy_engine v0.2.5
Fixes PC manual wake during sleep. A live off-to-on transition of the PC plug now starts the existing manual-on cooldown automatically, preventing immediate sleep-context cuts while boot power/activity detection catches up.\n\nValidation: python -m pytest -q -p no:cacheprovider tests\plug_policy_engine (159 passed); python -m compileall custom_components\plug_policy_engine tests\plug_policy_engine.
v0.2.4 — remove stale devices from the registry
Behebt: aus der Config entfernte Geräte (Rollo, gestern Denon/TV/Switch) blieben als unavailable-Leichen in der Registry hängen und ließen sich nicht löschen (supports_remove_device war false, keine Cleanup-Logik).
async_remove_config_entry_deviceimplementiert → HA zeigt jetzt den „Gerät löschen"-Button für Geräte, die nicht mehr in der Config sind (Hub + aktive Geräte bleiben geschützt).- Aktiver Prune beim Setup/Reload → entfernt Registry-Geräte + deren Entities, deren
dev_idnicht mehr konfiguriert ist. Heilt bestehende Leichen automatisch beim nächsten Reload. - Folge: Ein Entfernen über Plug Policy → Konfigurieren → Gerät entfernen räumt jetzt auch die Registry mit auf (der Auto-Reload prunt).
158 Tests grün. Deploy via HACS, dann Integration einmal neu laden — die Leichen verschwinden.
v0.2.3 — kind-aware policy (self-contained vs policy-driven)
Behebt die Unstimmigkeit, dass man einen Kind wählt und trotzdem eine Policy setzen muss, die die Engine ignoriert.
- Self-contained Kinds (tablet/blind/diffuser/bias_light/pc → SPECIAL, coffee_maker → AO): Policy ist implizit, der Config-Flow blendet sie aus (neuer
device_policy-Step wird übersprungen, Policy automatisch gesetzt). - Policy-driven Kinds: Policy bleibt sichtbar —
applianceauf HB/AC eingegrenzt,generic/denon/h14_dockfrei. allowed_contexts(Diffuser-Phasen) von der SC-Policy entkoppelt — kommt jetzt nativ aus dem Kind.- Engine-Logik unverändert, 157 Tests grün.
Deploy via HACS.