ComfoAir not working with openhab


My setup:
zehnder comfoair 350 luxe + CCEase
raspberry pi 3 + raspbarian + openhab 1.8.4 (latest?) + rs232 to usb dongle (tried two different brands)

I suspect that problem lies in rs232 connection to comfoair 350…
when i connect the rs232 to comfoair, nothing happens (should CCease shut itself down then?)

in openhab log i see the following:

2016-05-27 14:09:33.636 [DEBUG] [.o.m.c.i.folder.FolderObserver] - Refreshing folder ‘scripts’
2016-05-27 14:09:33.638 [DEBUG] [.o.m.c.i.folder.FolderObserver] - Refreshing folder ‘items’
2016-05-27 14:09:42.716 [DEBUG] [b.c.handling.ComfoAirConnector] - send DATA: 07 f0 00 d1 00 7e 07 0f
2016-05-27 14:09:42.724 [ERROR] [.service.AbstractActiveService] - Error while executing background thread ComfoAir Refresh Service
java.lang.NullPointerException: null
at org.openhab.binding.comfoair.handling.ComfoAirConnector.send( ~[na:na]
at org.openhab.binding.comfoair.handling.ComfoAirConnector.sendCommand( ~[na:na]
at org.openhab.binding.comfoair.internal.ComfoAirBinding.sendCommand( ~[na:na]
at org.openhab.binding.comfoair.internal.ComfoAirBinding.execute( ~[na:na]
at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute( ~[na:na]
at org.openhab.core.service.AbstractActiveService$ ~[na:na]
2016-05-27 14:09:43.641 [DEBUG] [.o.m.c.i.folder.FolderObserver] - Refreshing folder ‘sitemaps’
2016-05-27 14:09:43.642 [DEBUG] [.o.m.c.i.folder.FolderObserver] - Refreshing folder ‘persistence’

i still think usb 2 rs232 interface is working ok, as dmesg shows:

[68988.190567] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[68988.190580] cfg80211: (5490000 KHz - 5710000 KHz @ 160000 KHz), (N/A, 2700 mBm), (0 s)
[68988.190599] cfg80211: (57000000 KHz - 66000000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
[79865.178960] usb 1-1.3: USB disconnect, device number 4
[79865.179597] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[79865.179667] pl2303 1-1.3:1.0: device disconnected
[79890.500979] usb 1-1.5: new full-speed USB device number 5 using dwc_otg
[79890.604020] usb 1-1.5: New USB device found, idVendor=067b, idProduct=2303
[79890.604041] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[79890.604054] usb 1-1.5: Product: USB-Serial Controller
[79890.604066] usb 1-1.5: Manufacturer: Prolific Technology Inc.
[79890.606412] pl2303 1-1.5:1.0: pl2303 converter detected
[79890.610582] usb 1-1.5: pl2303 converter now attached to ttyUSB0

So, any idea what to do to solve this?

I tried connecting directly with terminal to com port.
i used picocom with -b 9600 on /dev/ttyUSB0, and i see something… but it is garbage… is this ok or not? Is this “garbage” because CA350 is using modbus and this is it?

I even got myself a second RS232 to USB adapter (both are supported in linux, but they use different chipsets)… the result is the same.

Help please.


you must add the java parameter “” to your start script.

Thank you.

That did the trick, and I also had a same problem with adding this to /etc/init.d/openhab … which resulted in openhab telling me that i dont have any serial ports… (i found solution in this thread!topic/openhab/ky7HhPHoJas- After I used directly “” from /usr/share/openhab/bin … to which I added the flag you mentioned, no more errors…

At least now it seems that openhab is communicating with comfoair… but it has some problems…
first - no matter what i do, i do not see any information in the GUI (most is empty or undefined)…

And if i click on any button (like APP or AUTO), i find errors in log: “error while executing background thread ComfoAir Refresh service” and … "Last call was not successful. … like seen below. Any ideas what to do?

I have uploaded my log and default.items and default.sitemap (250kb together) here:
if someone could be so kind and point me into right direction!

thank you!

It looks that something is wrong with the serial communication.

Is the CCEase display on or off? Normally if openhab is started the CCEase display should be off.

Can you try to remove the CCEase for testing. Just to avoid communication problems. The CCEase is sharing the same serial port and this can result in some overlappings.

CCease is still on, yes… I suspected this might be indication of a problem…

I unplugged CA350 and then removed the CCease … once I plugged power back in, CA350 did not start… I guess CCease is the one that turns it from “A”?

Anyway - A SUCCESS! Openhab now does not return any errors! And I can regulate CA levels from my web!

But - now I have new questions :slight_smile:

  1. seems like my usb-rs232 adapter is not 100% ok to work with CA. Which one is? Can anyone help with experience? I would still like to have CCease connected as well (for now).

  2. how do i populate empty fields with data? :slight_smile: (fan speed, outdoor, indoor, temps etc, filter status etc?)
    I only see target temp, and bypass status.

  3. if i have CCease disconnected - then is mode setting irrelevant? If i click AUTO, will that do anything (is this connected to openhab rules?, or to CCease’s programming- if connected?)

What is this:
[DEBUG] [o.u.i.items.ItemUIRegistryImpl] - Cannot retrieve item null for widget org.openhab.model.sitemap.Frame
in log… and how do i get rid of it?

Also, since CCease is offline for now - I think I should write some rules to set “programmes” as I had on CCease:

every day from 23-08 level 1
mon-fri from 08-14 level 0 (A)
mon-fri from 14-21 level 1
mon-fri from 22-23 level 2
sat-sun from 08-21 level 1
sat-sun from 22-24 level 2

Can you recommend a guide for rules for a complete openhab rookies? (youtube or text, doesnt matter :slight_smile: )


cheers from Slovenia,

If you only look for a calendar based steering of your ComfoAir than you should try the CalDav binding.


I can’t recommend a rs232 adapter. Because I connected my ComfoAir directly to a serial port.

regarding your second point. In your default.items are only 2 comfoair datapoints defined. You assigned only “{comfoair=“activate”}” and “{comfoair=“activate”}”

But you can assign a lot more. My config looks like:

Number Ventilation_Outdoor_Incoming_Temperature “Aussenzuluft [%.1f °C]” {comfoair=“outdoor_incomming_temperatur”}
Number Ventilation_Outdoor_Outgoing_Temperature “Aussenabluft [%.1f °C]” {comfoair=“outdoor_outgoing_temperatur”}
Number Ventilation_Indoor_Incoming_Temperature “Raumzuluft [%.1f °C]” {comfoair=“indoor_incomming_temperatur”}
Number Ventilation_Indoor_Outgoing_Temperature “Raumabluft [%.1f °C]” {comfoair=“indoor_outgoing_temperatur”}
Number Ventilation_Incoming “Ventilator Zuluft [%d %%]” {comfoair=“incomming_fan”}
Number Ventilation_Outgoing “Ventilator Abluft [%d %%]” {comfoair=“outgoing_fan”}
Number Ventilation_Filter_Runtime “Filterlaufzeit [%d h]” {comfoair=“filter_running”}
Number Ventilation_Filter_Error_I “Filter (intern) [MAP(]” {comfoair=“filter_error_intern”}
Number Ventilation_Filter_Error_E “Filter (extern) [MAP(]” {comfoair=“filter_error_extern”}
String Ventilation_Error_Message “Fehlercode [%s]” {comfoair=“error_message”}

I already tried three different RS232 adapters and got none of them working. In time being I connected via native serial port (Windows 7 machine on a board with Intel Z170 chipset), but I’m still struggeling with a lot of issues (error messages, can’t steer the ComfoAir, don’t receive values from the device). So, it seems to be that there are hardware setups that work better, other not. Same for the adapters.