Zehnder ComfoConnect component

And there we have it: the Zehnder LAN C Ethernet cable cannot be on a switch but must be directly plugged into the main router for homeassist to notice and it will recognize the host and connect

Mine does run through a switch (US-24-250W) so it might be something in your network setup. Are you sure you are using the right IP address?

I’m getting “Needs attention” from this integration for the last few days with the message

192.168.0.19 failed to set-up

and

Hubs
No entries 

Trying to add the same IP address again din’t work.
Unfortunately this happen just after I went away from home for a few weeks so my options to investigate are limited. Being remote I can’t see if the Comfo-air has somehow changed IP address but this seems extremenly unlikely.
The Zehnder app on my phone shows the system is working OK.
Does anyone have any suggestions what might be wrong and if I can fix it remotely?

I have nothing in the logs. N=1 of course but there might be nothing wrong with the integration.

I attempted twice to replace my existing configuration.yaml-based comfoconnect by the new HACS-based integration. In both cases my HA database got corrupted while I was cleaning/merging the entities of the two instances ((ie deleting old comfoconnect entities no longer in use and removing the ‘_2’ suffix from the new comfoconnect entities).
This is the log I retrieved:

2024-03-06 10:55:02.780 ERROR (Recorder) [homeassistant.components.recorder.core] Unrecoverable sqlite3 database corruption detected: (sqlite3.IntegrityError) FOREIGN KEY constraint failed
[SQL: INSERT INTO states (entity_id, state, attributes, event_id, last_changed, last_changed_ts, last_updated, last_updated_ts, old_state_id, attributes_id, context_id, context_user_id, context_parent_id, origin_idx, context_id_bin, context_user_id_bin, context_parent_id_bin, metadata_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING state_id]
[parameters: (None, '2024-03-06T09:55:01+00:00', None, None, None, None, None, 1709718901.722167, 4807314, 579904, None, None, None, 0, <memory at 0x7f6d5c6d40>, None, None, 728)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2113, in _exec_insertmany_context
    dialect.do_execute(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
    cursor.execute(statement, parameters)
sqlite3.IntegrityError: FOREIGN KEY constraint failed

The next step is to create a new HS database instances:

2024-03-06 10:55:02.851 ERROR (Recorder) [homeassistant.components.recorder.util] The system will rename the corrupt database file //config/home-assistant_v2.db to //config/home-assistant_v2.db.corrupt.2024-03-06T09:55:02.851797+00:00 in order to allow startup to proceed

What is going wrong?

Guys help. I finally turned on my confoair q 350, installed the reposatory from hacs, but I can’t find the integration, even though I see confoconnect in config/custom component…I have to enter some pin or IP address.
Thank you

The pin Is 4210.
The ip: you’ll have to figure that out yourself.

Update: AttributeError: 'Bridge' object has no attribute 'connect'. Did you mean: '_connect'? · Issue #45 · michaelarnauts/home-assistant-comfoconnect · GitHub

Help… I have GitHub - michaelarnauts/home-assistant-comfoconnect: Home Assistant integration for Zehnder ComfoAir trough a Zehnder ComfoConnect LAN C. installed. I go into integrations and add Zehnder. It correctly discovers my Connect LAN C. But when I select hit and press Next, I immediately get “Unknown error occurred”.

In my HA log I see this,

2024-04-28 18:56:00.618 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File “/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py”, line 452, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py”, line 543, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py”, line 114, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/security_filter.py”, line 92, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/forwarded.py”, line 83, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/request_context.py”, line 26, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/ban.py”, line 88, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/auth.py”, line 236, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/headers.py”, line 32, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/http.py”, line 73, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/decorators.py”, line 71, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/config/config_entries.py”, line 222, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/data_validator.py”, line 73, in wrapper
result = await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py”, line 122, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 356, in async_configure
result = await self._async_configure(flow_id, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 402, in _async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 506, in _async_handle_step
result: _FlowResultT = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/comfoconnect/config_flow.py”, line 68, in async_step_user
return await self._register()
^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/comfoconnect/config_flow.py”, line 131, in _register
await self.bridge.connect(self.local_uuid)
^^^^^^^^^^^^^^^^^^^
AttributeError: ‘Bridge’ object has no attribute ‘connect’. Did you mean: ‘_connect’?

The latest v0.1.11 release fixes this.

Good evening, noob question here.
I wired everything up, the dc stepdown, esp 32 c3 and canbus adapter.
I can’t find any howto to flash the esp32.
Can anyone drive me into a simple explanation on how to load the proper files?
I’m trying to connect in parallel with the comfosense unit as I have a Comfoair 180 machine.
Many thanks!

I’ve changed internet hub which assigned a new IP to the Zehnder hub and I can’t connect to it. I’ve changed the IP address in configuration.yaml. When I try to re-connect it replies “already_configured”. I’ve tried deleting the configuration.yaml entry & restarting - same result. The log file is full of timeout errors trying the old IP address. I’ve tried deleting & re-installing the integration and I’m back where I started “already_configured”. Can anyone help?

According to the docs of the ComfoAir 180 it uses a RS232 interface and not CAN. Seems you went down the wrong path.
I saw a link somewhere about an serial bus integration but don’t have it on hand

Using the hacks integration on my new Q350, I have a few questions:

If you set a fan speed you see on the unit self that it switches to manual mode from auto, but in home assistant preset mode is still auto and not manual, how can I get the right status?
I need to switch the preset mode myself to manual and than back to auto if I want auto mode back.

My confoconnect lan c has firmware version U1.1.10, the first time i used the app I got a firmware update message but I think it failed, I read in this topic it should be 1.5.1 but in the app I cannot find an update option.

And I can only have one connection, the app or home assistant, is this normal?

This is due to the firmware. In a more recent version they added support for multiple connections.

Is there a way to update it?
And is the problem with the preset mode with the newer firmware solved too?
I can’t switch back from manual to auto if home assistant still thinks he is in auto mode.

Found it, because I have multiple vlans I needed to connect to the vlan of de comfoconnect and if your local connected you get the update option.

Now I can connect home assistant and the app, if I set the fan speed on low in the app you can now see manual + 2hours. So device preset mode is then still auto I think.

But on the GitHub page I find this:

  • Changes to fan speed won’t be reverted after 2 hours
    How does this then work?

I have a similar problem as babstenT.
“Unkown error ocurred” every time.
Latest version (v01.12) installed.

Thanks in advance for your support.

Logger: aiohttp.server
Quelle: /usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py:421
Erstmals aufgetreten: 16:30:29 (1 Vorkommnisse) Zuletzt protokolliert: 16:30:29

Error handling request
Traceback (most recent call last):
File “/usr/local/lib/python3.12/asyncio/tasks.py”, line 520, in wait_for
return await fut
^^^^^^^^^
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/usr/local/lib/python3.12/site-packages/aiocomfoconnect/bridge.py”, line 173, in _send
return await asyncio.wait_for(fut, TIMEOUT)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/asyncio/tasks.py”, line 519, in wait_for
async with timeouts.timeout(timeout):
File “/usr/local/lib/python3.12/asyncio/timeouts.py”, line 115, in aexit
raise TimeoutError from exc_val
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py”, line 452, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py”, line 543, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py”, line 114, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/security_filter.py”, line 92, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/forwarded.py”, line 83, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/request_context.py”, line 26, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/ban.py”, line 85, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/auth.py”, line 242, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/headers.py”, line 32, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/http.py”, line 73, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/decorators.py”, line 81, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/config/config_entries.py”, line 222, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/data_validator.py”, line 70, in wrapper
return await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py”, line 122, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 368, in async_configure
result = await self._async_configure(flow_id, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 414, in _async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 517, in _async_handle_step
result: _FlowResultT = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/comfoconnect/config_flow.py”, line 69, in async_step_user
return await self._register()
^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/comfoconnect/config_flow.py”, line 139, in _register
await self.bridge.cmd_register_app(
File “/usr/local/lib/python3.12/site-packages/aiocomfoconnect/bridge.py”, line 177, in _send
raise AioComfoConnectTimeout(“Timeout while waiting for response from bridge”) from exc
aiocomfoconnect.exceptions.AioComfoConnectTimeout: Timeout while waiting for response from bridge

I think I had the same a few days ago after a restart of ha, after disabling the integration for a few mins and enabling it was working again.

Already tried restart of ha and also reinstalled the integration without success…

Hello, looking at refreshing my Zehnder monitoring, I am using the HA Component, not HACS.

I see the in the comfoAirQ app (Q350 here) there is a section for ‘Room Sensors’ under the ‘Unit Status’ menu. All of my rooms have their own temp and humidity sensors. Would there be any value to having them talk to the Q350?

If so, how might this be possible?

Thanks, great work!