Drexel & Weiss Device Integration

Hi Community, gladly I give something back to the great Openhab Community. This solution describes the integration of Drexel & Weiss (D&W) devices in to Openhab

Challenge
Do you have a HAVAC device from Drexel & Weiss like…

  • aerosilent exos – Komfortlüftung mit Wärmerückgewinnung
  • aerosilent stratos – Komfortlüftung mit Wärmerückgewinnung
  • aerosilent bianco – Komfortlüftung mit Wärmerückgewinnung
  • x²S Geräteserie – Kompaktgerät – Komfortlüftung mit Sole/Wasser Wärmepumpe
  • x²A9 – Kompaktgerät – Komfortlüftung mit Luft/Wasser Wärmepumpe
  • aerosmart Geräteserie – Frischluftheizung
  • smarterm A9 – Luft/Wasser Wärmepumpe
  • Aeroschool
  • Aerosmart

…which is built after mid 2008 then according to Drexel und Weiss Modbus RTU it should provide a Modbus interface possibility. With some converter and the Modbus binding you should be able to connect your Drexel&Weiss to Openhab.

Then you can control your HAVAC with your mobile phone. Additionally, you can made it smart. Eg. you can measure the Co2 concentration in different rooms (Netatmo indoor modules) and control the ventilation accordingly. This saves energy, as only as much as necessary air is blown in your home. Moreover, it also preserves indoor humidity which is beneficial during the heating season.

At this point you might argue that your comfort ventilation has a built-in Co2 measurement in the exhaust air. Unfortunately, this approach is not so efficient and precise as it measures only the average Co2 of all your rooms. Very often people are concentrated in one room of the house, this scenario needs a higher ventilation to keep the air clean.

For this purpose, I did the integration of our aerosilent stratos comfort ventilation in to Openhab. Here you find my experience. Hopefully beneficial. If yes, please “like” :blush:

Solution Overview


The D&W Device Modbus Signal needs first to be converted from TTL (0/5V) into RS232 (±15V). D&W offers an RS232 Adapter for this purpose. You need only the RS232 Adapter described in cpt 1 “Hardware”. Alternatively, you can also buy any TTL/RS232 Converter and build the adapter on your own, but it needs some electronics experience and special plugs. Anyone wants to know more about that, let me know. From Modbus RS232 the signal needs to be converted into Ethernet. A possible solution is the USR-W610 which has both a LAN and WLAN Interface (less than 30€ at AliExpress). The Modbus Binding makes the connection into Openhab.

Configuration
TTL->RS232
Plug the RS232 Adapter in the D&W mainboard as described in the document. Ensure that D&W device is powerless (remove the fuse!!!). Best hire a professional for this task.

RS232 -> Ethernet
Here a configuration example for the USR-W610
image
image
image
image
Important: Press Apply and then “Restart” to reboot the Device that changes the effect!

Openhab
Install the Modbus Binding in Openhab. The following configuration might be adjusted dependant on the D&W device your integrating. The parameters are usually for all the device the same, but not all devices have all parameters.

Modbus Binding Bridge Definition (Thing File)

//// Drexel & Weiss Aerosilent stratos  Modbus Thing
//Use different refresh intervalls to avoid modbus slave exceptions codes appearing.
//Timeout of Drexel&Weiss Devices is 2600ms. With timeBetweenTranactions>2600ms you are absolutly on save side. With default value 60ms it still works but give sometimes 
//exception code 1&2 and has to try again. Different refresh intervals help then. If you poll every 60000ms make sure. timeBetweenTransactionsMillis=2600 

