homelab-codex-ws/services/home-assistant/config/ken/automations/1784804668795.yaml
oskar f09dcbf10d fix(ha/ken): fix-pack 1 po audycie — alerty wodne, respekt manual, 3am punktowo, klima OFF za auto
Zmiany wyłącznie w repo (config/ken/ automations), deploy LIVE robi operator.

- 1752086407230 "dry in Kuchnia": trigger moist -> not_moist (kopiuj-wklej z
  "moist in Kuchnia", "sucho" nigdy nie przyjdzie).
- 1752085965483 "dry in Lazienka": literówka mesaage -> message (skrypt
  notify_email_ntfy dostawał niezdefiniowane message, akcja się wykładała).
- 1764190493305 "after 15 minutes anyway": dodany warunek stanu
  automation.turn_off_lights_in_kuchania == on, żeby respektować ręczne
  "Disable AUTO off" (double-click) zamiast unieważniać je po 15 minutach.
- 1700832676138 "unconditionally at 3am": time_pattern hours: '3' (60
  odpaleń/noc) -> punktowy trigger time: 03:00:00, zgodnie z intencją aliasu.
- 1784804668795 "Klima salon: wyłącz...": dodany warunek
  input_boolean.klima_salon_auto == on dla gałęzi sunset/balkon (automat
  ubija tylko chłodzenie, którym sam zarządza — ręczne chłodzenie przy
  zgaszonym auto zostaje nietknięte). Trigger auto_off (zgaszenie
  klima_salon_auto) ma osobną gałąź choose bez tego warunku — graceful
  shutdown suszenia parownika działa nawet gdy przełącznik właśnie zgasł.
  Zweryfikowano na żywym ken: helpery klimy istnieją (input_boolean.
  klima_salon_auto=off, input_number.klima_salon_temp_docelowa=24.0,
  input_number.klima_salon_tolerancja=3.0).

DESIGN.md: nowa sekcja "Decyzje operatora po audycie 2026-07-23" — co
zaimplementowane, co świadomie odłożone (enforcer sleep mode + konsolidacja
nocnych wyłączników -> projekt night_mode; OwnTracks / Leave batch 02 / alerty
on-leave -> bez zmian).

docs/backlog.md: cztery nowe wpisy w Aktywne — guard TRV przed sezonem
grzewczym, przycisk graceful shutdown klimy na dashboard, diagnoza wspólnej
awarii sprzętowej 2026-07-17 (czujniki ruchu + pilot 4button + xiaomi_miot),
projekt architektura night_mode.

Walidacja: round-trip scripts/ha/lib/normalize.py na wszystkich 5 zmienionych
plików (stabilny), 4 zestawy testów offline scripts/ha/tests/*.sh (wszystkie
PASS), dry-run scripts/ha/deploy.sh ken --dry-run per plik na żywym ken
(wszystkie: check_config valid, brak driftu, brak abortu).

Choinkowe automatyzacje (audyt 4.2) celowo nietknięte w plikach — disable to
stan runtime, nie config; operator wyłączy je przez UI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 17:17:38 +02:00

47 lines
1.5 KiB
YAML

actions:
- choose:
- conditions:
- condition: trigger
id:
- sunset
- balkon_temp
- condition: state
entity_id: input_boolean.klima_salon_auto
state: 'on'
- condition: state
entity_id: climate.gree_ir_blaster_klimatyzacja
state: cool
sequence:
- action: script.turn_on
target:
entity_id: script.klima_salon_dry_off
- conditions:
- condition: trigger
id: auto_off
- condition: state
entity_id: climate.gree_ir_blaster_klimatyzacja
state: cool
sequence:
- action: script.turn_on
target:
entity_id: script.klima_salon_dry_off
default: []
alias: 'Klima salon: wyłącz chłodzenie i osusz parownik'
conditions: []
description: 'Wyłącza tryb chłodzenia klimatyzacji w salonie i uruchamia suszenie parownika, ale tylko gdy klima_salon_auto = on (nie ubija ręcznie włączonego chłodzenia). Wyjątek: gdy to samo zgaszenie klima_salon_auto jest triggerem (auto_off), suszenie parownika i tak się wykonuje — to graceful shutdown całej automatyki klimy, nie zwykłe zadziałanie trybu auto. managed-by: repo'
id: '1784804668795'
mode: single
triggers:
- event: sunset
id: sunset
offset: 0
trigger: sun
- for: 00:15:00
id: balkon_temp
trigger: template
value_template: '{{ states(''sensor.thtuyabalkon_temperature'') | float(0) <= states(''sensor.thsalon_temperature'') | float(0) }}'
- entity_id: input_boolean.klima_salon_auto
id: auto_off
to: 'off'
trigger: state