Přeskočit obsah

Osvětlení a DALI Infrastruktura

Tento dokument popisuje aktuální stav integrace osvětlení v domě, která je postavená na DALI sběrnici, a navrhuje další kroky pro přechod na primárně senzorové ovládání.

1. Fyzická a síťová vrstva (Gateway)

  • Technologie: Foxtron dali2net (případně DALInet).
  • Funkce: Převodník mezi DALI sběrnicí a Ethernetem (TCP/IP). Umožňuje plnohodnotné řízení a monitoring DALI zařízení.
  • Topologie: V domě jsou 4 samostatné DALI linky připojené přes tyto brány.

2. Integrace v Home Assistantu

  • Custom Component: ha-foxtron-dali (Dostupné na GitHubu).
  • Princip:
  • Integrace se připojuje přímo k IP adrese a portu brány (např. 192.168.40.41:23).
  • Světla: Automaticky objevuje DALI předřadníky (světla) a zakládá pro ně standardní light entity. Aktualizace stavu je okamžitá díky push notifikacím ze sběrnice.
  • Tlačítka (Vstupy): Odposlouchává události z DALI-2 tlačítek (Foxtron DALI4SW) a sama skládá gesta (short/double/triple/long press) z časování surových stisků — HW posílá jen stisknuto/puštěno. Fyzické vypínače jsou spárovaná zařízení v HA registru („Vypínač …") s nativními device triggery. Každý stisk vystřelí foxtron_dali_button_action (device_id, flap, press_type) pro HA automatizace a starší foxtron_dali_button_event (bus_id, address, instance_number, press_type) pro AppDaemon. Business logika (co gesto udělá) v komponentě není — viz Tlačítka.

3. Logika ovládání (AppDaemon)

  • Aplikace: FoxtronSceneController v appdaemon/apps/foxtron_scene_controller.py.
  • Jak funguje:
  • Poslouchá události foxtron_dali_button_event.
  • Pro každé tlačítko je definována horní (upper) a dolní (lower) instance.
  • Horní instance: Krátký stisk cykluje předdefinované scény (seznamy světel), dlouhý stisk přidává jas.
  • Dolní instance: Krátký stisk vypne všechna světla ve scéně, dlouhý stisk ubírá jas.
  • Automatizace dle přítomnosti:
  • Aplikace již obsahuje základní podporu pro presenční senzory.
  • Pokud je nastaven parametr presence_sensor a presence_turn_on, dokáže při detekci pohybu rozsvítit "Scénu 0" a po uplynutí presence_turn_on_duration (nebo při změně senzoru na 'off') světla opět zhasnout.
  • Jas pro automatické rozsvícení není aktuálně řízen luxmetrem, ale podle denní doby (funkce _get_default_brightness), kde se jas postupně snižuje od 100% přes den k 1% v noci.
  • Aktuální využití: Momentálně je automatické rozsvěcení přes presenční senzory využito jen v několika utilitárních místnostech (např. spíž, technická, WC).

4. Senzorika

  • Presenční senzory: Dům je vybaven hustou sítí senzorů (převážně Zigbee), například na chodbách, v koupelnách, v hernách atd.
  • Senzory světla (Illuminance): Osvětlení (luxy) je reportováno pravděpodobně kombinovanými Zigbee presenčními/pohybovými senzory.

Možnosti evoluce na plně senzorové ovládání

Současná architektura je velmi robustní a čistě rozdělena (Decoupled): Brána -> Integrace (čistá abstrakce) -> AppDaemon (logika). To představuje skvělý základ pro další rozšiřování bez nutnosti přepisovat jádro komponenty.

K dalšímu prozkoumání a implementaci:

  1. Zohlednění reálného osvětlení (Luxy): Přidat do FoxtronSceneController parametr illuminance_sensor a illuminance_threshold. Světla by se přes senzor pohybu rozsvítila pouze v případě, že je v místnosti šero.
  2. Pokročilé Adaptive Lighting: Nahradit jednoduchou logiku _get_default_brightness plnohodnotným Cirkadiánním rytmem s průběžnými plynulými změnami teploty a síly světla během dne (buď integrace Adaptive Lighting nebo vlastní v AppDaemon).
  3. Kontextové chování presenčních senzorů: Různé timeouty pro různé stavy (např. pokud je v místnosti zapnutá televize, nebo pokud je večer, presenční senzor by světlo zhasínal za podstatně delší dobu nebo jej ignoroval).
  4. Rozšíření po celém domě: Promyšleně nasadit logiku tam, kde se to hodí (komunikace chodeb, schodišť, sociálních zařízení, společenských místností) tak, aby tlačítka sloužila vždy jen jako "override" v nestandardních situacích.