Zehnder ComfoAirQ350 -- do I need ComfoConnect to control it?

(Max G) #1

I am getting a ComfoAirQ350… and still ponder on how this can be controlled via OH (1.8.3.) I was offered a ComfoConnect KNX; there is also a ComfoConnect LAN, but I can neither find manuals nor data sheets.

Do I need any of the two? If so which one is better in a wired Ethernet house?

The Zehnder diagram shows a RF45 but does not describe a serial port, which the OH binding is looking for.

Any hints / ideas?

(SiHui) #2

You may find a little help here:

(Max G) #3

It is the new Q350… not the older 350 :slight_smile:

I did not buy any controllers, as I wanted OH to drive it… but I do not see a RS232 port on this machine… or more so the manual.
Maybe I buy the KNX module, then I assume the KNX binding can drive it.

(SiHui) #4


(Michaël Arnauts) #5

I’ve bought a ComfoConnect LAN C to connect my Home Automation system (Home Assistant) to my ventilation unit (Comfoair Q450). Unfortunatly, there is no clear protocol description, but I’ve managed to discover and document a few things.

If there is anyone interested in helping out, you can find more information on https://github.com/michaelarnauts/comfoconnect/blob/master/PROTOCOL.md

(Max G) #6

Thank you for posting this…
I ended up ordering the KNX interface for the same reason: I could not find any info on the LAN C interface. However, now I have to use KNX for this – at present – only KNX device.
It is still travelling in a shipping container… due to arrive mid December :slight_smile:

(Michaël Arnauts) #7

I bought mine LAN C interface on selfio.de (166 €, with free shipping to Belgium), and it arrived within two days.

(Max G) #8

Where I just bought all my heating, ventilation, solar, heater, etc. for 15k€…
The KNX interface was 255€

(Shorty707) #9

is somebody trying to add the Q series or comfo lan c adapter to the existing comfoair binding?


(Shorty707) #11

are you trying to implement your python script in an openhab binding?

(Michaël Arnauts) #12

No, I’m sorry but I don’t use openHAB. I use Home-Assistant, but feel free to use the library if it’s possible to use Python in openHAB.

(Shorty707) #13

Anybody interested in Sharing a bountyhunt for developing this binding?

(CarlJ) #14

I just ordered a Zehnder LAN-C interface because I want to bind it with my own smart home solution. The reason I bought it is because Michael Arnauts has already uncovered a good portion of the comfoconnect protocol for integration. I’m not using python, but I was thinking about building a REST wrapper around it so I can interface with it more freely.

Has anyone in the OpenHAB community made progress on this already? Or discovered more about the protocol itself?

(Shorty707) #15

no - but I will use the same in a few months. Therefore will definately need it but can only start to work on it when house is finished :-/

(CarlJ) #16

Using the code from michaelarnauts i’ve build a gateway (in python) that subscribes & publishes messages using MQTT.
So it’s possible to set the fan speed and read all the (interesting) paramters from OpenHAB2.

(Shorty707) #17

I am super super interested. Can you Share your Solution and how you did it? Thanks!

(CarlJ) #18

I have very little time, but all that you need should be outlined there.

(Shorty707) #19

I would be interested to start a bounty for this binding development.
Anybody out there who is also interested in a binding for comfoconnect lan c and would share a bounty offer here?

(CarlJ) #20

The gateway I posted above actually makes it platform independent because it’s using MQTT. All you need to do is configure the gateway, start it, and then using the openhab mqtt connector bind it to your items.
So I don’t see why this should be a binding, when it’s actually broader than that atm.

(Christoph Schlipp) #21

Hi CarlJ,
I tried your Openhab gateway but always get some errors from converting bytes or from the function .hex().
I use python 3.4 . Can you please give me a hint what I do wrong?
Thanks in advance.

Ok, I found the problem. Replaced all .hex() through codecs.encode/decide(value,‘hex_codec’).
Now it works for me