Intesis DALI-zu-Modbus RTU Gateway, das bis zu 64 DALI-ECG-Vorschaltgeräte und 16 DALI-Gruppen an TapHome anbindet. Dimmen einzelner Vorschaltgeräte, Broadcast All On/Off und Konfiguration von Power-on / System-failure Level über RS-485.
IntesisModbus RTU80 GeräteRevision 1.0Zuletzt aktualisiert: 8. Oktober 2026
Import in die TapHome AppHardware › Modbus › Aus Vorlage hinzufügen
Der Intesis IBOX-MBS-DALI ist ein DALI-zu-Modbus-Protokollwandler von Intesis (Teil von HMS Networks), der DALI-2-Lichtvorschaltgeräte und -Gruppen als Modbus-Holding-Register bereitstellt. Die TapHome-Vorlage zielt auf die 1-Kanal-RTU-Variante (Bestellcode IBMBSDAL0640000, neu veröffentlicht als INMBSDAL0640200) und verbindet sich mit TapHome über RS-485 Modbus RTU an Port B des Gateways.
TapHome vertreibt das neuere Gateway der Serie 700 mit dem Bestellcode IN703DAL0640000 (DALI-2 zu Modbus TCP & RTU Server, 1 DALI-Kanal). Laut Benutzerhandbuch des Herstellers (v1.0.11) nutzt es dieselbe Modbus-Registerzuordnung, daher gilt diese Vorlage auch dafür.
Die Vorlage deckt die volle adressierbare DALI-Kapazität einer einzelnen Linie ab: 64 einzelne ECG-Vorschaltgeräte (Kurzadressen 0–63) und 16 DALI-Gruppen. Jedes ECG unterstützt Rücklesen des aktuellen Levels (0–100 %), Vorschaltgerät-/Lampenfehlerstatus und Schreibzugriff auf Arc Power Level, Power-on Level, System-failure Level, Fade Time und Fade Rate. DALI-Gruppen bieten nur schreibgeschützte Broadcast-Dimmersteuerung. Auf Modulebene adressieren vier Broadcast-Service-Actions (All On, All Off, All Set Power-on Level, All Set System-failure Level) jedes Vorschaltgerät auf der DALI-Linie in einem einzigen Modbus-Schreibvorgang.
DALI-Kurzadressen, Gruppenzugehörigkeit, Szenen und Min/Max-Level müssen zuvor mit der kostenlosen Commissioning-Software Intesis MAPS konfiguriert werden, bevor TapHome einzelne Vorschaltgeräte adressieren kann — die TapHome-Vorlage führt keine DALI-Netzwerkerkennung oder -Adressierung durch.
Die TapHome-Vorlage ist für das 1-Kanal-RTU-Gateway ausgelegt. Die 2-Kanal-Variante hat eine identische Registerzuordnung, bietet aber kein Modbus RTU (nur TCP), daher ist sie mit dieser RS-485-Vorlage nicht kompatibel.
Bestellcode
DALI-Kanäle
ECG-Kapazität
Gruppen
Modbus RTU
Modbus TCP
IN703DAL0640000 (Serie 700)
1
64
16
Ja (Port B)
Ja
IBMBSDAL0640000 / INMBSDAL0640200
1
64
16
Ja (Port B)
Ja
IBMBSDAL1280000 / INMBSDAL1280200
2
128
32
Nein
Ja
Die TapHome-Vorlage verwendet die Registerformel 7000 × Kanal + 100 × ECG + Signal, ausgewertet mit Kanal = 0. Dies entspricht genau dem 1-Kanal-IBOX-MBS-DALI und dem IN703DAL0640000 der Serie 700.
Eingang: 24 VDC ±10 % an der 3-poligen Klemme (+, −, Earth)
Quelle: NEC Class 2 oder Limited Power Source (LPS), SELV-konform
Vorsicherung: 250 V / 6 A Leitungsschutzschalter erforderlich
Erdung: Darf nur über den negativen Pol geerdet werden — niemals über den positiven Pol
Um Erdschleifen zu vermeiden, die das Gateway und angeschlossene Geräte beschädigen können, verwende niemals eine DC-Stromversorgung mit geerdetem positivem Pol. Erde nur über den negativen Pol oder lasse die Erdung schwebend.
RS-485 Modbus RTU Verkabelung (Port B, EIA485)
Schließe den TapHome-RS-485-Bus an den EIA485-Klemmenblock an Port B an:
IBOX-MBS-DALI Klemme
Signal
TapHome RS-485
B1
B+ (D+)
A+ / D+
B2
A− (D−)
B− / D−
B3
SGND (Referenzerde)
GND
Polarität beachten. B1 = B+ (D+) und B2 = A− (D−). Das Vertauschen von A/B führt zu stillem Kommunikationsausfall ohne Hardwareschaden.
Kabelspezifikation (EIA485-Grenzen):
Maximale Länge: 1200 m auf einem einzelnen RS-485-Segment
Maximale Knoten: 32 Geräte einschließlich TapHome-Master und IBOX-MBS-DALI
Terminierung: 120 Ω an jedem Busende — TapHome Core hat einen eingebauten 100-Ω-Widerstand an seinen BUS-Klemmen, daher benötigt der IBOX-MBS-DALI nur dann eine aktivierte Terminierung, wenn er sich am äußersten Ende des RS-485-Segments befindet (siehe DIP-Schalter SWB unten)
Wenn das Gateway in der Mitte des RS-485-Busses installiert ist (nicht am Ende), lasse SWB in OFF-Position und füge keine externe Terminierung hinzu.
EIA232 Alternative: Der Port-B-SUB-D9-male-Stecker bietet eine EIA232-Schnittstelle mit nur TX, RX und GND, mit einer maximalen Kabellänge von 15 m. TapHome unterstützt RS-232 nicht nativ, daher ist EIA485 die Standard-TapHome-Verbindung.
DALI-Bus-Verkabelung (Port A)
Schließe die DALI-Linie an die orange 2-polige Klemme von Port A an:
A3 — DA+
A4 — DA−
Der IBOX-MBS-DALI liefert 16 VDC (±2 %) Busspannung mit einem garantierten Strom von 235 mA (max. 250 mA) DALI; das IN703DAL0640000 der Serie 700 garantiert 230 mA (max. 250 mA). DALI ist standardmäßig polaritätsunempfindlich, aber diese interne Versorgung muss in Intesis MAPS aktiviert werden, bevor eine DALI-Kommunikation funktioniert — siehe DALI Commissioning unten.
DALI-Kapazität auf einer Linie (lasse ~10 % Reserve für dynamische Prozesse):
Bis zu 64 ECG-Vorschaltgeräte (typ. 2 mA jedes → 128 mA)
Bis zu 64 DALI-Eingabegeräte / 16 empfohlen bei Verwendung von Tastern (typ. 5 mA jedes)
Beispielbudget: 64 ECGs × 2 mA + 16 Sensoren × 5 mA = 208 mA < 235 mA × 90 %
Beispielbudget für das IN703DAL0640000 (Herstellerangaben): 63 ECGs × 2 mA + 16 Sensoren × 5 mA = 206 mA < 230 mA × 90 %
DALI ist ein inhärent langsamer Bus (1200 Baud) mit einer Gateway-Anlaufzeit von 1,5 s und einer Abschaltzeit von 7 s. Von TapHome ausgegebene DALI-Befehle erreichen die Vorschaltgeräte mit einer kleinen, aber nicht verschwindenden Latenz im Vergleich zu direkter Drahtsteuerung.
DIP-Schalter SWB — RS-485-Terminierung und Polarisierung
Der DIP-Schalter SWB am 1-Kanal-IBOX-MBS-DALI steuert nur die RS-485-Bus-Eigenschaften — an diesem Gateway gibt es keine DIP-Schalter-basierte Modbus-Slave-Adresse (Slave-Adresse wird in Intesis MAPS eingestellt, siehe unten).
Position
ON
OFF
1
120 Ω Terminierung aktiv
Terminierung inaktiv
2
Polarisierung aktiv
Polarisierung inaktiv
3
Polarisierung aktiv
Polarisierung inaktiv
Position 1 = ON — aktiviert den internen 120-Ω-Terminierungswiderstand. Verwende dies, wenn sich der IBOX-MBS-DALI an der letzten physischen Position des RS-485-Busses befindet.
Positionen 2 und 3 = ON — aktivieren Bus-Biasing (Polarisierung). Verwende dies, wenn kein anderer Master am Bus Biasing liefert. TapHome Core liefert Biasing an seinen BUS-Klemmen, diese können also normalerweise OFF bleiben.
SWA ist auf dieser Hardware-Revision für zukünftige Nutzung reserviert und hat keinen Laufzeiteffekt.
Modbus-RTU-Kommunikationsparameter
Alle RTU-Parameter werden im Intesis-MAPS-Projekt konfiguriert und müssen exakt mit den TapHome-Moduleinstellungen übereinstimmen.
Das Intesis-Gateway unterstützt Modbus RTU und Modbus TCP gleichzeitig auf der 1-Kanal-Variante. TapHome verwendet RTU; ein paralleles BMS oder Diagnosetool kann dieselbe Registerzuordnung über TCP lesen, ohne zu stören.
Modbus-Kommunikation aktivieren
Die Modbus-Kommunikation wird durch Laden eines gültigen Projekts auf das Gateway mit Intesis MAPS aktiviert (bei diesem Modell sind keine DIP-Schalter beteiligt). Kurzfassung:
Installiere Intesis MAPS auf einem Windows-PC und verbinde dich mit dem Gateway über USB Console oder Ethernet.
Öffne oder erstelle ein Projekt basierend auf der INMBSDAL---0200-Template-Vorlage (beim IN703DAL0640000 der Serie 700 wähle die Vorlage IN-MBS-DALI-64, also die Modbus-Anwendung).
Stelle auf der Registerkarte Configuration → Modbus Slave Baudrate, Parität, Stoppbits und Slave-Adresse auf die TapHome-Werte ein.
Auf der Registerkarte Configuration → DALI aktiviere die interne 16-VDC-DALI-Busversorgung (siehe DALI Commissioning).
Klicke auf Send, um die Konfiguration zu übertragen; das Gateway startet automatisch neu.
Verwende Diagnostic → Viewers, um Modbus-Frames an Port B TX/RX zu überprüfen.
DALI Commissioning
Die DALI-Adressierung erfolgt in Intesis MAPS — nicht in TapHome. Die TapHome-Vorlage referenziert DALI-Kurzadressen 0–63 und Gruppenadressen 0–15 über ihren Register-Offset; physische Vorschaltgeräte und Gruppen müssen zuerst an diese Adressen gebunden werden.
High-Level Commissioning-Workflow (vollständiger Ablauf im Intesis-Benutzerhandbuch, Annex A):
Öffne in MAPS das Projekt für das 1-Kanal-Gateway und gehe zu Configuration → DALI → ECG Channel A.
Klicke auf Commissioning → Scan, um ECG-Vorschaltgeräte am DALI-Bus zu erkennen.
Weise jedem Vorschaltgerät eine Kurzadresse (0–63) über die Schaltfläche Wink zu (blinkt das physische Vorschaltgerät zur Identifikation) oder Auto Addr. (sequenzielle automatische Zuweisung).
Stelle optional ECG-Parameter ein: Device Type (0 = Fluorescent, 1 = Emergency, 6 = LED, …), Min/Max-Level, Power-on Level, System-failure Level, Szenenkonfiguration und Gruppenzugehörigkeit (0–15).
Klicke auf Commissioning → Set All, um die Konfiguration von MAPS auf den DALI-Bus zu übertragen.
Klicke auf Send, um die Gateway-Konfiguration (Modbus-Parameter, Signalzuordnung) zurück an den IBOX-MBS-DALI zu übertragen.
Nach dem Commissioning werden ECGs, die in TapHome per Kurzadresse identifiziert sind (z. B. ECG 5 → Register H:506), eins-zu-eins den physischen Vorschaltgeräten zugeordnet. Die Gruppenzugehörigkeit muss ebenfalls in MAPS definiert werden, damit die DALI-Gruppengeräte funktionieren, obwohl die Vorlage pro ECG Service Actions Add to DALI Group / Remove from DALI Group bereitstellt, die die Gruppenzugehörigkeit zur Laufzeit auf kompatibler Firmware neu zuweisen können.
Laut Benutzerhandbuch r1.5 (Mai 2024) sind die Signale 29 und 30 (Add to DALI Group / Remove from DALI Group) auf aktueller Firmware als Not used markiert. Die TapHome-Vorlage stellt diese Aktionen weiterhin bereit, da sie auf früherer Firmware funktionierten, aber stabile Gruppenzuweisungen sollten in Intesis MAPS konfiguriert werden, nicht zur Laufzeit.
Das Benutzerhandbuch des IN703DAL0640000 der Serie 700 (v1.0.11) führt die Signale 29 und 30 als Lese-/Schreibsignale (RW), laut Handbuch sollten die Aktionen auf diesem Gateway also verfügbar sein.
Registerübersicht
TapHome verwendet eine einzige Formel für alle Register:
Bei der 1-Kanal-Variante ist immer channel = 0. Die Vorlage stellt folgende Registerbereiche bereit:
Bereich
Funktion
In Vorlage verfügbar
H:0 – H:3
Bitmaske für Vorschaltgerät/Lampenfehler (ECG 63..0, 4× UInt16)
Ja — als failRegister auf Modulebene
H:SA+5
ECG-Vorschaltgerät-Statusbitmaske (pro ECG)
Ja — Errors, Warnings, Info pro ECG
H:SA+6
ECG aktueller Level 0–100 % (lesen)
Ja — Rückmeldung der Dimmerposition
H:SA+7
ECG Device-Type-Enum
Ja — als Service Attribute
H:SA+11..+14
Power-on / System-failure Level, Fade Time / Rate (lesen)
Ja — als Service Attributes
H:SA+15
ECG Arc Power Level 0–100 % (schreiben)
Ja — Writelevel, linear auf Min/Max abgebildet
H:SA+23..+30
Fade Time/Rate setzen, Levels setzen, Gruppe hinzufügen/entfernen
Ja — als Service Actions pro ECG
H:6400 + 20·GR
Group Arc Power Level 0–100 % (schreiben)
Ja — als Write-only DALI-Group-Gerät
H:6801
Broadcast Arc Power Off/On (0/100 %)
Ja — als Modul All On / All Off
H:6812 / H:6813
Broadcast Set Power-on / System-failure Level
Ja — als Service Actions auf Modulebene
Eingabegeräte (Präsenzsensoren, Taster, Lichtsensoren) an Adressen 14000 + 640·LINE + 10·IDX + INSTANCE + 1280·SIG sind in dieser Vorlage nicht implementiert.
Jede Kurzadresse 0–63 wird als einzelnes TapHome-Dimmer-Gerät bereitgestellt (ECG 0 bis ECG 63). Funktionen pro ECG:
Aktueller Level — liest H:SA+6 (0–100 %) als Rückmeldung der Dimmerposition
Arc Power Level — schreibt H:SA+15 (0–100 %), linear von der 0–1-Dimmerskala von TapHome auf den am Vorschaltgerät konfigurierten [min level, max level]-Bereich abgebildet
Vorschaltgerätstatus — Bitmaske auf H:SA+5 steuert die TapHome-Diagnose: BallFail und LampFail lösen Errors aus, BallLimit, Reset und PowerCycle lösen Warnings aus, FadeRun wird als Info angezeigt, MissingShortAddr löst einen Error aus
Kommunikationsfehlererkennung — das Modul liest die 64-Bit-Fehlerbitmaske auf H:0 – H:3 und markiert einzelne ECGs unabhängig vom H:SA+5-Status als fehlerhaft
Service Attributes pro ECG (schreibgeschützte Metadaten)
Jedes ECG-Gerät stellt fünf Service Attributes bereit, die seine aktuelle DALI-Konfiguration lesen:
Main Device Type — H:SA+7 enum (0–8): 0 = Fluorescent, 1 = Emergency, 2 = Discharge, 3 = Halogen, 4 = Incandescent, 5 = Digital signal, 6 = LED, 7 = Switching, 8 = Colour Control
Power-on Level [%] — H:SA+11 (0–100 %) — Level, auf den das Vorschaltgerät nach DALI-Bus-Einschaltung zurückkehrt
System-failure Level [%] — H:SA+12 (0–100 %) — Level, den das Vorschaltgerät bei DALI-Busausfall einnimmt
Fade Time — H:SA+13 (0–15) — DALI-Fade-Time-Index (Zeit zum Erreichen eines Zielwerts bei direkten Arc-Power-Schreibvorgängen)
Fade Rate — H:SA+14 (1–15) — DALI-Fade-Rate-Index (Geschwindigkeit der Step-up-/Step-down-Befehle)
Service Actions pro ECG (schreiben)
Jedes ECG stellt außerdem sechs Service Actions zur Online-Rekonfiguration bereit:
Set Power-on Level — schreibt H:SA+27 (0–100 %)
Set System-failure Level — schreibt H:SA+28 (0–100 %)
Set Fade Time — schreibt H:SA+23 (0–15)
Set Fade Rate — schreibt H:SA+24 (1–15)
Add to DALI Group — schreibt H:SA+29 mit der Gruppennummer (0–15) — siehe Commissioning-Hinweis oben
Remove from DALI Group — schreibt H:SA+30 mit der Gruppennummer (0–15)
Jeder Schreibvorgang wird von der Vorlage automatisch über H:SA+4 = 1 (Update All ECG Status) bestätigt, was die zwischengespeicherten Lesewerte im Gateway aktualisiert.
DALI-Gruppen (16 Write-only-Broadcast-Dimmer)
DALI Group 0 bis DALI Group 15 werden als Write-only-Dimmergeräte bereitgestellt:
Schreibregister:H:6400 + 20 × GR (z. B. Group 0 = H:6400, Group 15 = H:6700)
Verhalten: Schreiben eines TapHome-Dimmerwerts 0–1 sendet Arc Power Level = Le × 100 an jedes ECG, das Mitglied dieser DALI-Gruppe ist
Keine Leserückmeldung — das Gruppensignal hat kein Aktuell-Level-Register, daher verfolgt TapHome den Gruppenlevel nur aus Benutzereingaben, nicht aus dem realen Zustand der Vorschaltgeräte
Verwende Gruppen für Räume oder Zonen, in denen mehrere Vorschaltgeräte gemeinsam dimmen. Die Gruppenzugehörigkeit wird pro ECG über die ECG-Service-Action Add to DALI Group oder (vorzugsweise) in Intesis MAPS konfiguriert.
Broadcast-Aktionen auf Modulebene
Das Hauptmodul (Intesis DALI Gateway) stellt vier Service Actions bereit, die jedes Vorschaltgerät auf der DALI-Linie gleichzeitig adressieren:
All — On — schreibt H:6801 = 1, sendet 100 % per Broadcast an jedes ECG
All — Off — schreibt H:6801 = 0, sendet 0 % per Broadcast an jedes ECG
All — Set Power-on Level — schreibt H:6812 (0–100 %), um den Level zu konfigurieren, auf den alle Vorschaltgeräte nach DALI-Einschaltung zurückkehren
All — Set System-failure Level — schreibt H:6813 (0–100 %), um den Level zu konfigurieren, den alle Vorschaltgeräte bei DALI-Busausfall einnehmen
Diese sind schneller als das Iterieren von Schreibvorgängen pro ECG, wenn alle Vorschaltgeräte denselben Zielzustand erreichen müssen (z. B. Panic-Off, Morgenvorgabe).
Keine Aktivität / TX-Paket zu DALI / RX-Paket von DALI
Port B Tx / Rx (Modbus RTU)
Off / Blinkt grün / Blinkt gelb
Keine Aktivität / TX-Paket an RS-485 / RX-Paket an RS-485
Button-A-Anzeige
Off / Grün
DALI-Broadcast-Status: OFF / RECALL_MAX_LEVEL
Button-B-Anzeige
Off / Grün
Keine Standardfunktion (konfigurierbar in MAPS)
Button A (DALI A) — das Drücken schaltet einen DALI-Broadcast zwischen RECALL_MAX_LEVEL (100 %) und OFF um, nützlich für eine schnelle Vor-Ort-Prüfung der DALI-Linie ohne TapHome-Beteiligung. Nach 30 s schaltet die Button-A-LED ab und die Vorschaltgeräte kehren auf ihren vorherigen Level zurück.
Button B — keine Standardfunktion an diesem Gateway; kann als RS-485-Aktion in Intesis MAPS konfiguriert werden.
EN60715 TH35, vorzugsweise in einem metallischen Schaltschrank mit Erdanschluss. Lasse die Befestigungsclips in ihrer innen liegenden Werksposition, rastet erst die obere Schienenkante ein und drückt dann nach unten, damit die Unterseite einrastet.
Wandmontage
Trenne die Befestigungsclips aus ihrer ursprünglichen Position (für DIN-Schienen-Montage), indem du sie nach außen drückst, bis sie in die Wandmontageposition einrasten.
Verwende die Montagelöcher im Gehäuse, um es an der Wand zu befestigen.
Raum und Umgebung
Installationsraum: lasse 130 × 100 × 100 mm (H × B × T) um das Gerät für Stecker und Verkabelung. Nettoabmessungen: 90 × 88 × 56 mm (IN703DAL0640000 der Serie 700: 90 × 88 × 58 mm).
Umgebung: IP20, nur innen. Betriebstemperatur 0 °C bis +50 °C (Benutzerhandbuch) / +60 °C (Installationsblatt), Luftfeuchtigkeit 5–95 % nicht kondensierend. Das IN703DAL0640000 der Serie 700 arbeitet bei −10 °C bis +60 °C.
Keine Modbus-Kommunikation (Port B Tx/Rx LEDs bleiben aus)
Prüfe RS-485-Verkabelung — überprüfe die B1 (B+) / B2 (A−) Polarität gegen die TapHome-RS-485-Klemmen; das Vertauschen ist der häufigste Fehler.
Prüfe SGND — verbinde B3 mit der TapHome-Erde. Fehlende Signalerde ist die zweithäufigste Ursache für instabile RTU.
Stimme die seriellen Parameter ab — Baudrate, Parität, Stoppbits und Slave-Adresse in TapHome müssen exakt mit den Werten im Intesis-MAPS-Projekt übereinstimmen.
Prüfe SWB-DIP-Schalter — wenn sich dieses Gateway am physischen Ende des RS-485-Busses befindet, setze SWB-Position 1 = ON (120 Ω Terminierung). Wenn es in der Mitte des Busses sitzt, setze alle SWB-Positionen auf OFF.
Bestätige, dass TCP den Slot nicht hält — das Gateway erlaubt 5 gleichzeitige TCP-Sockets und 1 RTU-Master; eine falsch konfigurierte MAPS-Verbindung blockiert RTU nicht, aber es lohnt sich, MAPS während des TapHome-Debuggings zu schließen.
Modbus funktioniert, aber DALI-Vorschaltgeräte reagieren nicht
Aktiviere die interne DALI-Busversorgung — neue Gateways werden mit deaktivierter DALI-Versorgung ausgeliefert. Öffne Intesis MAPS → Configuration → DALI → DALI Channel A und setze Power the DALI bus = Enabled, dann Send die Konfiguration. Ohne Busversorgung meldet das Gateway einen Hardwarefehler bei jedem DALI-Schreibvorgang.
Schneller Sanity-Check — drücke Button A am Gateway. Er sollte RECALL_MAX_LEVEL per Broadcast senden und jedes angeschlossene Vorschaltgerät ein-/ausschalten. Wenn sich nichts bewegt, liegt das Problem am DALI-Bus selbst (Verkabelung, Spannung, Vorschaltgerätstromversorgung).
Führe einen On-Bus-Scan in MAPS durch — Commissioning → Scan am DALI Channel A listet jedes Vorschaltgerät auf, das das Gateway sieht. Fehlende Vorschaltgeräte bedeuten meist stromlose ECGs, eine nicht zugewiesene DALI-Kurzadresse oder einen Bruch im DALI-Bus.
Überprüfe Kurzadressen — TapHome adressiert ECG 5 am Register H:506; wenn die Kurzadresse 5 in MAPS nicht zugewiesen wurde, existiert das Register, aber das physische Vorschaltgerät ist nicht daran gebunden.
Ein bestimmtes ECG meldet einen Fehler in TapHome
TapHome zeigt zwei Fehlerquellen für jedes ECG an:
Modul failRegister (H:0 – H:3) — ein Bit pro ECG. Ein gesetztes Bit löst einen Kommunikationsfehler aus (das Gateway kann mit dem Vorschaltgerät überhaupt nicht kommunizieren).
ECG Ballast Status (H:SA+5) — eine Bitmaske pro ECG. BallFail und LampFail lösen Errors aus (Hardware-Vorschaltgerät- oder Lampenfehler), MissingShortAddr löst einen Error aus (das ECG hat geantwortet, hat aber keine Kurzadresse), BallLimit, Reset und PowerCycle lösen Warnings aus, FadeRun ist informativ.
Tausche das defekte Vorschaltgerät aus oder commissioniere die Kurzadresse in MAPS erneut, um den Fehler zu beheben.
Schreibvorgang akzeptiert, aber Vorschaltgerät ändert Level nicht
Bestätige, dass das Vorschaltgerät nicht im Fade ist — FadeRun auf H:SA+5 bedeutet, das Vorschaltgerät fadet gerade; warte, bis es fertig ist. Das Verkürzen von Fade Time (H:SA+23) reduziert die wahrgenommene Latenz.
Prüfe Min / Max Level — TapHome bildet seine 0–1-Dimmerskala linear auf das aus dem Vorschaltgerät gelesene [min level, max level]-Fenster ab (H:SA+9 / H:SA+10). Wenn beide gleich sind, kann das Vorschaltgerät den Level nicht ändern; re-konfiguriere Min/Max in MAPS.
Add/Remove aus DALI-Gruppe — auf neuester r1.5-Firmware sind diese ECG-Aktionen als deprecated markiert; führe Gruppenzuweisungen stattdessen in MAPS durch. Das Benutzerhandbuch des IN703DAL0640000 der Serie 700 führt sie als Lese-/Schreibsignale (RW).
Verfügbare Geräte 80
Diese Geräte erscheinen nach dem Import in TapHome.
Intesis DALIModul
Serviceaktionen
Alle — Ein
Sendet 100 % Arc Power per Broadcast an jedes Vorschaltgerät auf der DALI-Linie — Panic-On oder Morgenvorgabe in einem Modbus-Schreibvorgang
Alle — Aus
Sendet 0 % Arc Power per Broadcast an jedes Vorschaltgerät auf der DALI-Linie — Panic-Off oder Reinigungsvorgabe in einem Modbus-Schreibvorgang
Alle — Power-on Level setzen
Sendet einen neuen Power-on Level (0–100 %) per Broadcast an jedes Vorschaltgerät — den Level, auf den sie nach DALI-Bus-Einschaltung zurückkehren
Alle — System-failure Level setzen
Sendet einen neuen System-failure Level (0–100 %) per Broadcast an jedes Vorschaltgerät — den Level, den sie bei DALI-Busausfall einnehmen
Einzelnes DALI-Vorschaltgerät an Kurzadresse 0 — Dimmer mit Aktuell-Level-Rückmeldung, Vorschaltgerät-/Lampenfehlerstatus, Arc-Power-Schreibzugriff sowie Fade Time/Rate und Power-on / System-failure Level Konfiguration pro ECG
Register: H:6 → H:15UInt16Einheit: %numeric
Serviceattribute
Haupt-Gerätetyp
DALI-Gerätetyp — Fluorescent (0), Emergency (1), Discharge (2), Halogen (3), Incandescent (4), Digital signal (5), LED (6), Switching (7) oder Colour Control (8)
Power-on Level
Level (0–100 %), auf den das Vorschaltgerät nach DALI-Bus-Einschaltung zurückkehrt
System-failure Level
Level (0–100 %), den das Vorschaltgerät bei DALI-Busausfall einnimmt
Fade Time
DALI-Fade-Time-Index (0–15) — Zeit zum Erreichen eines Zielwerts bei direkten Arc-Power-Schreibvorgängen
Fade Rate
DALI-Fade-Rate-Index (1–15) — Geschwindigkeit der Step-up-/Step-down-Befehle
Serviceaktionen
Power-on Level setzen
Schreibt einen neuen Power-on Level (0–100 %) in dieses ECG
System-failure Level setzen
Schreibt einen neuen System-failure Level (0–100 %) in dieses ECG
Fade Time setzen
Schreibt einen neuen DALI-Fade-Time-Index (0–15) in dieses ECG
Fade Rate setzen
Schreibt einen neuen DALI-Fade-Rate-Index (1–15) in dieses ECG
Zur DALI-Gruppe hinzufügen
Weist dieses ECG einer DALI-Gruppe (0–15) zu, damit es über den Broadcast-Dimmer der Gruppe adressiert werden kann
Aus DALI-Gruppe entfernen
Entfernt dieses ECG aus der angegebenen DALI-Gruppe (0–15)
ECG 0
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 1DimmerLesen und Schreiben
Register: H:106 → H:115UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 1
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 2DimmerLesen und Schreiben
Register: H:206 → H:215UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 2
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 3DimmerLesen und Schreiben
Register: H:306 → H:315UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 3
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 4DimmerLesen und Schreiben
Register: H:406 → H:415UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 4
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 5DimmerLesen und Schreiben
Register: H:506 → H:515UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 5
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 6DimmerLesen und Schreiben
Register: H:606 → H:615UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 6
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 7DimmerLesen und Schreiben
Register: H:706 → H:715UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 7
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 8DimmerLesen und Schreiben
Register: H:806 → H:815UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 8
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 9DimmerLesen und Schreiben
Register: H:906 → H:915UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 9
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 10DimmerLesen und Schreiben
Register: H:1006 → H:1015UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 10
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 11DimmerLesen und Schreiben
Register: H:1106 → H:1115UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 11
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 12DimmerLesen und Schreiben
Register: H:1206 → H:1215UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 12
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 13DimmerLesen und Schreiben
Register: H:1306 → H:1315UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 13
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 14DimmerLesen und Schreiben
Register: H:1406 → H:1415UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 14
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 15DimmerLesen und Schreiben
Register: H:1506 → H:1515UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 15
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 16DimmerLesen und Schreiben
Register: H:1606 → H:1615UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 16
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 17DimmerLesen und Schreiben
Register: H:1706 → H:1715UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 17
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 18DimmerLesen und Schreiben
Register: H:1806 → H:1815UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 18
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 19DimmerLesen und Schreiben
Register: H:1906 → H:1915UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 19
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 20DimmerLesen und Schreiben
Register: H:2006 → H:2015UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 20
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 21DimmerLesen und Schreiben
Register: H:2106 → H:2115UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 21
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 22DimmerLesen und Schreiben
Register: H:2206 → H:2215UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 22
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 23DimmerLesen und Schreiben
Register: H:2306 → H:2315UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 23
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 24DimmerLesen und Schreiben
Register: H:2406 → H:2415UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 24
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 25DimmerLesen und Schreiben
Register: H:2506 → H:2515UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 25
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 26DimmerLesen und Schreiben
Register: H:2606 → H:2615UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 26
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 27DimmerLesen und Schreiben
Register: H:2706 → H:2715UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 27
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 28DimmerLesen und Schreiben
Register: H:2806 → H:2815UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 28
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 29DimmerLesen und Schreiben
Register: H:2906 → H:2915UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 29
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 30DimmerLesen und Schreiben
Register: H:3006 → H:3015UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 30
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 31DimmerLesen und Schreiben
Register: H:3106 → H:3115UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 31
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 32DimmerLesen und Schreiben
Register: H:3206 → H:3215UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 32
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 33DimmerLesen und Schreiben
Register: H:3306 → H:3315UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 33
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 34DimmerLesen und Schreiben
Register: H:3406 → H:3415UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 34
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 35DimmerLesen und Schreiben
Register: H:3506 → H:3515UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 35
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 36DimmerLesen und Schreiben
Register: H:3606 → H:3615UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 36
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 37DimmerLesen und Schreiben
Register: H:3706 → H:3715UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 37
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 38DimmerLesen und Schreiben
Register: H:3806 → H:3815UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 38
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 39DimmerLesen und Schreiben
Register: H:3906 → H:3915UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 39
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 40DimmerLesen und Schreiben
Register: H:4006 → H:4015UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 40
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 41DimmerLesen und Schreiben
Register: H:4106 → H:4115UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 41
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 42DimmerLesen und Schreiben
Register: H:4206 → H:4215UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 42
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 43DimmerLesen und Schreiben
Register: H:4306 → H:4315UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 43
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 44DimmerLesen und Schreiben
Register: H:4406 → H:4415UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 44
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 45DimmerLesen und Schreiben
Register: H:4506 → H:4515UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 45
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 46DimmerLesen und Schreiben
Register: H:4606 → H:4615UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 46
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 47DimmerLesen und Schreiben
Register: H:4706 → H:4715UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 47
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 48DimmerLesen und Schreiben
Register: H:4806 → H:4815UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 48
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 49DimmerLesen und Schreiben
Register: H:4906 → H:4915UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 49
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 50DimmerLesen und Schreiben
Register: H:5006 → H:5015UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 50
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 51DimmerLesen und Schreiben
Register: H:5106 → H:5115UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 51
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 52DimmerLesen und Schreiben
Register: H:5206 → H:5215UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 52
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 53DimmerLesen und Schreiben
Register: H:5306 → H:5315UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 53
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 54DimmerLesen und Schreiben
Register: H:5406 → H:5415UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 54
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 55DimmerLesen und Schreiben
Register: H:5506 → H:5515UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 55
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 56DimmerLesen und Schreiben
Register: H:5606 → H:5615UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 56
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 57DimmerLesen und Schreiben
Register: H:5706 → H:5715UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 57
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 58DimmerLesen und Schreiben
Register: H:5806 → H:5815UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 58
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 59DimmerLesen und Schreiben
Register: H:5906 → H:5915UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 59
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 60DimmerLesen und Schreiben
Register: H:6006 → H:6015UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 60
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 61DimmerLesen und Schreiben
Register: H:6106 → H:6115UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 61
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 62DimmerLesen und Schreiben
Register: H:6206 → H:6215UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 62
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
ECG 63DimmerLesen und Schreiben
Register: H:6306 → H:6315UInt16Einheit: %numeric
Serviceattribute
Main Device Type
Power On Level [%]
System Failure Level [%]
Fade Time
Fade Rate
Serviceaktionen
Set Power-on Level
Set System-failure Level
Set Fade Time
Set Fade Rate
Add to DALI Group
Remove from DALI Group
ECG 63
Lesen (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"));
Initialisierung
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);
Level lesen
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
Level schreiben
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);
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);
Serviceaktionen
Set Power-on Level
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: 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
Parameter: Group (0–15 GR)
var base := base_modifier + (100 * SA);
modbusw(H, base + 30, uint16, GR);
modbusw(H, base + 4, uint16, 1);
DALI-Gruppe 0DimmerLesen und Schreiben
Write-only-Broadcast-Dimmer für alle ECGs, die der DALI-Gruppe 0 zugewiesen sind — keine Leserückmeldung, TapHome verfolgt den Level nur aus Benutzereingaben
UInt16Einheit: %numeric
DALI-Gruppe 0
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 1DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 1
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 2DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 2
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 3DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 3
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 4DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 4
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 5DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 5
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 6DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 6
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 7DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 7
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 8DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 8
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 9DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 9
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 10DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 10
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 11DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 11
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 12DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 12
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 13DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 13
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 14DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 14
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
DALI-Gruppe 15DimmerLesen und Schreiben
UInt16Einheit: %numeric
DALI-Gruppe 15
Level schreiben
if !isnull(Le)
modbusw(H, (20 * GA) + 6400 + base_modifier, uint16, Le * 100);
end
H:6800Broadcast 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:6802Broadcast 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:6803Broadcast Recall Min Level — Write 1 → every ballast jumps to its individually configured Min Level
H:6804Broadcast Recall Max Level — Write 1 → every ballast jumps to its individually configured Max Level
H:6805Broadcast 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:6806Broadcast Store Current Level as Scene — Write 0–15 to save the current arc power level of every ballast into the selected scene slot
H:6807Broadcast Clear/Remove Scene — Write 0–15 to erase the selected scene on every ballast
H:6808Broadcast 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:6809Broadcast Set Fade Rate — Write 1–15 to apply the same fade-rate index to every ballast
H:6810Broadcast Set Min Level — Write 0–100 % to set the same minimum dim level on every ballast
H:6811Broadcast Set Max Level — Write 0–100 % to set the same maximum dim level on every ballast
H:SA+8Physical Minimum Level (per ECG) — Hardware-defined minimum dim level per ballast (distinct from user-settable Min Level at +9); read-only
H:SA+16Arc 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+17Step Down/Up (per ECG) — 0 = Step Down, 1 = Step Up — relative dimming per ballast using the stored fade-rate
H:SA+18Recall Min Level (per ECG) — Write 1 → this ECG jumps to its Min Level
H:SA+19Recall Max Level (per ECG) — Write 1 → this ECG jumps to its Max Level
H:SA+20Go to Scene (per ECG) — 0–15 scene recall per ballast
H:SA+21Store Current Level as Scene (per ECG) — 0–15 scene save per ballast
H:SA+22Clear/Remove Scene (per ECG) — 0–15 scene clear per ballast
H:SA+25Set 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+26Set Max Level (per ECG) — 0–100 %; mirror of the above for maxLevel
H:SA+31Multicontrol (per ECG) — Compound write (see Broadcast Multicontrol for encoding) — advanced single-register scripting entry-point per ECG
H:6401+20*GRGroup 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*GRGroup Step Down/Up — Relative dim per group
H:6403+20*GRGroup Recall Min Level
H:6404+20*GRGroup Recall Max Level
H:6405+20*GRGroup Go to Scene — 0–15
H:6406+20*GRGroup Store Current Level as Scene — 0–15
H:6407+20*GRGroup Clear/Remove Scene — 0–15
H:6408+20*GRGroup Set Fade Time — 0–15
H:6409+20*GRGroup Set Fade Rate — 1–15
H:6410+20*GRGroup Set Min Level — 0–100 %
H:6411+20*GRGroup Set Max Level — 0–100 %
H:6412+20*GRGroup Set Power-on Level — 0–100 %
H:6413+20*GRGroup Set System-failure Level — 0–100 %
H:SA+42..+73Emergency 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..+93LED 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*SIGDALI 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
Importparameter
Diese Werte geben Sie beim Import des XML ein.
In der App abgefragt
Standard
Slave Id
1
IP address
192.168.1.0
Quellen
Intesis Modbus Server – DALI User Manual (r1.5, 2024)
Die WhatsApp-Nachricht wurde nicht innerhalb von 60 Minuten gesendet.
✓
Die Anfrage ist beim Support
Beta · TapHome 2026.1
Wir suchen Tester für die neue Version
Sie gehören zu den ersten Partnern, die 2026.1 bei Kunden einsetzen können. Den Umstieg übernimmt der Support-Assistent per WhatsApp oder E-Mail — mit Prüfung der Einheit und Sicherung vor der Änderung.
Testen Sie 2026.1 vor allen anderen. Den Umstieg übernimmt der Support-Assistent per WhatsApp oder E-Mail — mit Prüfung der Einheit und Sicherung vor der Änderung.