TapHome

Intesis IBOX-MBS-DALI

Modbus RTU
Trimis de
Ultima actualizare: 10. 2026

Necesită gateway extern

Intesis IBOX-MBS-DALI (IBMBSDAL0640000) — pagina produsului

Intesis IBOX-MBS-DALI

Intesis IBOX-MBS-DALI este un convertor de protocol DALI–Modbus de la Intesis (parte din HMS Networks), care face accesibile balasturile și grupurile de iluminat DALI-2 ca registre holding Modbus. Șablonul TapHome este destinat variantei RTU cu 1 canal (cod de comandă IBMBSDAL0640000, relansată ca INMBSDAL0640200) și se conectează la TapHome prin RS-485 Modbus RTU pe portul B al gateway-ului.

TapHome vinde gateway-ul mai nou din seria 700, cod de comandă IN703DAL0640000 (server DALI-2 către Modbus TCP și RTU, 1 canal DALI). Conform manualului de utilizare al producătorului (v1.0.11), acesta folosește aceeași hartă de registre Modbus, așa că acest șablon se aplică și lui.

Șablonul acoperă întreaga capacitate adresabilă DALI a unei singure linii: 64 de balasturi ECG individuale (adrese scurte 0–63) și 16 grupuri DALI. Fiecare ECG permite citirea nivelului real (0–100 %) și a stării de defect a balastului/lămpii, precum și scrierea nivelului de putere arc, a nivelului la pornire, a nivelului la defectarea sistemului, a timpului de estompare și a ratei de estompare. Grupurile DALI oferă comanda broadcast a dimmerului, doar pentru scriere. La nivel de modul, patru acțiuni de service broadcast (Toate — pornite, Toate — oprite, Toate — setare nivel la pornire, Toate — setare nivel la defectarea sistemului) se adresează tuturor balasturilor de pe linia DALI printr-o singură scriere Modbus.

Adresele scurte DALI, apartenența la grupuri, scenele și nivelurile minime/maxime trebuie configurate în prealabil cu software-ul gratuit de punere în funcțiune Intesis MAPS, înainte ca TapHome să poată adresa balasturile individuale — șablonul TapHome nu efectuează descoperirea sau adresarea rețelei DALI.

Conectarea hardware

Variante de gateway

Șablonul TapHome este creat pentru gateway-ul RTU cu 1 canal. Varianta cu 2 canale are o hartă de registre identică, dar nu oferă Modbus RTU (doar TCP), așa că nu este compatibilă cu acest șablon RS-485.

Cod de comandăCanale DALICapacitate ECGGrupuriModbus RTUModbus TCP
IN703DAL0640000 (seria 700)16416Da (portul B)Da
IBMBSDAL0640000 / INMBSDAL064020016416Da (portul B)Da
IBMBSDAL1280000 / INMBSDAL1280200212832NuDa
Intesis IBOX-MBS-DALI — dispunerea porturilor la varianta cu 1 canal (Modbus RTU + TCP) și la varianta cu 2 canale (doar Modbus TCP)

Șablonul TapHome folosește formula de registre 7000 × channel + 100 × ECG + signal, evaluată cu channel = 0. Aceasta corespunde exact gateway-ului IBOX-MBS-DALI cu 1 canal și seriei 700 IN703DAL0640000.

Dispunerea conectorilor (IBOX-MBS-DALI cu 1 canal)
Dispunerea conectorilor IBOX-MBS-DALI cu 1 canal — alimentare, DALI port A, Ethernet, Console, EIA232/EIA485 port B

Vedere de sus a IBOX-MBS-DALI cu 1 canal:

  • Power — bornă cu șurub detașabilă cu 3 poli, 24 V DC ±10 % (+ / − / pământ)
  • Port A / DALI — bornă portocalie cu 2 poli, A3 (DA+) și A4 (DA−), alimentare DALI de 16 V DC
  • Ethernet — 1× RJ45 10/100 Mbps (Modbus TCP)
  • Console — USB 2.0 mini tip B pentru configurarea cu Intesis MAPS
  • Port B / Modbus RTU — bornă cu șurub cu 3 poli EIA485 B1 (B+) / B2 (A−) / B3 (SGND) și EIA232 SUB-D9 tată (alternativă)
  • USB — USB 2.0 tip A doar pentru unități flash (max. 150 mA)
  • SWA / SWB — comutatoare DIP (SWA rezervat, SWB controlează terminația și polarizarea RS-485 — consultați secțiunea Configurare de mai jos)
Alimentare
  • Intrare: 24 V DC ±10 % pe borna cu 3 poli (+, −, pământ)
  • Sursă: NEC Class 2 sau Limited Power Source (LPS), de tip SELV
  • Protecție în amonte: este necesar un întrerupător automat de 250 V / 6 A
  • Împământare: se poate face doar prin borna negativă — niciodată prin borna pozitivă

