homelab-codex-ws/services/home-assistant/config/ken/automations/1785164185794.yaml
oskar 09624e008e feat(ha/ken): porzadki po audycie — pimirror z archiwum, konwencje, backlog
Odtworzone graceful shutdown pimirror (audyt pkt 14, jedyna realna strata
migracji): nowa automatyzacja "Pimirror: graceful shutdown przed odcieciem
zasilania" (1785164185794.yaml) wciska przycisk shutdown przed twardym
cieciem zasilania o 23:35, dajac istniejacemu ACK-flow ("Magic Mirror OFF on
ACK") szanse zamknac Pi grzecznie zamiast zawsze odcinac prad na sile.
Zaadaptowane wzgledem legacy: entity_id zamiast device automation, oryginalna
encja button.rpi_pimirror_* jest dziś unavailable — uzyto aktualnej
button.rpi_pimirror2_* (potwierdzone w storage-export/ken).

Spisana konwencja na przyszlosc (audyt pkt 17) w DESIGN.md: entity_id zamiast
device automations, alias PL z prefiksem funkcjonalnym, description z
"managed-by: repo" — bez hurtowej migracji istniejacych automatyzacji.

Backlog: deploy.sh --delete (kasacje wspolnym torem dry-run/LIVE zamiast
recznych curl DELETE) i brakujacy trigger na zmiane input_number.klima_salon_tolerancja
w automatyzacji ON klimy.

Walidacja: normalizator round-trip (byte-identical), 4 pakiety testow offline
(normalize/split/deploy_api/import_api) pass, dry-run deploy.sh na zywym ken
(check_config valid, brak driftu) — bez LIVE deployu.
2026-07-27 17:51:39 +02:00

16 lines
1.4 KiB
YAML

actions:
- action: button.press
target:
entity_id: button.rpi_pimirror2_rpi_shutdown_pimirror2_command
alias: 'Pimirror: graceful shutdown przed odcięciem zasilania'
conditions:
- condition: state
entity_id: switch.tasmota_2
state: 'on'
description: 'Wciska przycisk graceful-shutdown pimirror2 przed twardym odcięciem zasilania o 23:35 ("Mirror OFF"), żeby Pi zdążył się bezpiecznie wyłączyć zanim zgaśnie prąd. Istniejący automat "Magic Mirror OFF on ACK" (MQTT dom/pimirror-ack "went-halt") odcina zasilanie switch.tasmota_2 ok. 2 min po ACK — "Mirror OFF" 23:35 zostaje jako pas bezpieczeństwa, gdyby ACK nie przyszedł (Pi zawieszony/offline). Odtworzone z ken-legacy (automations/1703105565821.yaml "Turn OFF pimirror"): legacy używał device automation (press przycisku + delay 1 min + turn_off switch bezpośrednio, bez zapisanego triggera — prawdopodobnie wywoływane ręcznie); tu: entity_id zamiast device_id, bez duplikowania wyłączenia zasilania (robi to już istniejący ACK-flow), trigger czasowy zamiast braku triggera. Adaptacja encji: legacy/oryginalny button.rpi_pimirror_dom_rpi_shutdown_pimirror_command jest unavailable na ken (fixtures/ken-states-2026-07-27.yaml) — użyto aktualnego button.rpi_pimirror2_rpi_shutdown_pimirror2_command (potwierdzone w storage-export/ken/core.entity_registry.yaml). managed-by: repo'
id: '1785164185794'
mode: single
triggers:
- at: '23:28:00'
trigger: time