---
title: "Intesis IBOX-MBS-DALI"
description: "Ovládej 64 DALI ECG předřadníků a 16 DALI skupin z TapHome přes Modbus RTU s bránou Intesis IBOX-MBS-DALI. Stmívání na úrovni ECG, fade time/rate, power-on a system-failure úrovně."
url: "https://taphome.com/cs/compatibility/intesis-dali/"
language: cs
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","lighting","rs485","dali","dali-2","gateway","din-rail"]
  questions: ["Jak integrovat Intesis IBOX-MBS-DALI s TapHome?","Co ovládá TapHome šablona pro Intesis DALI?","Jak zapojit RS-485 Modbus RTU z TapHome do IBOX-MBS-DALI?","Jak přiřadit DALI krátké adresy ECG předřadníkům?","Kterou variantu Intesis DALI brány podporuje TapHome šablona?","Funguje TapHome šablona s bránou Intesis IN703DAL0640000 (řada 700)?","Proč DALI sběrnice nereaguje, i když Modbus komunikace funguje?"]
---

# Intesis IBOX-MBS-DALI

Komunikace: Modbus RTU

- [Produktová stránka Intesis IBOX-MBS-DALI (HMS Networks)](https://www.intesis.com/products/protocol-translator/dali-gateways/dali-modbus-server-ibox-mbs-dali)
- [HMS Networks — produktová rodina Intesis](https://www.hms-networks.com/products/intesis)
- [Uživatelský manuál Intesis IN703DAL0640000 (řada 700)](https://www.intesis.com/docs/user-manual-in703dal0640000)

## Návod na integraci

Intesis IBOX-MBS-DALI je DALI-na-Modbus protokolový převodník od společnosti Intesis (součást HMS Networks), který zpřístupňuje DALI-2 světelné předřadníky a skupiny jako Modbus holding registry. TapHome šablona je určena pro **1-kanálovou RTU variantu** (objednací kód **IBMBSDAL0640000**, znovu vydaný jako **INMBSDAL0640200**) a připojuje se k TapHome přes **RS-485 Modbus RTU** na portu B brány.

TapHome prodává novější bránu **řady 700** s objednacím kódem **IN703DAL0640000** (DALI-2 na Modbus TCP a RTU server, 1 DALI kanál). Podle uživatelského manuálu výrobce (v1.0.11) má stejnou mapu Modbus registrů, takže tato šablona platí i pro ni.

Šablona pokrývá plnou adresovatelnou kapacitu jedné DALI linky: **64 individuálních ECG předřadníků** (krátké adresy 0–63) a **16 DALI skupin**. Každý ECG podporuje zpětné čtení aktuální úrovně (0–100 %), stavu poruchy předřadníku/lampy a zápis arc power úrovně, power-on úrovně, system-failure úrovně, fade time a fade rate. DALI skupiny poskytují write-only broadcast stmívací ovládání. Na úrovni modulu existují čtyři broadcast service actions (All On, All Off, All Set Power-on Level, All Set System-failure Level), které jedním Modbus zápisem adresují každý předřadník na DALI lince.

DALI krátké adresy, členství ve skupinách, scény a min/max úrovně musí být předem nakonfigurovány pomocí bezplatného commissioning softwaru **Intesis MAPS** — teprve potom může TapHome adresovat jednotlivé předřadníky. TapHome šablona sama neprovádí DALI síťovou detekci ani adresování.

## Hardwarové připojení

### Varianty brány

TapHome šablona je vytvořená pro **1-kanálovou RTU** bránu. 2-kanálová varianta má identickou mapu registrů, ale neposkytuje Modbus RTU (pouze TCP), takže s touto RS-485 šablonou není kompatibilní.

| Objednací kód | DALI kanály | Kapacita ECG | Skupiny | Modbus RTU | Modbus TCP |
|---|---|---|---|---|---|
| **IN703DAL0640000** (řada 700) | **1** | **64** | **16** | **Ano (Port B)** | Ano |
| **IBMBSDAL0640000 / INMBSDAL0640200** | **1** | **64** | **16** | **Ano (Port B)** | Ano |
| IBMBSDAL1280000 / INMBSDAL1280200 | 2 | 128 | 32 | Ne | Ano |

![Intesis IBOX-MBS-DALI — rozložení portů na 1-kanálové (Modbus RTU + TCP) a 2-kanálové (pouze Modbus TCP) variantě](https://taphome.com/images/compatibility/intesis-dali/connections-overview_hu_e3319bd0a2fc8995.jpg)

> [!NOTE]
> TapHome šablona používá vzorec registru `7000 × kanál + 100 × ECG + signál`, vyhodnocovaný s `kanál = 0`. To přesně odpovídá 1-kanálové IBOX-MBS-DALI i bráně IN703DAL0640000 řady 700.


### Rozložení konektorů (1-kanálová IBOX-MBS-DALI)

![Rozložení konektorů 1-kanálové IBOX-MBS-DALI — napájení, DALI Port A, Ethernet, Console, EIA232/EIA485 Port B](https://taphome.com/images/compatibility/intesis-dali/connectors-ibox-1ch_hu_f931cc500ab15298.jpg)

Pohled shora na 1-kanálovou IBOX-MBS-DALI:

- **Napájení** — 3-pólová zásuvná šroubovací svorka, 24 VDC ±10 % (+ / − / Earth)
- **Port A / DALI** — 2-pólová oranžová svorka, **A3 (DA+)** a **A4 (DA−)**, 16 VDC DALI napájení
- **Ethernet** — 1× RJ45 10/100 Mbps (Modbus TCP)
- **Console** — mini-type B USB 2.0 pro konfiguraci v Intesis MAPS
- **Port B / Modbus RTU** — **EIA485** 3-pólová šroubovací svorka `B1 (B+) / B2 (A−) / B3 (SGND)` **a** **EIA232** SUB-D9 male (alternativa)
- **USB** — Type-A USB 2.0 pouze pro flash disky (max 150 mA)
- **SWA / SWB** — DIP přepínače (SWA rezervovaný, SWB řídí RS-485 terminaci a polarizaci — viz Konfigurace níže)

### Napájení

- **Vstup:** 24 VDC ±10 % na 3-pólové svorce (+, −, Earth)
- **Zdroj:** NEC Class 2 nebo Limited Power Source (LPS), SELV
- **Nadřazená ochrana:** 250 V / 6 A jistič
- **Uzemnění:** Může být uzemněno pouze přes záporný pól — **nikdy** přes kladný pól

> [!WARNING]
> Abys zabránil zemním smyčkám, které mohou poškodit bránu a připojená zařízení, **nikdy nepoužívej DC napájení s uzemněným kladným pólem**. Uzemni pouze přes záporný pól, nebo nechej uzemnění plovoucí.

### RS-485 Modbus RTU zapojení (Port B, EIA485)

Připoj TapHome RS-485 sběrnici ke svorce EIA485 na Portu B:

| Svorka IBOX-MBS-DALI | Signál | TapHome RS-485 |
|---|---|---|
| **B1** | B+ (D+) | A+ / D+ |
| **B2** | A− (D−) | B− / D− |
| **B3** | SGND (referenční zem) | GND |

> [!WARNING]
> **Dodrž polaritu.** B1 = B+ (D+) a B2 = A− (D−). Překřížení A/B způsobí tichou ztrátu komunikace bez poškození hardwaru.

**Specifikace kabelu** (limity EIA485):

- **Max délka:** 1200 m na jednom RS-485 segmentu
- **Max uzlů:** 32 zařízení včetně TapHome master a IBOX-MBS-DALI
- **Terminace:** 120 Ω na každém konci sběrnice — TapHome Core má integrovaný 100 Ω rezistor na BUS svorkách, takže IBOX-MBS-DALI potřebuje aktivní terminaci pouze pokud je na **posledním konci** RS-485 segmentu (viz DIP přepínač SWB níže)

> [!TIP]
> Pokud je brána nainstalována uprostřed RS-485 sběrnice (ne na konci), ponech SWB v pozici OFF a nepřidávej externí terminaci.

**EIA232 alternativa:** Konektor Port B SUB-D9 male poskytuje EIA232 rozhraní používající pouze TX, RX a GND, s maximální délkou kabelu 15 m. TapHome nativně nepodporuje RS-232, takže EIA485 je standardní TapHome připojení.

### Zapojení DALI sběrnice (Port A)

Připoj DALI linku k oranžové 2-pólové svorce Portu A:

- **A3** — DA+
- **A4** — DA−

IBOX-MBS-DALI poskytuje napětí sběrnice **16 VDC (±2 %)** s garantovaným proudem 235 mA (max 250 mA) DALI; brána IN703DAL0640000 řady 700 garantuje 230 mA (max 250 mA). DALI je podle standardu necitlivá na polaritu, ale toto vnitřní napájení musí být povoleno v Intesis MAPS dříve, než bude DALI komunikace fungovat — viz *DALI commissioning* níže.

**Kapacita DALI na jedné lince** (ponechej ~10 % rezervu pro dynamické procesy):

- Až **64 ECG předřadníků** (typicky 2 mA každý → 128 mA)
- Až **64 DALI vstupních zařízení** / **doporučuje se 16** při použití tlačítek (typicky 5 mA každé)
- Příklad rozpočtu: `64 ECG × 2 mA + 16 senzorů × 5 mA = 208 mA < 235 mA × 90 %`
- Příklad rozpočtu pro IN703DAL0640000 (údaje výrobce): `63 ECG × 2 mA + 16 senzorů × 5 mA = 206 mA < 230 mA × 90 %`

> [!NOTE]
> DALI je inherentně nízkorychlostní sběrnice (1200 baud) s dobou startu brány 1,5 s a dobou vypnutí 7 s. DALI příkazy vydané z TapHome dorazí k předřadníkům s malou, ale nenulovou latencí oproti přímému drátovému řízení.

## Konfigurace

### DIP přepínač SWB — RS-485 terminace a polarizace

**DIP přepínač SWB** na 1-kanálové IBOX-MBS-DALI řídí pouze charakteristiku RS-485 sběrnice — na této bráně **neexistuje Modbus slave adresa nastavitelná DIP přepínačem** (slave adresa se nastavuje v Intesis MAPS, viz níže).

| Pozice | ON | OFF |
|---|---|---|
| **1** | 120 Ω terminace aktivní | Terminace neaktivní |
| **2** | Polarizace aktivní | Polarizace neaktivní |
| **3** | Polarizace aktivní | Polarizace neaktivní |

- **Pozice 1 = ON** — povolí interní 120 Ω terminační rezistor. Použij, když je IBOX-MBS-DALI na **poslední** fyzické pozici RS-485 sběrnice.
- **Pozice 2 a 3 = ON** — povolí bus biasing (polarizaci). Použij, když žádný jiný master na sběrnici neposkytuje biasing. TapHome Core poskytuje biasing na svých BUS svorkách, takže tyto mohou většinou zůstat OFF.

> **SWA** je na této revizi hardwaru rezervovaný pro budoucí použití a nemá žádný runtime efekt.

### Parametry Modbus RTU komunikace

Všechny RTU parametry se konfigurují v projektu Intesis MAPS a musí přesně odpovídat nastavením TapHome modulu.

| Parametr | Hodnoty | Výchozí v šabloně |
|---|---|---|
| Baud rate | 1200, 2400, 4800, **9600**, 19200, 38400, 56700, 115200 | **9600** |
| Parita | none, even, odd | **none** |
| Stop bity | 1, 2 | **1** |
| Datové bity | 8 | 8 |
| Slave adresa | 1–247 | Konfigurovatelná v MAPS |

> [!TIP]
> Intesis brána podporuje Modbus RTU a Modbus TCP **současně** na 1-kanálové variantě. TapHome používá RTU; paralelní BMS nebo diagnostický nástroj může číst tutéž mapu registrů přes TCP bez rušení.

### Povolení Modbus komunikace

Modbus komunikace se povolí nahráním platného projektu do brány pomocí Intesis MAPS (na tomto modelu nejsou zapojené žádné DIP přepínače). Krátká verze:

1. Nainstaluj **Intesis MAPS** na Windows PC a připoj se k bráně přes USB Console nebo Ethernet.
2. Otevři nebo vytvoř projekt založený na šabloně `INMBSDAL---0200-Template` (u brány IN703DAL0640000 řady 700 vyber šablonu `IN-MBS-DALI-64`, tedy aplikaci Modbus).
3. V záložce **Configuration → Modbus Slave** nastav baud rate, paritu, stop bity a slave adresu tak, aby se shodovaly s TapHome.
4. V záložce **Configuration → DALI** povol interní 16 VDC napájení DALI sběrnice (viz *DALI commissioning*).
5. Klikni na **Send** pro přenos konfigurace; brána se automaticky restartuje.
6. V **Diagnostic → Viewers** ověř Modbus rámce na Port B TX/RX.

![Konfigurace napájení DALI sběrnice v Intesis MAPS — povol 16 VDC DALI napájení v konfiguraci brány před commissioningem](https://taphome.com/images/compatibility/intesis-dali/dali-power-maps-config_hu_60df6e9c055c6bc7.jpg)

### DALI commissioning

**DALI adresování se provádí v Intesis MAPS — ne v TapHome.** TapHome šablona odkazuje na DALI krátké adresy 0–63 a skupinové adresy 0–15 podle jejich offsetu v registru; fyzické předřadníky a skupiny musí být nejprve vázány na tyto adresy.

Vysokoúrovňový workflow commissioningu (plný postup v Intesis user manual, Annex A):

1. V MAPS otevři projekt pro 1-kanálovou bránu a přejdi do **Configuration → DALI → ECG Channel A**.
2. Klikni na **Commissioning → Scan** pro detekci ECG předřadníků na DALI sběrnici.
3. Každému předřadníku přiřaď **krátkou adresu (0–63)** přes tlačítko **Wink** (blikne fyzickým předřadníkem pro identifikaci) nebo **Auto Addr.** (sekvenční automatické přiřazení).
4. Volitelně nastav parametry každého ECG: **Device Type** (0 = Fluorescent, 1 = Emergency, 6 = LED, …), min / max úroveň, power-on úroveň, system-failure úroveň, konfigurace scén a **členství ve skupině (0–15)**.
5. Klikni na **Commissioning → Set All** pro přenos konfigurace z MAPS do DALI sběrnice.
6. Klikni na **Send** pro přenos konfigurace úrovně brány (Modbus parametry, mapa signálů) zpět do IBOX-MBS-DALI.

Po commissioningu se ECG identifikované krátkou adresou v TapHome (např. **ECG 5** → registr `H:506`) mapují jedna-k-jedné na fyzické předřadníky. Členství ve skupinách musí být také definované v MAPS, aby zařízení DALI Group fungovala, ačkoli šablona exponuje service actions per-ECG *Add to DALI Group* / *Remove from DALI Group*, které mohou přiřadit členství ve skupině za běhu na kompatibilním firmwaru.

> [!WARNING]
> Podle user manual r1.5 (květen 2024) jsou signály 29 a 30 (*Add to DALI Group* / *Remove from DALI Group*) na aktuálním firmwaru označeny jako *Not used*. TapHome šablona tyto akce stále exponuje, protože fungovaly na starších firmwarech, ale **stabilní přiřazení skupin by se měla konfigurovat v Intesis MAPS**, ne za běhu.
>
> Uživatelský manuál brány IN703DAL0640000 řady 700 (v1.0.11) uvádí signály 29 a 30 jako čtení/zápis, takže podle manuálu by na této bráně akce měly být dostupné.

### Přehled mapy registrů

TapHome používá jeden vzorec pro všechny registry:

```text
H:address = 7000 × channel + 100 × ECG + signal      (individuální ECG)
H:address = 7000 × channel + 20 × group + 6400..6415  (DALI skupina)
H:address = 7000 × channel + 6800..6815              (broadcast)
```

Na 1-kanálové variantě je vždy `channel = 0`. Šablona exponuje následující rozsahy registrů:

| Rozsah | Funkce | Exponované v šabloně |
|---|---|---|
| `H:0 – H:3` | Bitmaska poruchy předřadníku/lampy (ECG 63..0, 4× UInt16) | Ano — jako failRegister na úrovni modulu |
| `H:SA+5` | Bitmaska stavu ECG předřadníku (per ECG) | Ano — errors, warnings, info per ECG |
| `H:SA+6` | Aktuální úroveň ECG 0–100 % (čtení) | Ano — zpětná vazba polohy stmívače |
| `H:SA+7` | Enum typu zařízení ECG | Ano — jako service attribute |
| `H:SA+11..+14` | Power-on / system-failure úroveň, fade time / rate (čtení) | Ano — jako service attributes |
| `H:SA+15` | ECG arc power úroveň 0–100 % (zápis) | Ano — writelevel, lineárně mapovaný do Min/Max |
| `H:SA+23..+30` | Nastav fade time/rate, nastav úrovně, přidej/odeber ze skupiny | Ano — jako service actions per-ECG |
| `H:6400 + 20·GR` | Group arc power úroveň 0–100 % (zápis) | Ano — jako write-only zařízení DALI Group |
| `H:6801` | Broadcast Arc Power Off/On (0/100 %) | Ano — jako moduly *All On* / *All Off* |
| `H:6812 / H:6813` | Broadcast Set Power-on / System-failure Level | Ano — jako service actions na úrovni modulu |

Vstupní zařízení (přítomnostní senzory, tlačítka, světelné senzory) na adresách `14000 + 640·LINE + 10·IDX + INSTANCE + 1280·SIG` **nejsou** v této šabloně implementována.

## Možnosti zařízení

### Stmívání per ECG (64 ECG zařízení)

Každá krátká adresa 0–63 je exponována jako individuální TapHome stmívací zařízení (**ECG 0** až **ECG 63**). Možnosti per ECG:

- **Aktuální úroveň** — čte `H:SA+6` (0–100 %) jako zpětnou vazbu polohy stmívače
- **Arc power úroveň** — zapisuje `H:SA+15` (0–100 %), lineárně mapovaná z 0–1 stmívací škály TapHome do rozsahu `[min level, max level]` nakonfigurovaného pro předřadník
- **Stav předřadníku** — bitmaska na `H:SA+5` řídí TapHome diagnostiku: *BallFail* a *LampFail* vyvolají errors, *BallLimit*, *Reset* a *PowerCycle* vyvolají warnings, *FadeRun* se zobrazí jako info, *MissingShortAddr* vyvolá error
- **Detekce komunikační poruchy** — modul čte 64-bit poruchovou bitmasku na `H:0 – H:3` a označuje jednotlivé ECG jako poruchové nezávisle na statusu `H:SA+5`

### Service attributes per ECG (read-only metadata)

Každé ECG zařízení exponuje pět service attributes, které čtou jeho aktuální DALI konfiguraci:

- **Main Device Type** — `H:SA+7` enum (0–8): 0 = Fluorescent, 1 = Emergency, 2 = Discharge, 3 = Halogen, 4 = Incandescent, 5 = Digital signal, 6 = LED, 7 = Switching, 8 = Colour Control
- **Power-on Level [%]** — `H:SA+11` (0–100 %) — úroveň, na kterou se předřadník vrátí po zapnutí DALI sběrnice
- **System-failure Level [%]** — `H:SA+12` (0–100 %) — úroveň, do které předřadník přejde při výpadku DALI sběrnice
- **Fade Time** — `H:SA+13` (0–15) — index DALI fade-time (čas na dosažení cílové úrovně při přímých zápisech arc power)
- **Fade Rate** — `H:SA+14` (1–15) — index DALI fade-rate (rychlost příkazů step up / step down)

### Service actions per ECG (zápis)

Každé ECG také exponuje šest service actions pro online rekonfiguraci:

- **Set Power-on Level** — zapisuje `H:SA+27` (0–100 %)
- **Set System-failure Level** — zapisuje `H:SA+28` (0–100 %)
- **Set Fade Time** — zapisuje `H:SA+23` (0–15)
- **Set Fade Rate** — zapisuje `H:SA+24` (1–15)
- **Add to DALI Group** — zapisuje `H:SA+29` s číslem skupiny (0–15) — viz upozornění ke commissioningu výše
- **Remove from DALI Group** — zapisuje `H:SA+30` s číslem skupiny (0–15)

Každý zápis je automaticky potvrzen šablonou přes `H:SA+4 = 1` (Update All ECG Status), což aktualizuje cachované čtecí hodnoty v bráně.

### DALI skupiny (16 write-only broadcast stmívačů)

**DALI Group 0** až **DALI Group 15** jsou exponovány jako write-only stmívací zařízení:

- **Zápisový registr:** `H:6400 + 20 × GR` (např. Group 0 = `H:6400`, Group 15 = `H:6700`)
- **Chování:** zápis TapHome stmívací hodnoty 0–1 odešle `Arc Power Level = Le × 100` každému ECG, který je členem dané DALI skupiny
- **Bez zpětné vazby čtení** — signál skupiny nemá registr aktuální úrovně, takže TapHome sleduje úroveň skupiny pouze z uživatelského vstupu, ne z reálného stavu předřadníků

> [!TIP]
> Skupiny používej pro místnosti nebo zóny, kde několik předřadníků stmívá spolu. Členství ve skupině se konfiguruje per-ECG přes ECG service action *Add to DALI Group* nebo (doporučeně) v Intesis MAPS.

### Broadcast akce na úrovni modulu

Hlavní modul (**Intesis DALI Gateway**) exponuje čtyři service actions, které najednou adresují každý předřadník na DALI lince:

- **All — On** — zapisuje `H:6801 = 1`, broadcastuje 100 % každému ECG
- **All — Off** — zapisuje `H:6801 = 0`, broadcastuje 0 % každému ECG
- **All — Set Power-on Level** — zapisuje `H:6812` (0–100 %) pro konfiguraci úrovně, na kterou se všechny předřadníky vrátí po zapnutí DALI napájení
- **All — Set System-failure Level** — zapisuje `H:6813` (0–100 %) pro konfiguraci úrovně, do které všechny předřadníky přejdou při výpadku DALI sběrnice

Tyto jsou rychlejší než iterování zápisů per-ECG, když všechny předřadníky musí dosáhnout stejného cílového stavu (např. panic off, ranní přednastavení).

## Status LED a tlačítka

![Status LED a tlačítka IBOX-MBS-DALI — Run, Error, Port A TX/RX (DALI), Port B TX/RX (Modbus RTU), Button A, Button B](https://taphome.com/images/compatibility/intesis-dali/status-leds-buttons_hu_1f972f8353b9228c.jpg)

| LED | Stav | Význam |
|---|---|---|
| **Run** | Off / Zelená | Bez napájení / zařízení napájeno a běží |
| **Error** | Off / Červená | Bez chyby / chybový stav |
| **Port A Tx / Rx (DALI)** | Off / Blikající zelená / Blikající žlutá | Bez aktivity / TX paket do DALI / RX paket z DALI |
| **Port B Tx / Rx (Modbus RTU)** | Off / Blikající zelená / Blikající žlutá | Bez aktivity / TX paket na RS-485 / RX paket na RS-485 |
| **Indikátor Button A** | Off / Zelená | Stav DALI broadcastu: OFF / RECALL_MAX_LEVEL |
| **Indikátor Button B** | Off / Zelená | Bez výchozí funkce (konfigurovatelné v MAPS) |

**Button A (DALI A)** — stisknutí přepne DALI broadcast mezi `RECALL_MAX_LEVEL` (100 %) a `OFF`, užitečné pro rychlý on-site sanity check DALI linky bez zapojení TapHome. Po 30 s se LED Button A vypne a předřadníky se vrátí na svou předchozí úroveň.

**Button B** — na této bráně bez výchozí funkce; lze konfigurovat jako RS-485 akci v Intesis MAPS.

## Montáž

### DIN lišta (doporučeno)

![Montáž IBOX-MBS-DALI na DIN lištu — EN60715 TH35 standardní lišta, fixační klipy ve vnitřní tovární pozici](https://taphome.com/images/compatibility/intesis-dali/mounting-din_hu_6022c12b8152b8d4.jpg)

EN60715 TH35, ideálně uvnitř kovového rozvaděče připojeného na uzemnění. Ponech fixační klipy v jejich **vnitřní** tovární pozici, nejprve zachyť horní hranu lišty, poté stlač dolů, aby zacvakl spodek.

### Montáž na zeď

![Montáž IBOX-MBS-DALI na zeď — fixační klipy přemístěné směrem ven odkrývají montážní otvory](https://taphome.com/images/compatibility/intesis-dali/mounting-wall_hu_acd54bdbb566e31c.jpg)

1. **Odděl fixační klipy** z jejich původní pozice (pro montáž na DIN lištu) tlakem směrem ven, dokud nezacvaknou do pozice pro montáž na zeď.
2. **Použij montážní otvory** v krabici k jejímu upevnění na zeď.

### Prostor a prostředí

- **Instalační prostor:** kolem zařízení ponech 130 × 100 × 100 mm (V × Š × H) pro konektory a kabely. Čisté rozměry: 90 × 88 × 56 mm (brána IN703DAL0640000 řady 700: 90 × 88 × 58 mm).
- **Prostředí:** IP20, pouze vnitřní. Provozní teplota 0 °C až +50 °C (user manual) / +60 °C (installation sheet), vlhkost 5–95 % bez kondenzace. Brána IN703DAL0640000 řady 700 pracuje při teplotě −10 °C až +60 °C.

## Řešení problémů

### Žádná Modbus komunikace (Port B Tx/Rx LED zůstávají off)

1. **Zkontroluj zapojení RS-485** — ověř polaritu B1 (B+) / B2 (A−) oproti TapHome RS-485 svorkám; jejich překřížení je nejčastější chyba.
2. **Zkontroluj SGND** — připoj B3 na TapHome zem. Chybějící signálový ground je druhá nejčastější příčina nestabilní RTU.
3. **Shodni sériové parametry** — baud rate, parita, stop bity a slave adresa v TapHome se musí přesně shodovat s hodnotami v projektu Intesis MAPS.
4. **Zkontroluj SWB DIP přepínače** — pokud je tato brána na fyzickém konci RS-485 sběrnice, nastav SWB pozici 1 = ON (120 Ω terminace). Pokud je uprostřed sběrnice, nastav všechny pozice SWB na OFF.
5. **Ověř, že TCP nedrží slot** — brána umožňuje 5 současných TCP socketů a 1 RTU master; špatně nakonfigurované MAPS připojení neblokuje RTU, ale během TapHome ladění se vyplatí MAPS zavřít.

### Modbus funguje, ale DALI předřadníky nereagují

1. **Povol interní napájení DALI sběrnice** — nové brány se dodávají s DALI napájením **vypnutým**. Otevři Intesis MAPS → *Configuration → DALI → DALI Channel A* a nastav **Power the DALI bus** = Enabled, poté **Send** konfiguraci. Bez napájení sběrnice brána hlásí hardwarovou chybu při každém DALI zápisu.
2. **Rychlý sanity check** — stiskni **Button A** na bráně. Měl by broadcastovat `RECALL_MAX_LEVEL` a přepnout každý připojený předřadník on/off. Pokud se nic nepohne, problémem je samotná DALI sběrnice (zapojení, napětí, napájení předřadníků).
3. **Spusť on-bus scan v MAPS** — *Commissioning → Scan* na DALI Channel A vypíše každý předřadník, který brána vidí. Chybějící předřadníky obvykle znamenají nenapájený ECG, nepřiřazenou DALI krátkou adresu, nebo přerušení DALI sběrnice.
4. **Ověř krátké adresy** — TapHome adresuje ECG 5 na registru `H:506`; pokud krátká adresa 5 nebyla přiřazena v MAPS, registr existuje, ale fyzický předřadník na něj není vázán.

### Konkrétní ECG hlásí poruchu v TapHome

TapHome zpřístupňuje dva zdroje poruch pro každý ECG:

- **Module failRegister (`H:0 – H:3`)** — jeden bit na ECG. Nastavený bit vyvolá komunikační chybu (brána se nemůže vůbec domluvit s předřadníkem).
- **ECG ballast status (`H:SA+5`)** — bitmaska per-ECG. *BallFail* a *LampFail* vyvolají errors (hardwarová porucha předřadníku nebo lampy), *MissingShortAddr* vyvolá error (ECG odpověděl, ale nemá krátkou adresu), *BallLimit*, *Reset* a *PowerCycle* vyvolají warnings, *FadeRun* je informační.

Vyměň poruchový předřadník nebo znovu commissionuj krátkou adresu v MAPS pro odstranění chyby.

### Zápis akceptován, ale předřadník nemění úroveň

1. **Ověř, zda předřadník není ve fade** — *FadeRun* na `H:SA+5` znamená, že předřadník právě fade-uje; počkej, až dokončí. Zkrácení *Fade Time* (`H:SA+23`) snižuje vnímanou latenci.
2. **Zkontroluj Min / Max úroveň** — TapHome lineárně mapuje svou 0–1 stmívací škálu do okna `[min level, max level]` načteného z předřadníku (`H:SA+9 / H:SA+10`). Pokud jsou obě stejné, předřadník nemůže změnit úroveň; re-konfiguruj min/max v MAPS.
3. **Add/Remove z DALI skupiny** — na nejnovějším firmwaru r1.5 jsou tyto akce per-ECG označeny jako deprecated; přiřazení do skupiny proveď místo toho v MAPS. Uživatelský manuál brány IN703DAL0640000 řady 700 je uvádí jako čtení/zápis.

## Dostupná zařízení 80

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

Intesis DALI Modul

Servisní akce

|                                      |                                                                                                                             |
|--------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
| Vše — Zapnout                        | Broadcastuje 100 % arc power každému předřadníku na DALI lince — panic-on nebo ranní přednastavení jedním Modbus zápisem    |
| Vše — Vypnout                        | Broadcastuje 0 % arc power každému předřadníku na DALI lince — panic-off nebo úklidové přednastavení jedním Modbus zápisem  |
| Vše — Nastavit Power-on úroveň       | Broadcastuje novou power-on úroveň (0–100 %) každému předřadníku — úroveň, na kterou se vrátí po zapnutí DALI sběrnice      |
| Vše — Nastavit System-failure úroveň | Broadcastuje novou system-failure úroveň (0–100 %) každému předřadníku — úroveň, do které přejdou při výpadku DALI sběrnice |

Čtení (modul)

```taphome
failRegister := modbusr(H, base_modifier + 0, Uint16) + 
(modbusr(H, base_modifier + 1, Uint16) << 16) +
(modbusr(H, base_modifier + 2, Uint16) << 32) +
(modbusr(H, base_modifier + 3, Uint16) << 48)
```

Servisní akce

All - On

```taphome
modbusw(H, base_modifier + 6801, uint16, 1);
```

All - Off

```taphome
modbusw(H, base_modifier + 6801, uint16, 0);
```

All - Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
modbusw(H, base_modifier + 6812, uint16, Lvl);
```

All - Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
modbusw(H, base_modifier + 6813, uint16, Lvl);
```

ECG 0 Stmívač Čtení i zápis

Individuální DALI předřadník na krátké adrese 0 — stmívač se zpětnou vazbou aktuální úrovně, stavem poruchy předřadníku/lampy, zápisem arc power a konfigurací fade time/rate a power-on / system-failure úrovně per ECG

Registr: H:6 → H:15 UInt16 Jednotka: % numeric

Servisní atributy

|                       |                                                                                                                                                                      |
|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Hlavní typ zařízení   | Typ DALI zařízení — Fluorescent (0), Emergency (1), Discharge (2), Halogen (3), Incandescent (4), Digital signal (5), LED (6), Switching (7) nebo Colour Control (8) |
| Power-on úroveň       | Úroveň (0–100 %), na kterou se předřadník vrátí po zapnutí DALI sběrnice                                                                                             |
| System-failure úroveň | Úroveň (0–100 %), do které předřadník přejde při výpadku DALI sběrnice                                                                                               |
| Fade Time             | Index DALI fade-time (0–15) — čas na dosažení cílové úrovně při přímých zápisech arc power                                                                           |
| Fade Rate             | Index DALI fade-rate (1–15) — rychlost příkazů step up / step down                                                                                                   |

Servisní akce

|                                |                                                                                                       |
|--------------------------------|-------------------------------------------------------------------------------------------------------|
| Nastavit Power-on úroveň       | Zapíše novou power-on úroveň (0–100 %) tomuto ECG                                                     |
| Nastavit System-failure úroveň | Zapíše novou system-failure úroveň (0–100 %) tomuto ECG                                               |
| Nastavit Fade Time             | Zapíše nový index DALI fade-time (0–15) tomuto ECG                                                    |
| Nastavit Fade Rate             | Zapíše nový index DALI fade-rate (1–15) tomuto ECG                                                    |
| Přidat do DALI skupiny         | Přiřadí tento ECG do DALI skupiny (0–15), aby jej bylo možné adresovat přes broadcast stmívač skupiny |
| Odebrat z DALI skupiny         | Odebere tento ECG ze zadané DALI skupiny (0–15)                                                       |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 1 Stmívač Čtení i zápis

Registr: H:106 → H:115 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 2 Stmívač Čtení i zápis

Registr: H:206 → H:215 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 3 Stmívač Čtení i zápis

Registr: H:306 → H:315 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 4 Stmívač Čtení i zápis

Registr: H:406 → H:415 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 5 Stmívač Čtení i zápis

Registr: H:506 → H:515 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 6 Stmívač Čtení i zápis

Registr: H:606 → H:615 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 7 Stmívač Čtení i zápis

Registr: H:706 → H:715 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 8 Stmívač Čtení i zápis

Registr: H:806 → H:815 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 9 Stmívač Čtení i zápis

Registr: H:906 → H:915 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 10 Stmívač Čtení i zápis

Registr: H:1006 → H:1015 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 11 Stmívač Čtení i zápis

Registr: H:1106 → H:1115 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 12 Stmívač Čtení i zápis

Registr: H:1206 → H:1215 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 13 Stmívač Čtení i zápis

Registr: H:1306 → H:1315 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 14 Stmívač Čtení i zápis

Registr: H:1406 → H:1415 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 15 Stmívač Čtení i zápis

Registr: H:1506 → H:1515 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 16 Stmívač Čtení i zápis

Registr: H:1606 → H:1615 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 17 Stmívač Čtení i zápis

Registr: H:1706 → H:1715 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 18 Stmívač Čtení i zápis

Registr: H:1806 → H:1815 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 19 Stmívač Čtení i zápis

Registr: H:1906 → H:1915 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 20 Stmívač Čtení i zápis

Registr: H:2006 → H:2015 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 21 Stmívač Čtení i zápis

Registr: H:2106 → H:2115 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 22 Stmívač Čtení i zápis

Registr: H:2206 → H:2215 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 23 Stmívač Čtení i zápis

Registr: H:2306 → H:2315 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 24 Stmívač Čtení i zápis

Registr: H:2406 → H:2415 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 25 Stmívač Čtení i zápis

Registr: H:2506 → H:2515 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 26 Stmívač Čtení i zápis

Registr: H:2606 → H:2615 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 27 Stmívač Čtení i zápis

Registr: H:2706 → H:2715 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 28 Stmívač Čtení i zápis

Registr: H:2806 → H:2815 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 29 Stmívač Čtení i zápis

Registr: H:2906 → H:2915 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 30 Stmívač Čtení i zápis

Registr: H:3006 → H:3015 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 31 Stmívač Čtení i zápis

Registr: H:3106 → H:3115 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 32 Stmívač Čtení i zápis

Registr: H:3206 → H:3215 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 33 Stmívač Čtení i zápis

Registr: H:3306 → H:3315 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 34 Stmívač Čtení i zápis

Registr: H:3406 → H:3415 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 35 Stmívač Čtení i zápis

Registr: H:3506 → H:3515 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 36 Stmívač Čtení i zápis

Registr: H:3606 → H:3615 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 37 Stmívač Čtení i zápis

Registr: H:3706 → H:3715 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 38 Stmívač Čtení i zápis

Registr: H:3806 → H:3815 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 39 Stmívač Čtení i zápis

Registr: H:3906 → H:3915 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 40 Stmívač Čtení i zápis

Registr: H:4006 → H:4015 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 41 Stmívač Čtení i zápis

Registr: H:4106 → H:4115 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 42 Stmívač Čtení i zápis

Registr: H:4206 → H:4215 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 43 Stmívač Čtení i zápis

Registr: H:4306 → H:4315 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 44 Stmívač Čtení i zápis

Registr: H:4406 → H:4415 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 45 Stmívač Čtení i zápis

Registr: H:4506 → H:4515 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 46 Stmívač Čtení i zápis

Registr: H:4606 → H:4615 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 47 Stmívač Čtení i zápis

Registr: H:4706 → H:4715 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 48 Stmívač Čtení i zápis

Registr: H:4806 → H:4815 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 49 Stmívač Čtení i zápis

Registr: H:4906 → H:4915 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 50 Stmívač Čtení i zápis

Registr: H:5006 → H:5015 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 51 Stmívač Čtení i zápis

Registr: H:5106 → H:5115 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 52 Stmívač Čtení i zápis

Registr: H:5206 → H:5215 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 53 Stmívač Čtení i zápis

Registr: H:5306 → H:5315 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 54 Stmívač Čtení i zápis

Registr: H:5406 → H:5415 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 55 Stmívač Čtení i zápis

Registr: H:5506 → H:5515 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 56 Stmívač Čtení i zápis

Registr: H:5606 → H:5615 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 57 Stmívač Čtení i zápis

Registr: H:5706 → H:5715 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 58 Stmívač Čtení i zápis

Registr: H:5806 → H:5815 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 59 Stmívač Čtení i zápis

Registr: H:5906 → H:5915 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 60 Stmívač Čtení i zápis

Registr: H:6006 → H:6015 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 61 Stmívač Čtení i zápis

Registr: H:6106 → H:6115 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 62 Stmívač Čtení i zápis

Registr: H:6206 → H:6215 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

ECG 63 Stmívač Čtení i zápis

Registr: H:6306 → H:6315 UInt16 Jednotka: % numeric

Servisní atributy

|                           |
|---------------------------|
| Main Device Type          |
| Power On Level \[%]       |
| System Failure Level \[%] |
| Fade Time                 |
| Fade Rate                 |

Servisní akce

|                          |
|--------------------------|
| Set Power-on Level       |
| Set System-failure Level |
| Set Fade Time            |
| Set Fade Rate            |
| Add to DALI Group        |
| Remove from DALI Group   |

Čtení (modul)

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
int shift := floor(SA / 32);

if(getbit(failRegister >> 32*shift,SA - 32*shift) = 1, adderror("DALI communication error, Ballast/Lamp Failure"));
if(getbit(status,0) = 1, adderror("Ballast Fail"));
if(getbit(status,1) = 1, adderror("Lamp Fail"));
#if(getbit(status,2) = 1, addwarning("Lamp Power On"));
if(getbit(status,3) = 1, addwarning("Ballast Limit"));
if(getbit(status,4) = 1, addinfo("Fade Run"));
if(getbit(status,5) = 1, addwarning("Reset"));
if(getbit(status,6) = 1, adderror("Missing Short Address"));
if(getbit(status,7) = 1, addwarning("Power Cycle"));
```

Inicializace

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 4, uint16, 1);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);
```

Čtení úrovně

```taphome
var base := base_modifier + (100 * SA);
status := modbusr(H, base + 5, uint16);
level := modbusr(H, base + 6, uint16);
minLevel := modbusr(H, base + 9, uint16);
maxLevel := modbusr(H, base + 10, uint16);

# fade run or updating values or <=1% diff
var diff := abs(level - Le * 100);
if getbit(status,4) or (diff > 0 and diff <= 1) or count > 0
	count := count -1;
	return(le);
else
	if level = 0
		return(0);
	else
		return(linear(level, minLevel, if(minLevel=0, 0, 0.01), maxLevel, 1));
	end
end
```

Zápis úrovně

```taphome
var base := base_modifier + (100 * SA);
if !isnull(Le)
	count := 2;
	if le = 0
		modbusw(H, base + 15, uint16, 0);
	else
		modbusw(H, base + 15, uint16, linear(le, if(minLevel=0, 0, 0.01), minLevel, 1, maxLevel));
	end
end
#trigger update
modbusw(H, base + 4, uint16, 1);
```

Servisní atributy

Main Device Type

```taphome

var base := base_modifier + (100 * SA);

switch(modbusr(H, base + 7, uint16),
0, "Fluorescent",
1, "Emergency",
2, "Discharge",
3, "Halogen",
4, "Incandescent",
5, "Digital signal",
6, "LED",
7, "Switching",
8, "Color control",
255, "Other",
"Unknown")
```

Power On Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
```

System Failure Level \[%]

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
```

Fade Time

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
```

Fade Rate

```taphome
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
```

Servisní akce

Set Power-on Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set System-failure Level

Parametry: Level (0–100 Lvl)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Time

Parametry: Fade Time (0–15 FT)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
```

Set Fade Rate

Parametry: Fade Rate (1–15 FR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
```

Add to DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

Remove from DALI Group

Parametry: Group (0–15 GR)

```taphome
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
```

DALI skupina 0 Stmívač Čtení i zápis

Write-only broadcast stmívač pro všechny ECG přiřazené do DALI skupiny 0 — bez zpětné vazby čtení, TapHome sleduje úroveň pouze z uživatelského vstupu

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 1 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 2 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 3 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 4 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 5 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 6 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 7 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 8 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 9 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 10 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 11 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 12 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 13 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 14 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 15 Stmívač Čtení i zápis

UInt16 Jednotka: % numeric

Zápis úrovně

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

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

Možná vylepšení (40)

- H:6800 Broadcast Arc Power Level — Write 0–100 % to set every ballast on the DALI line to the same arc power level — not exposed as an action; only per-group (6400+20\*GR) and All On/Off (6801) are wired up
- H:6802 Broadcast Step Down / Up — 0 = Step Down, 1 = Step Up applied to all ECGs on the line (step size controlled by each ECG's Fade Rate)
- H:6803 Broadcast Recall Min Level — Write 1 → every ballast jumps to its individually configured Min Level
- H:6804 Broadcast Recall Max Level — Write 1 → every ballast jumps to its individually configured Max Level
- H:6805 Broadcast Go to Scene — Write 0–15 to recall a DALI scene on every ballast (scenes pre-configured in MAPS or via Set Scene action per ECG)
- H:6806 Broadcast Store Current Level as Scene — Write 0–15 to save the current arc power level of every ballast into the selected scene slot
- H:6807 Broadcast Clear/Remove Scene — Write 0–15 to erase the selected scene on every ballast
- H:6808 Broadcast Set Fade Time — Write 0–15 to apply the same fade-time index to every ballast (faster than per-ECG configuration for uniform fades)
- H:6809 Broadcast Set Fade Rate — Write 1–15 to apply the same fade-rate index to every ballast
- H:6810 Broadcast Set Min Level — Write 0–100 % to set the same minimum dim level on every ballast
- H:6811 Broadcast Set Max Level — Write 0–100 % to set the same maximum dim level on every ballast
- H:6814 Broadcast Multicontrol — Compound register — 0=Off, 1=100%, 2=StpUp, 3=StpDwn, 1XX=GoScene(XX), 2XX=StoreScene, 3XX=RmvScene, 1XXX=FdRate, 2XXX=FdTime, 3XXX=MinLvl, 4XXX=MaxLvl, 5XXX=PwrOnLvl, 6XXX=SysFailLvl; enables 'one-write many-ops' for advanced BMS scripting
- H:SA+8 Physical Minimum Level (per ECG) — Hardware-defined minimum dim level per ballast (distinct from user-settable Min Level at +9); read-only
- H:SA+16 Arc Power Off/On (per ECG) — R/W toggle: 0 = Off, 1 = 100 %; TapHome writes arc power level at +15 instead which covers the same capability
- H:SA+17 Step Down/Up (per ECG) — 0 = Step Down, 1 = Step Up — relative dimming per ballast using the stored fade-rate
- H:SA+18 Recall Min Level (per ECG) — Write 1 → this ECG jumps to its Min Level
- H:SA+19 Recall Max Level (per ECG) — Write 1 → this ECG jumps to its Max Level
- H:SA+20 Go to Scene (per ECG) — 0–15 scene recall per ballast
- H:SA+21 Store Current Level as Scene (per ECG) — 0–15 scene save per ballast
- H:SA+22 Clear/Remove Scene (per ECG) — 0–15 scene clear per ballast
- H:SA+25 Set Min Level (per ECG) — 0–100 %; R/W — TapHome reads current min via service attribute Fade Time but does NOT expose a writer for minLevel (template caches the read value into minLevel variable for writelevel linear mapping)
- H:SA+26 Set Max Level (per ECG) — 0–100 %; mirror of the above for maxLevel
- H:SA+31 Multicontrol (per ECG) — Compound write (see Broadcast Multicontrol for encoding) — advanced single-register scripting entry-point per ECG
- H:6401+20\*GR Group Arc Power Off/On — Group-wide 0/100 % toggle; template only exposes Arc Power Level (group writelevel), so ON/OFF is achievable only by writing 0 or 100
- H:6402+20\*GR Group Step Down/Up — Relative dim per group
- H:6403+20\*GR Group Recall Min Level
- H:6404+20\*GR Group Recall Max Level
- H:6405+20\*GR Group Go to Scene — 0–15
- H:6406+20\*GR Group Store Current Level as Scene — 0–15
- H:6407+20\*GR Group Clear/Remove Scene — 0–15
- H:6408+20\*GR Group Set Fade Time — 0–15
- H:6409+20\*GR Group Set Fade Rate — 1–15
- H:6410+20\*GR Group Set Min Level — 0–100 %
- H:6411+20\*GR Group Set Max Level — 0–100 %
- H:6412+20\*GR Group Set Power-on Level — 0–100 %
- H:6413+20\*GR Group Set System-failure Level — 0–100 %
- H:SA+42..+73 Emergency Control Gear (EML) signals — Failure Status, Emergency Mode, Battery Charge, Function/Duration test control, Rated Duration, Prolong Time, Store* parameters — Entire DALI Emergency (Part 202) feature set: SA+42 Failure Status, +43 Emergency Mode, +44 Emergency Status, +45 Battery Charge %, +46..+49 test schedule, +50..+57 timing/level config, +60..+68 trigger writes (Rest, Inhibit, Start/Stop tests, Reset Lamp Time), +69..+73 Store* R/W settings; ECGs of type 1 (Emergency) in this template fall back to the generic Fluorescent/LED script, so none of these are surfaced — dedicated EML template would be needed
- H:SA+80..+93 LED Control Gear (Device Type 6) signals — Failure Status bitmask, Gear Type, Dimming Curve, Operating Modes, Reference Running, Current Protector, Fast Fade Time, Enable/Disable Current Protector, Select Dimming Curve, Store Fast Fade Time — Advanced LED diagnostics and tuning per DALI-2 Part 207; template uses only the common signals (0..28) so LED-specific bits are not exposed even though gateway supports them
- 14000 + 640\*LINE + 10\*IDX + INSTANCE + 1280\*SIG DALI Input Devices (Occupancy, Light sensors, Push buttons, Absolute inputs) — Gateway supports up to 64 DALI input devices per line (recommended 16 with push buttons) — occupancy (0/1/2/3), light level (lux), push-button event bitmask (press/release/short/double/long), absolute input (0–100 % / raw); template exposes NO input devices. Local management (gateway directly drives ECGs from push-button events) is also unused. This is the largest feature gap for IBOX-MBS-DALI integrations that use DALI-native sensors
- H:SA+29 (Add to DALI Group), H:SA+30 (Remove from DALI Group) Add/Remove DALI Group (per ECG) — Firmware-drift deprecation: the r1.5 manual (May 2024) marks signals 29–30 as 'Not used' in the common-signals table, but the TapHome template still exposes them as per-ECG service actions ('Add to DALI Group' / 'Remove from DALI Group') because they were functional on earlier firmware where this template was authored. Behavior on latest firmware should be verified before relying on group-membership-at-runtime writes; configure groups via Intesis MAPS commissioning instead for stable deployments

## Parametry importu

Tyto hodnoty zadáte při importu XML.

| Ptá se v aplikaci | Výchozí       |
|-------------------|---------------|
| Slave Id          | `1`           |
| IP address        | `192.168.1.0` |

## Zdroje

- Intesis Modbus Server – DALI User Manual (r1.5, 2024)
  
  [www.hms-networks.com](https://www.hms-networks.com/docs/default-source/products/intesis/manuals-and-guides---manuals/user-manual-inmbsdalxxx0000.pdf) 2026-04-24
  
  [PDF](https://taphome.com/compatibility/devices/intesis-dali/manufacturer/user-manual.pdf)
- IBOX-MBS-DALI Installation Sheet (rev. 1.5)
  
  [cdn.chipkin.com](https://cdn.chipkin.com/assets/uploads/2019/Oct/intesisbox_ibox-mbs-dali_installation_manual_en_14-15-15-02.pdf) 2026-04-24
  
  [PDF](https://taphome.com/compatibility/devices/intesis-dali/manufacturer/installation-manual.pdf)

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/)

## Řešení problémů

Časté problémy související s tímto tématem:

- [Světla DALI se sama zapínají](https://taphome.com/cs/troubleshooting/wiring/dali-lights-switch-on-by-themselves/) — Světla DALI za bránou DALI se bez jakéhokoli příkazu zapnou na minimum nebo změní jas, většinou pokaždé stejných pár světel. Sběrnice je na okamžik rušená — bránou, zkratem na jedné větvi nebo poklesem napětí.

[Zobrazit všechny články řešení problémů](https://taphome.com/cs/troubleshooting/)