Pentru a evita buclele de masă care pot deteriora gateway-ul și echipamentele conectate, nu folosiți niciodată o sursă de alimentare DC cu borna pozitivă legată la pământ. Legați la pământ doar prin borna negativă sau lăsați masa flotantă.

Cablarea RS-485 Modbus RTU (portul B, EIA485)

Conectați magistrala RS-485 TapHome la blocul de borne EIA485 de pe portul B:

Bornă IBOX-MBS-DALISemnalRS-485 TapHome
B1B+ (D+)A+ / D+
B2A− (D−)B− / D−
B3SGND (masă de referință)GND

Respectați polaritatea. B1 = B+ (D+) și B2 = A− (D−). Inversarea A/B întrerupe comunicația fără niciun avertisment, dar fără a deteriora hardware-ul.

Specificația cablului (limitele EIA485):

  • Lungime maximă: 1200 m pe un singur segment RS-485
  • Număr maxim de noduri: 32 de dispozitive, inclusiv masterul TapHome și IBOX-MBS-DALI
  • Terminație: 120 Ω la fiecare capăt al magistralei — TapHome Core are un rezistor integrat de 120 Ω pe bornele BUS, așa că la IBOX-MBS-DALI terminația trebuie activată doar dacă acesta se află la capătul îndepărtat al segmentului RS-485 (consultați comutatorul DIP SWB de mai jos)

Dacă gateway-ul este instalat la mijlocul magistralei RS-485 (nu la un capăt), lăsați SWB în poziția OFF și nu adăugați terminație externă.

Alternativa EIA232: conectorul SUB-D9 tată de pe portul B oferă o interfață EIA232 care folosește doar TX, RX și GND, cu o lungime maximă a cablului de 15 m. TapHome nu acceptă nativ RS-232, așa că EIA485 este conexiunea standard pentru TapHome.

Cablarea magistralei DALI (portul A)

Conectați linia DALI la borna portocalie cu 2 poli a portului A:

  • A3 — DA+
  • A4 — DA−

IBOX-MBS-DALI asigură o tensiune pe magistrală de 16 V DC (±2 %), cu un curent DALI garantat de 235 mA (max. 250 mA); seria 700 IN703DAL0640000 garantează 230 mA (max. 250 mA). Conform standardului, DALI nu depinde de polaritate, dar această alimentare internă trebuie activată în Intesis MAPS înainte ca orice comunicație DALI să funcționeze — consultați Punerea în funcțiune DALI mai jos.

Capacitatea DALI pe o singură linie (păstrați o rezervă de ~10 % pentru procesele dinamice):

  • Până la 64 de balasturi ECG (tipic 2 mA fiecare → 128 mA)
  • Până la 64 de dispozitive de intrare DALI / 16 recomandate când se folosesc butoane (tipic 5 mA fiecare)
  • Exemplu de buget: 64 ECGs × 2 mA + 16 sensors × 5 mA = 208 mA < 235 mA × 90 %
  • Exemplu de buget pentru IN703DAL0640000 (valorile producătorului): 63 ECGs × 2 mA + 16 sensors × 5 mA = 206 mA < 230 mA × 90 %

DALI este prin natura sa o magistrală lentă (1200 baud), cu un timp de pornire a gateway-ului de 1,5 s și un timp de oprire de 7 s. Comenzile DALI trimise din TapHome ajung la balasturi cu o întârziere mică, dar nenulă, față de comanda cablată directă.

Configurare

Comutatorul DIP SWB — terminația și polarizarea RS-485

Comutatorul DIP SWB de pe IBOX-MBS-DALI cu 1 canal controlează doar caracteristicile magistralei RS-485 — pe acest gateway adresa slave Modbus nu se setează din comutatoare DIP (adresa slave se setează în Intesis MAPS, consultați mai jos).

PozițieONOFF
1Terminație de 120 Ω activăTerminație inactivă
2Polarizare activăPolarizare inactivă
3Polarizare activăPolarizare inactivă
  • Poziția 1 = ON — activează rezistorul intern de terminație de 120 Ω. Folosiți această setare când IBOX-MBS-DALI se află în ultima poziție fizică de pe magistrala RS-485.
  • Pozițiile 2 și 3 = ON — activează polarizarea magistralei. Folosiți această setare când niciun alt master de pe magistrală nu asigură polarizarea. TapHome Core asigură polarizarea pe bornele BUS, așa că acestea pot rămâne de obicei pe OFF.

SWA este rezervat pentru utilizări viitoare la această revizie hardware și nu are niciun efect în funcționare.

Parametrii de comunicație Modbus RTU

Toți parametrii RTU se configurează în proiectul Intesis MAPS și trebuie să corespundă exact setărilor modulului TapHome.

