Zehnder ComfoConnect component

Hai Marius, old post but maybe still good to know:
Zehnder delivers multiple ways to steer the unit. You can manually control it or connect several other sensors such as CO2 and presence/humidity sensor. Thing is, these sensors from Zehnder are really expensive. I think with HA you can use also good but much cheaper ones to make the unit work really well. I have worked at Zehnder for 7 years and know the products rather good. Thing is, the software integration isn’t something they are leaders in. But on the other side, so aren’t other manufacturers of these kind of units…

1 Like

yeah, I was deciding between Zehnder and Brink. Of those, I believe the Zehnder was most advanced… On devices like that, I dont want to fiddle around too much with cheaper hand made things, because 1) I need warranty from the manufacturer and 2) need them to work stand alone too, without any HA interference.

Good to hear you have a long experience with them, maybe you can advice what unit to use and which connective device to choose, considering I want co2 and humidity sensors attached to trigger the unit?

Since the Zhender Q-series has a lot of information to share to Home Assistant I was missing overview:

So today I made a picture elements card to give me the important information in a glance:
Screenshot 2021-12-24 at 21.19.08

For anyone interested in doing the same:

type: picture-elements
image: local/images/wtw_icons2.png
elements:
  - type: state-label
    entity: sensor.comfoairq_supply_airflow
    style:
      top: 59%
      left: 73%
      color: black
  - type: state-label
    entity: sensor.comfoairq_exhaust_airflow
    style:
      top: 59%
      left: 27%
      color: black
  - type: state-label
    entity: sensor.comfoairq_inside_temperature
    style:
      top: 20%
      left: 90%
      color: darkred
  - type: state-label
    entity: sensor.comfoairq_inside_humidity
    style:
      top: 28%
      left: 90%
      color: '#4171b1'
  - type: state-label
    entity: sensor.comfoairq_supply_temperature
    style:
      top: 76%
      left: 90%
      color: darkred
  - type: state-label
    entity: sensor.comfoairq_supply_humidity
    style:
      top: 84.2%
      left: 90%
      color: '#4171b1'
  - type: state-label
    entity: sensor.comfoairq_outside_temperature
    style:
      top: 20%
      left: 12.5%
      color: '#4171b1'
  - type: state-label
    entity: sensor.comfoairq_outside_humidity
    style:
      top: 28%
      left: 12.5%
      color: '#4171b1'
  - type: state-label
    entity: sensor.comfoairq_exhaust_temperature
    style:
      top: 76%
      left: 13%
      color: '#4171b1'
  - type: state-label
    entity: sensor.comfoairq_exhaust_humidity
    style:
      top: 84.2%
      left: 13%
      color: '#4171b1'
  - type: state-label
    entity: sensor.comfoairq_bypass_state
    prefix: 'Bypass: '
    style:
      top: 26%
      left: 50%
      color: black
  - type: state-label
    entity: sensor.comfoairq_days_to_replace_filter
    prefix: 'Filterwissel in '
    suffix: agen
    style:
      top: 92%
      left: 50%
      color: black
  - type: state-label
    entity: sensor.comfoairq_current_rmot
    prefix: 'Rmot '
    style:
      top: 10%
      left: 13%
      color: grey

and the picture:
wtw_icons2

18 Likes

Works Great. Thank you!

1 Like

Great entity; thank you! Can you also provide the code for the buttons underneath?

2 Likes

It’s a horizontal stack with custom:button cards. Works as follows.

scripts.yaml:

wtw_preset_0:
  alias: Comfoairq stand 0
  icon: mdi:fan-auto
  sequence:
    - service: fan.turn_off
      target:
        entity_id: fan.comfoairq

wtw_preset_1:
  alias: Comfoairq stand 1
  icon: mdi:fan-speed-1
  sequence:
    - service: fan.set_percentage
      target:
        entity_id: fan.comfoairq
      data:
        percentage: 33

wtw_preset_2:
  alias: Comfoairq stand 2
  icon: mdi:fan-speed-2
  sequence:
    - service: fan.set_percentage
      target:
        entity_id: fan.comfoairq
      data:
        percentage: 66

wtw_preset_3:
  alias: Comfoairq stand 3
  icon: mdi:fan-speed-3
  sequence:
    - service: fan.set_percentage
      target:
        entity_id: fan.comfoairq
      data:
        percentage: 100

template.yaml:

- sensor:
  - name: "Comfoairq stand"
    state: "{{ state_attr('fan.comfoairq', 'percentage') | default(33)}}"

The lovelace card:

type: horizontal-stack
cards:
  - type: custom:button-card
    entity: sensor.comfoairq_stand
    icon: mdi:fan-auto
    size: 50%
    color_type: card
    state:
      - value: 33
        color: var(--secondary-background-color)
      - value: 66
        color: var(--secondary-background-color)
      - value: 100
        color: var(--secondary-background-color)
      - value: 0
        color: var(--paper-item-icon-color)
    name: Away
    show_state: false
    tap_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.wtw_preset_0
    hold_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.wtw_preset_0_timer30
  - type: custom:button-card
    entity: sensor.comfoairq_stand
    icon: mdi:fan-speed-1
    size: 50%
    color_type: card
    state:
      - value: 33
        color: var(--paper-item-icon-color)
      - value: 66
        color: var(--secondary-background-color)
      - value: 100
        color: var(--secondary-background-color)
      - value: 0
        color: var(--secondary-background-color)
    name: Stand 1
    show_state: false
    tap_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.wtw_preset_1
  - type: custom:button-card
    entity: sensor.comfoairq_stand
    icon: mdi:fan-speed-2
    size: 50%
    color_type: card
    state:
      - value: 33
        color: var(--secondary-background-color)
      - value: 66
        color: var(--paper-item-icon-color)
      - value: 100
        color: var(--secondary-background-color)
      - value: 0
        color: var(--secondary-background-color)
    name: Stand 2
    show_state: false
    tap_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.wtw_preset_2
    hold_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.wtw_preset_2_timer30
  - type: custom:button-card
    entity: sensor.comfoairq_stand
    icon: mdi:fan-speed-3
    size: 50%
    color_type: card
    state:
      - value: 33
        color: var(--secondary-background-color)
      - value: 66
        color: var(--secondary-background-color)
      - value: 100
        color: var(--paper-item-icon-color)
      - value: 0
        color: var(--secondary-background-color)
    name: Stand 3
    show_state: false
    tap_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.wtw_preset_3
    hold_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.wtw_preset_3_timer30

I have some other scripts under the long-press to run the fans for 30 minutes on a certain level and cancel other settings (fans spin up automatically here on some input from a shelly temperature measurement on the warm water pipe) but for the basic functionality you can just ignore this :wink:

edit 16-04-2022: as the low/medium/high settings for fans are no longer available rebuild the buttons to work with percentages.

9 Likes

Very Nice!

Hi,

The iOS has been updated at some point and now allows you to set ‘Away’ as a status for the Q350. It would be great if the integration supported this, if at all possible?

Presently my automations set my MVHR entity to ‘Off’ when we leave the house but the damn thing turns itself back on again when it needs to. This is annoying in the winter especially because the preheater kicks in and uses a tonne of energy when the house is empty! I’m looking for a way to prevent this short of adding a smart plug and just killing the power when away.

Does anyone have any other thoughts?

TIA

hey @breinonline
very cool card.
could you tell me where the “d” is coming from?

Edit: never mind its coming from the sensor value … well does not my language :smiley:

Depending on the language the sensor displaying the number of days remaining until replacement of the filters is needed might be another character I guess :slight_smile:

This is mine:
Screenshot 2022-06-10 at 17.33.44

I have a couple of RF sensor attached to my comfoair. Do you know if it possible to read the value (eg co2 and humidity)? Keen to track and use these for further automations. Thanks!

I was also wondering today if Tado sensor with humidity recording could be sent to Zehnder units to initiate a speed change, or if this is best left as an automation?

That’s exactly something for an automation.

1 Like

Zehnder has finally pushed a new Comfoconnect app (for Android) that fixes a firmware update issue so it finally allows to upgrade the bridge to 1.5.1.

This firmware fixes the 0 values issue. I was running 1.3.0 before and had the 0 values issue.

Whats the 0 value issue please?

Every hour or so, the bridge would report a 0 value. See https://github.com/michaelarnauts/comfoconnect/issues/44

Too bad I’ve already purchased a ComfoConnect KNX and not the LAN version. Has someone implemented the Comfoair with it already? Have successfully integrated KNX lights and other sensors, so I’m positive to integrate the Comfoair sensors but what about the controls? Only chance to use switches?

Thanks!

I’ve been looking closely at our energy usage via various monitors around the house, including those integrated within the MVHR.

I can see that even though I use HA to turn off the MVHR when we leave the house for example, it will turn itself back on if it thinks it needs to… I see the iOS app has been updated to enable an ‘away mode’ that seems to do the trick.

Is this something that could be included within the integration and tied in to our automations?
I can envisage the pre-heater kicking in when we are out of the house over the winter here and using lots of electricity when we would rather just power it down.

Is there a process I can contribute towards to make this happen?

Thanks,

If you turn on manual mode, it won’t change back after 2 hours. You need to turn on manual mode in the app for now

That’s helpful thanks. Could the ‘manual mode’ switch make it through to HA?