---
title: "Resi Dali - Konfigurácia"
description: "Uveďte DALI 2.0 zariadenia na bráne RESI-DALI-SIO/ETH z TapHome: priraďte krátke adresy 0–63, detekujte device type, broadcast testy cez Modbus."
url: "https://taphome.com/sk/compatibility/resi-dali-daliconfig/"
language: sk
lastmod: 2026-11-15
generator: hugo
ai:
  topics: ["modbus-rtu","lighting","dali","dali-2.0","rs485","din-rail","commissioning","addressing","gateway"]
  questions: ["Ako priradím DALI krátke adresy z TapHome?","Ako uviesť do prevádzky ovládacie zariadenia DALI 2.0 s bránou RESI-DALI-SIO?","Čo robí šablóna Resi Dali - Konfigurácia v TapHome?","Ako nastaviť Modbus Slave ID na RESI-DALI-SIO / RESI-DALI-ETH?","Ako zapojiť RESI-DALI-SIO na DALI zbernicu s napájacím zdrojom RESI-DALI-PS?","Aký je rozdiel medzi šablónami Resi Dali - Konfigurácia a operačnou Resi Dali?","Prečo má šablóna DaliConfig import parameter IP adresy na RTU bráne?"]
---

# Resi Dali - Konfigurácia

Komunikácia: Modbus RTU