ParametruValoriImplicit în șablon
Baud rate1200, 2400, 4800, 9600, 19200, 38400, 56700, 1152009600
Paritatefără, pară, imparăfără
Biți de stop1, 21
Biți de date88
Adresă slave1–247Configurabilă în MAPS

Gateway-ul Intesis acceptă simultan Modbus RTU și Modbus TCP la varianta cu 1 canal. TapHome folosește RTU; un sistem BMS paralel sau un instrument de diagnosticare poate citi în continuare aceeași hartă de registre prin TCP, fără interferențe.

Activarea comunicației Modbus

Comunicația Modbus se activează prin încărcarea unui proiect valid în gateway cu Intesis MAPS (la acest model nu se folosesc comutatoare DIP). Pe scurt:

  1. Instalați Intesis MAPS pe un PC cu Windows și conectați-vă la gateway prin USB Console sau Ethernet.
  2. Deschideți sau creați un proiect pe baza INMBSDAL---0200-Template (pentru seria 700 IN703DAL0640000 selectați șablonul IN-MBS-DALI-64, adică aplicația Modbus).
  3. În fila Configuration → Modbus Slave, setați baud rate-ul, paritatea, biții de stop și adresa slave la aceleași valori ca în TapHome.
  4. În fila Configuration → DALI, activați alimentarea internă de 16 V DC a magistralei DALI (consultați Punerea în funcțiune DALI).
  5. Faceți clic pe Send pentru a transfera configurația; gateway-ul repornește automat.
  6. Folosiți Diagnostic → Viewers pentru a verifica cadrele Modbus pe TX/RX ale portului B.
Configurarea alimentării magistralei DALI în Intesis MAPS — activați alimentarea DALI de 16 V DC în configurația gateway-ului înainte de punerea în funcțiune
Punerea în funcțiune DALI

Adresarea DALI se face în Intesis MAPS — nu în TapHome. Șablonul TapHome se referă la adresele scurte DALI 0–63 și la adresele de grup 0–15 prin offsetul de registru; balasturile și grupurile fizice trebuie mai întâi asociate acestor adrese.

Pașii principali ai punerii în funcțiune (procedura completă în manualul de utilizare Intesis, Anexa A):

  1. În MAPS, deschideți proiectul pentru gateway-ul cu 1 canal și accesați Configuration → DALI → ECG Channel A.
  2. Faceți clic pe Commissioning → Scan pentru a descoperi balasturile ECG de pe magistrala DALI.
  3. Atribuiți fiecărui balast o adresă scurtă (0–63) cu butonul Wink (balastul fizic clipește pentru identificare) sau Auto Addr. (atribuire automată secvențială).
  4. Opțional, setați parametrii fiecărui ECG: Device Type (0 = Fluorescent, 1 = Emergency, 6 = LED, …), nivelul minim / maxim, nivelul la pornire, nivelul la defectarea sistemului, configurarea scenelor și apartenența la grupuri (0–15).
  5. Faceți clic pe Commissioning → Set All pentru a trimite configurația din MAPS pe magistrala DALI.
  6. Faceți clic pe Send pentru a transfera înapoi în IBOX-MBS-DALI configurația la nivel de gateway (parametrii Modbus, harta semnalelor).

După punerea în funcțiune, ECG-urile identificate în TapHome prin adresa scurtă (de ex. ECG 5 → registrul H:506) corespund unu la unu balasturilor fizice. Apartenența la grupuri trebuie definită și ea în MAPS pentru ca dispozitivele Grup DALI să funcționeze, deși șablonul oferă pentru fiecare ECG acțiunile de service Adăugare în grup DALI / Eliminare din grup DALI, care pot reatribui apartenența la grupuri în timpul funcționării, pe firmware compatibil.

Conform manualului de utilizare r1.5 (mai 2024), semnalele 29 și 30 (Add to DALI Group / Remove from DALI Group) sunt marcate ca Not used în firmware-ul actual. Șablonul TapHome oferă în continuare aceste acțiuni, deoarece funcționau în firmware-ul mai vechi, dar atribuirile stabile la grupuri trebuie configurate în Intesis MAPS, nu scrise în timpul funcționării.

Manualul de utilizare al seriei 700 IN703DAL0640000 (v1.0.11) listează semnalele 29 și 30 ca citire/scriere, așa că, potrivit manualului, acțiunile ar trebui să fie disponibile pe acest gateway.

Prezentarea hărții de registre

TapHome folosește o singură formulă pentru toate registrele:

1
2
3
H:address = 7000 × channel + 100 × ECG + signal      (individual ECG)
H:address = 7000 × channel + 20 × group + 6400..6415  (DALI group)
H:address = 7000 × channel + 6800..6815              (broadcast)

La varianta cu 1 canal, întotdeauna channel = 0. Șablonul oferă următoarele intervale de registre:

IntervalFuncțieOferit de șablon
H:0 – H:3Mască de biți pentru defectele balastului/lămpii (ECG 63..0, 4× UInt16)Da — ca failRegister la nivel de modul
H:SA+5Mască de biți pentru starea balastului ECG (pentru fiecare ECG)Da — erori, avertismente, informații pentru fiecare ECG
H:SA+6Nivelul real al ECG 0–100 % (citire)Da — feedbackul poziției dimmerului
H:SA+7Enumerarea tipului de dispozitiv ECGDa — ca atribut de service
H:SA+11..+14Nivel la pornire / la defectarea sistemului, timp / rată de estompare (citire)Da — ca atribute de service
H:SA+15Nivelul de putere arc al ECG 0–100 % (scriere)Da — writelevel, mapat liniar în Min/Max
H:SA+23..+30Setare timp/rată de estompare, setare niveluri, adăugare/eliminare din grupDa — ca acțiuni de service pentru fiecare ECG
H:6400 + 20·GRNivelul de putere arc al grupului 0–100 % (scriere)Da — ca dispozitiv Grup DALI doar pentru scriere
H:6801Broadcast Arc Power Off/On (0/100 %)Da — ca Toate — pornite / Toate — oprite la nivel de modul
H:6812 / H:6813Broadcast setare nivel la pornire / la defectarea sistemuluiDa — ca acțiuni de service ale modulului

Dispozitivele de intrare (senzori de prezență, butoane, senzori de lumină) la adresele 14000 + 640·LINE + 10·IDX + INSTANCE + 1280·SIG nu sunt implementate de acest șablon.

Funcțiile dispozitivului

Reglarea intensității fiecărui ECG (64 de dispozitive ECG)

Fiecare adresă scurtă 0–63 este disponibilă ca dispozitiv dimmer TapHome individual (ECG 0 până la ECG 63). Funcțiile fiecărui ECG:

  • Nivel real — citește H:SA+6 (0–100 %) ca feedback al poziției dimmerului
  • Nivel de putere arc — scrie H:SA+15 (0–100 %), mapat liniar de pe scara dimmerului TapHome 0–1 în intervalul [min level, max level] configurat al balastului
  • Starea balastului — o mască de biți în H:SA+5 alimentează diagnosticarea TapHome: BallFail și LampFail generează erori, BallLimit, Reset și PowerCycle generează avertismente, FadeRun este afișat ca informație, MissingShortAddr generează o eroare
  • Detectarea defectelor de comunicare — modulul citește masca de biți de defecte pe 64 de biți din H:0 – H:3 și marchează ECG-urile individuale ca defecte independent de starea din H:SA+5
Atributele de service ale fiecărui ECG (metadate doar pentru citire)

Fiecare dispozitiv ECG oferă cinci atribute de service care citesc configurația sa DALI curentă:

  • Tip principal de dispozitiv — enumerarea H:SA+7 (0–8): 0 = fluorescent, 1 = iluminat de urgență, 2 = cu descărcare, 3 = cu halogen, 4 = incandescent, 5 = semnal digital, 6 = LED, 7 = comutare, 8 = control al culorii
  • Nivel la pornire [%] — H:SA+11 (0–100 %) — nivelul la care revine balastul după alimentarea magistralei DALI
  • Nivel la defectarea sistemului [%] — H:SA+12 (0–100 %) — nivelul pe care îl adoptă balastul la defectarea magistralei DALI
  • Timp de estompare — H:SA+13 (0–15) — indexul DALI al timpului de estompare (timpul de atingere a nivelului țintă la scrierile directe ale nivelului de putere arc)
  • Rată de estompare — H:SA+14 (1–15) — indexul DALI al ratei de estompare (viteza comenzilor de creștere / reducere cu un pas)
Acțiunile de service ale fiecărui ECG (scriere)

Fiecare ECG oferă și șase acțiuni de service pentru reconfigurarea online:

  • Setare nivel la pornire — scrie H:SA+27 (0–100 %)
  • Setare nivel la defectarea sistemului — scrie H:SA+28 (0–100 %)
  • Setare timp de estompare — scrie H:SA+23 (0–15)
  • Setare rată de estompare — scrie H:SA+24 (1–15)
  • Adăugare în grup DALI — scrie H:SA+29 cu numărul grupului (0–15) — consultați avertismentul de la punerea în funcțiune de mai sus
  • Eliminare din grup DALI — scrie H:SA+30 cu numărul grupului (0–15)

După fiecare scriere, șablonul trimite automat H:SA+4 = 1 (Update All ECG Status), care reîmprospătează valorile citite memorate în gateway.

Grupuri DALI (16 dimmere broadcast doar pentru scriere)

