-
Notifications
You must be signed in to change notification settings - Fork 4
Westaflex WAC Treiber
Für unseren Modbus-fähigen Wohnungslüftungs-Zentralgeräte (Temperatur und Feuchte) steht eine netzwerkfähige Raumbedieneinheit zur Verfügung. Das WAC-Gerät erfasst beispielsweise die Zimmertemperatur und Feuchtigkeit durch integrierte Fühler und ein externer Temperatureingang kann für die Erfassung einer zusätzlichen Temperatur verwendet werden. Das Raumbediengerät (iPhone, Android Client) kann über eine galvanisch getrennte RS485-Kommunikationsschnittstelle (Modbus RTU) mit dem openHAB System verbunden werden. In der SHK Industrie hat sich das bereits seit 1979 bekannte Modbus-Protokoll deshalb zu einem De-Facto-Standard entwickelt, da es sich um ein offenes Protokoll handelt. Es wird keine Binärfolge, sondern ASCII-Code übertragen, die direkt klarschriftlich lesbar ist. Es gibt prinzipiell zwei Ausführungen: Eine über die serielle Schnittstelle (asynchrone Übertragung nach EIA-232 oder EIA-485) und eine für das Ethernet. Bei unseren WAC Zentralgeräten kommt nur die EIA-485 Ausführung alias RS-485 zum Einsatz.
Das serielle MODBUS Protokoll ist ein Master - Slave Protokoll. Immer nur ein Master ist mit ein oder mehreren Slaves ( maximal 247 ) an den gleichen seriellen Bus angeschlossen. Der Master selbst hat keine bestimmte Adresse. Nur Slaves müssen an diesem seriellen Bus eine eindeutige Adresse haben. Der Master spricht gezielt einen Slave an, indem er die Adresse dieses Slaves einer PDU voranstellt. Ebenso sendet der Slave seine Adresse in der Rückmeldung an den Master, um den Absender der Nachricht anzuzeigen. Im RTU-Modus steht am Telegrammende ein Prüfsummenfeld, das anhand der "Cyclical Redundancy Checking ( CRC )-Methode" über den Inhalt der Nachricht ermittelt wird. Wenn die beiden Werte nicht gleich sind, führt das zu einer Fehlermeldung. Das Telemetrie-Protokoll Modbus RTU arbeitet auf Anfrage-Antwort-Basis und bietet verschiedene Dienste, die durch Funktions-Codes spezifiziert werden. Hat der Server (Arduino oder Varianten, wie Rasberry PI) den Lesebefehl korrekt empfangen, dann werden die gewünschten Eingangsdaten im Response-Telegramm an den Client übertragen. Grundsätzlich liegen dabei die Buszykluszeiten erheblich über dem KNX/EIB Feldbus-Klassiker. Insofern kann unsere E/A-Lösung mit ModbusRTU als erheblich leistungsfähiger angesehen werden. Im ASCII-Modus beginnen Nachrichten mit einem vorangestellten Doppelpunkt, das Ende der Nachricht wird durch den Zeilenumbruch markiert.
Das Datenmodell ist einfach strukturiert und unterscheidet 4 Grundtypen: Discrete Inputs (Eingänge), Coils (Ausgänge), Input Register (Eingangsdaten) und Holding Register (Ausgangsdaten). Unser Definition enthält folgende Bestandteile: Geräteadresse: 1 Byte, dann Function Code: 1 Byte. Mit diesem Function Code wird festgelegt, welche Operation auf Grund eines Requests durch den Arduino Server ausgeführt werden soll, sowie letztendlich für die Datensicherung mit CRC: 2 Bytes. Jeder Busteilnehmer besitzt eine eindeutige Adresse, wobei die Adresse 0 für einen Broadcast reserviert ist.
Kennzeichnung | Modbus Variable | Datenadresse | Werte |
---|---|---|---|
Frostschutz | 01h_Read_Coils | 0 | 1-aktiv, 0-passiv |
Frostschutzfunktion des Plattenwärmetauschers | |||
Feuer | 01h_Read_Coils | 1 | 1-aktiv, 0-passiv |
Überhitzungsalarm Anzeige | |||
Filtertausch | 01h_Read_Coils | 2 | 1-aktiv, 0-passiv |
Filter verschmutzt, Austausch Signal | |||
Ventilation | 01h_Read_Coils | 3 | 1-aktiv, 0-passiv |
Lüfteralarm Fehlfunktions-Anzeige | |||
Spannung | 01h_Read_Coils | 5 | 1-aktiv, 0-passiv |
Niedrige Stromspannung Hinweis | |||
Temperatur | 01h_Read_Coils | 6 | 1-aktiv, 0-passiv |
Sensor Temperatur Alarmmeldung | |||
Abluftwärme | 01h_Read_Coils | 7 | 1-aktiv, 0-passiv |
Hinweisgeber zur Abluft-Temperatur | |||
Zuluftwärme | 01h_Read_Coils | 8 | 1-aktiv, 0-passiv |
Hinweissignal des Zuluft-Temperatursensors | |||
Feuchtigkeit | 01h_Read_Coils | 9 | 1-aktiv, 0-passiv |
DTJ(100) Feuchtigkeits-Alarm (Sensormeldung ab einer Sättigung von 70%) | |||
Wasserrücklauf | 01h_Read_Coils | 10 | 1-aktiv, 0-passiv |
Wassertemperatur-Sensor im Rücklauf | |||
Außentemperatur | 01h_Read_Coils | 11 | 1-aktiv, 0-passiv |
Außentemperaturfühler mit Alarm (Geräteabschaltung bei Temperaturen unter dem Gefrierpunkt) | |||
Lüfterstatus | 01h_Read_Coils | 12 | 1-aktiv, 0-passiv |
Lüftermotoren Status eingeschaltet | |||
Klappenantrieb Status | 04h_Read_Input | 13 | 0-90 |
Antrieb und Status der Außenluftklappe | |||
Vorheizregister | 01h_Read_Coils | 14 | 1-aktiv, 0-passiv |
Anzeige vom Status des Vorheizregisters | |||
Heizelement | 01h_Read_Coils | 15 | 1-aktiv, 0-passiv |
Monitor zur Heizleistung | |||
Geschwindigkeit | 06h_Write_Holding_Register | 16 | 0, 1, 2, 3 |
Einstellbereich der Lüfter-Geschwindigkeit | |||
Zuluft-Temperatur | 06h_Write_Holding_Register | 17 | 0-30 |
Einstellbereich der Zuluft-Temperatur | |||
Feuchtigkeitssensor | 04h_Read_Input | 18 | 0-99 |
DTJ(100) Wertebereich des Feuchtigkeitssensors | |||
Zuluft-Motor | 04h_Read_Input | 19 | 0-3 |
Geschwindigkeit des Zuluft-Motors | |||
Abluft-Motor | 04h_Read_Input | 20 | 0-3 |
Geschwindigkeit des Abluft-Motors | |||
Temperatur-Anzeige | 04h_Read_Input | 21 | Hex: E0 |
Anzeige der Temperatursensoren Zuluftstrecke | |||
Temperatursensor | 04h_Read_Input | 22 | Hex: E0 |
DTJ(100) Anzeige des Temperatur Wertebereiches | |||
Abluft-Temperatur | 04h_Read_Input | 23 | Hex: E0 |
Wert des Abluft-Temperatursensors | |||
Außenluft-Sensor | 04h_Read_Input | 24 | Hex: FFEC |
Anzeige und Wertebereich des Außenluft-Temperatursensors | |||
Kondensat | 04h_Read_Input | 25 | Hex: FFEC |
Anzeige der Kondensattemperatur |
die klassische Modbus-RTU (asynchrone Übertragung über RS-232 oder RS-485)
modbus_t *mb;
uint16_t tab_reg[32];
mb = modbus_new_tcp("127.0.0.1", 1502); modbus_connect(mb);
/* Read 5 registers from the address 0 */ modbus_read_registers(mb, 0, 5, tab_reg);
modbus_close(mb); modbus_free(mb);
Auf der WAC Steuerungsplatine befinden sich zwei Dip-Switches für die Terminierungswiderstände. Bei Anschluss eines Modbus-Gerätes soltten beide auf ON eingestellt sein. Achtung: vor Öffnen der Gehäuseklappe das WAC Geräte komplett vom Stromnetz trennen. Inspiration gefällig?! →Original Westaflex Apps...
Installation
Community
- Support
- News Archive
- Presentations
- How to Contribute
- IDE Setup
- How to Implement a Binding
- How to Implement an Action
- Projects using openHAB
- User Interfaces
- Classic UI
- iOS Client
- Android Client
- GreenT UI
- CometVisu
- Bindings
- Asterisk Binding
- Astro Binding
- Bluetooth Binding
- Comfo Air Binding
- CUL Binding
- CUPS Binding
- digitalSTROM Binding
- DMX512 Binding
- EnOcean Binding
- Epson Projector Binding
- Exec Binding
- Fritz!Box Binding
- Fritz AHA Binding
- GPIO Binding
- HDAnywhere binding
- Heatmiser Binding
- Homematic Binding
- HTTP Binding
- IHC / ELKO Binding
- Insteon Hub Binding
- Insteon PLM Binding
- Ir-Trans Binding
- KNX Binding
- Koubachi Binding
- MAX!Cube-Binding
- MiLight Binding
- Modbus TCP Binding
- MPD Binding
- MQTT Binding
- MQTTitude binding
- Neohub Binding (Preview)
- Netatmo Binding
- Network Health Binding
- Nibe Heatpump Binding
- Nikobus Binding
- Novelan/Luxtronic Heatpump Binding
- NTP Binding
- One-Wire Binding
- Onkyo AV Receiver Binding
- Open Energy Monitor Binding
- OpenPaths presence detection binding
- OpenSprinkler Binding
- OSGi Configuration Admin Binding
- Philips Hue Binding
- Piface Binding
- Pioneer-AVR-Binding
- Plugwise Binding
- PLCBus Binding
- Pulseaudio Binding
- RFXCOM Binding
- Samsung TV Binding
- Serial Binding
- Snmp Binding
- Squeezebox Binding
- System Info Binding
- Somfy URTSI II Binding
- Sonos Binding
- Swegon ventilation Binding
- TCP/UDP Binding
- Tellstick Binding
- TinkerForge Binding
- VDR Binding
- Velleman-K8055-Binding
- Wake-on-LAN Binding
- Withings Binding
- XBMC Binding
- xPL Binding
- Z-Wave Binding
- Persistence
- db4o Persistence
- rrd4j Persistence
- MySQL Persistence
- MongoDB Persistence
- Sen.Se Persistence
- Cosm Persistence
- Logging Persistence
- Exec Persistence
- MQTT Persistence
- Automation
- Scripts
- Rules
- Actions
- Misc
- REST-API
- Security
- Google Calendar Support
- Twitter Action
- Service Discovery
- Dropbox Bundle
Samples
- Item definitions
- Sitemap definitions
- Binding configurations
- Rules
- REST Examples
- Tips & Tricks
- FAQ
- XSLT Transforms
- Scripts
- Integration with other applications
- Syntax highlighting for external editors
- Update-Scripts
- Samples-Comfo-Air-Binding
- Samples WAC Binding
Release Notes