Blauberg zentrale Lüftungsanlage mit S21 Steuerung via Modbus TCP (WLAN)

Begonnen von aaameyer, 30 November 2025, 22:55:36

Vorheriges Thema - Nächstes Thema

aaameyer

Für alle die vor einer ähnlichen Herausforderung stehen, möchte ich folgende Codeschnipsel teilen, da nur so eine Open Source Community leben kann:
Blauberg zentrale Lüftungsanlage mit S21 Steuerung via Modbus TCP (WLAN)
define Blauberg_S21 ModbusAttr 1 220 192.168.6.62:502 TCP
attr Blauberg_S21 dev-h-defPoll 1
attr Blauberg_S21 dev-i-defPoll 1
attr Blauberg_S21 dev-c-defPoll 1
attr Blauberg_S21 dev-d-defPoll 1
attr Blauberg_S21 event-on-change-reading .*Temperatur:0.5,Abluft_Luftfeuchte:2,.*RPM:10
attr Blauberg_S21 silentReconnect 1
attr Blauberg_S21 verbose 2

attr Blauberg_S21 dev-type-Temperature-format %.1f °C
attr Blauberg_S21 dev-type-Temperature-expr $val/10
attr Blauberg_S21 dev-type-Humidity-format %d %%

attr Blauberg_S21 obj-h2-reading Fanstage
attr Blauberg_S21 obj-h2-set 1
attr Blauberg_S21 obj-h2-max 3
attr Blauberg_S21 obj-h2-min 1
attr Blauberg_S21 obj-h2-hint 1,2,3

attr Blauberg_S21 obj-h43-reading Betriebsmodus
attr Blauberg_S21 obj-h43-map 0:nur Lüftung, 1:Heizung, 2:Kühlung, 3:Auto
attr Blauberg_S21 obj-h58-reading Filterwechselintervall
attr Blauberg_S21 obj-h58-hint 0,365
attr Blauberg_S21 obj-h58-format %d Tage

attr Blauberg_S21 obj-i1-reading Zuluft_Eingang_Temperatur
attr Blauberg_S21 obj-i1-type Temperature
attr Blauberg_S21 obj-i2-reading Zuluft_Ausgang_Temperatur
attr Blauberg_S21 obj-i2-type Temperature
attr Blauberg_S21 obj-i3-reading Abluft_Eingang_Temperatur
attr Blauberg_S21 obj-i3-type Temperature
attr Blauberg_S21 obj-i4-reading Abluft_Ausgang_Temperatur
attr Blauberg_S21 obj-i4-type Temperature
attr Blauberg_S21 obj-i10-reading Abluft_Luftfeuchte
attr Blauberg_S21 obj-i10-type Humidity
attr Blauberg_S21 obj-i23-reading Zuluft_RPM
attr Blauberg_S21 obj-i24-reading Abluft_RPM

attr Blauberg_S21 obj-i30-reading Gesamte_Motorzeit_Tage
attr Blauberg_S21 obj-i31-reading Filterstatus
attr Blauberg_S21 obj-i31-map 0:sauber, 1:der Zuluftfilter ist verstopft, 2:der Abluftfilter ist verstopft, 3:beide Filter sind verstopft oder Auslösen des Filterwechsel-Timer
attr Blauberg_S21 obj-i38-reading Alarm
attr Blauberg_S21 obj-i38-map 0:keiner, 1:Alarm, 2:Warnung
attr Blauberg_S21 obj-i51-reading Bypass_Status
attr Blauberg_S21 obj-i51-type Humidity

attr Blauberg_S21 obj-c0-reading Hauptschalter
attr Blauberg_S21 obj-c0-map 0:aus, 1:ein
attr Blauberg_S21 obj-c1-reading Timermodus
attr Blauberg_S21 obj-c1-map 0:aus, 1:ein
attr Blauberg_S21 obj-c1-set 1
attr Blauberg_S21 obj-c2-reading Zeitplanmodus
attr Blauberg_S21 obj-c2-map 0:aus, 1:ein
attr Blauberg_S21 obj-c2-set 1
attr Blauberg_S21 obj-c3-reading Boostmodus
attr Blauberg_S21 obj-c3-map 0:aus, 1:ein
attr Blauberg_S21 obj-c3-set 1