Grup DALI 0 până la Grup DALI 15 sunt disponibile ca dispozitive dimmer doar pentru scriere:

  • Registru de scriere: H:6400 + 20 × GR (de ex. Grup 0 = H:6400, Grup 15 = H:6700)
  • Comportament: scrierea unei valori de dimmer TapHome 0–1 trimite Arc Power Level = Le × 100 către fiecare ECG membru al grupului DALI respectiv
  • Fără citirea nivelului — semnalul de grup nu are registru pentru nivelul real, așa că TapHome urmărește nivelul grupului doar pe baza comenzilor utilizatorului, nu pe baza stării reale a balasturilor

Folosiți grupurile pentru camere sau zone în care mai multe balasturi se dimează împreună. Apartenența la grupuri se configurează pentru fiecare ECG prin acțiunea de service ECG Adăugare în grup DALI sau (de preferat) în Intesis MAPS.

Acțiuni broadcast la nivel de modul

Modulul principal (Intesis DALI) oferă patru acțiuni de service care se adresează simultan tuturor balasturilor de pe linia DALI:

  • Toate — pornite — scrie H:6801 = 1, trimițând prin broadcast 100 % către fiecare ECG
  • Toate — oprite — scrie H:6801 = 0, trimițând prin broadcast 0 % către fiecare ECG
  • Toate — setare nivel la pornire — scrie H:6812 (0–100 %) pentru a configura nivelul la care revin toate balasturile după alimentarea DALI
  • Toate — setare nivel la defectarea sistemului — scrie H:6813 (0–100 %) pentru a configura nivelul pe care îl adoptă toate balasturile la defectarea magistralei DALI

Acestea sunt mai rapide decât scrierile repetate pentru fiecare ECG, când toate balasturile trebuie să ajungă la aceeași stare țintă (de ex. stingere de urgență, presetare de dimineață).

LED-uri de stare și butoane

LED-urile de stare și butoanele IBOX-MBS-DALI — Run, Error, Port A TX/RX (DALI), Port B TX/RX (Modbus RTU), butonul A, butonul B
LEDStareSemnificație
RunStins / verdeFără alimentare / dispozitiv alimentat și în funcțiune
ErrorStins / roșuFără eroare / stare de eroare
Port A Tx / Rx (DALI)Stins / clipește verde / clipește galbenFără activitate / pachet TX către DALI / pachet RX de la DALI
Port B Tx / Rx (Modbus RTU)Stins / clipește verde / clipește galbenFără activitate / pachet TX pe RS-485 / pachet RX pe RS-485
Indicatorul butonului AStins / verdeStarea broadcast DALI: OFF / RECALL_MAX_LEVEL
Indicatorul butonului BStins / verdeFără funcție implicită (configurabil în MAPS)

Butonul A (DALI A) — apăsarea comută un broadcast DALI între RECALL_MAX_LEVEL (100 %) și OFF, util pentru o verificare rapidă la fața locului a liniei DALI, fără implicarea TapHome. După 30 s, LED-ul butonului A se stinge, iar balasturile revin la nivelul anterior.

Butonul B — nu are funcție implicită pe acest gateway; poate fi configurat ca acțiune RS-485 în Intesis MAPS.

Montare

Pe șină DIN (recomandat)
Montarea IBOX-MBS-DALI pe șină DIN — șină standard EN60715 TH35, clemele de fixare în poziția interioară din fabrică

EN60715 TH35, de preferință într-un tablou metalic legat la pământ. Lăsați clemele de fixare în poziția interioară din fabrică, agățați mai întâi marginea de sus pe șină, apoi apăsați în jos pentru a fixa partea de jos.

Montare pe perete
Montarea IBOX-MBS-DALI pe perete — clemele de fixare mutate spre exterior pentru a elibera găurile de montare
  1. Desprindeți clemele de fixare din poziția lor inițială (pentru montarea pe șină DIN), împingându-le spre exterior până când se fixează cu un clic în poziția de montare pe perete.
  2. Folosiți găurile de montare din carcasă pentru a o fixa pe perete.
Spațiu și mediu
  • Spațiu de instalare: lăsați 130 × 100 × 100 mm (Î × L × A) în jurul dispozitivului pentru conectori și cabluri. Dimensiuni nete: 90 × 88 × 56 mm (seria 700 IN703DAL0640000: 90 × 88 × 58 mm).
  • Mediu: IP20, doar pentru interior. Temperatura de funcționare 0 °C până la +50 °C (manualul de utilizare) / +60 °C (fișa de instalare), umiditate 5–95 % fără condens. Seria 700 IN703DAL0640000 funcționează între −10 °C și +60 °C.

Depanare