Bridge modbus:tcp:localhostTCP [ host="192.168.0.29", port=8899, id=1, timeBetweenTransactionsMillis=2600 ] //USR-W610
{  //Drehzahl Zuluft
   //Bridge poller p1184 [ start=1184, length=2, refresh=60000, type="input"] {Thing data r1184 [ readStart="1184", readValueType="int32"]} 
   
   //Aktive Lüfterstufe
   Bridge poller p1066 [ start=1066, length=2, refresh=10000, type="input"] {  Thing data r1066 [ readStart="1066", readValueType="int32"] }  
   
   // Raumluft - for readTransform transformation addon "Javascript" needs 2be installed. Also JS file according to Modbus Binding doc cpt "transformation"
   Bridge poller p200 [start=200, length=2, refresh=60000, type="input"] {Thing data r200 [readStart="200", readValueType="int32", readTransform="JS(divide1000.js)"]}   
   
   //Temperatur Raum Abluft
   Bridge poller p202 [start=202, length=2, refresh=60000, type="input"] {Thing data r202 [readStart="202", readValueType="int32", readTransform="JS(divide1000.js)"]} 
   
   //Gesamte Luftmenge Read every hour
   //Bridge poller p946 [start=946, length=2, refresh=3600000, type="input"] {Thing data r946 [readStart="946", readValueType="int32"]}

   //1084	Soll-Volumenstrom Abluft
   Bridge poller p1084 [start=1084, length=2, refresh=60000, type="input"] {Thing data r1084 [readStart="1084", readValueType="int32"]}

   //1216	Anforderung: Bypassklappe
   Bridge poller p1216 [start=1216, length=2, refresh=60000, type="input"] {Thing data r1216 [readStart="1216", readValueType="int32"]}

   // Betriebsart
   Bridge poller p5002 [ start=5002, length=2, refresh=60000, type="holding" ] 
     {Thing data r5002 [ readStart="5002", readValueType="int32", writeStart="5002", writeValueType="int32", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]}
    
   //Datum
   Bridge poller p5210 [ start=5210, length=2, refresh=60000, type="holding" ] 
     {  Thing data r5210 [ readStart="5210", readValueType="int32", writeStart="5210", writeValueType="int32", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]}  
   
   //Zeit
   Bridge poller p5212 [ start=5212, length=2, refresh=60000, type="holding" ] 
     {  Thing data r5212 [ readStart="5212", readValueType="int32", writeStart="5212", writeValueType="int32", writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]}

}  // End TCP Bridge Definition

Items Definition (Item File)

//// Drexel Weiss Komfortlüftung //////////////////////////////////
//Number        Vent_RotationIn           "Drehzahl Zuluft [%s]"                         <flow>          (gComfortVent)  {channel="modbus:data:localhostTCP:p1184:r1184:number"}
Number        Vent_ALuefterstufe        "Aktive Lüfterstufe [%s]"                      <flow>          (gComfortVent)  {channel="modbus:data:localhostTCP:p1066:r1066:number"}
Number        Vent_RaumluftTemp         "Raumluft [%.1f°C]"                            <temperature>   (gComfortVent)  {channel="modbus:data:localhostTCP:p200:r200:number"}
Number        Vent_AussenluftTemp       "Aussenluft [%.1f°C]"                          <temperature>   (gComfortVent)  {channel="modbus:data:localhostTCP:p202:r202:number"}

Number        Vent_SollZuluft           "Soll Zuluft [%s m³/h]"                        <flow>          (gComfortVent)  {channel="modbus:data:localhostTCP:p1082:r1082:number"}
Number        Vent_SollAbluft           "Soll Abluft [%s m³/h]"                        <flow>          (gComfortVent)  {channel="modbus:data:localhostTCP:p1084:r1084:number"}
Number        Vent_BypassAnf            "Bypass 0=Aus->Wärmerückgew. [%s]"             <flow>          (gComfortVent)  {channel="modbus:data:localhostTCP:p1216:r1216:number"}