- [Produktová stránka RESI-DALI-SIO/ETH/PS](https://www.resi.cc/prestashop/en/home/1-resi-dali-sioethps.html)
- [RESI Informatik & Automation](https://www.resi.cc)

## Návod na integráciu

Šablóna **Resi Dali - Konfigurácia** je jednorazový **nástroj na uvedenie do prevádzky a adresovanie** pre Modbus-DALI bránu RESI-DALI-SIO a RESI-DALI-ETH od spoločnosti RESI Informatik & Automation GmbH. Priamo z TapHome riadi algoritmus náhodného adresovania DALI 2.0, čím priraďuje krátke adresy 0–63 ovládacím zariadeniam na čerstvo zapojenej DALI zbernici, pri každej adrese detekuje DALI device type a ponúka rýchle broadcast ON/OFF testy — všetko potrebné na uvedenie novej inštalácie do stavu, keď možno svietidlá ovládať individuálne.

Komunikácia s bránou prebieha cez Modbus RTU pri 9600 baud 8N1. Šablóna tiež vystavuje import parameter `IpAddress`, takže rovnaký postup funguje aj cez serial-to-IP bridge (Moxa NPort, USR-TCP232) alebo cez RESI-DALI-ETH nakonfigurovaný v transparentnom RTU-over-Ethernet režime.

> [!NOTE]
> Táto šablóna je zámerne určená **len na adresovanie**. Po priradení krátkych adries modul Resi Dali - Konfigurácia z projektu odstráňte a na každodenné ovládanie použite sesterskú operačnú šablónu **Resi DALI** (`Dali.xml`) — stmievanie jednotlivých svietidiel, stmievanie skupín a diagnostika jednotlivých Gear zariadení. Konfiguračný modul nie je navrhnutý tak, aby v projekte zostal po úvodnom nastavení.

## Hardvérové zapojenie

RESI-DALI-SIO je DIN lištová master brána (17,5 × 90 × 56,4 mm, CEM17), ktorá sedí medzi sériovým/ethernetovým hostom a DALI osvetľovacou zbernicou. Brána **DALI zbernicu nenapája** — kompatibilný DALI napájací zdroj (RESI-DALI-PS alebo ľubovoľný 200 mA DALI zdroj v súlade so štandardom) je povinný.

### Pripojenie RESI-DALI-SIO (RS-485)

![Schéma zapojenia RESI-DALI-SIO — externý DALI zdroj (hore) a s RESI-DALI-PS (dole)](https://taphome.com/images/compatibility/resi-dali-daliconfig/wiring-sio_hu_1af043ee91b2b0ed.jpg)

Svorky na ľavej strane RESI-DALI-SIO (zhora nadol): `GND`, `+12..48V=`, `RS485 DATA+ (A+)`, `RS485 DATA- (B-)`, `RS485 GND`, `RS232 TX`, `RS232 RX`, `RS232 GND`. Svorky DALI zbernice na opačnej strane sú **`D+ / N/C / D-`** (3-pinový USLIM blok, `N/C` zostáva nezapojený).

Pre inštaláciu s TapHome použite rozhranie RS-485:

- `RS485 DATA+ (A+)` → A+/D+ na TapHome RS-485 zbernici
- `RS485 DATA- (B-)` → B-/D- na TapHome RS-485 zbernici
- `RS485 GND` → GND na napájacom zdroji TapHome (odporúčané pre stabilnú komunikáciu)
- `+12..48V=` / `GND` → 12–48 V DC primárne napájanie

### Pripojenie RESI-DALI-ETH (Ethernet)

![Schéma zapojenia RESI-DALI-ETH — externý DALI zdroj (hore) a s RESI-DALI-PS (dole)](https://taphome.com/images/compatibility/resi-dali-daliconfig/wiring-eth_hu_4bf0a5e8d8724d0b.jpg)

Ethernet variant má rovnaké svorky DALI zbernice (`D+ / N/C / D-`) a primárne napájanie (`GND`, `+12..48V=`) plus jeden RJ45 konektor pre 10/100 Mbit Ethernet. Predvolené IP nastavenia z výroby sú **192.168.0.191 / 255.255.255.0 / 192.168.0.1** s Modbus Unit ID 255; prihlasovacie údaje webového UI sú `RESI` / `RESI`. TapHome komunikuje s ETH variantom v transparentnom RTU-over-Ethernet režime, ktorý očakáva táto konfiguračná šablóna (pozri Konfigurácia nižšie).

### Napájací zdroj DALI zbernice

![RESI-DALI-PS — samostatné napájanie DALI zbernice (hore) a v kombinácii s bránou SIO/ETH (dole)](https://taphome.com/images/compatibility/resi-dali-daliconfig/wiring-dali-ps_hu_bea720a419338afa.jpg)

RESI-DALI-PS dodáva až **200 mA** na DALI zbernicu (skratový prúd ~225 mA, typické napätie zbernice 14–18 V) a podporuje až 64 DALI 1.0 predradníkov alebo DALI 2.0 ovládacích zariadení na jednej linke. Primárna strana akceptuje rovnaký 12–48 V DC napájací zdroj ako jednotka SIO/ETH. Brána a napájací zdroj zdieľajú rovnaký pár `D+` / `D-` — zdroj napája zbernicu, zatiaľ čo brána číta a zapisuje DALI rámce.

Tri LED diódy na napájacom zdroji pomáhajú pri uvedení do prevádzky: **POWER** (primárne 12–48 V v poriadku, vždy svieti), **DALI** (krátko blikne pri prenose na zbernici), **ERR** (trvalo svieti pri poruche zdroja, skrate DALI alebo preťažení zbernice — pri normálnej prevádzke musí byť zhasnutá).

### Pravidlá DALI zbernice

DALI linka má niekoľko striktných obmedzení, ktoré priamo ovplyvňujú úspech uvedenia do prevádzky:

| Prierez vodiča | Max dĺžka DALI kábla |
|----------------|----------------------|
| 1,5 mm² | 300 m |
| 1,0 mm² | 238 m |
| 0,75 mm² | 174 m |
| 0,5 mm² | 116 m |

Limit vyplýva z maximálne povoleného **úbytku napätia 2 V** na DALI kábli. Ďalšie pravidlá:

- Maximálne 64 DALI 1.0 predradníkov **a** až 64 DALI 2.0 ovládacích zariadení na jednu zbernicu (oddelené priestory krátkych adries).
- Len stromová topológia — žiadne kruhy, žiadne slučky.
- Skutočný počet zariadení závisí aj od prúdovej kapacity zdroja (typicky 200 mA na RESI-DALI-PS, počítajte ~2 mA na zariadenie plus rezerva).

> [!WARNING]
> **RESI-DALI-PS (alebo ekvivalentný DALI zdroj) je povinný.** Bez neho RESI-DALI-SIO/ETH nedokáže zbernicu riadiť a konfiguračný sprievodca bude pri každom kroku vypadať timeoutom. Ak sa na dlhej linke použije druhý zdroj, vložte DALI tlmivku alebo rozdeľte zbernicu na galvanicky oddelené segmenty.

## Konfigurácia

### Povolenie Modbus komunikácie

Všetky parametre sériového rozhrania na RESI-DALI-SIO sa vyberajú 4-polohovým DIP prepínačom na module. Šablóna TapHome fixuje **9600 baud 8N1**, takže DIP prepínače musia byť nastavené zodpovedajúco.

| DIP1 | DIP2 | Rýchlosť prenosu |
|------|------|------------------|
| **OFF** | **OFF** | **9600 bd (vyžadované TapHome)** |
| ON | OFF | 19200 bd |
| OFF | ON | 38400 bd |
| ON | ON | Používa rýchlosť naprogramovanú vo FLASH (predvolené z výroby 57600 bd) |

| DIP4 | Zdroj Modbus Unit ID |
|------|---------------------|
| **OFF** | FLASH register `H:65221` — vyžadované, aby akcia **Set Slave ID** mala efekt |
| ON | Nútene `255` (hardvérový fallback, FLASH hodnota ignorovaná) |

`DIP3` je produktovo špecifický rezervovaný bit; ponechajte ho v továrenskej polohe, pokiaľ servisný manuál RESI výslovne neurčí inak. Parita je v FLASH predvoľbách fixne `None` (8N1) — šablóna nevystavuje registre parity/stop bitu.

**Zakončenie RS-485:** zbernicu zakončite 120 Ω rezistorom na oboch koncoch. TapHome Core poskytuje jedno zakončenie na svojich svorkách BUS; ak je RESI brána posledným zariadením na linke, pridajte na jej svorky RS-485 diskrétny 120 Ω rezistor medzi `A+`/`B-`.

**Nastavenie RTU-over-TCP:** šablóna má oba import parametre `SlaveId` a `IpAddress`, pretože rovnaký DALI konfiguračný tok funguje aj cez **serial-to-IP bridge** (Moxa NPort, USR-TCP232) alebo cez **RESI-DALI-ETH v transparentnom RTU-over-Ethernet režime**. V takom prípade nastavte `IpAddress` na IP bridgeu / ETH jednotky a ostatné nastavenia ponechajte identické ako pri RS-485 variante. Pre čistý Modbus/TCP na RESI-DALI-ETH by bola prirodzenejšia TCP šablóna — šablóna DaliConfig predpokladá rámcovú RTU komunikáciu.

### Nastavenie Slave ID brány

Predvolené Unit ID z výroby je **255**. Zmena postupom:

1. Nastavte na bráne `DIP4 = OFF`, aby sa rešpektovalo FLASH Unit ID.
2. Importujte šablónu v TapHome s `SlaveId = 255` (aktuálna adresa).
3. Otvorte servisné nastavenia modulu "Resi Dali - Konfigurácia" a spustite akciu **Set Slave ID** s požadovaným novým ID (rozsah 1–255). Akcia zapíše hodnotu do registra `H:65221` a okamžite vyvolá softvérový reset cez `H:6000 = 1`, takže brána sa reštartuje s novou adresou.
4. Odstráňte šablónu a znovu ju importujte s `SlaveId` nastaveným na novú hodnotu. Modul potom možno použiť na uvedenie do prevádzky.

Akcia **Reset Gateway** (zapisuje `1` do `H:6000`) je tiež k dispozícii ako samostatný obnovovací krok — užitočná po skrate DALI zbernice, ktorý zanechal DALI motor brány v degradovanom stave.

> [!WARNING]
> **Len jeden Modbus master naraz.** Ani DALI, ani Modbus RTU zbernica neriešia arbitráž medzi súbežnými mastermi. Ak počas uvádzania do prevádzky bránu polluje aj PLC, BMS alebo PC nástroj (napríklad MODBUSConfigurator), programovanie krátkych adries bude kolidovať a sprievodca nahlási chyby.

## Schopnosti zariadenia

Šablóna je postavená okolo jediného Modbus modulu — *Resi Dali - Konfigurácia* — ktorý združuje konfiguračného sprievodcu, DALI device type sondu pre každú krátku adresu 0–63, informačné atribúty brány a sedem akcií na úrovni brány.

### Konfiguračný sprievodca — Find New Devices

*Find New Devices* je deväťstavový multi-value prepínač, ktorý riadi algoritmus náhodného adresovania DALI 2.0 ako stavový automat. Každý názov stavu zodpovedá jednej fáze DALI 2.0 konfiguračnej sekvencie; v každom stave šablóna vyšle správne surové 16-bitové DALI rámce na `H:541` / `H:542`, poluje DALI RX status na `H:550` na odpoveď brány a potom sama prepne prepínač do nasledujúceho stavu.

| Krok | Stav | Čo robí |
|------|------|---------|
| 0 | **TERMINATE** | DALI rámec `TERMINATE` (`0xA100`) — ukončí aktuálnu adresovaciu reláciu a resetuje stav brány. Vždy bezpečné zavolať |
| 1 | **Štart** | `INITIALISE` (`0xA5FF`) + `RANDOMISE` (`0xA700`) — prepne všetky neadresované zariadenia do adresovacieho poolu a vyžiada si od každého 24-bitovú náhodnú adresu. Sprievodca vyšle oba príkazy znova pred každým novým kolom vyhľadávania |
| 2 | **Skenovať krátku adresu** | Dotazuje krátke adresy 0–63 príkazom `QUERY CONTROL GEAR PRESENT` (`0x91`) a nájde najvyššiu už použitú krátku adresu, aby nové zariadenia dostali čísla za ňou. Po **Resetovať krátke adresy** sa preskočí — číslovanie potom začína od 0 |
| 3 | **Set SEARCHADDR** | Vykoná celé binárne vyhľadávanie v jednom kroku: nahrá horné/stredné/dolné bajty SEARCHADDR (`0xB500/0xB300/0xB100`), odošle `COMPARE` (`0xA900`) a rozpoľuje 24-bitové vyhľadávacie okno, kým ho nezúži, potom pokračuje stavom **Kontrola** |
| 4 | **COMPARE** | Odošle `COMPARE` (`0xA900`) a podľa odpovede zužuje 24-bitové vyhľadávacie okno |
| 5 | **PROGRAM SHORT ADDRESS** | Zapíše nasledujúcu krátku adresu cez `0xB7xx` a overí ju (`0xB9xx`). Zariadenie potom zabliká na svojej novej krátkej adrese (`RECALL MIN`, `RECALL MAX`, `RECALL MIN`) a opustí vyhľadávanie (`WITHDRAW`, `0xAB00`); sprievodca pokračuje ďalším kolom od stavu **Štart** |
| 6 | **Kontrola** | Potvrdí nájdenú náhodnú adresu príkazom `COMPARE` na dolnom a hornom konci zúženého okna — jedna odpoveď vedie do stavu **PROGRAM SHORT ADDRESS**, kolízia alebo žiadna odpoveď do stavu **Skúsiť znova** |
| 7 | **Skúsiť znova** | Obnova po kolízii / timeoute — rozpolí aktuálny vyhľadávací interval a opakuje; keď sa interval vyčerpá, začne nové kolo s `INITIALISE` + `RANDOMISE` |
| 8 | **Dokončiť** | Nastane po troch kolách vyhľadávania bez novo naprogramovaného zariadenia alebo keď sú obsadené všetky krátke adresy 0–63. Prečíta DALI výsledný bajt, emituje TapHome informáciu/chybovú správu (pri úspechu `Search finished`) a ukončí sprievodcu |

**Typický postup uvedenia do prevádzky:**

1. Napájajte DALI zbernicu (`RESI-DALI-PS`), zariadenia zapojte v stromovej topológii a uistite sa, že zbernicu neriadi nič iné.
2. (Voliteľné, ale odporúčané) najskôr spustite akciu modulu **Resetovať krátke adresy** s *Confirm* = *Yes*, aby ste začali z čistého stavu bez adresovaných zariadení.
3. Vyberte **Štart** — vyšle `INITIALISE` + `RANDOMISE`, takže každé zariadenie si zvolí novú 24-bitovú náhodnú adresu.
4. Prepínač potom sám prejde stavmi **Skenovať krátku adresu** → **Set SEARCHADDR** → **Kontrola** → **PROGRAM SHORT ADDRESS** a vráti sa na **Štart** pre ďalšie zariadenie. Každé novo naprogramované zariadenie raz zabliká na svojej novej krátkej adrese, čo ukáže, ktoré svietidlo dostalo ktorú adresu.
5. Kolízie a timeouty rieši **Skúsiť znova** automaticky, bez zásahu inštalatéra.
6. Keď sa prepínač zastaví na **Dokončiť**, prečítajte informáciu/chybovú správu a potom vyberte **TERMINATE**, čím ukončíte DALI adresovaciu reláciu.
7. Použite servisné atribúty **Gear 0 … Gear 63** a akcie **Turn On / Off All Lamps** na overenie, že krátke adresy 0–N sú teraz obsadené (pozri nižšie).

Inštalatér aj tak potrebuje počas behu sledovať správanie DALI zbernice (potvrdzovacie zablikanie, rytmus LED `STATE` na bráne), aby zachytil nesprávne zapojené alebo chýbajúce zariadenia.

### DALI gear sonda — Gear 0 … Gear 63

Každý zo 64 servisných atribútov **Gear 0**, **Gear 1**, … **Gear 63** sonduje jednu DALI krátku adresu príkazom DALI 2.0 `QUERY DEVICE TYPE` (`0x99`). Interne šablóna zapíše `(SA << 8) | 0x99` do `H:511`, polí `H:550` biti 0–2 kým nedorazí odpoveď, potom prečíta odpovedajúci bajt z `H:511`.

Možné návratové hodnoty v TapHome servisnom UI:

- **`DT{n}`** — ovládacie zariadenie je naprogramované na tejto adrese a odpovedalo device type *n*. Typické hodnoty: `DT0` (žiarivka), `DT1` (núdzové), `DT2` (HID), `DT5` (0–10 V), `DT6` (LED driver), `DT7` (relé), `DT8` (farba / tunable white), `DT9` (sekvencer).
- **`--`** — na tejto adrese nie je naprogramované žiadne zariadenie alebo brána vrátila sentinel `0x8000` "no answer / already consumed".

Sonda poskytuje rýchly pass/fail prehľad o tom, ktoré krátke adresy sú po uvedení do prevádzky obsadené a aké device type boli objavené — to je primárny verifikačný krok pred prepnutím projektu na operačnú šablónu *Resi Dali*.

### Akcie na úrovni brány

Sedem servisných akcií na module riadi bránu priamo:

- **Reset Gateway** — zapíše `1` do `H:6000` (DIP SWITCH / SOFTWARE RESET). Reštartuje bránu; užitočné po skrate zbernice na obnovu DALI motora.
- **Set Slave ID** — zapíše nové Unit ID (1–255) do FLASH registra `H:65221`, potom resetuje cez `H:6000`. Vyžaduje `DIP4 = OFF`, aby akcia mala efekt.
- **Turn On All Lamps** — zapíše `0xFE` (výkonový oblúk 254 = 100 %) do DALI broadcast úrovňového registra `H:530`. Rozsvieti každé zariadenie na zbernici bez ohľadu na krátku adresu — rýchle vizuálne potvrdenie, že zbernica a zdroj sú v poriadku.
- **Turn Off All Lamps** — zapíše `0x00` do `H:530`, zhasne každé zariadenie. Rovnaká broadcast cesta, opačná hodnota.
- **Resetovať krátke adresy** — parameter *Confirm* (*Yes* / *No*). Pri *Yes* odošle `DTR0 = 0xFF` (`0xA3FF`) a broadcast `SET SHORT ADDRESS`, takže každé zariadenie na zbernici stratí svoju krátku adresu; ďalší beh sprievodcu potom čísluje zariadenia od krátkej adresy 0. Pri *No* sa nič neodošle.
- **Delete short address** — parametre *Short address* (0–63) a *Confirm* (*Yes* / *No*). Príkazom `QUERY CONTROL GEAR PRESENT` (`0x91`) overí, že na adrese odpovedá zariadenie, odošle `DTR0 = 0xFF` a `SET SHORT ADDRESS` na túto adresu, potom overí znova a nahlási `Address N deleted`, `Address N still answers`, `No gear answers on address N` alebo `Not confirmed`.
- **Change short address** — parametre *Old short address* a *New short address* (0–63). Príkazom `QUERY CONTROL GEAR PRESENT` overí, že nová adresa je voľná a že na starej odpovedá práve jedno zariadenie, presunie zariadenie (`DTR0` = nová adresa, `SET SHORT ADDRESS` na starú adresu) a potvrdí ho na novej adrese. Ak starú adresu zdieľa viac zariadení, akcia sa zastaví a vyzve na vymazanie adresy a spustenie adresovacieho sprievodcu.

Servisný atribút **Slave ID** na module spätne číta aktuálne Unit ID z FLASH registra `H:65221`, takže pred odoslaním *Set Slave ID* možno overiť aktuálne naprogramovanú adresu.

Ďalších šesť servisných atribútov modulu zobrazuje informácie o bráne: **Gateway firmware** (`H:65202`, ako verzia a surová hex hodnota), **Gateway software group** (`H:65201`), **Gateway hardware group** (`H:65200`), **Gateway firmware author** (`H:65203`), **Gateway DIP switches** (`H:10009`, stav DIP 1–4 v tvare `1:… 2:… 3:… 4:…`) a **Gateway converter status** (`H:5050`); hodnoty skupín, autora a stavu sa zobrazujú v hex.

> [!TIP]
> Hneď po zapojení a *pred* spustením adresovacieho sprievodcu spustite **Turn On All Lamps**. Každé napájané a správne pripojené zariadenie na zbernici sa rozsvieti na 100 %, čo je veľmi rýchly spôsob ako odhaliť chýbajúce alebo nesprávne zapojené svietidlá pred tým, než strávite čas programovaním krátkych adries.

## Riešenie problémov

### Sprievodca pri každom kroku spadne na timeout

1. Overte napätie DALI zbernice na svorkách zdroja — musí byť 11,5–22,5 V (typicky 14–16 V). Výrazne nižšia hodnota zvyčajne indikuje skrat DALI.
2. Skontrolujte LED **ERR** na RESI-DALI-PS — ak svieti, zbernica je skratovaná, preťažená alebo je zdroj sám chybný.
3. Skontrolujte LED **STATE** na bráne — pomalý rytmus 1 s znamená, že DALI zbernica je v poriadku, rýchly rytmus ~250 ms indikuje chybu zbernice, skrat alebo chýbajúce DALI napájanie.
4. Uistite sa, že s bránou nekomunikuje súčasne žiadny iný Modbus master (MODBUSConfigurator, BMS, PLC).

### Gear 0–63 hlásia všetky `--` po uvedení do prevádzky

1. Zmerajte napätie DALI na zariadení najďalej od zdroja — musí byť nad 9,5 V. Ak je nižšie, zbernica je príliš dlhá pre prierez vodiča (pozri tabuľku dĺžok DALI kábla vyššie). Rozdeľte zbernicu na dva segmenty s druhým zdrojom.
2. Znovu spustite sprievodcu po akcii modulu **Resetovať krátke adresy** (*Confirm* = *Yes*). Vyhľadávanie nájde iba zariadenia *bez* krátkej adresy, takže zariadenia, ktoré si stále držia predtým naprogramovanú adresu, sa bez predchádzajúceho resetu znovu neadresujú.
3. Hľadajte slučky vo vedení. DALI netoleruje kruhy; prerušte akúkoľvek slučku a znovu zakončite oba otvorené konce.

### Set Slave ID nezmení adresu

1. Potvrďte `DIP4 = OFF` na bráne. Keď je `DIP4 = ON`, hardvér núti Unit ID 255 bez ohľadu na FLASH hodnotu.
2. Potvrďte, že brána po akcii skutočne reštartovala (LED brány krátko zhasnú). Ak nie, manuálne spustite **Reset Gateway**.
3. Znovu importujte šablónu s novým import parametrom `SlaveId` — predtým importovaný modul stále poluje na starej adrese.

### Komunikácia chvíľu funguje a potom zlyhá

1. Skontrolujte, že `RS485 GND` je pripojená medzi bránou a spoločnou zemou napájacieho zdroja TapHome. Chýbajúca GND je najčastejšia chyba RS-485.
2. Overte zakončenie — 120 Ω na oboch koncoch RS-485 zbernice. Pre RTU-over-TCP cez serial bridge sa uistite, že bridge je v rámcovom RTU režime, nie v raw TCP, a že medziznaková medzera na sériovej strane zodpovedá časovaniu 9600 baud 8N1.
3. Znížte počet paralelných DALI dotazov — brána serializuje DALI transakcie a neriadi arbitráž medzi viacerými Modbus mastermi.

## Dostupné zariadenia 1

Tieto zariadenia sa po importe zobrazia v TapHome.

Resi Dali - Konfigurácia Modul

Servisné atribúty

|          |                                                                                                                          |
|----------|--------------------------------------------------------------------------------------------------------------------------|
| Slave ID | Číta Modbus Unit ID uložené vo FLASH registri H:65221 — slúži na overenie aktuálnej adresy brány                         |
| Gear 0   | DALI device-type sonda na krátkej adrese 0 — vráti DT{n}, keď ovládacie zariadenie odpovie, alebo -- keď je adresa voľná |
| Gear 1   | DALI device-type sonda na krátkej adrese 1 — vráti DT{n} alebo --                                                        |
| Gear 2   | DALI device-type sonda na krátkej adrese 2 — vráti DT{n} alebo --                                                        |
| Gear 3   | DALI device-type sonda na krátkej adrese 3 — vráti DT{n} alebo --                                                        |
| Gear 4   | DALI device-type sonda na krátkej adrese 4 — vráti DT{n} alebo --                                                        |
| Gear 5   | DALI device-type sonda na krátkej adrese 5 — vráti DT{n} alebo --                                                        |
| Gear 6   | DALI device-type sonda na krátkej adrese 6 — vráti DT{n} alebo --                                                        |
| Gear 7   | DALI device-type sonda na krátkej adrese 7 — vráti DT{n} alebo --                                                        |
| Gear 8   | DALI device-type sonda na krátkej adrese 8 — vráti DT{n} alebo --                                                        |
| Gear 9   | DALI device-type sonda na krátkej adrese 9 — vráti DT{n} alebo --                                                        |
| Gear 10  | DALI device-type sonda na krátkej adrese 10 — vráti DT{n} alebo --                                                       |
| Gear 11  | DALI device-type sonda na krátkej adrese 11 — vráti DT{n} alebo --                                                       |
| Gear 12  | DALI device-type sonda na krátkej adrese 12 — vráti DT{n} alebo --                                                       |
| Gear 13  | DALI device-type sonda na krátkej adrese 13 — vráti DT{n} alebo --                                                       |
| Gear 14  | DALI device-type sonda na krátkej adrese 14 — vráti DT{n} alebo --                                                       |
| Gear 15  | DALI device-type sonda na krátkej adrese 15 — vráti DT{n} alebo --                                                       |
| Gear 16  | DALI device-type sonda na krátkej adrese 16 — vráti DT{n} alebo --                                                       |
| Gear 17  | DALI device-type sonda na krátkej adrese 17 — vráti DT{n} alebo --                                                       |
| Gear 18  | DALI device-type sonda na krátkej adrese 18 — vráti DT{n} alebo --                                                       |
| Gear 19  | DALI device-type sonda na krátkej adrese 19 — vráti DT{n} alebo --                                                       |
| Gear 20  | DALI device-type sonda na krátkej adrese 20 — vráti DT{n} alebo --                                                       |
| Gear 21  | DALI device-type sonda na krátkej adrese 21 — vráti DT{n} alebo --                                                       |
| Gear 22  | DALI device-type sonda na krátkej adrese 22 — vráti DT{n} alebo --                                                       |
| Gear 23  | DALI device-type sonda na krátkej adrese 23 — vráti DT{n} alebo --                                                       |
| Gear 24  | DALI device-type sonda na krátkej adrese 24 — vráti DT{n} alebo --                                                       |
| Gear 25  | DALI device-type sonda na krátkej adrese 25 — vráti DT{n} alebo --                                                       |
| Gear 26  | DALI device-type sonda na krátkej adrese 26 — vráti DT{n} alebo --                                                       |
| Gear 27  | DALI device-type sonda na krátkej adrese 27 — vráti DT{n} alebo --                                                       |
| Gear 28  | DALI device-type sonda na krátkej adrese 28 — vráti DT{n} alebo --                                                       |
| Gear 29  | DALI device-type sonda na krátkej adrese 29 — vráti DT{n} alebo --                                                       |
| Gear 30  | DALI device-type sonda na krátkej adrese 30 — vráti DT{n} alebo --                                                       |
| Gear 31  | DALI device-type sonda na krátkej adrese 31 — vráti DT{n} alebo --                                                       |
| Gear 32  | DALI device-type sonda na krátkej adrese 32 — vráti DT{n} alebo --                                                       |
| Gear 33  | DALI device-type sonda na krátkej adrese 33 — vráti DT{n} alebo --                                                       |
| Gear 34  | DALI device-type sonda na krátkej adrese 34 — vráti DT{n} alebo --                                                       |
| Gear 35  | DALI device-type sonda na krátkej adrese 35 — vráti DT{n} alebo --                                                       |
| Gear 36  | DALI device-type sonda na krátkej adrese 36 — vráti DT{n} alebo --                                                       |
| Gear 37  | DALI device-type sonda na krátkej adrese 37 — vráti DT{n} alebo --                                                       |
| Gear 38  | DALI device-type sonda na krátkej adrese 38 — vráti DT{n} alebo --                                                       |
| Gear 39  | DALI device-type sonda na krátkej adrese 39 — vráti DT{n} alebo --                                                       |
| Gear 40  | DALI device-type sonda na krátkej adrese 40 — vráti DT{n} alebo --                                                       |
| Gear 41  | DALI device-type sonda na krátkej adrese 41 — vráti DT{n} alebo --                                                       |
| Gear 42  | DALI device-type sonda na krátkej adrese 42 — vráti DT{n} alebo --                                                       |
| Gear 43  | DALI device-type sonda na krátkej adrese 43 — vráti DT{n} alebo --                                                       |
| Gear 44  | DALI device-type sonda na krátkej adrese 44 — vráti DT{n} alebo --                                                       |
| Gear 45  | DALI device-type sonda na krátkej adrese 45 — vráti DT{n} alebo --                                                       |
| Gear 46  | DALI device-type sonda na krátkej adrese 46 — vráti DT{n} alebo --                                                       |
| Gear 47  | DALI device-type sonda na krátkej adrese 47 — vráti DT{n} alebo --                                                       |
| Gear 48  | DALI device-type sonda na krátkej adrese 48 — vráti DT{n} alebo --                                                       |
| Gear 49  | DALI device-type sonda na krátkej adrese 49 — vráti DT{n} alebo --                                                       |
| Gear 50  | DALI device-type sonda na krátkej adrese 50 — vráti DT{n} alebo --                                                       |
| Gear 51  | DALI device-type sonda na krátkej adrese 51 — vráti DT{n} alebo --                                                       |
| Gear 52  | DALI device-type sonda na krátkej adrese 52 — vráti DT{n} alebo --                                                       |
| Gear 53  | DALI device-type sonda na krátkej adrese 53 — vráti DT{n} alebo --                                                       |
| Gear 54  | DALI device-type sonda na krátkej adrese 54 — vráti DT{n} alebo --                                                       |
| Gear 55  | DALI device-type sonda na krátkej adrese 55 — vráti DT{n} alebo --                                                       |
| Gear 56  | DALI device-type sonda na krátkej adrese 56 — vráti DT{n} alebo --                                                       |
| Gear 57  | DALI device-type sonda na krátkej adrese 57 — vráti DT{n} alebo --                                                       |
| Gear 58  | DALI device-type sonda na krátkej adrese 58 — vráti DT{n} alebo --                                                       |
| Gear 59  | DALI device-type sonda na krátkej adrese 59 — vráti DT{n} alebo --                                                       |
| Gear 60  | DALI device-type sonda na krátkej adrese 60 — vráti DT{n} alebo --                                                       |
| Gear 61  | DALI device-type sonda na krátkej adrese 61 — vráti DT{n} alebo --                                                       |
| Gear 62  | DALI device-type sonda na krátkej adrese 62 — vráti DT{n} alebo --                                                       |
| Gear 63  | DALI device-type sonda na krátkej adrese 63 — vráti DT{n} alebo --                                                       |
| Gear 58  |                                                                                                                          |
| Gear 59  |                                                                                                                          |
| Gear 60  |                                                                                                                          |
| Gear 61  |                                                                                                                          |
| Gear 62  |                                                                                                                          |
| Gear 63  |                                                                                                                          |

Servisné akcie

|                                 |                                                                                                                                                                 |
|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Reset Gateway                   | Zapíše 1 do registra H:6000 na reštart brány RESI-DALI — potrebné po zmene Slave ID alebo na obnovu DALI motora po skrate zbernice                              |
| Set Slave ID                    | Zapíše nové Modbus Unit ID do FLASH registra H:65221 a vyvolá reset, aby sa brána reštartovala s novou adresou (1–255, DIP4 musí byť OFF)                       |
| Turn On All Lamps               | Zapíše 0xFE do DALI broadcast úrovňového registra H:530 — rozsvieti každé ovládacie zariadenie na zbernici na maximálny jas (rýchly test uvedenia do prevádzky) |
| Turn Off All Lamps              | Zapíše 0x00 do DALI broadcast úrovňového registra H:530 — vypne každé ovládacie zariadenie na zbernici                                                          |
| ${xml\_reset\_short\_addresses} |                                                                                                                                                                 |
| Delete short address            |                                                                                                                                                                 |
| Change short address            |                                                                                                                                                                 |

Servisné atribúty

${xml\_slave\_id}

```taphome
modbusr(H,65221,uint16)
```

Gateway firmware

```taphome
var x := modbusr(H, 65202, uint16);
return(getbits(x, 12, 4) + "." + getbits(x, 8, 4) + "." + getbits(x, 0, 8) + " (" + "0x" + tostring(x, "X4") + ")");
```

Gateway software group

```taphome
var x := modbusr(H, 65201, uint16);
return("0x" + tostring(x, "X4"));
```

Gateway hardware group

```taphome
var x := modbusr(H, 65200, uint16);
return("0x" + tostring(x, "X4"));
```

Gateway firmware author

```taphome
var x := modbusr(H, 65203, uint16);
return("0x" + tostring(x, "X4"));
```

Gateway DIP switches

```taphome
var x := modbusr(H, 10009, uint16);
return("1:" + getbit(x, 0) + " 2:" + getbit(x, 1) + " 3:" + getbit(x, 2) + " 4:" + getbit(x, 3));
```

Gateway converter status

```taphome
var x := modbusr(H, 5050, uint16);
return("0x" + tostring(x, "X4"));
```

Gear 0

```taphome
var ShortAddress := 0;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 1

```taphome
var ShortAddress := 1;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 2

```taphome
var ShortAddress := 2;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 3

```taphome
var ShortAddress := 3;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 4

```taphome
var ShortAddress := 4;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 5

```taphome
var ShortAddress := 5;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 6

```taphome
var ShortAddress := 6;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 7

```taphome
var ShortAddress := 7;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 8

```taphome
var ShortAddress := 8;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 9

```taphome
var ShortAddress := 9;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 10

```taphome
var ShortAddress := 10;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 11

```taphome
var ShortAddress := 11;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 12

```taphome
var ShortAddress := 12;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 13

```taphome
var ShortAddress := 13;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 14

```taphome
var ShortAddress := 14;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 15

```taphome
var ShortAddress := 15;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 16

```taphome
var ShortAddress := 16;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 17

```taphome
var ShortAddress := 17;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 18

```taphome
var ShortAddress := 18;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 19

```taphome
var ShortAddress := 19;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 20

```taphome
var ShortAddress := 20;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 21

```taphome
var ShortAddress := 21;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 22

```taphome
var ShortAddress := 22;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 23

```taphome
var ShortAddress := 23;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 24

```taphome
var ShortAddress := 24;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 25

```taphome
var ShortAddress := 25;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 26

```taphome
var ShortAddress := 26;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 27

```taphome
var ShortAddress := 27;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 28

```taphome
var ShortAddress := 28;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 29

```taphome
var ShortAddress := 29;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 30

```taphome
var ShortAddress := 30;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 31

```taphome
var ShortAddress := 31;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 32

```taphome
var ShortAddress := 32;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 33

```taphome
var ShortAddress := 33;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 34

```taphome
var ShortAddress := 34;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 35

```taphome
var ShortAddress := 35;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 36

```taphome
var ShortAddress := 36;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 37

```taphome
var ShortAddress := 37;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 38

```taphome
var ShortAddress := 38;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 39

```taphome
var ShortAddress := 39;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 40

```taphome
var ShortAddress := 40;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 41

```taphome
var ShortAddress := 41;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 42

```taphome
var ShortAddress := 42;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 43

```taphome
var ShortAddress := 43;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 44

```taphome
var ShortAddress := 44;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 45

```taphome
var ShortAddress := 45;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 46

```taphome
var ShortAddress := 46;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 47

```taphome
var ShortAddress := 47;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 48

```taphome
var ShortAddress := 48;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 49

```taphome
var ShortAddress := 49;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 50

```taphome
var ShortAddress := 50;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 51

```taphome
var ShortAddress := 51;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 52

```taphome
var ShortAddress := 52;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 53

```taphome
var ShortAddress := 53;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 54

```taphome
var ShortAddress := 54;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 55

```taphome
var ShortAddress := 55;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 56

```taphome
var ShortAddress := 56;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 57

```taphome
var ShortAddress := 57;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 58

```taphome
var ShortAddress := 58;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 59

```taphome
var ShortAddress := 59;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 60

```taphome
var ShortAddress := 60;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 61

```taphome
var ShortAddress := 61;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 62

```taphome
var ShortAddress := 62;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Gear 63

```taphome
var ShortAddress := 63;
modbusw(SH, 511, uint16, (ShortAddress << 8) + 0x99);
sleep(5); var rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
var x := modbusr(SH, 511, uint16);
if (x != 0x8000, return("DT" + x), return("--"));
```

Servisné akcie

${xml\_reset\_gateway}

```taphome
modbusw(SH,6000,uint16,1)
```

${xml\_set\_slave\_id}

Parametre: ${xml\_slave\_id} (1–255 SID)

```taphome
modbusw(SH, 65221, uint16, SID);

modbusw(SH,6000, uint16, 1);
```

${xml\_turn\_on\_all\_lamps}

```taphome
modbusw(SH, 530, uint16, 0xFE)
```

${xml\_turn\_off\_all\_lamps}

```taphome
modbusw(SH, 530, uint16, 0x00)
```

${xml\_reset\_short\_addresses}

Parametre: Confirm (Yes / No)

```taphome
if CONF
    # DTR0 = 0xFF, then SET SHORT ADDRESS to all gear (sent twice): every gear loses its short address
    modbusw(SH, 541, uint16, 0xA3FF);
    sleep(100);
    modbusw(SH, 532, uint16, 0x80);
    SHORTADDR := -1;
    iterator := 64;
end
```

Delete short address

Parametre: Short address (0–63 ADDR), Confirm (Yes / No)

```taphome
if CONF
    # QUERY CONTROL GEAR PRESENT first: nothing to delete when no gear answers
    var x := 0;
modbusr(SH, 511, uint16);
modbusw(SH, 511, uint16, (ADDR << 8) + 0x91);
sleep(60);
x := modbusr(SH, 511, uint16);
    if x = 0x8000
        return("No gear answers on address " + ADDR);
    end
    # DTR0 = 0xFF (MASK), then SET SHORT ADDRESS to that address (sent twice by the gateway): every gear on it loses the address
    modbusw(SH, 541, uint16, 0xA3FF);
    sleep(100);
    modbusw(SH, 512, uint16, (ADDR << 8) + 0x80);
    sleep(300);
modbusr(SH, 511, uint16);
modbusw(SH, 511, uint16, (ADDR << 8) + 0x91);
sleep(60);
x := modbusr(SH, 511, uint16);
    if x = 0x8000
        return("Address " + ADDR + " deleted");
    end
    return("Address " + ADDR + " still answers (0x" + tostring(x, "X4") + ")");
end
return("Not confirmed");
```

Change short address

Parametre: Old short address (0–63 FROM), New short address (0–63 TO)

```taphome
if FROM = TO
    return("Old and new address are the same");
end
var x := 0;
# the new address must be free
modbusr(SH, 511, uint16);
modbusw(SH, 511, uint16, (TO << 8) + 0x91);
sleep(60);
x := modbusr(SH, 511, uint16);
if x != 0x8000
    return("Address " + TO + " is already in use");
end
# a gear must answer on the old address; a collision means more gears share it
modbusr(SH, 511, uint16);
modbusw(SH, 511, uint16, (FROM << 8) + 0x91);
sleep(60);
x := modbusr(SH, 511, uint16);
if x = 0x8000
    return("No gear answers on address " + FROM);
end
if x = 0x20FF
    return("More gears answer on address " + FROM + ", delete the address and run the addressing wizard");
end
# DTR0 = new address in the DALI format (2*TO + 1), then SET SHORT ADDRESS to the old address (sent twice by the gateway)
modbusw(SH, 541, uint16, 0xA300 + (TO << 1) + 1);
sleep(100);
modbusw(SH, 512, uint16, (FROM << 8) + 0x80);
sleep(300);
modbusr(SH, 511, uint16);
modbusw(SH, 511, uint16, (TO << 8) + 0x91);
sleep(60);
x := modbusr(SH, 511, uint16);
if x = 0x8000
    return("Change failed, no gear answers on address " + TO);
end
return("Gear moved from address " + FROM + " to " + TO);
```

Nájsť nové zariadenia Viacstavový prepínač Čítanie aj zápis

Sprievodca uvedením do prevádzky, ktorý prechádza algoritmom náhodného adresovania DALI 2.0, aby priradil krátke adresy 0–63 ovládacím zariadeniam

Register: H:541 → H:542 UInt16 numeric

Hodnoty / Stavy: TERMINATE · ${xml\_start} · ${xml\_scan\_short\_address} · Set SEARCHADDR · COMPARE · PROGRAM SHORT ADDRESS · Check · Try again · ${xml\_finish}

Čítanie stavu prepínača

```taphome
var x := 0x8000; var rx := 0;

if Mu = 1
	if exit <= 0
		status := 255;
        return(8);
    end
    # check SEARCHADDRH
    modbusw(SH, 541, uint16, 0xB500 + getbyte(SEARCHADDRH,0));
    sleep(500);
    modbusw(SH, 541, uint16, 0xB300 + getbyte(SEARCHADDRH,1));
    sleep(500);
    modbusw(SH, 541, uint16, 0xB100 + getbyte(SEARCHADDRH,2));
    sleep(500);
    modbusw(SH, 541, uint16, 0xA900);
    sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    if !rx
        sleep(50);
        rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    end
    if rx
        x := modbusr(SH, 541, uint16);
        if getbyte(x, 0) = 0xFF
            #match: lets check
            return(2);
        else
            return(7);
        end
    else
        return(7);
    end
end
if Mu = 2
    # find max short address
    if SHORTADDR >= 63
        status := 254;
        return(8);
    end
    if iterator >= 64
        status := 10;
        return(3);
    end
    modbusw(SH, 511, uint16, (iterator << 8) + 0x91);
    sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
    x := modbusr(SH, 511, uint16);
    if (x = 0xFF, SHORTADDR := iterator); 
    iterator := iterator + 1;
end
if Mu = 3
    # bisection of SEARCHADDR in one run: SET SEARCHADDR to the middle, COMPARE, keep the half with an answer
    SEARCHADDRM := SEARCHADDRH - ((SEARCHADDRH - SEARCHADDRL) >> 1);
    while SEARCHADDRM != SEARCHADDRH and SEARCHADDRM != SEARCHADDRL
        modbusw(SH, 541, uint16, 0xB500 + getbyte(SEARCHADDRM,0));
        sleep(50);
        modbusw(SH, 541, uint16, 0xB300 + getbyte(SEARCHADDRM,1));
        sleep(50);
        modbusw(SH, 541, uint16, 0xB100 + getbyte(SEARCHADDRM,2));
        sleep(50);
        modbusw(SH, 541, uint16, 0xA900);
        sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2);
        if !rx
            sleep(50);
            rx := getbits(modbusr(SH, 550, uint16), 0, 2);
        end
        if rx
            x := modbusr(SH, 541, uint16);
            # collision or match: the gear is in the lower segment
            SEARCHADDRH := SEARCHADDRM;
        else
            # no response: look in the higher segment
            SEARCHADDRL := SEARCHADDRM;
        end
        SEARCHADDRM := SEARCHADDRH - ((SEARCHADDRH - SEARCHADDRL) >> 1);
    loop
    return(6);
end
if Mu = 4
    # COMPARE
    modbusw(SH, 541, uint16, 0xA900);
    sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    if !rx
        sleep(50);
        rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    end
    if rx
        x := modbusr(SH, 541, uint16);
        #collision or match: lets search the lower segment
        SEARCHADDRH := SEARCHADDRM;
    else
        #no response: lets look up in the higher segment
        SEARCHADDRL := SEARCHADDRM;
    end
    return(3);
end
if Mu = 6
    # check SEARCHADDRL
    modbusw(SH, 541, uint16, 0xB500 + getbyte(SEARCHADDRL,0));
    sleep(50);
    modbusw(SH, 541, uint16, 0xB300 + getbyte(SEARCHADDRL,1));
    sleep(50);
    modbusw(SH, 541, uint16, 0xB100 + getbyte(SEARCHADDRL,2));
    sleep(50);
    modbusw(SH, 541, uint16, 0xA900);
    sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    if !rx
        sleep(50);
        rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    end
    if rx
        x := modbusr(SH, 541, uint16);
        if getbyte(x, 0) = 0xFF
            #exact match: we have it, lets finish
            return(5);
        else
            #collision: 2 gear with same SEARCHADDR or something went wrong, start over
            return(7);
        end
    end
    # check SEARCHADDRH
    modbusw(SH, 541, uint16, 0xB500 + getbyte(SEARCHADDRH,0));
    sleep(50);
    modbusw(SH, 541, uint16, 0xB300 + getbyte(SEARCHADDRH,1));
    sleep(50);
    modbusw(SH, 541, uint16, 0xB100 + getbyte(SEARCHADDRH,2));
    sleep(50);
    modbusw(SH, 541, uint16, 0xA900);
    sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    if !rx
        sleep(50);
        rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    end    
    if rx
        x := modbusr(SH, 541, uint16);
        if getbyte(x, 0) = 0xFF
            #exact match: we have it, lets finish
            return(5);
        else
            #collision: 2 gear with same SEARCHADDR or something went wrong, start over
            return(7);
        end
    else
        #no response: something went wrong, finish with error
        status := 220;
        #return(8);
        return(7);
    end
end
if Mu = 5
	exit := 3;
    # PROGRAM SHORT ADDRESS
    SHORTADDR := SHORTADDR + 1;
    #program
    modbusw(SH, 542, uint16, 0xB701 + (SHORTADDR << 1));
    sleep(100);
    #verify
    modbusw(SH, 541, uint16, 0xB901 + (SHORTADDR << 1));
    sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
    x := modbusr(SH, 541, uint16);
    if getbyte(x, 0) = 0xFF
        status := 0;
    else
        status := 230;
        #return(8);
        SHORTADDR := SHORTADDR - 1;
        return(7);
    end
    #blink
    # blink the new address: RECALL MIN, RECALL MAX, RECALL MIN (short address in the upper byte)
    modbusw(SH, 511, uint16, (SHORTADDR << 8) + 0x06);
    sleep(500);
    modbusw(SH, 511, uint16, (SHORTADDR << 8) + 0x05);
    sleep(500);
    modbusw(SH, 511, uint16, (SHORTADDR << 8) + 0x06);
    #WITHDRAW
    modbusw(SH, 541, uint16, 0xAB00);
    sleep(100);
    SEARCHADDRH := 0xFFFFFF;
    SEARCHADDRL := 0;
    # a new search round needs a fresh 15-minute DALI window: INITIALISE (gear without short address) and RANDOMISE again
    modbusw(SH, 542, uint16, 0xA5FF);
    sleep(100);
    modbusw(SH, 542, uint16, 0xA700);
    sleep(100);
    return(1);
end
if Mu = 8
    # finish (state 8 since the short address reset moved to a module service action)
    # finish
    if(status = 99, adderror("Timeout!"));
    if(status = 220, adderror("Check failed! (" + tostring(SEARCHADDRH, "X2") + " | " + tostring(SEARCHADDRL, "X2") + " )"));
    if(status = 230, adderror("Verify short address failed! (" + tostring(SHORTADDR, "X2") + " | " + tostring(x, "X2") + 
        " | " + tostring(SEARCHADDRH, "X2") + " | " + tostring(SEARCHADDRM, "X2") + " | " + tostring(SEARCHADDRL, "X2") + " )"));
    if(status = 231, adderror("Short address mismatch! (" + tostring(SHORTADDR, "X2") + " | " + tostring(x, "X2") + " )"));
    if(status = 254, adderror("All short addresses are in use!"));
    if status = 255
        modbusw(SH, 531, uint16, 0x96);
        sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2); if(rx, 0, sleep(50));
        x := modbusr(SH, 531, uint16);
        if getbyte(x, 0) = 0xFF
            adderror("Some gear is still missing short address, but no response from SEARCHADDRH! ( " + tostring(SEARCHADDRH, "X2") + " )");
        else    
            status := 1;
        end
    end
    if(status = 1, addinfo("Search finished")); 
    if(status = 200 or status = 230 or status = 231 or status = 254, iterator := 0); 
end
#debug
#if(Mu = 7, addinfo("Debug:" + tostring(x, "X2") + " | " + status),0);

#if(Mu = 1, status := "rx:" + getbits(y, 0, 2) + "|" + getbits(y, 4, 1) + "|" + getbits(y, 5, 1), 0);
#if(Mu = 1, return(7),0);
if Mu = 7
	if SEARCHADDRH = SEARCHADDRL
    	SEARCHADDRH := 0xFFFFFF;
    	SEARCHADDRL := 0;
    	exit := exit -1;
        # a new search round needs a fresh 15-minute DALI window: INITIALISE (gear without short address) and RANDOMISE again
        modbusw(SH, 542, uint16, 0xA5FF);
        sleep(100);
        modbusw(SH, 542, uint16, 0xA700);
        sleep(100);
        return(1);
    end
	SEARCHADDRH := SEARCHADDRH >> 1;
	SEARCHADDRL := 0;
	if(iterator < 64, SHORTADDR := -1);
	if(iterator < 64, iterator := 0);    
    # check SEARCHADDRH
    modbusw(SH, 541, uint16, 0xB500 + getbyte(SEARCHADDRH,0));
    sleep(500);
    modbusw(SH, 541, uint16, 0xB300 + getbyte(SEARCHADDRH,1));
    sleep(500);
    modbusw(SH, 541, uint16, 0xB100 + getbyte(SEARCHADDRH,2));
    sleep(500);
    modbusw(SH, 541, uint16, 0xA900);
    sleep(5); rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    if !rx
        sleep(50);
        rx := getbits(modbusr(SH, 550, uint16), 0, 2);
    end
    if rx
        x := modbusr(SH, 541, uint16);
        if getbyte(x, 0) = 0xFF
            #match: lets check
            return(2);
        else
            return(6);
        end
    else
        return(6);
    end
end
return(Mu);
```

Zápis stavu prepínača

```taphome
# TERMINATE
if(Mu = 0, modbusw(SH, 542, uint16, 0xA100), 0);
# INITIALIZE:CONTROL GEARS WITHOUT SHORT ADDRESS
if(Mu = 1, modbusw(SH, 542, uint16, 0xA5FF), 0);
if(Mu = 1, sleep(100));
# RANDOMIZE
if(Mu = 1, modbusw(SH, 542, uint16, 0xA700), 0);
if(Mu = 1, sleep(100));
# Init SEARCHADDR variables
if(Mu = 1, SEARCHADDRH := 0xFFFFFF, 0);
#if(Mu = 1, SEARCHADDRM := SEARCHADDRH / 2, 0);
if(Mu = 1, SEARCHADDRL := 0, 0);
if(Mu = 1, if(iterator < 64, SHORTADDR := -1, 0), 0);
if(Mu = 1, if(iterator < 64, iterator := 0, 0), 0);
if(Mu = 1, exit := 3, 0);
# Reset All to Defaults 
#if(Mu = 7, modbusw(SH, 532, uint16, 0x20), 0);
#if(Mu = 7, sleep(100));
#collision: halve interval


sleep(100);
```

**Pripojenie:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Možné vylepšenia (9)

- H:510 Lamp Level (per short address) — Daily operational dimming (upper 8b = short addr, lower 8b = arc power 0–254). Covered by the sibling operational template (Resi Dali, Dali.xml) — this commissioning template is intentionally addressing-only
- H:520 Group Level — Group 0–15 arc power for daily group control — handled by the operational Resi Dali template
- H:521 Group Command — Group commands (ON/OFF/scenes/recall) — not needed for addressing
- H:531 Broadcast Command — The Finish state uses H:531=0x96 internally to poll QUERY MISSING SHORT ADDRESS, but the register is not exposed as a user action
- H:551 DALI Bus Error (word) — 1 = DALI bus fault / short — useful diagnostic during commissioning, could be added as a module-level service attribute
- H:100 DALI Priority Slot — 0–4 → 12–16 ms forward-frame slots, default 2. Bus-tuning parameter; safe to leave at default
- H:65222 Baud Rate (FLASH) — Only honored when DIP1=DIP2=ON. Template pins 9600 baud via connection\_details, so this register is out of scope
- H:65224 Parity (FLASH) — 0=None, 1=Even, 2=Odd. Template hard-codes None (8N1)
- H:65225 Stop Bits (FLASH) — 1 or 2. Template hard-codes 1

## Parametre importu

Tieto hodnoty zadáte pri importe XML.

| Pýta sa v aplikácii | Predvolené    |
|---------------------|---------------|
| Slave ID            | `255`         |
| IP adresa           | `192.168.1.0` |

## Zdroje

- RESI-DALI-SIO/ETH Modbus & ASCII protocol reference
  
  [www.resi.cc](https://www.resi.cc/resi/docs/RESI-L-DALI-SIO,ETH-MODBUS+ASCII-EN.pdf) 2026-04-15
  
  [PDF](https://taphome.com/compatibility/devices/resi-dali-daliconfig/manufacturer/RESI-L-DALI-SIO,ETH-MODBUS+ASCII-EN.pdf)
- RESI-xxx-SIO, RESI-xxx-ETH hardware & software manual (DALI chapter)
  
  [www.resi.cc](https://www.resi.cc/resi/docs/RESI-M-xxx-SIO-ETH-EN.pdf) 2026-04-15
  
  [PDF](https://taphome.com/compatibility/devices/resi-dali-daliconfig/manufacturer/RESI-M-xxx-SIO-ETH-EN.pdf)
- RESI-DALI-SIO datasheet (GW-28)
  
  [www.resi.cc](https://www.resi.cc/resi/catalog/files/RESI-CATALOG-GATEWAYS-EN-Pages/RESI-CATALOG-GATEWAYS-EN-GW-28-RESI-DALI-SIO.pdf) 2026-04-15
  
  [PDF](https://taphome.com/compatibility/devices/resi-dali-daliconfig/manufacturer/RESI-CATALOG-GATEWAYS-EN-GW-28-RESI-DALI-SIO.pdf)
- RESI-DALI-ETH datasheet (GW-29)
  
  [www.resi.cc](https://www.resi.cc/resi/catalog/files/RESI-CATALOG-GATEWAYS-EN-Pages/RESI-CATALOG-GATEWAYS-EN-GW-29-RESI-DALI-ETH.pdf) 2026-04-15
  
  [PDF](https://taphome.com/compatibility/devices/resi-dali-daliconfig/manufacturer/RESI-CATALOG-GATEWAYS-EN-GW-29-RESI-DALI-ETH.pdf)
- RESI-DALI-PS datasheet (GW-30)
  
  [www.resi.cc](https://www.resi.cc/resi/catalog/files/RESI-CATALOG-GATEWAYS-EN-Pages/RESI-CATALOG-GATEWAYS-EN-GW-30-RESI-DALI-PS.pdf) 2026-04-15
  
  [PDF](https://taphome.com/compatibility/devices/resi-dali-daliconfig/manufacturer/RESI-CATALOG-GATEWAYS-EN-GW-30-RESI-DALI-PS.pdf)
- RESI-DALI-SIO,ETH,PS product page
  
  [www.resi.cc](https://www.resi.cc/prestashop/en/home/1-resi-dali-sioethps.html) 2026-04-15

Dokumenty výrobcov sú © ich príslušných vlastníkov. Poskytujeme ich tak, ako ich zverejnil výrobca, len na informačné účely.

## Súvisiaca dokumentácia

- [Modbus Integration](https://taphome.com/sk/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/sk/docs/integration/modbus/)
- [Jednoduchá konfigurácia pomocou šablón](https://taphome.com/sk/docs/integration/modbus/templates/)
- [Skripty Modbus a prefetch](https://taphome.com/sk/docs/script/modbus-scripts/)
- [Funkcie Modbus](https://taphome.com/sk/docs/script/modbus/)
- [Dátové typy Modbus](https://taphome.com/sk/docs/script/modbus-data-types/)