Nu există comunicare Modbus (LED-urile Tx/Rx ale portului B rămân stinse)
  1. Verificați cablajul RS-485 — verificați polaritatea B1 (B+) / B2 (A−) față de bornele RS-485 TapHome; inversarea lor este cea mai frecventă greșeală.
  2. Verificați SGND — conectați B3 la masa TapHome. Lipsa masei de semnal este a doua cea mai frecventă cauză a unei comunicații RTU instabile.
  3. Potriviți parametrii seriali — baud rate-ul, paritatea, biții de stop și adresa slave din TapHome trebuie să corespundă exact valorilor din proiectul Intesis MAPS.
  4. Verificați comutatoarele DIP SWB — dacă acest gateway se află la capătul fizic al magistralei RS-485, setați SWB poziția 1 = ON (terminație de 120 Ω). Dacă se află la mijlocul magistralei, setați toate pozițiile SWB pe OFF.
  5. Verificați că TCP nu ocupă conexiunea — gateway-ul permite 5 socketuri TCP simultane și 1 master RTU; o conexiune MAPS configurată greșit nu blochează RTU, dar merită să închideți MAPS în timpul depanării TapHome.
Modbus funcționează, dar balasturile DALI nu răspund
  1. Activați alimentarea internă a magistralei DALI — gateway-urile noi se livrează cu alimentarea DALI dezactivată. Deschideți Intesis MAPS → Configuration → DALI → DALI Channel A, setați Power the DALI bus = Enabled, apoi trimiteți configurația cu Send. Fără alimentarea magistralei, gateway-ul raportează o eroare hardware la orice scriere DALI.
  2. Verificare rapidă — apăsați butonul A de pe gateway. Acesta ar trebui să trimită prin broadcast RECALL_MAX_LEVEL și să pornească/oprească fiecare balast conectat. Dacă nu se întâmplă nimic, problema este chiar magistrala DALI (cablare, tensiune, alimentarea balasturilor).
  3. Rulați o scanare a magistralei în MAPS — Commissioning → Scan pe DALI Channel A listează fiecare balast pe care îl vede gateway-ul. Balasturile lipsă înseamnă de obicei ECG-uri nealimentate, o adresă scurtă DALI neatribuită sau o întrerupere a magistralei DALI.
  4. Verificați adresele scurte — TapHome adresează ECG 5 la registrul H:506; dacă adresa scurtă 5 nu a fost atribuită în MAPS, registrul există, dar balastul fizic nu este asociat cu el.
Un anumit ECG raportează un defect în TapHome

TapHome afișează două surse de defecte pentru fiecare ECG:

  • failRegister al modulului (H:0 – H:3) — un bit pentru fiecare ECG. Un bit setat generează o eroare de comunicare (gateway-ul nu poate comunica deloc cu balastul).
  • Starea balastului ECG (H:SA+5) — o mască de biți pentru fiecare ECG. BallFail și LampFail generează erori (defect hardware al balastului sau al lămpii), MissingShortAddr generează o eroare (ECG-ul a răspuns, dar nu are adresă scurtă), BallLimit, Reset și PowerCycle generează avertismente, FadeRun este informativ.

Pentru a elimina defectul, înlocuiți balastul defect sau refaceți în MAPS atribuirea adresei scurte.

Scrierea este acceptată, dar balastul nu își schimbă nivelul
  1. Verificați dacă balastul nu este în estompare — FadeRun în H:SA+5 înseamnă că balastul se află în curs de estompare; așteptați să se termine. Scurtarea timpului de estompare (H:SA+23) reduce întârzierea percepută.
  2. Verificați nivelul minim / maxim — TapHome mapează liniar scara dimmerului 0–1 în fereastra [min level, max level] citită de la balast (H:SA+9 / H:SA+10). Dacă cele două sunt egale, balastul nu își poate schimba nivelul; reconfigurați min/max în MAPS.
  3. Adăugare/eliminare din grup DALI — în cel mai recent firmware r1.5, aceste acțiuni pentru fiecare ECG sunt marcate ca învechite (deprecated); faceți atribuirea la grupuri în MAPS. Manualul de utilizare al seriei 700 IN703DAL0640000 le listează ca citire/scriere.

Dispozitive disponibile

Intesis DALI Modul
Acțiuni de service
Toate — porniteTrimite prin broadcast nivelul de putere arc 100 % către toate balasturile de pe linia DALI — aprindere de urgență sau presetare de dimineață printr-o singură scriere Modbus
Toate — opriteTrimite prin broadcast nivelul de putere arc 0 % către toate balasturile de pe linia DALI — stingere de urgență sau presetare pentru curățenie printr-o singură scriere Modbus
Toate — setare nivel la pornireTrimite prin broadcast un nou nivel la pornire (0–100 %) către toate balasturile — nivelul la care revin după alimentarea magistralei DALI
Toate — setare nivel la defectarea sistemuluiTrimite prin broadcast un nou nivel la defectarea sistemului (0–100 %) către toate balasturile — nivelul pe care îl adoptă la defectarea magistralei DALI

Intesis Dali