Number        Vent_Betriebsart          "Betriebsart System [%s]"                      <flow>          (gComfortVent)  {channel="modbus:data:localhostTCP:p5002:r5002:number"}
Number        Vent_Datum                "Datum [%s]"                                   <flow>          (gComfortVent)  {channel="modbus:data:localhostTCP:p5210:r5210:number"}
Number        Vent_Zeit                 "Zeit [%s]"                                    <flow>          (gComfortVent)  {
6 Likes

i used a raspberry shield for serial input for some years but i wanted to move my openhabian-pi to my rack. so i ordered a usr-w610 and installed it according to your posts.

everything went great except your baudrate = 19200, for my x2 it had to be 9600. :wink:
thanks for descibing your solution!

1 Like

Hi Thomas,

I know this post is a little older, but I would need some help with the wiring. Can you tell me which connection pins of the DuW you connected with which pin an the RS 232 of the USR-W610?
I’m pretty sure that I did that right, but I get no answer from the modbus (I activated that on the touchpanel and also tried 9600 Baud … no reaction)

Maybe you can help here a bit.
Thanks a lot.

Cheers
Thomas

Hi Thomas

Are you using the DuW RS232 Adapter or did you build your own TTL/RS232 Adapter?

BR
Thomas

I did use the DuW RS232 Adapter. Also I tried modpoll and IOBroker. Still no reaction. At the moment I use a Tripplite USA-19HS adapter from RS232 to USB. This thing also seems to work properly… but who knows. I put pin1 (DuW) on pin1, pin2 on pin4, pin 3 pin 3 on the male RS232 plug of the converter. In my opinion that should be ok, but obviously something is wrong.

Edit: Probably it’s the crappy converter I have. I ordered now the USR-W610. I’ll give a feedback when it arrived.

For debugging I can recommend the following
Go in Transmission Mode
Loop RS232 Tx-Rx (Pin 2-3)
Check via Socket SW if data is comming https://sourceforge.net/projects/sockettest/
SocketTest

If you are using the DuW TTL-RS232 Converter you can fin the pin connections here on page 3 : RS232 Adapter

TX, RX and GND to the 9pin RS232 plug is as following (see Wikipedia):
TxD Pin2 or Pin3 (whether it has DTE or DCE wiring. Try it out)
RxD Pin3 or Pin2
GND Pin7

Found it … as I said: It was the Converter to TCP. It was not able to convert modbus, only serial signals.
Thanks for you help and your tutorial. It’s all running fine now :slight_smile:

1 Like

@Thomas_Gfeller Thank you very much for your guide! I got the same device from DuW. Where did you place the RS232 adapter inside the connection housing of the Stratos? (do you have a picture of it?)

Hi Denis, I put the adapter inside the housing. But mine is a self made TTL/RS232 adapter and might be smaller than the official one.
I would not recommend a self made version because there is an exotic plug used which is hard to find on the market.
Be aware, the housing is made of metal. Don’t put a blank circuit on the metal (short circuit).
BR Thomas

Hey Thomas!
Could you please write a little bit about the self built TTL/RS232 adapter? a) I can’t seem to find a place to buy the DuW adapter and b) it may just be easier to build it myself…
Thanks for this great project!
Matthias

Hi Matthias

Here the self made version. I would not recommend to go this way unless you are experienced in electronics. There is a potential risk to damage your DuW HW.

  1. I bought a standard RS232 to TTL Serial Port Converter Module (eg. https://a.aliexpress.com/_mKmdcg1).
  2. Made a ribbon cable with the plugs. The side connection to DuW has a very special plug “MICA 06 Female 6pin”. As far as I know this is not produced anymore.
  3. Connected everything according the following schema (Pins)

Good luck
Thomas

PS: I recommend to buy the official DuW RS232 Adapter. It should be available from DuW or your local distributor.

Thanks a lot! Well I can’t find it (the d&w adapter) in the online shop. You don’t happen to have a link or part number?

The RS232 Adapter is mentioned here on page 2: 2019_loxone-flyer.pdf (drexel-weiss.at)
I could not find it in an online shop either. I guess best is to contact DuW directly.

Just got a reply from my d&w distributor: 140€… I think I‘ll solder :sweat_smile:

Last question: the ttl of the d&w is modbus as far as I understand? Why go ttl - rs232 - usr-640w and not through a usb modbus adapter on a pi running Openhab?

This might be also a solution. But I am not 100% sure this would work with the modbus binding as it only supports `Modbus serial slave’ and not ‘master’ on the serial interface. With TCP Master is possible.

Furthermore your Raspberry Pi would need to be close to the DuW (USB max cable length ca10m). With LAN your flexibel, you can even go wireless. And most of all it would not solve the problem with this ugly MICA plug.

There would be an approach with solves all HW problems. The DuW device has an USB Interface with a proprietary “Service Protocol”. You would though need to write your own add-on binding to connect with openhab.

Thanks! Sorry to disagree, but AFAIK the openhab modbus binding may act as master in RTU mode as well - see Modbus - Bindings | openHAB

Will try to get the components and return with an update. Might obviously take a while, but I‘ll be back :wink:
Thanks for your support!

I’ve been trying to connect my D&W device to the original Modbus adapter on Openhab for a long time. Unfortunately, it doesn’t really work for me. I’ve tried several USB-RS232 adapters. Openhab shows me the bridge, poller and data “online”, but no data is displayed. What can I do wrong there?

I have never tried with an USB<->RS232 Converter. I am using a Wifi/LAN<->RS232 converter. Anyone there who made it work with USB?

A potential problem could be the RS232 connection. To connect some devices with RS232 is quite nasty, sometimes you need a null modem cable, sometimes a straight trough cable. That is a potential for connection problems.
You can test the connection and localize the error with a loop back. Loop the RS232 Pin 2-3 (with a wire) and try to send some data. If you get it back, then you know the connection is fine.