---
title: "Intesis IBOX-MBS-DALI"
description: "Ovládaj 64 DALI ECG predradníkov a 16 DALI skupín z TapHome cez Modbus RTU s bránou Intesis IBOX-MBS-DALI. Stmievanie na úrovni ECG, fade time/rate, power-on a system-failure úrovne."
url: "https://taphome.com/sk/compatibility/intesis-dali/"
language: sk
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","lighting","rs485","dali","dali-2","gateway","din-rail"]
  questions: ["Ako integrovať Intesis IBOX-MBS-DALI s TapHome?","Čo ovláda TapHome šablóna pre Intesis DALI?","Ako zapojiť RS-485 Modbus RTU z TapHome do IBOX-MBS-DALI?","Ako priradiť DALI krátke adresy ECG predradníkom?","Ktorý variant Intesis DALI brány podporuje TapHome šablóna?","Funguje TapHome šablóna s bránou Intesis IN703DAL0640000 (séria 700)?","Prečo DALI zbernica nereaguje, aj keď Modbus komunikácia funguje?"]
---

# Intesis IBOX-MBS-DALI

Komunikácia: 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)
- [Používateľský manuál Intesis IN703DAL0640000 (séria 700)](https://www.intesis.com/docs/user-manual-in703dal0640000)

## Návod na integráciu

Intesis IBOX-MBS-DALI je DALI-na-Modbus protokolový prevodník od spoločnosti Intesis (súčasť HMS Networks), ktorý sprístupňuje DALI-2 svetelné predradníky a skupiny ako Modbus holding registre. TapHome šablóna je určená pre **1-kanálový RTU variant** (objednávací kód **IBMBSDAL0640000**, opätovne vydaný ako **INMBSDAL0640200**) a pripája sa k TapHome cez **RS-485 Modbus RTU** na porte B brány.

TapHome predáva novšiu bránu **série 700** s objednávacím kódom **IN703DAL0640000** (DALI-2 na Modbus TCP a RTU server, 1 DALI kanál). Podľa používateľského manuálu výrobcu (v1.0.11) má rovnakú mapu Modbus registrov, takže táto šablóna platí aj pre ňu.

Šablóna pokrýva plnú adresovateľnú kapacitu jednej DALI linky: **64 individuálnych ECG predradníkov** (krátke adresy 0–63) a **16 DALI skupín**. Každý ECG podporuje spätné čítanie aktuálnej úrovne (0–100 %), stavu poruchy predradníka/lampy a zápis arc power úrovne, power-on úrovne, system-failure úrovne, fade time a fade rate. DALI skupiny poskytujú write-only broadcast stmievacie ovládanie. Na úrovni modulu existujú štyri broadcast service actions (All On, All Off, All Set Power-on Level, All Set System-failure Level), ktoré jedným Modbus zápisom adresujú každý predradník na DALI linke.

DALI krátke adresy, členstvo v skupinách, scény a min/max úrovne musia byť vopred nakonfigurované pomocou bezplatného commissioning softvéru **Intesis MAPS** — až potom môže TapHome adresovať jednotlivé predradníky. TapHome šablóna sama nevykonáva DALI sieťovú detekciu ani adresovanie.

## Hardvérové pripojenie

### Varianty brány

TapHome šablóna je vytvorená pre **1-kanálovú RTU** bránu. 2-kanálový variant má identickú mapu registrov, ale neponúka Modbus RTU (iba TCP), takže s touto RS-485 šablónou nie je kompatibilný.

| Objednávací kód | DALI kanály | Kapacita ECG | Skupiny | Modbus RTU | Modbus TCP |
|---|---|---|---|---|---|
| **IN703DAL0640000** (séria 700) | **1** | **64** | **16** | **Áno (Port B)** | Áno |
| **IBMBSDAL0640000 / INMBSDAL0640200** | **1** | **64** | **16** | **Áno (Port B)** | Áno |
| IBMBSDAL1280000 / INMBSDAL1280200 | 2 | 128 | 32 | Nie | Áno |

![Intesis IBOX-MBS-DALI — rozloženie portov na 1-kanálovom (Modbus RTU + TCP) a 2-kanálovom (iba Modbus TCP) variante](https://taphome.com/images/compatibility/intesis-dali/connections-overview_hu_e3319bd0a2fc8995.jpg)

> [!NOTE]
> TapHome šablóna používa vzorec registra `7000 × kanál + 100 × ECG + signál`, vyhodnocovaný s `kanál = 0`. To presne zodpovedá 1-kanálovej IBOX-MBS-DALI aj bráne IN703DAL0640000 série 700.


### Rozloženie konektorov (1-kanálový IBOX-MBS-DALI)

![Rozloženie konektorov 1-kanálovej IBOX-MBS-DALI — napájanie, DALI Port A, Ethernet, Console, EIA232/EIA485 Port B](https://taphome.com/images/compatibility/intesis-dali/connectors-ibox-1ch_hu_f931cc500ab15298.jpg)

Pohľad zhora na 1-kanálovú IBOX-MBS-DALI:

- **Napájanie** — 3-pólová zásuvná skrutkovacia svorka, 24 VDC ±10 % (+ / − / Earth)
- **Port A / DALI** — 2-pólová oranžová svorka, **A3 (DA+)** a **A4 (DA−)**, 16 VDC DALI napájanie
- **Ethernet** — 1× RJ45 10/100 Mbps (Modbus TCP)
- **Console** — mini-type B USB 2.0 pre konfiguráciu v Intesis MAPS
- **Port B / Modbus RTU** — **EIA485** 3-pólová skrutkovacia svorka `B1 (B+) / B2 (A−) / B3 (SGND)` **a** **EIA232** SUB-D9 male (alternatíva)
- **USB** — Type-A USB 2.0 iba pre flash disky (max 150 mA)
- **SWA / SWB** — DIP prepínače (SWA rezervovaný, SWB riadi RS-485 termináciu a polarizáciu — viď Konfigurácia nižšie)

### Napájanie

- **Vstup:** 24 VDC ±10 % na 3-pólovej svorke (+, −, Earth)
- **Zdroj:** NEC Class 2 alebo Limited Power Source (LPS), SELV
- **Ochrana pred:** 250 V / 6 A istič
- **Uzemnenie:** Môže byť uzemnené iba cez záporný pól — **nikdy** nie cez kladný pól

> [!WARNING]
> Aby si predišiel zemným slučkám, ktoré môžu poškodiť bránu a pripojené zariadenia, **nikdy nepoužívaj DC napájanie s uzemneným kladným pólom**. Uzemni iba cez záporný pól, alebo nechaj uzemnenie plávať.

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

Pripoj TapHome RS-485 zbernicu k EIA485 svorke na Porte 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−). Prekrížené A/B spôsobí tichú stratu komunikácie bez poškodenia hardvéru.

**Špecifikácia kábla** (limity EIA485):

- **Max dĺžka:** 1200 m na jednom RS-485 segmente
- **Max uzlov:** 32 zariadení vrátane TapHome master a IBOX-MBS-DALI
- **Terminácia:** 120 Ω na každom konci zbernice — TapHome Core má integrovaný 100 Ω rezistor na BUS svorkách, takže IBOX-MBS-DALI potrebuje aktívnu termináciu len ak je na **poslednom konci** RS-485 segmentu (viď DIP prepínač SWB nižšie)

> [!TIP]
> Ak je brána nainštalovaná v strede RS-485 zbernice (nie na konci), nechaj SWB v polohe OFF a nepridávaj externú termináciu.

**EIA232 alternatíva:** Konektor Port B SUB-D9 male poskytuje EIA232 rozhranie používajúce len TX, RX a GND, s maximálnou dĺžkou kábla 15 m. TapHome natívne nepodporuje RS-232, takže EIA485 je štandardné TapHome pripojenie.

### Zapojenie DALI zbernice (Port A)

Pripoj DALI linku k oranžovej 2-pólovej svorke Portu A:

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

IBOX-MBS-DALI poskytuje napätie zbernice **16 VDC (±2 %)** s garantovaným prúdom 235 mA (max 250 mA) DALI; brána IN703DAL0640000 série 700 garantuje 230 mA (max 250 mA). DALI je podľa štandardu necitlivý na polaritu, ale toto vnútorné napájanie musí byť povolené v Intesis MAPS predtým, než bude DALI komunikácia fungovať — viď *DALI commissioning* nižšie.

**Kapacita DALI na jednej linke** (nechaj ~10 % rezervu pre dynamické procesy):

- Až **64 ECG predradníkov** (typicky 2 mA každý → 128 mA)
- Až **64 DALI vstupných zariadení** / **odporúča sa 16** pri použití tlačidiel (typicky 5 mA každé)
- Príklad rozpočtu: `64 ECG × 2 mA + 16 senzorov × 5 mA = 208 mA < 235 mA × 90 %`
- Príklad rozpočtu pre IN703DAL0640000 (údaje výrobcu): `63 ECG × 2 mA + 16 senzorov × 5 mA = 206 mA < 230 mA × 90 %`

> [!NOTE]
> DALI je inherentne nízkorýchlostná zbernica (1200 baud) s dobou štartu brány 1,5 s a dobou vypnutia 7 s. DALI príkazy vydané z TapHome dorazia k predradníkom s malou, ale nenulovou latenciou oproti priamemu drôtovému riadeniu.

## Konfigurácia

### DIP prepínač SWB — RS-485 terminácia a polarizácia

**DIP prepínač SWB** na 1-kanálovej IBOX-MBS-DALI riadi iba charakteristiku RS-485 zbernice — na tejto bráne **neexistuje Modbus slave adresa nastaviteľná DIP prepínačom** (slave adresa sa nastavuje v Intesis MAPS, viď nižšie).

| Pozícia | ON | OFF |
|---|---|---|
| **1** | 120 Ω terminácia aktívna | Terminácia neaktívna |
| **2** | Polarizácia aktívna | Polarizácia neaktívna |
| **3** | Polarizácia aktívna | Polarizácia neaktívna |

- **Pozícia 1 = ON** — povolí interný 120 Ω terminačný rezistor. Použi, keď je IBOX-MBS-DALI na **poslednej** fyzickej pozícii RS-485 zbernice.
- **Pozície 2 a 3 = ON** — povolia bus biasing (polarizáciu). Použi, keď žiadny iný master na zbernici neposkytuje biasing. TapHome Core poskytuje biasing na svojich BUS svorkách, takže tieto môžu väčšinou zostať OFF.

> **SWA** je na tejto revízii hardvéru rezervovaný pre budúce použitie a nemá žiadny runtime efekt.

### Parametre Modbus RTU komunikácie

Všetky RTU parametre sa konfigurujú v projekte Intesis MAPS a musia presne zodpovedať nastaveniam TapHome modulu.

| Parameter | Hodnoty | Predvolené v šablóne |
|---|---|---|
| Baud rate | 1200, 2400, 4800, **9600**, 19200, 38400, 56700, 115200 | **9600** |
| Parita | none, even, odd | **none** |
| Stop bity | 1, 2 | **1** |
| Dátové bity | 8 | 8 |
| Slave adresa | 1–247 | Konfigurovateľná v MAPS |

> [!TIP]
> Intesis brána podporuje Modbus RTU a Modbus TCP **súčasne** na 1-kanálovom variante. TapHome používa RTU; paralelný BMS alebo diagnostický nástroj môže čítať tú istú mapu registrov cez TCP bez rušenia.

### Povolenie Modbus komunikácie

Modbus komunikácia sa povolí nahratím platného projektu do brány pomocou Intesis MAPS (na tomto modeli nie sú zapojené žiadne DIP prepínače). Krátka verzia:

1. Nainštaluj **Intesis MAPS** na Windows PC a pripoj sa k bráne cez USB Console alebo Ethernet.
2. Otvor alebo vytvor projekt založený na šablóne `INMBSDAL---0200-Template` (pri bráne IN703DAL0640000 série 700 vyber šablónu `IN-MBS-DALI-64`, teda aplikáciu Modbus).
3. V záložke **Configuration → Modbus Slave** nastav baud rate, paritu, stop bity a slave adresu tak, aby sa zhodovali s TapHome.
4. V záložke **Configuration → DALI** povol interné 16 VDC napájanie DALI zbernice (viď *DALI commissioning*).
5. Klikni na **Send** na prenos konfigurácie; brána sa automaticky reštartuje.
6. V **Diagnostic → Viewers** over Modbus rámce na Port B TX/RX.

![Konfigurácia napájania DALI zbernice v Intesis MAPS — povoľ 16 VDC DALI napájanie v konfigurácii brány pred commissioningom](https://taphome.com/images/compatibility/intesis-dali/dali-power-maps-config_hu_60df6e9c055c6bc7.jpg)

### DALI commissioning

**DALI adresovanie sa vykonáva v Intesis MAPS — nie v TapHome.** TapHome šablóna odkazuje na DALI krátke adresy 0–63 a skupinové adresy 0–15 podľa ich offsetu v registri; fyzické predradníky a skupiny musia byť najprv viazané na tieto adresy.

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

1. V MAPS otvor projekt pre 1-kanálovú bránu a prejdi do **Configuration → DALI → ECG Channel A**.
2. Klikni na **Commissioning → Scan** na detekciu ECG predradníkov na DALI zbernici.
3. Každému predradníku priraď **krátku adresu (0–63)** cez tlačidlo **Wink** (blikne fyzickým predradníkom pre identifikáciu) alebo **Auto Addr.** (sekvenčné automatické priradenie).
4. Voliteľne nastav parametre každého ECG: **Device Type** (0 = Fluorescent, 1 = Emergency, 6 = LED, …), min / max úroveň, power-on úroveň, system-failure úroveň, konfiguráciu scén a **členstvo v skupine (0–15)**.
5. Klikni na **Commissioning → Set All** na prenos konfigurácie z MAPS do DALI zbernice.
6. Klikni na **Send** na prenos konfigurácie úrovne brány (Modbus parametre, mapa signálov) späť do IBOX-MBS-DALI.

Po commissioningu sa ECG identifikované krátkou adresou v TapHome (napr. **ECG 5** → register `H:506`) mapujú jeden-k-jednému na fyzické predradníky. Členstvo v skupinách musí byť takisto definované v MAPS, aby zariadenia DALI Group fungovali, hoci šablóna exponuje service actions per-ECG *Add to DALI Group* / *Remove from DALI Group*, ktoré môžu priradiť členstvo v skupine za behu na kompatibilnom firmvéri.

> [!WARNING]
> Podľa user manual r1.5 (máj 2024) sú signály 29 a 30 (*Add to DALI Group* / *Remove from DALI Group*) na aktuálnom firmvéri označené ako *Not used*. TapHome šablóna tieto akcie stále exponuje, pretože fungovali na starších firmvéroch, ale **stabilné priradenia skupín by sa mali konfigurovať v Intesis MAPS**, nie za behu.
>
> Používateľský manuál brány IN703DAL0640000 série 700 (v1.0.11) uvádza signály 29 a 30 ako čítanie/zápis, takže podľa manuálu by na tejto bráne mali byť akcie dostupné.

### Prehľad mapy registrov

TapHome používa jeden vzorec pre všetky registre:

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

Na 1-kanálovom variante je vždy `channel = 0`. Šablóna exponuje nasledovné rozsahy registrov:

| Rozsah | Funkcia | Exponované v šablóne |
|---|---|---|
| `H:0 – H:3` | Bitmaska poruchy predradníka/lampy (ECG 63..0, 4× UInt16) | Áno — ako failRegister na úrovni modulu |
| `H:SA+5` | Bitmaska stavu ECG predradníka (per ECG) | Áno — errors, warnings, info per ECG |
| `H:SA+6` | Aktuálna úroveň ECG 0–100 % (čítanie) | Áno — spätná väzba polohy stmievača |
| `H:SA+7` | Enum typu zariadenia ECG | Áno — ako service attribute |
| `H:SA+11..+14` | Power-on / system-failure úroveň, fade time / rate (čítanie) | Áno — ako service attributes |
| `H:SA+15` | ECG arc power úroveň 0–100 % (zápis) | Áno — writelevel, lineárne mapovaný do Min/Max |
| `H:SA+23..+30` | Nastav fade time/rate, nastav úrovne, pridaj/odober zo skupiny | Áno — ako service actions per-ECG |
| `H:6400 + 20·GR` | Group arc power úroveň 0–100 % (zápis) | Áno — ako write-only zariadenie DALI Group |
| `H:6801` | Broadcast Arc Power Off/On (0/100 %) | Áno — ako moduly *All On* / *All Off* |
| `H:6812 / H:6813` | Broadcast Set Power-on / System-failure Level | Áno — ako service actions na úrovni modulu |

Vstupné zariadenia (prítomnostné senzory, tlačidlá, svetelné senzory) na adresách `14000 + 640·LINE + 10·IDX + INSTANCE + 1280·SIG` **nie sú** v tejto šablóne implementované.

## Možnosti zariadenia

### Stmievanie per ECG (64 ECG zariadení)

Každá krátka adresa 0–63 je exponovaná ako individuálne TapHome stmievacie zariadenie (**ECG 0** až **ECG 63**). Možnosti per ECG:

- **Aktuálna úroveň** — číta `H:SA+6` (0–100 %) ako spätnú väzbu polohy stmievača
- **Arc power úroveň** — zapisuje `H:SA+15` (0–100 %), lineárne mapovaná z 0–1 stmievacej škály TapHome do rozsahu `[min level, max level]` nakonfigurovaného pre predradník
- **Stav predradníka** — bitmaska na `H:SA+5` riadi TapHome diagnostiku: *BallFail* a *LampFail* vyvolajú errors, *BallLimit*, *Reset* a *PowerCycle* vyvolajú warnings, *FadeRun* sa zobrazí ako info, *MissingShortAddr* vyvolá error
- **Detekcia komunikačnej poruchy** — modul číta 64-bit poruchovú bitmasku na `H:0 – H:3` a označuje jednotlivé ECG ako poruchové nezávisle od statusu `H:SA+5`

### Service attributes per ECG (read-only metadáta)

Každé ECG zariadenie exponuje päť service attributes, ktoré čítajú jeho aktuálnu DALI konfiguráciu:

- **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 ktorú sa predradník vráti po zapnutí DALI zbernice
- **System-failure Level [%]** — `H:SA+12` (0–100 %) — úroveň, do ktorej predradník prejde pri výpadku DALI zbernice
- **Fade Time** — `H:SA+13` (0–15) — index DALI fade-time (čas na dosiahnutie cieľovej úrovne pri priamych zápisoch arc power)
- **Fade Rate** — `H:SA+14` (1–15) — index DALI fade-rate (rýchlosť príkazov step up / step down)

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

Každé ECG takisto exponuje šesť service actions na online rekonfiguráciu:

- **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 číslom skupiny (0–15) — viď upozornenie ku commissioningu vyššie
- **Remove from DALI Group** — zapisuje `H:SA+30` s číslom skupiny (0–15)

Každý zápis je automaticky potvrdený šablónou cez `H:SA+4 = 1` (Update All ECG Status), čo aktualizuje cachované čítacie hodnoty v bráne.

### DALI skupiny (16 write-only broadcast stmievačov)

**DALI Group 0** až **DALI Group 15** sú exponované ako write-only stmievacie zariadenia:

- **Zápisový register:** `H:6400 + 20 × GR` (napr. Group 0 = `H:6400`, Group 15 = `H:6700`)
- **Správanie:** zápis TapHome stmievacej hodnoty 0–1 odošle `Arc Power Level = Le × 100` každému ECG, ktorý je členom danej DALI skupiny
- **Bez spätnej väzby čítania** — signál skupiny nemá register aktuálnej úrovne, takže TapHome sleduje úroveň skupiny iba z užívateľského vstupu, nie z reálneho stavu predradníkov

> [!TIP]
> Skupiny používaj pre miestnosti alebo zóny, kde niekoľko predradníkov stmieva spolu. Členstvo v skupine sa konfiguruje per-ECG cez ECG service action *Add to DALI Group* alebo (odporúčane) v Intesis MAPS.

### Broadcast akcie na úrovni modulu

Hlavný modul (**Intesis DALI Gateway**) exponuje štyri service actions, ktoré naraz adresujú každý predradník na DALI linke:

- **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 %) na konfiguráciu úrovne, na ktorú sa všetky predradníky vrátia po zapnutí DALI napájania
- **All — Set System-failure Level** — zapisuje `H:6813` (0–100 %) na konfiguráciu úrovne, do ktorej všetky predradníky prejdú pri výpadku DALI zbernice

Tieto sú rýchlejšie ako iterovanie zápisov per-ECG, keď všetky predradníky musia dosiahnuť rovnaký cieľový stav (napr. panic off, ranné prednastavenie).

## Status LED a tlačidlá

![Status LED a tlačidlá 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ájania / zariadenie napájané a bežiace |
| **Error** | Off / Červená | Bez chyby / chybový stav |
| **Port A Tx / Rx (DALI)** | Off / Blikajúca zelená / Blikajúca žltá | Bez aktivity / TX paket do DALI / RX paket z DALI |
| **Port B Tx / Rx (Modbus RTU)** | Off / Blikajúca zelená / Blikajúca žltá | 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 predvolenej funkcie (konfigurovateľné v MAPS) |

**Button A (DALI A)** — stlačenie prepne DALI broadcast medzi `RECALL_MAX_LEVEL` (100 %) a `OFF`, užitočné na rýchly on-site sanity check DALI linky bez zapojenia TapHome. Po 30 s sa LED Button A vypne a predradníky sa vrátia na svoju predchádzajúcu úroveň.

**Button B** — na tejto bráne bez predvolenej funkcie; dá sa nakonfigurovať ako RS-485 akcia v Intesis MAPS.

## Montáž

### DIN lišta (odporúčané)

![Montáž IBOX-MBS-DALI na DIN lištu — EN60715 TH35 štandardná lišta, fixačné klipy vo vnútornej továrenskej pozícii](https://taphome.com/images/compatibility/intesis-dali/mounting-din_hu_6022c12b8152b8d4.jpg)

EN60715 TH35, ideálne vnútri kovového rozvádzača pripojeného na uzemnenie. Nechaj fixačné klipy v ich **vnútornej** továrenskej pozícii, najprv zachyť horný okraj lišty, potom stlač nadol, aby sa zacvakol spodok.

### Montáž na stenu

![Montáž IBOX-MBS-DALI na stenu — fixačné klipy premiestnené smerom von odkrývajú montážne otvory](https://taphome.com/images/compatibility/intesis-dali/mounting-wall_hu_acd54bdbb566e31c.jpg)

1. **Oddeľ fixačné klipy** z ich pôvodnej pozície (pre montáž na DIN lištu) tlakom smerom von, kým nezacvaknú do pozície na montáž na stenu.
2. **Použi montážne otvory** v škatuli na jej upevnenie na stenu.

### Priestor a prostredie

- **Inštalačný priestor:** okolo zariadenia nechaj 130 × 100 × 100 mm (V × Š × H) pre konektory a káble. Čisté rozmery: 90 × 88 × 56 mm (brána IN703DAL0640000 série 700: 90 × 88 × 58 mm).
- **Prostredie:** IP20, iba vnútorné. Prevádzková teplota 0 °C až +50 °C (user manual) / +60 °C (installation sheet), vlhkosť 5–95 % bez kondenzácie. Brána IN703DAL0640000 série 700 pracuje pri teplote −10 °C až +60 °C.

## Riešenie problémov

### Žiadna Modbus komunikácia (Port B Tx/Rx LED zostávajú off)

1. **Skontroluj zapojenie RS-485** — over polaritu B1 (B+) / B2 (A−) voči TapHome RS-485 svorkám; ich prekríženie je najčastejšia chyba.
2. **Skontroluj SGND** — pripoj B3 na TapHome zem. Chýbajúci signálový ground je druhá najčastejšia príčina nestabilnej RTU.
3. **Zhodnoť sériové parametre** — baud rate, parita, stop bity a slave adresa v TapHome sa musia presne zhodovať s hodnotami v projekte Intesis MAPS.
4. **Skontroluj SWB DIP prepínače** — ak je táto brána na fyzickom konci RS-485 zbernice, nastav SWB pozíciu 1 = ON (120 Ω terminácia). Ak je v strede zbernice, nastav všetky pozície SWB na OFF.
5. **Over, že TCP nedrží slot** — brána umožňuje 5 súčasných TCP socketov a 1 RTU master; zle nakonfigurované MAPS pripojenie neblokuje RTU, ale počas TapHome ladenia sa oplatí MAPS zatvoriť.

### Modbus funguje, ale DALI predradníky nereagujú

1. **Povol interné napájanie DALI zbernice** — nové brány sa dodávajú s DALI napájaním **vypnutým**. Otvor Intesis MAPS → *Configuration → DALI → DALI Channel A* a nastav **Power the DALI bus** = Enabled, potom **Send** konfiguráciu. Bez napájania zbernice brána hlási hardvérovú chybu pri každom DALI zápise.
2. **Rýchly sanity check** — stlač **Button A** na bráne. Mal by broadcastovať `RECALL_MAX_LEVEL` a prepnúť každý pripojený predradník on/off. Ak sa nič nepohne, problémom je samotná DALI zbernica (zapojenie, napätie, napájanie predradníkov).
3. **Spusti on-bus scan v MAPS** — *Commissioning → Scan* na DALI Channel A zoznamne každý predradník, ktorý brána vidí. Chýbajúce predradníky zvyčajne znamenajú nenapájaný ECG, nepriradenú DALI krátku adresu, alebo prerušenie DALI zbernice.
4. **Over krátke adresy** — TapHome adresuje ECG 5 na registri `H:506`; ak krátka adresa 5 nebola priradená v MAPS, register existuje, ale fyzický predradník nie je na ňu viazaný.

### Konkrétny ECG hlási poruchu v TapHome

TapHome sprístupňuje dva zdroje porúch pre každý ECG:

- **Module failRegister (`H:0 – H:3`)** — jeden bit na ECG. Nastavený bit vyvolá komunikačnú chybu (brána sa nemôže vôbec rozprávať s predradníkom).
- **ECG ballast status (`H:SA+5`)** — bitmaska per-ECG. *BallFail* a *LampFail* vyvolajú errors (hardvérová porucha predradníka alebo lampy), *MissingShortAddr* vyvolá error (ECG odpovedal, ale nemá krátku adresu), *BallLimit*, *Reset* a *PowerCycle* vyvolajú warnings, *FadeRun* je informačný.

Vymeň poruchový predradník alebo znova commissionuj krátku adresu v MAPS na odstránenie chyby.

### Zápis akceptovaný, ale predradník nemení úroveň

1. **Over, či predradník nie je vo fade** — *FadeRun* na `H:SA+5` znamená, že predradník práve fade-uje; počkaj, kým dokončí. Skrátenie *Fade Time* (`H:SA+23`) znižuje vnímanú latenciu.
2. **Skontroluj Min / Max úroveň** — TapHome lineárne mapuje svoju 0–1 stmievaciu škálu do okna `[min level, max level]` načítaného z predradníka (`H:SA+9 / H:SA+10`). Ak sa obe rovnajú, predradník nemôže zmeniť úroveň; re-konfiguruj min/max v MAPS.
3. **Add/Remove z DALI skupiny** — na najnovšom firmvéri r1.5 sú tieto akcie per-ECG označené ako deprecated; priradenie do skupiny vykonaj namiesto toho v MAPS. Používateľský manuál brány IN703DAL0640000 série 700 ich uvádza ako čítanie/zápis.

## Dostupné zariadenia 80

Tieto zariadenia sa po importe zobrazia v TapHome.

Intesis DALI Modul

Servisné akcie

|                                         |                                                                                                                                 |
|-----------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|
| Všetky — Zapnúť                         | Broadcastuje 100 % arc power každému predradníku na DALI linke — panic-on alebo ranné prednastavenie jedným Modbus zápisom      |
| Všetky — Vypnúť                         | Broadcastuje 0 % arc power každému predradníku na DALI linke — panic-off alebo upratovacie prednastavenie jedným Modbus zápisom |
| Všetky — Nastaviť Power-on úroveň       | Broadcastuje novú power-on úroveň (0–100 %) každému predradníku — úroveň, na ktorú sa vrátia po zapnutí DALI zbernice           |
| Všetky — Nastaviť System-failure úroveň | Broadcastuje novú system-failure úroveň (0–100 %) každému predradníku — úroveň, do ktorej prejdú pri výpadku DALI zbernice      |

Čítanie (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é akcie

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

Parametre: Level (0–100 Lvl)

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

All - Set System-failure Level

Parametre: Level (0–100 Lvl)

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

ECG 0 Stmievač Čítanie aj zápis

Individuálny DALI predradník na krátkej adrese 0 — stmievač so spätnou väzbou aktuálnej úrovne, stavom poruchy predradníka/lampy, zápisom arc power a konfiguráciou fade time/rate a power-on / system-failure úrovne per ECG

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

Servisné atribúty

|                       |                                                                                                                                                                         |
|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Hlavný typ zariadenia | Typ DALI zariadenia — Fluorescent (0), Emergency (1), Discharge (2), Halogen (3), Incandescent (4), Digital signal (5), LED (6), Switching (7) alebo Colour Control (8) |
| Power-on úroveň       | Úroveň (0–100 %), na ktorú sa predradník vráti po zapnutí DALI zbernice                                                                                                 |
| System-failure úroveň | Úroveň (0–100 %), do ktorej predradník prejde pri výpadku DALI zbernice                                                                                                 |
| Fade Time             | Index DALI fade-time (0–15) — čas na dosiahnutie cieľovej úrovne pri priamych zápisoch arc power                                                                        |
| Fade Rate             | Index DALI fade-rate (1–15) — rýchlosť príkazov step up / step down                                                                                                     |

Servisné akcie

|                                |                                                                                                      |
|--------------------------------|------------------------------------------------------------------------------------------------------|
| Nastaviť Power-on úroveň       | Zapíše novú power-on úroveň (0–100 %) tomuto ECG                                                     |
| Nastaviť System-failure úroveň | Zapíše novú system-failure úroveň (0–100 %) tomuto ECG                                               |
| Nastaviť Fade Time             | Zapíše nový index DALI fade-time (0–15) tomuto ECG                                                   |
| Nastaviť Fade Rate             | Zapíše nový index DALI fade-rate (1–15) tomuto ECG                                                   |
| Pridať do DALI skupiny         | Priradí tento ECG do DALI skupiny (0–15), aby ho bolo možné adresovať cez broadcast stmievač skupiny |
| Odobrať z DALI skupiny         | Odoberie tento ECG zo zadanej DALI skupiny (0–15)                                                    |

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

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

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:3206 → H:3215 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:3306 → H:3315 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:3406 → H:3415 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:3506 → H:3515 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:3606 → H:3615 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:3706 → H:3715 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:3806 → H:3815 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:3906 → H:3915 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4006 → H:4015 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4106 → H:4115 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4206 → H:4215 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4306 → H:4315 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4406 → H:4415 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4506 → H:4515 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4606 → H:4615 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4706 → H:4715 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4806 → H:4815 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:4906 → H:4915 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5006 → H:5015 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5106 → H:5115 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5206 → H:5215 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5306 → H:5315 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5406 → H:5415 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5506 → H:5515 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5606 → H:5615 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5706 → H:5715 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5806 → H:5815 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:5906 → H:5915 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:6006 → H:6015 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:6106 → H:6115 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:6206 → H:6215 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Register: H:6306 → H:6315 UInt16 Jednotka: % numeric

Servisné atribúty

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

Servisné akcie

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

Čítanie (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"));
```

Inicializácia

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

Čítanie úrovne

```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 úrovne

```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é atribúty

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é akcie

Set Power-on Level

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

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

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

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

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

Parametre: 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 Stmievač Čítanie aj zápis

Write-only broadcast stmievač pre všetky ECG priradené do DALI skupiny 0 — bez spätnej väzby čítania, TapHome sleduje úroveň iba z užívateľského vstupu

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 1 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 2 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 3 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 4 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 5 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 6 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 7 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 8 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 9 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 10 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 11 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 12 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 13 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 14 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

DALI skupina 15 Stmievač Čítanie aj zápis

UInt16 Jednotka: % numeric

Zápis úrovne

```taphome
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
```

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

Možné vylepšenia (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

## Parametre importu

Tieto hodnoty zadáte pri importe XML.

| Pýta sa v aplikácii | Predvolené    |
|---------------------|---------------|
| 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ýrobcov sú © ich príslušných vlastníkov. Poskytujeme ich tak, ako ich zverejnil výrobca, len na informačné účely.

## Súvisiaca dokumentácia

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

## Riešenie problémov

Časté problémy súvisiace s touto témou:

- [Svetlá DALI sa samy zapínajú](https://taphome.com/sk/troubleshooting/wiring/dali-lights-switch-on-by-themselves/) — Svetlá DALI za bránou DALI sa bez akéhokoľvek príkazu zapnú na minimum alebo zmenia jas, väčšinou zakaždým tých istých pár svetiel. Zbernica je na okamih rušená — bránou, skratom na jednej vetve alebo poklesom napätia.

[Zobraziť všetky články riešenia problémov](https://taphome.com/sk/troubleshooting/)