Citire (modul)
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)
Acțiuni de service
All - On
modbusw(H, base_modifier + 6801, uint16, 1);
All - Off
modbusw(H, base_modifier + 6801, uint16, 0);
All - Set Power-on Level
Parametri: Level (0–100 Lvl)
modbusw(H, base_modifier + 6812, uint16, Lvl);
All - Set System-failure Level
Parametri: Level (0–100 Lvl)
modbusw(H, base_modifier + 6813, uint16, Lvl);
ECG 0 Dimmer

Balast DALI individual cu adresa scurtă 0 — dimmer cu citirea nivelului real, starea de defect a balastului/lămpii, scrierea nivelului de putere arc și configurarea timpului/ratei de estompare și a nivelului la pornire / la defectarea sistemului pentru fiecare ECG

Registru: H:6 → H:15 UInt16 Unitate: % numeric
Atribute de service
Tip principal de dispozitivTipul dispozitivului DALI — fluorescent (0), iluminat de urgență (1), cu descărcare (2), cu halogen (3), incandescent (4), semnal digital (5), LED (6), comutare (7) sau control al culorii (8)
Nivel la pornireNivelul (0–100 %) la care revine balastul după alimentarea magistralei DALI
Nivel la defectarea sistemuluiNivelul (0–100 %) pe care îl adoptă balastul la defectarea magistralei DALI
Timp de estompareIndexul DALI al timpului de estompare (0–15) — timpul necesar pentru atingerea nivelului țintă la scrierile directe ale nivelului de putere arc
Rată de estompareIndexul DALI al ratei de estompare (1–15) — viteza comenzilor de creștere / reducere cu un pas
Acțiuni de service
Setare nivel la pornireScrie un nou nivel la pornire (0–100 %) în acest ECG
Setare nivel la defectarea sistemuluiScrie un nou nivel la defectarea sistemului (0–100 %) în acest ECG
Setare timp de estompareScrie un nou index DALI al timpului de estompare (0–15) în acest ECG
Setare rată de estompareScrie un nou index DALI al ratei de estompare (1–15) în acest ECG
Adăugare în grup DALIAtribuie acest ECG unui grup DALI (0–15), pentru a putea fi comandat prin dimmerul broadcast al grupului
Eliminare din grup DALIElimină acest ECG din grupul DALI specificat (0–15)

ECG 0

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 1 Dimmer
Registru: H:106 → H:115 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 1

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 2 Dimmer
Registru: H:206 → H:215 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 2

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 3 Dimmer
Registru: H:306 → H:315 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 3

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 4 Dimmer
Registru: H:406 → H:415 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 4

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 5 Dimmer
Registru: H:506 → H:515 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 5

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 6 Dimmer
Registru: H:606 → H:615 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 6

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 7 Dimmer
Registru: H:706 → H:715 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 7

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 8 Dimmer
Registru: H:806 → H:815 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 8

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 9 Dimmer
Registru: H:906 → H:915 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 9

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 10 Dimmer
Registru: H:1006 → H:1015 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 10

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 11 Dimmer
Registru: H:1106 → H:1115 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 11

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 12 Dimmer
Registru: H:1206 → H:1215 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 12

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 13 Dimmer
Registru: H:1306 → H:1315 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 13

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 14 Dimmer
Registru: H:1406 → H:1415 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 14

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 15 Dimmer
Registru: H:1506 → H:1515 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 15

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 16 Dimmer
Registru: H:1606 → H:1615 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 16

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 17 Dimmer
Registru: H:1706 → H:1715 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 17

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 18 Dimmer
Registru: H:1806 → H:1815 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 18

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 19 Dimmer
Registru: H:1906 → H:1915 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 19

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 20 Dimmer
Registru: H:2006 → H:2015 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 20

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 21 Dimmer
Registru: H:2106 → H:2115 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 21

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 22 Dimmer
Registru: H:2206 → H:2215 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 22

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 23 Dimmer
Registru: H:2306 → H:2315 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 23

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 24 Dimmer
Registru: H:2406 → H:2415 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 24

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 25 Dimmer
Registru: H:2506 → H:2515 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 25

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 26 Dimmer
Registru: H:2606 → H:2615 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 26

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 27 Dimmer
Registru: H:2706 → H:2715 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 27

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 28 Dimmer
Registru: H:2806 → H:2815 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 28

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 29 Dimmer
Registru: H:2906 → H:2915 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 29

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 30 Dimmer
Registru: H:3006 → H:3015 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 30

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 31 Dimmer
Registru: H:3106 → H:3115 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 31

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 32 Dimmer
Registru: H:3206 → H:3215 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 32

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 33 Dimmer
Registru: H:3306 → H:3315 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 33

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 34 Dimmer
Registru: H:3406 → H:3415 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 34

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 35 Dimmer
Registru: H:3506 → H:3515 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 35

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 36 Dimmer
Registru: H:3606 → H:3615 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 36

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 37 Dimmer
Registru: H:3706 → H:3715 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 37

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 38 Dimmer
Registru: H:3806 → H:3815 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 38

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 39 Dimmer
Registru: H:3906 → H:3915 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 39

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 40 Dimmer
Registru: H:4006 → H:4015 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 40

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 41 Dimmer
Registru: H:4106 → H:4115 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 41

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 42 Dimmer
Registru: H:4206 → H:4215 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 42

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 43 Dimmer
Registru: H:4306 → H:4315 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 43

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 44 Dimmer
Registru: H:4406 → H:4415 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 44

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 45 Dimmer
Registru: H:4506 → H:4515 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 45

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 46 Dimmer
Registru: H:4606 → H:4615 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 46

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 47 Dimmer
Registru: H:4706 → H:4715 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 47

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 48 Dimmer
Registru: H:4806 → H:4815 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 48

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 49 Dimmer
Registru: H:4906 → H:4915 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 49

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 50 Dimmer
Registru: H:5006 → H:5015 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 50

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 51 Dimmer
Registru: H:5106 → H:5115 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 51

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 52 Dimmer
Registru: H:5206 → H:5215 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 52

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 53 Dimmer
Registru: H:5306 → H:5315 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 53

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 54 Dimmer
Registru: H:5406 → H:5415 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 54

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 55 Dimmer
Registru: H:5506 → H:5515 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 55

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 56 Dimmer
Registru: H:5606 → H:5615 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 56

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 57 Dimmer
Registru: H:5706 → H:5715 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 57

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 58 Dimmer
Registru: H:5806 → H:5815 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 58

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 59 Dimmer
Registru: H:5906 → H:5915 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 59

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 60 Dimmer
Registru: H:6006 → H:6015 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 60

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 61 Dimmer
Registru: H:6106 → H:6115 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 61

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 62 Dimmer
Registru: H:6206 → H:6215 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 62

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 63 Dimmer
Registru: H:6306 → H:6315 UInt16 Unitate: % numeric
Atribute de service
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Acțiuni de service
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group

