Zehnder ComfoAir CA350 integration via serial connection (RS232) and MQTT

I have now got it running. I have created a VM in Proxmox running the python script and the interface to mqtt server.

However, I found that I have to send a command several times until the system accepts it. What could be the reason for this?

Are you sure the comfoair does not respond immediately? The update in HA takes some time but for me it always reacts at the first attempt to the control commands (e.g. switching to higher vent level).
This python program could be improved to get the status updated faster but so far I did not have enough time to investigate why it is not updating the new state faster.

Dear @Papi77 ,
very nice template you are using for your ComfoAir visualization. Is there way you could share, please?
I cut most of the values but doesnt work for the bypass in the grey area.
Also: is there a reason why you didnt put in the fan control?
grafik

Hi - I have created external_components compatible comfoair for esphome. Look at GitHub - nyxnyx/esphome-comfoair: ESPHome configuration to drive Zehnder ComfoAir devices. for details.

1 Like

Great, thanks for sharing!
Does it work with direct connection to the comfoair unit or requires any additonal module/elements between esp and comfoair?

It require a special cabling with RJ45 socket on comfoair end and RS232 DB9 on other. Than DB9 will be connected to RS232 to TTL and than RS232 to TTL will be connected to TTL pins on ESP.

Comfoair <-> RJ45 <-> RS232 <-> TTL <->ESP
1 Like

I have made the connection directly with RS-232. Does anyone know these errors?


  • CA350 MQTT Home Assistant *

01-08-2023 21:53:51 WARNING: Expected return not found
01-08-2023 21:53:51 WARNING: Changing the RS232 mode went wrong
01-08-2023 21:53:51 INFO: Home Assistant MQTT Autodiscovery Topic Set: homeassistant/sensor/ca350_[nametemp]/config
01-08-2023 21:53:54 INFO: Home Assistant MQTT Autodiscovery Topic Set: homeassistant/climate/ca350_climate/config
01-08-2023 21:53:54 INFO: Successfull subscribed to the comfoair/comforttemp/set topic
01-08-2023 21:53:54 INFO: Successfull subscribed to the comfoair/ha_climate_mode/set topic
01-08-2023 21:53:54 INFO: Successfull subscribed to the comfoair/ha_climate_mode/fan/set topic
01-08-2023 21:53:54 INFO: Successfull subscribed to the comfoair/reset_filter topic
01-08-2023 21:53:54 INFO: Successfull subscribed to the comfoair/filterweeks topic
01-08-2023 21:53:54 INFO: Successfull subscribed to the comfoair/ewtlowtemp topic
01-08-2023 21:53:54 INFO: Successfull subscribed to the comfoair/ewthightemp topic
01-08-2023 21:53:54 INFO: Successfull subscribed to the comfoair/ewtspeedup topic
01-08-2023 21:54:07 WARNING: Expected return not found
01-08-2023 21:54:07 WARNING: function get_bypass_status could not get serial data

I would check the connection. Typical mistake is swapping tx and rx cables.

HI,

anyone is already looking around this?

Sure, it’s fixed already. Check the github repo.

you rock🤘

Sorry, but I missed some updates
there someone that can tell me more about EWT?

EWT is a geothermal heat exchanger.

probably I need to study more about it, before touch the control :smiley:

If you don’t have the EWT (usually a long pipe buried under ground) it won’t make any harm. If you have it, just read the comfoair manual on what those settings mean.

I Have also a ComfoD 350 basic, so no option to make it ‘smart’

Do I see this correct, and you need only a 2 channel relais?

  • When in position 1, only L3 needs to have 220V (but as I can see this is by default?)
  • when in position 2, L2 needs to be connected to 220V only
  • when in position 3, L1 needs to be connected to 220V only

So I need to have permanent power on L3 (or is the unit powered of when i disconnect L3, even better, then I can remote shut it down, now I do it with a switched power supply)
And A 2 channel relais to switch to position 2 & 3, and make sure that both channels are never set active together.
And I will wire and ESP with 4 temp sensors, to measure the temp/humidity of all 4 exits.
That’s about the closest i will get to the more advanced systems i think?

Is my way of thinking about the wireing of L1, L2, L3 correct?

Well, be careful. Based on the diagram I have found the 3 position switch is connecting the N wire from the unit with L1, L2 or L3. So it is not a live wire I suppose. But you should have such switch I believe so better check what exactly it is switching.
As a general rule you should never completely switch off the ventilation unit even if you are away. The L1 should be the minimum level normally used for such cases. For normal day I would use the L2 and for high humidity/cooking L3.
With esphome you can build an interlocking relays so that only one of the 3 will be on.

We’re changing some rooms, so the unit is moved and will be placed again the coming days.
Then I will first set it up again as it was, and check it.
Maybe i can already check the switch now.
I wanted to switch it of during the night (because it’s in a technical room, next to the bedroom), and set the speed according to the humiditiy in the bathroom/kitchen, or the humidity in the exaust pipe & air quality in the other rooms (with node-red).
I’ve also already created a virtual 3 way relais in orde red that checks that only 1 is activated at the same time.

Actually it is much healthier to have a fresh air while you sleep. You don’t have any other ventilation most likely, that is why they don’t have a full off option.

First of all, thanks for this great project.
I’m looking for a solution without Raspberry for my comfoair 200; I was told I can use this https://a.aliexpress.com/_Ew1IJi3
And I was told also not to buy the wireless one. So I started looking for POE version and found this: https://www.waveshare.com/product/rs232-485-422-to-poe-eth-b.htm
Do you think it can work?
Thanks