---
title: "Resi Dali - Konfigurace"
description: "Uveďte DALI 2.0 zařízení na bráně RESI-DALI-SIO/ETH z TapHome: přiřaďte krátké adresy 0–63, detekujte device type, broadcast testy přes Modbus."
url: "https://taphome.com/cs/compatibility/resi-dali-daliconfig/"
language: cs
lastmod: 2026-11-15
generator: hugo
ai:
  topics: ["modbus-rtu","lighting","dali","dali-2.0","rs485","din-rail","commissioning","addressing","gateway"]
  questions: ["Jak přiřadím DALI krátké adresy z TapHome?","Jak uvést do provozu ovládací zařízení DALI 2.0 s bránou RESI-DALI-SIO?","Co dělá šablona Resi Dali - Konfigurace v TapHome?","Jak nastavit Modbus Slave ID na RESI-DALI-SIO / RESI-DALI-ETH?","Jak zapojit RESI-DALI-SIO na DALI sběrnici s napájecím zdrojem RESI-DALI-PS?","Jaký je rozdíl mezi šablonami Resi Dali - Konfigurace a operační Resi Dali?","Proč má šablona DaliConfig import parametr IP adresy na RTU bráně?"]
---

# Resi Dali - Konfigurace

Komunikace: 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 integraci

Šablona **Resi Dali - Konfigurace** je jednorázový **nástroj pro uvedení do provozu a adresování** pro Modbus-DALI bránu RESI-DALI-SIO a RESI-DALI-ETH od společnosti RESI Informatik & Automation GmbH. Přímo z TapHome řídí algoritmus náhodného adresování DALI 2.0, čímž přiřazuje krátké adresy 0–63 ovládacím zařízením na čerstvě zapojené DALI sběrnici, u každé adresy detekuje DALI device type a nabízí rychlé broadcast ON/OFF testy — vše potřebné k uvedení nové instalace do stavu, kdy lze svítidla ovládat jednotlivě.

Komunikace s bránou probíhá přes Modbus RTU při 9600 baud 8N1. Šablona také vystavuje import parametr `IpAddress`, takže stejný postup funguje i přes serial-to-IP bridge (Moxa NPort, USR-TCP232) nebo přes RESI-DALI-ETH nakonfigurovaný v transparentním RTU-over-Ethernet režimu.

> [!NOTE]
> Tato šablona je záměrně určena **pouze pro adresování**. Po přiřazení krátkých adres modul Resi Dali - Konfigurace z projektu odeberte a pro každodenní ovládání použijte sesterskou operační šablonu **Resi DALI** (`Dali.xml`) — stmívání jednotlivých svítidel, stmívání skupin a diagnostika jednotlivých Gear zařízení. Konfigurační modul není navržen tak, aby v projektu zůstal po úvodním nastavení.

## Hardwarové zapojení

RESI-DALI-SIO je master brána na DIN lištu (17,5 × 90 × 56,4 mm, CEM17), která sedí mezi sériovým/ethernetovým hostem a DALI osvětlovací sběrnicí. Brána **DALI sběrnici nenapájí** — kompatibilní DALI napájecí zdroj (RESI-DALI-PS nebo libovolný 200 mA DALI zdroj v souladu se standardem) je povinný.

### Připojení RESI-DALI-SIO (RS-485)

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

Svorky na levé straně RESI-DALI-SIO (shora dolů): `GND`, `+12..48V=`, `RS485 DATA+ (A+)`, `RS485 DATA- (B-)`, `RS485 GND`, `RS232 TX`, `RS232 RX`, `RS232 GND`. Svorky DALI sběrnice na opačné straně jsou **`D+ / N/C / D-`** (3pinový USLIM blok, `N/C` zůstává nezapojený).

Pro instalaci s TapHome použijte rozhraní RS-485:

- `RS485 DATA+ (A+)` → A+/D+ na TapHome RS-485 sběrnici
- `RS485 DATA- (B-)` → B-/D- na TapHome RS-485 sběrnici
- `RS485 GND` → GND na napájecím zdroji TapHome (doporučeno pro stabilní komunikaci)
- `+12..48V=` / `GND` → 12–48 V DC primární napájení

### Připojení RESI-DALI-ETH (Ethernet)

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

