Zehnder ComfoConnect component

See this post for all the button code, including the mdi icons: Zehnder ComfoConnect component - #53 by breinonline

2 Likes

I would like to be able to automate the ComfoAirQ where CO² or humidity value triggers the fan_duty. I had NetAtmos already for humidity, temp and CO² before installing my ComfoAirQ350 hence I would like these to trigger the fan speed when and as long as necessary. Has anyone by any chance already a solution for it?
Additionally I would like to thank you all for your input, especially Michael. I downloaded the CS via HACS, installed it and it is just great. My next step will be to integrate breinonline’s addition with the underlying picture and switches.

I just logged in to ask exactly the same Dbernt :sweat_smile:
I want to place an ESP CO² sensor in every room and also made a HA mold sensor for every room.
The easiest way to program the ventilation would be a script:

For example
Turn on ventilation stage 0 when CO² is <450 ppm ,
Turn on ventilation stage 1 when CO² is >449 ppm and <1000 ppm
Turn on ventilation stage 2 when CO² is >999 ppm and < 2000 ppm and to on stage 1 when it is <450
Turn on ventilation stage 3 when CO² is >1999 ppm or mold sensor >80

Problem is that this could keep alternating modes constantly between 1 and 2 for example, which in annoying.

It would be better that a script can detect how fast CO² levels increase in a room. Like if the CO² increases slowly from the 400ppm baseline then most likely one person is present and stage 1 should be enough.
But if it increases very rapidly most likely there is a room filled with people so boost ventilation to a maximum immediately without going to mode 1 and 2 first. If it suddenly drops rapidly than people have left and you can decrease fan speed to mode 2 or 1. We could even use a percentage of fan speed rather than mode 0 to 3.
This then combined with things like the mold sensor, VOC sesnor, <10µm particulate senor sleep detection (I can’t sleep with ventilation on max).

I have no idea how to start programming that. Anyone perfected this already? How do the Zehnder CO² sensors work?

1 Like

@breinonline: many thanks! That is great, nice work! :-))

1 Like

Hi Michael,
I’ve been using your integration for some time now and realy like the extra options!
One thing I haven’t found yet: how can I use the temperature profile (warm/cool) and ventilation mode (auto/manual) in an automation as a service?

Are you also planning to add the ‘away’ and ‘boost’ function to the ventilation mode?

1 Like

‘Away’ would be especially helpful!

Away and boost are the same as off and 100%. You can just use set_speed for this.

2 Likes

Hey! fan.set_speed is deprecated. Any idea on how to do this now?

Use fan.set_percentage instead. 0 = Away (‘off’), 33 = low, 66 = medium and 100% = high.

Thank you! But what about “Boost”? It’s more than 100%, but setting that is not possible in HA.

Boost is 100% speed as Michaël explained below my previous post. When you set your ventilation with the zehnder app, you will see that the fan speed or m3/h is the same as at preset 3 (100% / max)

Got it all working now :slight_smile:

I’ve do such:

  1. Prepare scripts:
alias: Rekuperacja_Bieg1
sequence:
  - service: fan.set_percentage
    data:
      percentage: 33
    target:
      entity_id: fan.comfoairq
mode: single
icon: mdi:fan-speed-1

that runs fan at 33% (1-st stage) and so on.

  1. Next, prepare automation:
alias: PM2.5 żółty -> REQ 2 bieg na 10 minut
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.tasmotavindriktning_vindriktning_pm2_5
    above: 35
    for:
      hours: 0
      minutes: 2
      seconds: 0
condition: []
action:
  - service: notify.powiadomienia_ha
    data:
      title: >-
        PM2.5 {{states.sensor.tasmotavindriktning_vindriktning_pm2_5.state}}
        ug/m3 (>35 ug/m3), Włączono REQ 2 bieg na 10 minut
      message: PM2.5>35, Włączono REQ 2 bieg na 10 minut
      target: [email protected]
  - service: script.rekuperacja_bieg2
    data: {}
  - delay:
      hours: 0
      minutes: 10
      seconds: 0
      milliseconds: 0
  - service: script.rekuperacja_bieg1
    data: {}
mode: restart

… and that’s all :-). I have PM2.5 sensor, when it shows > 35ug/m3 (“yellow warning” level) it runs recuperation fan at 66% (second stage) for 10 minutes and send me mail notification with PM2.5 level. After that it back to 1-st stage speed.

Thanks for your example.

Still, I don’t think this is a good solution for all problems. PM sensor seems a good idea for when there is a temporary polutant in the home, like for example you did some soldering. Then your automation is perfect to ventilate the PM2.5 rich air to normal levels.
Lets say you have a fireplace that you turn on for a couple of hours, or even a neighbour next door, that wil just loop your notification and fan speeds every 10 minuts.
It also won’t increase fan speeds when you have guests (co² sensor is more appropriate)
Another example: with 1-2 people in the room (exhaling some CO²), the fan speed should be 1, with 2-5 people (exhaling a lot more CO²) the fan speed should be 2, with more than 5 the fan speed should be 3 cause a lot of CO² is produced. So sensing how fast the CO² rises should be taken into account.

Is it possible to change fan speeds to another percentage than 0, 33%, 66% and 100%?

No. It really is just away, low, medium and high, but home assistant maps it to percentages.

1 Like

Hello Michael!
After the ComfoConnect LAN-C update from version 1.2.6 to 1.5.1 I lost the integration…
Do you have a solution for your magnificant integration?
Have some nice days off!
Cheeres Bernt

I was able to successfully implement it, great job.


My question is how to implement this new fan control directly to the main dashboard of Lovelace?

I’m on 1.5.1 for a while and I don’t notice any issues. Are you using the HACS component?

You can use a new “Tile” and add fan speed under properties.

1 Like

Im using your hacs integration. The LAN C shows the old firmware version in the device overview. Maybe that is the reason for all entities being unavailable…

Michael, I found the error: I got Fiber-optics instead of DSL connection and thereby the router changed the IP of the LAN box. After changing that back, all is fine. Sorry, I did not realize that earlier… Thanks anyway!

1 Like