ECG 63

Citire (modul)
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"));
Inițializare
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);
Citirea nivelului
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
Scrierea nivelului
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);
Atribute de service
Main Device Type

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 [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 11, uint16);
System Failure Level [%]
var base := base_modifier + (100 * SA);
modbusr(H, base + 12, uint16);
Fade Time
var base := base_modifier + (100 * SA);
modbusr(H, base + 13, uint16);
Fade Rate
var base := base_modifier + (100 * SA);
modbusr(H, base + 14, uint16);
Acțiuni de service
Set Power-on Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 27, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set System-failure Level
Parametri: Level (0–100 Lvl)
var base := base_modifier + (100 * SA);
modbusw(H, base + 28, uint16, Lvl);
modbusw(H, base + 4, uint16, 1);
Set Fade Time
Parametri: Fade Time (0–15 FT)
var base := base_modifier + (100 * SA);
modbusw(H, base + 23, uint16, FT);
modbusw(H, base + 4, uint16, 1);
Set Fade Rate
Parametri: Fade Rate (1–15 FR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 24, uint16, FR);
modbusw(H, base + 4, uint16, 1);
Add to DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 29, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Remove from DALI Group
Parametri: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
Grup DALI 0 Dimmer

Dimmer broadcast doar pentru scriere, pentru toate ECG-urile atribuite grupului DALI 0 — fără citirea nivelului, TapHome urmărește nivelul doar pe baza comenzilor utilizatorului

UInt16 Unitate: % numeric

Grup DALI 0

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 1 Dimmer
UInt16 Unitate: % numeric

Grup DALI 1

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 2 Dimmer
UInt16 Unitate: % numeric

Grup DALI 2

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 3 Dimmer
UInt16 Unitate: % numeric

Grup DALI 3

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 4 Dimmer
UInt16 Unitate: % numeric

Grup DALI 4

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 5 Dimmer
UInt16 Unitate: % numeric

Grup DALI 5

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 6 Dimmer
UInt16 Unitate: % numeric

Grup DALI 6

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 7 Dimmer
UInt16 Unitate: % numeric

Grup DALI 7

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 8 Dimmer
UInt16 Unitate: % numeric

Grup DALI 8

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 9 Dimmer
UInt16 Unitate: % numeric

Grup DALI 9

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 10 Dimmer
UInt16 Unitate: % numeric

Grup DALI 10

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 11 Dimmer
UInt16 Unitate: % numeric

Grup DALI 11

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 12 Dimmer
UInt16 Unitate: % numeric

Grup DALI 12

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 13 Dimmer
UInt16 Unitate: % numeric

Grup DALI 13

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 14 Dimmer
UInt16 Unitate: % numeric

Grup DALI 14

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Grup DALI 15 Dimmer
UInt16 Unitate: % numeric

Grup DALI 15

Scrierea nivelului
if !isnull(Le)
	modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
Conexiune: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Îmbunătățiri posibile (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

Surse

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Verificat de TapHome

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal