IO type DALI

JSON nastavení pro DALI IO v Controller configu

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 DALI do sekce io configu kontroleru. Příklad se štítkem DALI (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": [..] s order pro mapování pinů na kanály; pro DALI se používá primárně TX.

    • Volitelný en pin lze použít jako enable.

    • Modifikátory pinů: ! inverze, + pull‑up, - pull‑down. Např. "!rx": 18 znamená 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.

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_ONOFF je rezervováno, není implementováno.

    • Není‑li zadáno, výchozí je DT6.

  • 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 mapping chybí, port vysílá broadcast příkazy podle prvního pixelu vykresleného na tento IO.

  • poweronlevel: 0–254. Úroveň při zapnutí. Hodnoty >254 se oříznou na 254 (255 = MASK/keep).

    • Poznámka: kombinace poweronlevel: 0 a systemfailurelevel: 0 je vhodná pro fázově řízená světla, která mají tendenci blikat při zapnutí/vypnutí sítě.

  • systemfailurelevel: 0–254. Úroveň při systémové chybě. Hodnoty >254 se oříznou na 254.

    • Viz poznámka výše – nastavení 0 pomáhá eliminovat nechtěné blikání při změnách napájení.

  • 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): mapping urč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ů (bez mapping na 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ů.

Last updated

Was this helpful?