IO type DALI
JSON nastavení pro DALI IO v Controller configu
DALI IO – JSON nastavení (Controller config)
Section titled “DALI IO – JSON nastavení (Controller config)”Tato kapitola popisuje všechna JSON pole podporovaná DALI IO v konfiguraci Controlleru.
Kde se nastavení definuje
- Vložte položku
DALIdo sekceioconfigu kontroleru. Příklad se štítkemDALI(max. 5 znaků):
{ "controller": { "name": "SC_00", "led": 19, "!button": 22 }, "io": { "DALI": { "type": "DALI", "variant": "DT6", "order": "W", "tx": 23, "!rx": 18 } }, "segments": { "DIMMA": { "io": "DALI" } }}Povinná / běžná pole
- type: musí být
"DALI". - tx / pins:
"tx"určuje DALI TX GPIO (např. 23). Alternativně lze použít"pins": [..]sorderpro mapování pinů na kanály; pro DALI se používá primárně TX.- Volitelný
enpin lze použít jako enable. - Modifikátory pinů:
!inverze,+pull‑up,-pull‑down. Např."!rx": 18znamená RX na GPIO 18 s inverzí logiky.
- rx (volitelné):
"rx"(nebo"!rx"pro inverzi) pro příjem/monitoring (komisionování/diagnostika).
- order:
- Určuje rozložení kanálů (parsuje
utils::stringToPixelOrder()).W(jeden DALI kanál na pixel)WW(dva DALI kanály na pixel)RGB(tři DALI kanály na pixel)RGBW(čtyři DALI kanály na pixel)
- Není‑li zadáno, výchozí je
W.
- Určuje rozložení kanálů (parsuje
DALI‑specifická pole
- variant:
- Režimy zařízení:
"DT6","DT8_XY","DT8_RGBWAF","DT8_TC". - Servisní režimy:
"MONITOR","COMMISSION","DECOMMISSION"(spouštějí se při bootu pro diagnostiku/adresaci). - Pozn.:
DT6_ONOFFje rezervováno, není implementováno. - Není‑li zadáno, výchozí je
DT6.
- Režimy zařízení:
- mapping (pole čísel):
- Mapuje kanály na krátké DALI adresy (0–63); význam závisí na
order:W: jedna hodnota na pixel.WW: dvě hodnoty na pixel (např. warm → první, cool → druhá).RGBW: čtyři hodnoty na pixel (R, G, B, W).
- Záporné číslo zopakuje předchozí hodnotu
abs(n)‑krát (např.[5,-3] → [5,5,5,5]). - Délka musí být dělitelná počtem kanálů dle
order. - Používejte krátké adresy od 0 směrem nahoru; vynechávky jsou povoleny. Pořadí v poli sleduje rozložení pixelů/kanálů (nemusí být numericky seřazeno).
- Pokud
mappingchybí, port vysílá broadcast příkazy podle prvního pixelu vykresleného na tento IO.
- Mapuje kanály na krátké DALI adresy (0–63); význam závisí na
- poweronlevel: 0–254. Úroveň při zapnutí. Hodnoty >254 se oříznou na 254 (255 = MASK/keep).
- Poznámka: kombinace
poweronlevel: 0asystemfailurelevel: 0je vhodná pro fázově řízená světla, která mají tendenci blikat při zapnutí/vypnutí sítě.
- Poznámka: kombinace
- systemfailurelevel: 0–254. Úroveň při systémové chybě. Hodnoty >254 se oříznou na 254.
- Viz poznámka výše – nastavení
0pomáhá eliminovat nechtěné blikání při změnách napájení.
- Viz poznámka výše – nastavení
- minlevel, maxlevel: 0–254. Limity úrovně aplikované při startu (ořez na 254).
- faderate: rychlost kroků/s, mapuje se na DALI index (0–15) dle tabulky.
- fadetime: doba v ms, mapuje se na DALI index (0–15) dle tabulky.
- mincolortemp, maxcolortemp (DT8_TC): v Kelvinech, rozsah 1000–10000 K;
maxcolortemp ≥ mincolortemp.
Poznámky k chování
- DT6 (klasické řízení krátkých adres):
mappingurčuje, kterou krátkou adresu kanál ovládá. Jsou‑li všechny kanály stejné, firmware zefektivní vysílání broadcastem. - DT8 režimy (
DT8_RGBWAF,DT8_TC): pracují pomocí DT8 příkazů (bezmappingna adresy); první pixel se převádí na DT8 příkazy a vysílá se (aktuálně) broadcastem.
Příklady
DT6 – W (invertovaný RX, vzestupné adresy):
{ "controller": { "name": "SC_00", "led": 19, "!button": 22 }, "temperature": { "type": "NTC", "pin": 35, "resistance": 47000 }, "io": { "DALI": { "type": "DALI", "variant": "DT6", "mapping": [0, 6, 1, 4, 2, 3, 5], "order": "W", "tx": 23, "!rx": 18, "fadetime": 700, "faderate": 358, "poweronlevel": 0, "systemfailurelevel": 254, "minlevel": 0, "maxlevel": 254 } }, "segments": { "DIMMA": { "io": "DALI", "size": 7 } }}DT6 – RGBW:
{ "controller": { "name": "SC_00", "led": 19, "!button": 22 }, "io": { "DALI": { "type": "DALI", "variant": "DT6", "order": "RGBW", "tx": 23, "!rx": 18, "mapping": [0, 1, 2, 3, 4, 5, 6, 7], "fadetime": 700, "faderate": 358 } }}DT6 – WW:
{ "controller": { "name": "SC_00", "led": 19, "!button": 22 }, "io": { "DALI": { "type": "DALI", "variant": "DT6", "order": "WW", "tx": 23, "!rx": 18, "mapping": [0, 1, 2, 3, 4, 5], "fadetime": 700, "faderate": 358 } }}DT8 Tunable White (broadcast) s rozsahem teplot:
{ "controller": { "name": "SC_00", "led": 19, "!button": 22 }, "io": { "DALI": { "type": "DALI", "variant": "DT8_TC", "tx": 23, "!rx": 18, "mincolortemp": 2700, "maxcolortemp": 6500, "fadetime": 700, "faderate": 358 } }}Komisionování (spustí komisionování při bootu):
{ "controller": { "name": "SC_00", "led": 19, "!button": 22 }, "io": { "DALI": { "type": "DALI", "variant": "COMMISSION", "tx": 23, "!rx": 18 } }}Limity
- DALI port: až 24 logických pixelů.
- Úrovně se ořezávají na 254 (255 = „ponech aktuální“ v DALI).
- Délka štítku IO: max. 5 znaků.