[comfoair] New ComfoAir Binding

Hi ComfoAir users,

I have spent some time now, trying to migrate the openHAB comfoair binding to a v2 version to be ready for OH3. Now that a have a first working version, I thought I share it here first for testing. Of course I will submit a PR as soon as I have finished the documentation. The PR can be found here: 7052.

Comparison to the OH1 version:

  • the binding should support all devices that were supported by the v1 version (RS232 communication only)
  • all “boolean type” items are implemented as Switch channels now
  • all temperature and voltage channels are supporting UoM, as well as channels for operating hours
  • most data points available in the v1 binding should be covered by the new binding
  • settings for device configurations (Menu P5 entries) were integrated as thing properties to show the actual setup. Therefore, they are not configurable anymore, but that should anyways be set by the fitter of the device (however, I doubt anyway that anyone was really using these in the v1 binding, since I discovered some bugs in the v1 binding, which made them basically not changeable)
  • some channels and channel groups are added dynamically and their visibility is based on the installed device options (heater, preheater, ewt, enthalpy, …)

Based on the ongoing review process of pull request the whole code was already refactored over great parts, including the fixing of some undiscovered bugs from the initial v1 binding. Therefore, any testing and feedback on the binding is highly appreciated.

You can download the binding JAR from here.
The current state of the documentation is available on github: README

Also thanks to @holger_hees and @gieemek for their excellent work on the v1 binding, so most of the logic could be reused.

7 Likes

nice work. looking forward to use it. :slight_smile:

Thanks Hans,
I am glad to test your OH2 version.

Can you share .things file ? I want to see how you make thing and channels.

Since I only configure my things via PaperUI, I can only guess how a .things file could look like, but I think this should work:

Thing comfoair:comfoair:myComfoAir "ComfoAir" [serialPort="/dev/ttyUSB0", refreshInterval="60"]

If it works, please tell me, so that I can include it in the documentation.

I have now opened a PR: #7052

I have also added the missing channels from the v1 binding, especially analog inputs and errors. However, I’m not able to see those on my installation. Could anyone test if these channel groups are available for anyone (these are advanced channels so you have to click “Show more” in PaperUI)? –> nevermind, channels are available after removing and re-adding the thing

Would you also add support for the newer Q series via comfoconnect lan c ?

Best

Unfortunately I’m not able tpo do that, since I neither own a Q series device nor a LAN C module. Principally, I developed the binding in a way that other connection types besides RS232 could be added pretty straightforward by other developers, as long as the send and receive commands are the same.
However, a quick google search about the Q series brought up that the protocol is completely different compared to the non-Q series, which this binding is about. Therefore I really think that it makes sense / is required to have two separate bindings for both types. It seems that there are already efforts to develop a binding for the Q series: Zehnder ComfoAirQ350 -- do I need ComfoConnect to control it?

With relation to that, I also wonder if this binding should be renamed to something less generic, so that it is clear which kind of devices are supported. WDYT?

Hi
Apparently it is possible to publish bindings at https://www.openhab.org/docs/configuration/eclipseiotmarket.html .
Do you think you could publish your new binding there until it is merged ? :slight_smile:

That would ease testing current and possibly future versions.

Thank you

Hi Georges,
the binding actually has been published on the market place for some time already (https://marketplace.eclipse.org/content/comfoair2-binding). Maybe you have to enable alpha-level bindings in PaperUI settings to make it visible in PaperUI.

Hi @boehan Oh cool, sorry I didn’t know!
Thank you

Hi I’m very new here and I make my first steps with openHAB on a Raspberry Pi 4.
I have installed the Binding, but it is not showing up in the Bindings.
The Add-on section in PaperUI says that the Binding is installed.
It is the same with V1…

Is it perhaps, because my ComfoAir350 is not (yet) physicaly connected? (But the TP-Link Binding show up, even without connect) Things…

Thanks, if someone has a tip for me :slight_smile:

How did you install the binding? Easiest way would probably be to enable Marketplace Bindings (docs) and then install from the Add-ons section in PaperUI. Maybe you have to enable Alpha-grade bindings as described at the bottom of above link.
After that you should be able to manually add a ComfoAir device in the Inbox section (autodiscovery is not supported).
Also, the link to the JAR-file in the OP was pretty outdated. Updated it to the latest build of the open PR.

Updated the OP to reflect the current state of the binding development.

I installed the binding(s) over the Marketplace (Eclipse fir V2 an openHAB fir V1 [only one at a time). The the addon is not showing up under the Bindings Section. In the Marketplace Section it says installed.
An yes I have set the Alpha Grade.

But it is perhaps because the Comfoair is not jet connected. Tomorrow I get my cables, so I can see if that change something.

edit: sorry for my poor English, I hope you can understand what I mean.


Strange. But that shouldn’t have to do anything with the device connected or not since the thing has to be added manually anyways und connection configured (can be done without the device being actually connected). Thus, I doubt that this is an issue with the comfoair binding, as it works perfectly for me, but rather an issue with your installation. Do you have any other (OH2) bindings installed? Since these should all be shown in the Configuration > Bindings section. Have you tried restarting openhab?
Is it listed if you go to Inbox > (+) Button (this is how you would add your device then)?

After installing TP-Link Binging, this one is showing up, but not the Comfoair Bindings that I installed befor.

Now a new strange behavior: A fresh Install, first I installed TP-Link Binding and after the Comfoair. Now Comfoair is showing up. But only V1. V2 is never showing up.

I tried to install an other “eclipse” Binding befor (as I did with the TP-Link Bindings), but no.

I think for the first Steps V1 schould do it.

Did you install the v1 and the v2 binding in parallel? I could imagine that this would cause problems, since both are named identical. I suggest to:

  1. Uninstall both v1 and v2 binding
  2. Stop openhab systemctl stop openhab2
  3. Clear the cache openhab-cli clean-cache
  4. Start openhab systemctl start openhab2 (maybe restart the service one or to times if errors come up in the logs, which con happen especially after cleaning the cache)
  5. Install the v2 binding only again
  6. See if it is listed now

I would really encourage you to test the new binding since it has some bugs of the v1 binding fixed. Also I appriciate any testing before the pending PR is merged, so eventual bugs can be fixed beforehand.

I have tried that but had no luck. The V2 binding will no show up. Good I have now the V1Version showing.
The next Days my RS232/USB Adapter schould arrive. Than I can test if I’m able to get it working.

I allready know that I need to disconnet the CCEase (can i only detache the Ground? Or do I need to detach all the 3 wires?)

You dont have to disconnect the CCEase with the V1 version.

1 Like