Ethernet varianta má stejné svorky DALI sběrnice (`D+ / N/C / D-`) a primární napájení (`GND`, `+12..48V=`) plus jeden konektor RJ45 pro 10/100 Mbit Ethernet. Výchozí IP nastavení z výroby jsou **192.168.0.191 / 255.255.255.0 / 192.168.0.1** s Modbus Unit ID 255; přihlašovací údaje webového UI jsou `RESI` / `RESI`. TapHome komunikuje s ETH variantou v transparentním RTU-over-Ethernet režimu, který očekává tato konfigurační šablona (viz Konfigurace níže).

### Napájecí zdroj DALI sběrnice

![RESI-DALI-PS — samostatné napájení DALI sběrnice (nahoře) a v kombinaci s bránou SIO/ETH (dole)](https://taphome.com/images/compatibility/resi-dali-daliconfig/wiring-dali-ps_hu_bea720a419338afa.jpg)

RESI-DALI-PS dodává až **200 mA** na DALI sběrnici (zkratový proud ~225 mA, typické napětí sběrnice 14–18 V) a podporuje až 64 DALI 1.0 předřadníků nebo DALI 2.0 ovládacích zařízení na jedné lince. Primární strana akceptuje stejný 12–48 V DC napájecí zdroj jako jednotka SIO/ETH. Brána a napájecí zdroj sdílejí stejný pár `D+` / `D-` — zdroj napájí sběrnici, zatímco brána čte a zapisuje DALI rámce.

Tři LED diody na napájecím zdroji pomáhají při uvedení do provozu: **POWER** (primárních 12–48 V v pořádku, vždy svítí), **DALI** (krátce blikne při provozu na sběrnici), **ERR** (trvale svítí při poruše zdroje, zkratu DALI nebo přetížení sběrnice — při normálním provozu musí být zhasnutá).

### Pravidla DALI sběrnice

DALI linka má několik přísných omezení, která přímo ovlivňují úspěch uvedení do provozu:

| Průřez vodiče | Max délka DALI kabelu |
|---------------|----------------------|
| 1,5 mm² | 300 m |
| 1,0 mm² | 238 m |
| 0,75 mm² | 174 m |
| 0,5 mm² | 116 m |

Limit vyplývá z maximálně povoleného **úbytku napětí 2 V** na DALI kabelu. Další pravidla:

- Maximálně 64 DALI 1.0 předřadníků **a** až 64 DALI 2.0 ovládacích zařízení na jednu sběrnici (oddělené prostory krátkých adres).
- Pouze stromová topologie — žádné kruhy, žádné smyčky.
- Skutečný počet zařízení závisí i na proudové kapacitě zdroje (typicky 200 mA na RESI-DALI-PS, počítejte ~2 mA na zařízení plus rezerva).

> [!WARNING]
> **RESI-DALI-PS (nebo ekvivalentní DALI zdroj) je povinný.** Bez něj RESI-DALI-SIO/ETH nedokáže sběrnici řídit a konfigurační průvodce při každém kroku vypadne timeoutem. Pokud se na dlouhé lince použije druhý zdroj, vložte DALI tlumivku nebo rozdělte sběrnici na galvanicky oddělené segmenty.

## Konfigurace

### Povolení Modbus komunikace

Všechny parametry sériového rozhraní na RESI-DALI-SIO se vybírají 4polohovým DIP přepínačem na modulu. Šablona TapHome fixuje **9600 baud 8N1**, takže DIP přepínače musí být nastaveny odpovídajícím způsobem.

| DIP1 | DIP2 | Rychlost přenosu |
|------|------|------------------|
| **OFF** | **OFF** | **9600 bd (vyžadováno TapHome)** |
| ON | OFF | 19200 bd |
| OFF | ON | 38400 bd |
| ON | ON | Používá rychlost naprogramovanou ve FLASH (výchozí z výroby 57600 bd) |

| DIP4 | Zdroj Modbus Unit ID |
|------|---------------------|
| **OFF** | FLASH registr `H:65221` — vyžadováno, aby akce **Set Slave ID** měla účinek |
| ON | Vynuceno na `255` (hardwarový fallback, FLASH hodnota ignorována) |

`DIP3` je produktově specifický rezervovaný bit; ponechte jej v tovární poloze, pokud servisní manuál RESI výslovně neurčí jinak. Parita je ve FLASH výchozích hodnotách pevně `None` (8N1) — šablona nevystavuje registry parity/stop bitu.

**Zakončení RS-485:** sběrnici zakončete 120 Ω rezistorem na obou koncích. TapHome Core poskytuje jedno zakončení na svých svorkách BUS; pokud je RESI brána posledním zařízením na lince, přidejte na její svorky RS-485 diskrétní 120 Ω rezistor mezi `A+`/`B-`.

**Nastavení RTU-over-TCP:** šablona má oba import parametry `SlaveId` a `IpAddress`, protože stejný DALI konfigurační tok funguje i přes **serial-to-IP bridge** (Moxa NPort, USR-TCP232) nebo přes **RESI-DALI-ETH v transparentním RTU-over-Ethernet režimu**. V takovém případě nastavte `IpAddress` na IP bridge / ETH jednotky a ostatní nastavení ponechte identická jako u RS-485 varianty. Pro čistý Modbus/TCP na RESI-DALI-ETH by byla přirozenější TCP šablona — šablona DaliConfig předpokládá rámcovou RTU komunikaci.

### Nastavení Slave ID brány

Výchozí Unit ID z výroby je **255**. Změna postupem:

1. Nastavte na bráně `DIP4 = OFF`, aby se respektovalo FLASH Unit ID.
2. Importujte šablonu v TapHome s `SlaveId = 255` (aktuální adresa).
3. Otevřete servisní nastavení modulu "Resi Dali - Konfigurace" a spusťte akci **Set Slave ID** s požadovaným novým ID (rozsah 1–255). Akce zapíše hodnotu do registru `H:65221` a okamžitě vyvolá softwarový reset přes `H:6000 = 1`, takže se brána restartuje s novou adresou.
4. Odeberte šablonu a znovu ji importujte s `SlaveId` nastaveným na novou hodnotu. Modul lze pak použít pro uvedení do provozu.

Akce **Reset Gateway** (zapisuje `1` do `H:6000`) je také k dispozici jako samostatný obnovovací krok — užitečná po zkratu DALI sběrnice, který zanechal DALI motor brány v degradovaném stavu.

> [!WARNING]
> **Pouze jeden Modbus master najednou.** Ani DALI, ani Modbus RTU sběrnice neřeší arbitráž mezi souběžnými mastery. Pokud během uvádění do provozu bránu pollu je i PLC, BMS nebo PC nástroj (například MODBUSConfigurator), programování krátkých adres bude kolidovat a průvodce nahlásí chyby.

## Schopnosti zařízení

Šablona je postavena kolem jediného Modbus modulu — *Resi Dali - Konfigurace* — který sdružuje konfiguračního průvodce, DALI device type sondu pro každou krátkou adresu 0–63, informační atributy brány a sedm akcí na úrovni brány.

### Konfigurační průvodce — Find New Devices

*Find New Devices* je devítistavový multi-value přepínač, který řídí algoritmus náhodného adresování DALI 2.0 jako stavový automat. Každý název stavu odpovídá jedné fázi konfigurační sekvence DALI 2.0; v každém stavu šablona odešle správné surové 16bitové DALI rámce na `H:541` / `H:542`, polluje DALI RX status na `H:550` na odpověď brány a poté sama přepne přepínač do dalšího stavu.

| Krok | Stav | Co dělá |
|------|------|---------|
| 0 | **TERMINATE** | DALI rámec `TERMINATE` (`0xA100`) — ukončí aktuální adresovací relaci a resetuje stav brány. Vždy bezpečné volat |
| 1 | **Start** | `INITIALISE` (`0xA5FF`) + `RANDOMISE` (`0xA700`) — přepne všechna neadresovaná zařízení do adresovacího poolu a vyžádá si od každého 24bitovou náhodnou adresu. Průvodce odešle oba příkazy znovu před každým novým kolem vyhledávání |
| 2 | **Skenovat krátkou adresu** | Dotazuje krátké adresy 0–63 příkazem `QUERY CONTROL GEAR PRESENT` (`0x91`) a najde nejvyšší již použitou krátkou adresu, aby nová zařízení dostala čísla za ní. Po **Resetovat krátké adresy** se přeskočí — číslování pak začíná od 0 |
| 3 | **Set SEARCHADDR** | Provede celé binární vyhledávání v jednom kroku: nahraje horní/střední/dolní bajty SEARCHADDR (`0xB500/0xB300/0xB100`), odešle `COMPARE` (`0xA900`) a půlí 24bitové vyhledávací okno, dokud ho nezúží, poté pokračuje stavem **Kontrola** |
| 4 | **COMPARE** | Odešle `COMPARE` (`0xA900`) a podle odpovědi zužuje 24bitové vyhledávací okno |
| 5 | **PROGRAM SHORT ADDRESS** | Zapíše další krátkou adresu přes `0xB7xx` a ověří ji (`0xB9xx`). Zařízení pak zabliká na své nové krátké adrese (`RECALL MIN`, `RECALL MAX`, `RECALL MIN`) a opustí vyhledávání (`WITHDRAW`, `0xAB00`); průvodce pokračuje dalším kolem od stavu **Start** |
| 6 | **Kontrola** | Potvrdí nalezenou náhodnou adresu příkazem `COMPARE` na dolním a horním konci zúženého okna — jedna odpověď vede do stavu **PROGRAM SHORT ADDRESS**, kolize nebo žádná odpověď do stavu **Zkusit znovu** |
| 7 | **Zkusit znovu** | Obnova po kolizi / timeoutu — půlí aktuální vyhledávací interval a opakuje; když se interval vyčerpá, začne nové kolo s `INITIALISE` + `RANDOMISE` |
| 8 | **Dokončit** | Nastane po třech kolech vyhledávání bez nově naprogramovaného zařízení nebo když jsou obsazeny všechny krátké adresy 0–63. Přečte DALI výsledný bajt, emituje TapHome informaci/chybovou zprávu (při úspěchu `Search finished`) a ukončí průvodce |

**Typický postup uvedení do provozu:**

1. Napájejte DALI sběrnici (`RESI-DALI-PS`), zařízení zapojte ve stromové topologii a ujistěte se, že sběrnici neřídí nic jiného.
2. (Volitelné, ale doporučené) nejprve spusťte akci modulu **Resetovat krátké adresy** s *Confirm* = *Yes*, abyste začali z čistého stavu bez adresovaných zařízení.
3. Vyberte **Start** — odešle `INITIALISE` + `RANDOMISE`, takže každé zařízení si zvolí novou 24bitovou náhodnou adresu.
4. Přepínač pak sám projde stavy **Skenovat krátkou adresu** → **Set SEARCHADDR** → **Kontrola** → **PROGRAM SHORT ADDRESS** a vrátí se na **Start** pro další zařízení. Každé nově naprogramované zařízení jednou zabliká na své nové krátké adrese, což ukáže, které svítidlo dostalo kterou adresu.
5. Kolize a timeouty řeší **Zkusit znovu** automaticky, bez zásahu instalatéra.
6. Když se přepínač zastaví na **Dokončit**, přečtěte informaci/chybovou zprávu a poté vyberte **TERMINATE**, čímž ukončíte DALI adresovací relaci.
7. Použijte servisní atributy **Gear 0 … Gear 63** a akce **Turn On / Off All Lamps** k ověření, že krátké adresy 0–N jsou nyní obsazeny (viz níže).

Instalatér přesto potřebuje během běhu sledovat chování DALI sběrnice (potvrzovací zablikání, rytmus LED `STATE` na bráně), aby zachytil špatně zapojená nebo chybějící zařízení.

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

Každý ze 64 servisních atributů **Gear 0**, **Gear 1**, … **Gear 63** sonduje jednu DALI krátkou adresu příkazem DALI 2.0 `QUERY DEVICE TYPE` (`0x99`). Interně šablona zapíše `(SA << 8) | 0x99` do `H:511`, polluje `H:550` bity 0–2 dokud nedorazí odpověď, poté přečte odpovídající bajt z `H:511`.

Možné návratové hodnoty v TapHome servisním UI:

- **`DT{n}`** — ovládací zařízení je naprogramováno na této adrese a odpovědělo device type *n*. Typické hodnoty: `DT0` (zářivka), `DT1` (nouzové), `DT2` (HID), `DT5` (0–10 V), `DT6` (LED driver), `DT7` (relé), `DT8` (barva / tunable white), `DT9` (sekvencer).
- **`--`** — na této adrese není naprogramováno žádné zařízení nebo brána vrátila sentinel `0x8000` "no answer / already consumed".

Sonda poskytuje rychlý pass/fail přehled o tom, které krátké adresy jsou po uvedení do provozu obsazeny a jaké device type byly objeveny — to je primární verifikační krok před přepnutím projektu na operační šablonu *Resi Dali*.

### Akce na úrovni brány

Sedm servisních akcí na modulu řídí bránu přímo:

- **Reset Gateway** — zapíše `1` do `H:6000` (DIP SWITCH / SOFTWARE RESET). Restartuje bránu; užitečné po zkratu sběrnice pro obnovení DALI motoru.
- **Set Slave ID** — zapíše nové Unit ID (1–255) do FLASH registru `H:65221`, poté resetuje přes `H:6000`. Vyžaduje `DIP4 = OFF`, aby akce měla účinek.
- **Turn On All Lamps** — zapíše `0xFE` (výkonový oblouk 254 = 100 %) do DALI broadcast úrovňového registru `H:530`. Rozsvítí každé zařízení na sběrnici bez ohledu na krátkou adresu — rychlé vizuální potvrzení, že sběrnice a zdroj jsou v pořádku.
- **Turn Off All Lamps** — zapíše `0x00` do `H:530`, zhasne každé zařízení. Stejná broadcast cesta, opačná hodnota.
- **Resetovat krátké adresy** — parametr *Confirm* (*Yes* / *No*). Při *Yes* odešle `DTR0 = 0xFF` (`0xA3FF`) a broadcast `SET SHORT ADDRESS`, takže každé zařízení na sběrnici ztratí svou krátkou adresu; další běh průvodce pak čísluje zařízení od krátké adresy 0. Při *No* se nic neodešle.
- **Delete short address** — parametry *Short address* (0–63) a *Confirm* (*Yes* / *No*). Příkazem `QUERY CONTROL GEAR PRESENT` (`0x91`) ověří, že na adrese odpovídá zařízení, odešle `DTR0 = 0xFF` a `SET SHORT ADDRESS` na tuto adresu, poté ověří znovu a nahlásí `Address N deleted`, `Address N still answers`, `No gear answers on address N` nebo `Not confirmed`.
- **Change short address** — parametry *Old short address* a *New short address* (0–63). Příkazem `QUERY CONTROL GEAR PRESENT` ověří, že nová adresa je volná a že na staré odpovídá právě jedno zařízení, přesune zařízení (`DTR0` = nová adresa, `SET SHORT ADDRESS` na starou adresu) a potvrdí ho na nové adrese. Pokud starou adresu sdílí více zařízení, akce se zastaví a vyzve ke smazání adresy a spuštění adresovacího průvodce.

Servisní atribut **Slave ID** na modulu zpětně čte aktuální Unit ID z FLASH registru `H:65221`, takže před odesláním *Set Slave ID* lze ověřit aktuálně naprogramovanou adresu.

Dalších šest servisních atributů modulu zobrazuje informace o bráně: **Gateway firmware** (`H:65202`, jako verze 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 ve tvaru `1:… 2:… 3:… 4:…`) a **Gateway converter status** (`H:5050`); hodnoty skupin, autora a stavu se zobrazují v hex.

> [!TIP]
> Hned po zapojení a *před* spuštěním adresovacího průvodce spusťte **Turn On All Lamps**. Každé napájené a správně připojené zařízení na sběrnici se rozsvítí na 100 %, což je velmi rychlý způsob jak odhalit chybějící nebo špatně zapojená svítidla předtím, než strávíte čas programováním krátkých adres.

## Řešení problémů

### Průvodce při každém kroku spadne na timeout

1. Ověřte napětí DALI sběrnice na svorkách zdroje — musí být 11,5–22,5 V (typicky 14–16 V). Výrazně nižší hodnota obvykle indikuje zkrat DALI.
2. Zkontrolujte LED **ERR** na RESI-DALI-PS — pokud svítí, sběrnice je zkratovaná, přetížená nebo je zdroj sám vadný.
3. Zkontrolujte LED **STATE** na bráně — pomalý rytmus 1 s znamená, že DALI sběrnice je v pořádku, rychlý rytmus ~250 ms indikuje chybu sběrnice, zkrat nebo chybějící DALI napájení.
4. Ujistěte se, že s bránou současně nekomunikuje žádný jiný Modbus master (MODBUSConfigurator, BMS, PLC).

### Gear 0–63 hlásí všechny `--` po uvedení do provozu

1. Změřte napětí DALI na zařízení nejdále od zdroje — musí být nad 9,5 V. Pokud je nižší, sběrnice je příliš dlouhá pro průřez vodiče (viz tabulka délek DALI kabelu výše). Rozdělte sběrnici na dva segmenty s druhým zdrojem.
2. Znovu spusťte průvodce po akci modulu **Resetovat krátké adresy** (*Confirm* = *Yes*). Vyhledávání najde pouze zařízení *bez* krátké adresy, takže zařízení, která si stále drží dříve naprogramovanou adresu, se bez předchozího resetu znovu neadresují.
3. Hledejte smyčky v zapojení. DALI netoleruje kruhy; přerušte jakoukoli smyčku a znovu zakončete oba otevřené konce.

### Set Slave ID nezmění adresu

1. Potvrďte `DIP4 = OFF` na bráně. Když je `DIP4 = ON`, hardware nutí Unit ID 255 bez ohledu na FLASH hodnotu.
2. Potvrďte, že se brána po akci skutečně restartovala (LED brány krátce zhasnou). Pokud ne, spusťte ručně **Reset Gateway**.
3. Znovu importujte šablonu s novým import parametrem `SlaveId` — dříve importovaný modul stále polluje na staré adrese.

### Komunikace chvíli funguje a poté selže

1. Zkontrolujte, že `RS485 GND` je připojena mezi bránou a společnou zemí napájecího zdroje TapHome. Chybějící GND je nejčastější chyba RS-485.
2. Ověřte zakončení — 120 Ω na obou koncích RS-485 sběrnice. Pro RTU-over-TCP přes serial bridge se ujistěte, že je bridge v rámcovém RTU režimu, nikoli v raw TCP, a že meziznaková mezera na sériové straně odpovídá časování 9600 baud 8N1.
3. Snižte počet paralelních DALI dotazů — brána serializuje DALI transakce a neřeší arbitráž mezi více Modbus mastery.

## Dostupná zařízení 1

Tato zařízení se po importu zobrazí v TapHome.

Resi Dali - Konfigurace Modul

Servisní atributy

|          |                                                                                                                      |
|----------|----------------------------------------------------------------------------------------------------------------------|
| Slave ID | Čte Modbus Unit ID uložené ve FLASH registru H:65221 — slouží k ověření aktuální adresy brány                        |
| Gear 0   | DALI device-type sonda na krátké adrese 0 — vrací DT{n}, když ovládací zařízení odpoví, nebo -- když je adresa volná |
| Gear 1   | DALI device-type sonda na krátké adrese 1 — vrací DT{n} nebo --                                                      |
| Gear 2   | DALI device-type sonda na krátké adrese 2 — vrací DT{n} nebo --                                                      |
| Gear 3   | DALI device-type sonda na krátké adrese 3 — vrací DT{n} nebo --                                                      |
| Gear 4   | DALI device-type sonda na krátké adrese 4 — vrací DT{n} nebo --                                                      |
| Gear 5   | DALI device-type sonda na krátké adrese 5 — vrací DT{n} nebo --                                                      |
| Gear 6   | DALI device-type sonda na krátké adrese 6 — vrací DT{n} nebo --                                                      |
| Gear 7   | DALI device-type sonda na krátké adrese 7 — vrací DT{n} nebo --                                                      |
| Gear 8   | DALI device-type sonda na krátké adrese 8 — vrací DT{n} nebo --                                                      |
| Gear 9   | DALI device-type sonda na krátké adrese 9 — vrací DT{n} nebo --                                                      |
| Gear 10  | DALI device-type sonda na krátké adrese 10 — vrací DT{n} nebo --                                                     |
| Gear 11  | DALI device-type sonda na krátké adrese 11 — vrací DT{n} nebo --                                                     |
| Gear 12  | DALI device-type sonda na krátké adrese 12 — vrací DT{n} nebo --                                                     |
| Gear 13  | DALI device-type sonda na krátké adrese 13 — vrací DT{n} nebo --                                                     |
| Gear 14  | DALI device-type sonda na krátké adrese 14 — vrací DT{n} nebo --                                                     |
| Gear 15  | DALI device-type sonda na krátké adrese 15 — vrací DT{n} nebo --                                                     |
| Gear 16  | DALI device-type sonda na krátké adrese 16 — vrací DT{n} nebo --                                                     |
| Gear 17  | DALI device-type sonda na krátké adrese 17 — vrací DT{n} nebo --                                                     |
| Gear 18  | DALI device-type sonda na krátké adrese 18 — vrací DT{n} nebo --                                                     |
| Gear 19  | DALI device-type sonda na krátké adrese 19 — vrací DT{n} nebo --                                                     |
| Gear 20  | DALI device-type sonda na krátké adrese 20 — vrací DT{n} nebo --                                                     |
| Gear 21  | DALI device-type sonda na krátké adrese 21 — vrací DT{n} nebo --                                                     |
| Gear 22  | DALI device-type sonda na krátké adrese 22 — vrací DT{n} nebo --                                                     |
| Gear 23  | DALI device-type sonda na krátké adrese 23 — vrací DT{n} nebo --                                                     |
| Gear 24  | DALI device-type sonda na krátké adrese 24 — vrací DT{n} nebo --                                                     |
| Gear 25  | DALI device-type sonda na krátké adrese 25 — vrací DT{n} nebo --                                                     |
| Gear 26  | DALI device-type sonda na krátké adrese 26 — vrací DT{n} nebo --                                                     |
| Gear 27  | DALI device-type sonda na krátké adrese 27 — vrací DT{n} nebo --                                                     |
| Gear 28  | DALI device-type sonda na krátké adrese 28 — vrací DT{n} nebo --                                                     |
| Gear 29  | DALI device-type sonda na krátké adrese 29 — vrací DT{n} nebo --                                                     |
| Gear 30  | DALI device-type sonda na krátké adrese 30 — vrací DT{n} nebo --                                                     |
| Gear 31  | DALI device-type sonda na krátké adrese 31 — vrací DT{n} nebo --                                                     |
| Gear 32  | DALI device-type sonda na krátké adrese 32 — vrací DT{n} nebo --                                                     |
| Gear 33  | DALI device-type sonda na krátké adrese 33 — vrací DT{n} nebo --                                                     |
| Gear 34  | DALI device-type sonda na krátké adrese 34 — vrací DT{n} nebo --                                                     |
| Gear 35  | DALI device-type sonda na krátké adrese 35 — vrací DT{n} nebo --                                                     |
| Gear 36  | DALI device-type sonda na krátké adrese 36 — vrací DT{n} nebo --                                                     |
| Gear 37  | DALI device-type sonda na krátké adrese 37 — vrací DT{n} nebo --                                                     |
| Gear 38  | DALI device-type sonda na krátké adrese 38 — vrací DT{n} nebo --                                                     |
| Gear 39  | DALI device-type sonda na krátké adrese 39 — vrací DT{n} nebo --                                                     |
| Gear 40  | DALI device-type sonda na krátké adrese 40 — vrací DT{n} nebo --                                                     |
| Gear 41  | DALI device-type sonda na krátké adrese 41 — vrací DT{n} nebo --                                                     |
| Gear 42  | DALI device-type sonda na krátké adrese 42 — vrací DT{n} nebo --                                                     |
| Gear 43  | DALI device-type sonda na krátké adrese 43 — vrací DT{n} nebo --                                                     |
| Gear 44  | DALI device-type sonda na krátké adrese 44 — vrací DT{n} nebo --                                                     |
| Gear 45  | DALI device-type sonda na krátké adrese 45 — vrací DT{n} nebo --                                                     |
| Gear 46  | DALI device-type sonda na krátké adrese 46 — vrací DT{n} nebo --                                                     |
| Gear 47  | DALI device-type sonda na krátké adrese 47 — vrací DT{n} nebo --                                                     |
| Gear 48  | DALI device-type sonda na krátké adrese 48 — vrací DT{n} nebo --                                                     |
| Gear 49  | DALI device-type sonda na krátké adrese 49 — vrací DT{n} nebo --                                                     |
| Gear 50  | DALI device-type sonda na krátké adrese 50 — vrací DT{n} nebo --                                                     |
| Gear 51  | DALI device-type sonda na krátké adrese 51 — vrací DT{n} nebo --                                                     |
| Gear 52  | DALI device-type sonda na krátké adrese 52 — vrací DT{n} nebo --                                                     |
| Gear 53  | DALI device-type sonda na krátké adrese 53 — vrací DT{n} nebo --                                                     |
| Gear 54  | DALI device-type sonda na krátké adrese 54 — vrací DT{n} nebo --                                                     |
| Gear 55  | DALI device-type sonda na krátké adrese 55 — vrací DT{n} nebo --                                                     |
| Gear 56  | DALI device-type sonda na krátké adrese 56 — vrací DT{n} nebo --                                                     |
| Gear 57  | DALI device-type sonda na krátké adrese 57 — vrací DT{n} nebo --                                                     |
| Gear 58  | DALI device-type sonda na krátké adrese 58 — vrací DT{n} nebo --                                                     |
| Gear 59  | DALI device-type sonda na krátké adrese 59 — vrací DT{n} nebo --                                                     |
| Gear 60  | DALI device-type sonda na krátké adrese 60 — vrací DT{n} nebo --                                                     |
| Gear 61  | DALI device-type sonda na krátké adrese 61 — vrací DT{n} nebo --                                                     |
| Gear 62  | DALI device-type sonda na krátké adrese 62 — vrací DT{n} nebo --                                                     |
| Gear 63  | DALI device-type sonda na krátké adrese 63 — vrací DT{n} nebo --                                                     |
| Gear 58  |                                                                                                                      |
| Gear 59  |                                                                                                                      |
| Gear 60  |                                                                                                                      |
| Gear 61  |                                                                                                                      |
| Gear 62  |                                                                                                                      |
| Gear 63  |                                                                                                                      |

Servisní akce

|                                 |                                                                                                                                                          |
|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Reset Gateway                   | Zapíše 1 do registru H:6000 pro restart brány RESI-DALI — nutné po změně Slave ID nebo pro obnovu DALI motoru po zkratu sběrnice                         |
| Set Slave ID                    | Zapíše nové Modbus Unit ID do FLASH registru H:65221 a vyvolá reset, aby se brána restartovala s novou adresou (1–255, DIP4 musí být OFF)                |
| Turn On All Lamps               | Zapíše 0xFE do DALI broadcast úrovňového registru H:530 — rozsvítí každé ovládací zařízení na sběrnici na maximální jas (rychlý test uvedení do provozu) |
| Turn Off All Lamps              | Zapíše 0x00 do DALI broadcast úrovňového registru H:530 — vypne každé ovládací zařízení na sběrnici                                                      |
| ${xml\_reset\_short\_addresses} |                                                                                                                                                          |
| Delete short address            |                                                                                                                                                          |
| Change short address            |                                                                                                                                                          |

Servisní atributy

${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í akce

${xml\_reset\_gateway}

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

${xml\_set\_slave\_id}

Parametry: ${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}

Parametry: 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

Parametry: 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

Parametry: 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);
```

Najít nová zařízení Vícestavový přepínač Čtení i zápis

Průvodce uvedením do provozu, který prochází algoritmem náhodného adresování DALI 2.0, aby přiřadil krátké adresy 0–63 ovládacím zařízením

Registr: 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}

Čtení stavu přepínače

```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 přepínače

```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);
```

**Připojení:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Možná vylepšení (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

## Parametry importu

Tyto hodnoty zadáte při importu XML.

| Ptá se v aplikaci | Výchozí       |
|-------------------|---------------|
| 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ýrobců jsou © jejich příslušných vlastníků. Poskytujeme je tak, jak je výrobce zveřejnil, pouze pro informaci.

## Související dokumentace

- [Modbus Integration](https://taphome.com/cs/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/cs/docs/integration/modbus/)
- [Jednoduché nastavení pomocí šablon](https://taphome.com/cs/docs/integration/modbus/templates/)
- [Skripty Modbus a prefetch](https://taphome.com/cs/docs/script/modbus-scripts/)
- [Funkce Modbus](https://taphome.com/cs/docs/script/modbus/)
- [Datové typy Modbus](https://taphome.com/cs/docs/script/modbus-data-types/)