attr Blauberg_S21 obj-d10-reading Vorheizregister_Status_Thermostat
attr Blauberg_S21 obj-d10-map 0:aus, 1:ein

#attr Blauberg_S21 obj-d19-reading Alarm-Code-Nr_0
#attr Blauberg_S21 obj-d19-map 0:aus, 1:Alarm! Fehlfunktion des Zuluftventilators. Wird abhängig von der Konfiguration bestimmt. Über die Drehzahl: wenn die Drehzahl des Zuluftventilators 30 Sekunden lang unter 300 U/Min lag. Über den diskreten Eingang: wenn der diskrete Eingang (ТАНО М1) 30 Sekunden lang geöffnet war vorausgesetzt dass der Zuluftventilator läuft.
#attr Blauberg_S21 obj-d20-reading Alarm-Code-Nr_1
#attr Blauberg_S21 obj-d20-map 0:aus, 1:Alarm! Fehlfunktion des Abluftventilators. Wird abhängig von der Konfiguration bestimmt. Über die Drehzahl: wenn die Drehzahl des Abluftventilators 30 Sekunden lang unter 300 U/Min lag. Über den diskreten Eingang: wenn der diskrete Eingang (ТАНО М1) 30 Sekunden lang geöffnet war vorausgesetzt dass der Abluftventilator läuft.
#attr Blauberg_S21 obj-d21-reading Alarm-Code-Nr_2
#attr Blauberg_S21 obj-d21-map 0:aus, 1:Alarm! Der Außenlufttemperatursensor wurde nicht gefunden. Fehler wird festgestellt wenn der Frostschutz des Wärmetauschers aktiv ist oder die Lüftungsanlage mit einem Bypass einem Rotationswärmetauscher einer Kälteanlage oder einem Warmwasser-Heizregister ausgestattet ist.
#attr Blauberg_S21 obj-d22-reading Alarm-Code-Nr_3
#attr Blauberg_S21 obj-d22-map 0:aus, 1:Alarm! Kurzschluss des Außenlufttemperatursensors. Fehler wird festgestellt wenn der Frostschutz des Wärmetauschers aktiv ist oder die Lüftungsanlage mit einem Bypass einem Rotationswärmetauscher einer Kälteanlage oder einem Warmwasser-Heizregister ausgestattet ist.
#attr Blauberg_S21 obj-d23-reading Alarm-Code-Nr_4
#attr Blauberg_S21 obj-d23-map 0:aus, 1:Alarm! Der Zulufttemperatursensor wurde nicht gefunden. Fehler wird bei jeder Konfiguration der Anlage festgestellt.
#attr Blauberg_S21 obj-d24-reading Alarm-Code-Nr_5
#attr Blauberg_S21 obj-d24-map 0:aus, 1:Alarm! Kurzschluss des Zulufttemperatursensors. Fehler wird bei jeder Konfiguration der Anlage festgestellt.
#attr Blauberg_S21 obj-d25-reading Alarm-Code-Nr_6
#attr Blauberg_S21 obj-d25-map 0:aus, 1:Alarm! Der Ablufttemperatursensor wurde nicht gefunden. Fehler wird festgestellt wenn der Ablufttemperatursensor als Hauptsensor für die Temperaturregelung ausgewählt ist vorausgesetzt das Nachheizregister oder die Kälteanlage ist aktiviert. Der Fehler wird auch dann festgestellt wenn der Bypass oder Rotationswärmetauscher aktiviert ist unabhängig davon welcher Sensor für die Temperaturregelung ausgewählt ist.
#attr Blauberg_S21 obj-d26-reading Alarm-Code-Nr_7
#attr Blauberg_S21 obj-d26-map 0:aus, 1:Alarm! Kurzschluss des Ablufttemperatursensors. Fehler wird festgestellt wenn der Ablufttemperatursensor als Hauptsensor für die Temperaturregelung ausgewählt ist vorausgesetzt das Nachheizregister oder die Kälteanlage ist aktiviert. Der Fehler wird auch dann festgestellt wenn der Bypass oder Rotationswärmetauscher aktiviert ist unabhängig davon welcher Sensor für die Temperaturregelung ausgewählt ist.
#attr Blauberg_S21 obj-d27-reading Alarm-Code-Nr_8
#attr Blauberg_S21 obj-d27-map 0:aus, 1:Alarm! Der Fortlufttemperatursensor wurde nicht gefunden. Fehler wird festgestellt wenn der Frostschutz des Wärmetauschers aktiv ist.
#attr Blauberg_S21 obj-d28-reading Alarm-Code-Nr_9
#attr Blauberg_S21 obj-d28-map 0:aus, 1:Alarm! Kurzschluss des Fortlufttemperatursensors. Fehler wird festgestellt wenn der Frostschutz des Wärmetauschers aktiv ist.
#attr Blauberg_S21 obj-d29-reading Alarm-Code-Nr_10
#attr Blauberg_S21 obj-d29-map 0:aus, 1:Alarm! Thermoschalter des Vorheizregisters wurde ausgelöst. Fehler wird festgestellt wenn das Vorheizregister ausgewählt wurde um den Wärmetauscher vor Frost zu schützen und der diskrete Eingang (NKP IN) geöffnet ist.
#attr Blauberg_S21 obj-d30-reading Alarm-Code-Nr_11
#attr Blauberg_S21 obj-d30-map 0:aus, 1:Alarm! Thermoschalter des Nachheizregisters wurde ausgelöst. Fehler wird festgestellt wenn das Elektro- oder Warmwasser-Nachheizregister aktiviert ist und der diskrete Eingang (NKD IN) geöffnet ist.
#attr Blauberg_S21 obj-d31-reading Alarm-Code-Nr_12
#attr Blauberg_S21 obj-d31-map 0:aus, 1:Alarm! Vorheizung reicht nicht für den Frostschutz des Wärmetauschers aus. Fehler wird festgestellt wenn das Vorheizregister ausgewählt wurde um den Wärmetauscher vor Frost zu schützen und die Frostwarnung 30 Minuten lang aktiv war.
#attr Blauberg_S21 obj-d32-reading Alarm-Code-Nr_13
#attr Blauberg_S21 obj-d32-map 0:aus, 1:Warnung! Der Feuchtesensor wurde nicht gefunden. Fehler wird festgestellt wenn der Feuchtesensor aktiviert ist und dessen Signalwert 0 ist.
#attr Blauberg_S21 obj-d33-reading Alarm-Code-Nr_14
#attr Blauberg_S21 obj-d33-map 0:aus, 1:Warnung! Der CO2-Sensor wurde nicht gefunden. Fehler wird festgestellt wenn der CO2-Sensor aktiviert ist und dessen Signalwert 0 ist.
#attr Blauberg_S21 obj-d34-reading Alarm-Code-Nr_15
#attr Blauberg_S21 obj-d34-map 0:aus, 1:Warnung! Der PM2.5-Sensor wurde nicht gefunden. Fehler wird festgestellt wenn der PM2.5-Sensor aktiviert ist und dessen Signalwert 0 ist.
#attr Blauberg_S21 obj-d35-reading Alarm-Code-Nr_16
#attr Blauberg_S21 obj-d35-map 0:aus, 1:Warnung! Der VOC-Sensor wurde nicht gefunden. Fehler wird festgestellt wenn der VOC-Sensor aktiviert ist und dessen Signalwert 0 ist.
#attr Blauberg_S21 obj-d36-reading Alarm-Code-Nr_17
#attr Blauberg_S21 obj-d36-map 0:aus, 1:Warnung! Der externe Feuchtesensor wurde nicht gefunden. Fehler wird festgestellt wenn der externe Feuchtesensor aktiviert ist und 20 Sekunden lang keine Rückmeldung an die Steuereinheit gesendet hat.
#attr Blauberg_S21 obj-d37-reading Alarm-Code-Nr_18
#attr Blauberg_S21 obj-d37-map 0:aus, 1:Warnung! Der externe CO2-Sensor wurde nicht gefunden. Fehler wird festgestellt wenn der externe CO₂-Sensor aktiviert ist und 20 Sekunden lang keine Rückmeldung an die Steuereinheit gesendet hat.
#attr Blauberg_S21 obj-d38-reading Alarm-Code-Nr_19
#attr Blauberg_S21 obj-d38-map 0:aus, 1:Warnung! Der externe PM2.5-Sensor wurde nicht gefunden. Fehler wird festgestellt wenn der externe PM2.5-Sensor aktiviert ist und 20 Sekunden lang keine Rückmeldung an die Steuereinheit gesendet hat.
#attr Blauberg_S21 obj-d39-reading Alarm-Code-Nr_20
#attr Blauberg_S21 obj-d39-map 0:aus, 1:Warnung! Der externe VOC-Sensor wurde nicht gefunden. Fehler wird festgestellt wenn der externe VOC-Sensor aktiviert ist und 20 Sekunden lang keine Rückmeldung an die Steuereinheit gesendet hat.
#attr Blauberg_S21 obj-d40-reading Alarm-Code-Nr_21
#attr Blauberg_S21 obj-d40-map 0:aus, 1:Warnung! Es wurde kein Raumtemperatursensor gefunden. Die Lufttemperatur wird mit dem Temperatursensor im Zuluftkanal nach dem Wärmetauscher gesteuert. Fehler wird festgestellt wenn der Sensor als Hauptsensor ausgewählt wird über den die Temperatursteuerung ausgeführt wird vorausgesetzt dass das Nachheizregister der Bypass der Rotationswärmetauscher oder die Kälteanlage aktiviert ist und 20 Sekunden lang keine Informationen von diesem Sensor vom Bedienfeld an die Steuereinheit übertragen wurden.
#attr Blauberg_S21 obj-d41-reading Alarm-Code-Nr_22
#attr Blauberg_S21 obj-d41-map 0:aus, 1:Warnung! Vereisungsgefahr des Wärmetauschers. Fehler wird festgestellt wenn der Zuluftventilator aktiviert ist und die Außentemperatur unter -3 °C sinkt und unter -1 °C bleibt und die Ablufttemperatur nach dem Wärmetauscher unter 2 °C gefallen ist und unter 3 °C bleibt.
#attr Blauberg_S21 obj-d42-reading Alarm-Code-Nr_23
#attr Blauberg_S21 obj-d42-map 0:aus, 1:Warnung! Die Batterie ist leer. Der zeitgesteuerte Betrieb funktioniert nicht korrekt. Fehler wird festgestellt wenn keine Batterie erkannt wird oder die Spannung unter 2 V fällt. Die Batteriespannung wird alle 5 Minuten überprüft.
#attr Blauberg_S21 obj-d43-reading Alarm-Code-Nr_24
#attr Blauberg_S21 obj-d43-map 0:aus, 1:Warnung! Zuluftfilter ersetzen. Fehler wird festgestellt wenn der Differenzdruckschalter ausgelöst wird schließt den diskreten Eingang (FILTER (IN SU)).
#attr Blauberg_S21 obj-d44-reading Alarm-Code-Nr_25
#attr Blauberg_S21 obj-d44-map 0:aus, 1:Alarm! Feueralarm aktiviert. Fehler wird festgestellt wenn der Brandmelder ausgelöst wird und der diskrete Eingang (L3) geöffnet ist. Wenn dieser Alarm auftritt schalten sich die Ventilatoren sofort ab und vorherige Befehle das Elektro-Heizregister zu belüften werden aufgehoben.
#attr Blauberg_S21 obj-d45-reading Alarm-Code-Nr_26
#attr Blauberg_S21 obj-d45-map 0:aus, 1:Alarm! Niedrige Zulufttemperatur. Fehler wird festgestellt wenn die minimale Zulufttemperaturregelung aktiviert ist (die Standardeinstellung dieses Sollwerts ist +10 °C einstellbar von +5 °C bis +12 °C) und die Zulufttemperatur 10 Minuten lang unter dem Regelsollwert bleibt während die Kälteanlage ausgeschaltet und der Bypass geschlossen ist.
#attr Blauberg_S21 obj-d46-reading Alarm-Code-Nr_27
#attr Blauberg_S21 obj-d46-map 0:aus, 1:Alarm! Der Rücklaufwassertemperatursensor wurde nicht gefunden. Fehler wird festgestellt wenn das Warmwasser-Heizregister aktiviert ist.
#attr Blauberg_S21 obj-d47-reading Alarm-Code-Nr_28
#attr Blauberg_S21 obj-d47-map 0:aus, 1:eAlarm! Kurzschluss des Rücklaufwassertemperatursensors. Fehler wird festgestellt wenn das Warmwasser-Heizregister aktiviert ist.
#attr Blauberg_S21 obj-d48-reading Alarm-Code-Nr_29
#attr Blauberg_S21 obj-d48-map 0:aus, 1:Warnung! Abluftfilter ersetzen. Fehler wird festgestellt wenn der Differenzdruckschalter ausgelöst wird wodurch der diskrete Eingang geschlossen wird (FILTER (IN EXH)).
#attr Blauberg_S21 obj-d49-reading Alarm-Code-Nr_30
#attr Blauberg_S21 obj-d49-map 0:aus, 1:Alarm! Kein Wasserdruck vorhanden. Fehler wird festgestellt wenn kein Wasserdruck erfasst wird vorausgesetzt das Heizregister und der Wasserdrucksensor sind aktiviert.
#attr Blauberg_S21 obj-d50-reading Alarm-Code-Nr_31
#attr Blauberg_S21 obj-d50-map 0:aus, 1:Alarm! Kein Wasserdurchfluss vorhanden. Fehler wird festgestellt wenn kein Wasserdurchfluss erfasst wird vorausgesetzt das Warmwasser-Heizregister und der Wasserströmungssensor sind aktiviert.
#attr Blauberg_S21 obj-d51-reading Alarm-Code-Nr_32
#attr Blauberg_S21 obj-d51-map 0:aus, 1:Alarm! Die Rücklaufwassertemperatur ist zu niedrig.
#attr Blauberg_S21 obj-d52-reading Alarm-Code-Nr_33
#attr Blauberg_S21 obj-d52-map 0:aus, 1:Alarm! Der Zuluftventilator kann keinen Frostschutz des Wärmetauschers leisten. Fehler wird festgestellt wenn der Zuluftventilator ausgewählt ist um den Wärmetauscher vor Frost zu schützen und die Frostwarnung 30 Minuten lang aktiv war.
#attr Blauberg_S21 obj-d53-reading Alarm-Code-Nr_34
#attr Blauberg_S21 obj-d53-map 0:aus, 1:Alarm! Der Bypass kann keinen Frostschutz des Wärmetauschers leisten. Fehler wird festgestellt wenn der Zuluftventilator ausgewählt ist um den Wärmetauscher vor Frost zu schützen und die Frostwarnung 30 Minuten lang aktiv war.
#attr Blauberg_S21 obj-d54-reading Alarm-Code-Nr_35
#attr Blauberg_S21 obj-d54-map 0:aus, 1:Warnung! Frostschutz ist deaktiviert. Dies kann zu Vereisung des Wärmetauschers führen! Fehler wird festgestellt wenn der Rotationswärmetauscher nicht aktiviert ist und der Frostschutz deaktiviert ist.
#attr Blauberg_S21 obj-d55-reading Alarm-Code-Nr_36
#attr Blauberg_S21 obj-d55-map 0:aus, 1:Warnung! Die Steuerung des Nachheizregisters erfolgt im Handbetrieb.
#attr Blauberg_S21 obj-d56-reading Alarm-Code-Nr_37
#attr Blauberg_S21 obj-d56-map 0:aus, 1:Warnung! Die Steuerung der Kühlanlage erfolgt im Handbetrieb.
#attr Blauberg_S21 obj-d57-reading Alarm-Code-Nr_38
#attr Blauberg_S21 obj-d57-map 0:aus, 1:Warnung! Die Steuerung der Bypassklappe erfolgt im Handbetrieb.
#attr Blauberg_S21 obj-d58-reading Alarm-Code-Nr_39
#attr Blauberg_S21 obj-d58-map 0:aus, 1:Warnung! Die Steuerung des Rotationswärmetauschers erfolgt im Handbetrieb.
#attr Blauberg_S21 obj-d59-reading Alarm-Code-Nr_40
#attr Blauberg_S21 obj-d59-map 0:aus, 1:Warnung! Der Filterwechsel-Timer ist abgelaufen. Wechseln Sie den Filter.
#attr Blauberg_S21 obj-d60-reading Alarm-Code-Nr_41
#attr Blauberg_S21 obj-d60-map 0:aus, 1:Warnung! Fehlfunktion des Rotationswärmetauschers.
#attr Blauberg_S21 obj-d61-reading Alarm-Code-Nr_42
#attr Blauberg_S21 obj-d61-map 0:aus, 1:Warnung! Die Steuerung des Vorheizregisters erfolgt im Handbetrieb.
#attr Blauberg_S21 obj-d62-reading Alarm-Code-Nr_43
#attr Blauberg_S21 obj-d62-map 0:aus, 1:Alarm! Die Rücklaufwassertemperatur hat den Sollwert vor dem Start der Anlage nicht rechtzeitig erreicht.
#attr Blauberg_S21 obj-d63-reading Alarm-Code-Nr_44
#attr Blauberg_S21 obj-d63-map 0:aus, 1:Achtung! Die gewählte Frostschutzart des Wärmetauschers wird auf ,,Zuluftventilator" geändert da das Vorheizregister deaktiviert wurde.
#attr Blauberg_S21 obj-d64-reading Alarm-Code-Nr_45
#attr Blauberg_S21 obj-d64-map 0:aus, 1:Achtung! Der Kamin-Modus ist deaktiviert. Dieser Modus ist nicht mit der gewählten Frostschutzart des Wärmetauschers kompatibel.

attr Blauberg_S21 DbLogInclude .*Temperatur,.*RPM,Abluft_Luftfeuchte
attr Blauberg_S21 webCmd Fanstage:Zeitplanmodus
attr Blauberg_S21 webCmdLabel Lueftungsstufe:Zeitplanmodus
attr Blauberg_S21 stateFormat Hauptschalter
attr Blauberg_S21 group Zentrale Lüftung (KWL)
attr Blauberg_S21 alias Blauberg EC DB350
attr Blauberg_S21 devStateIcon rc_BLANK
Die kompletten Register sind bei Blauberg auf der Homepage zu finden, für mich haben diese aber ausgereicht und man kann sich anhand der Vorlage auch schnell andere Register hinzufügen.
Damit ich mitbekomme, wenn was nicht in Ordnung ist habe ich noch folgende DOIF's definiert:
define Watchdog_Blauberg_S21_doif DOIF ([+00:10] and [?Blauberg_S21:state:sec]>600)\
(set pushMsg message Problem: Blauberg_S21 nicht erreichbar)\
(set sendMail message Subject='Problem: Blauberg_S21' Prüfe ob das Device über WLAN erreichbar ist)\
DOELSE
define Watchdog_Blauberg_S21_Fehler_doif DOIF ([Blauberg_S21:Alarm] != 0)\
(set pushMsg message Problem: Blauberg S21 Fehlercode $EVENT)\
(set sendMail message Subject='Problem: Blauberg S21 Fehlercode' Blauberg S21 Fehlercode $EVENT)\
DOELSE

attr Watchdog_Blauberg_S21_Fehler_doif repeatcmd 17500
attr Watchdog_Blauberg_S21_Fehler_doif repeatsame 10