Bug Report
Hardware
- Board: Waveshare ESP32-S3-RS485-CAN (headless bridge mode)
- Ventilation unit: Zehnder ComfoAir Q350
- Connection: Direct CAN via ComfoNet RJ45
Firmware
- Latest version from main branch (cloned 2026-06-02)
Description
Sending the MQTT command comfoair/commands/auto (payload: on) has no effect on the ventilation unit. The operating_mode sensor remains on limited_manual and the fan speed does not change.
Steps to reproduce
- Set ventilation to manual mode (speed 1, 2 or 3) via MQTT command — works correctly
- Publish
on to comfoair/commands/auto
- Wait 10+ minutes
comfoair/operating_mode remains limited_manual
Expected behavior
The unit should switch to auto mode, as confirmed by the protocol documentation:
85 15 08 01 = Switch to auto mode (source: michaelarnauts/aiocomfoconnect PROTOCOL-RMI.md)
Observed behavior
- The MQTT message is correctly received by the broker ✅
- The firmware receives the message and calls
sendCommand("auto") ✅
- The CAN frame
{ 0x85, 0x15, 0x08, 0x01 } is sent to the bus ✅
- The Q350 does NOT change its operating mode ❌
Additional notes
- Switching to auto mode works correctly from the physical screen of the Q350
- Switching to manual speeds 0-3 via MQTT works correctly
- Bypass activate/deactivate via MQTT works correctly
- The
operating_mode PDO (PDOID 49) correctly reports auto / limited_manual
- When set to auto from the physical screen,
comfoair/operating_mode correctly reports auto
Hypothesis
The Q350 may require the command to come from a registered ComfoNet node, or the CAN frame addressing may differ for this specific command. The CanAddress used is (0x11, 0x1, 0, 0, 0, 1, sequence) which is the same for all commands including the working ones.
Bug Report
Hardware
Firmware
Description
Sending the MQTT command
comfoair/commands/auto(payload:on) has no effect on the ventilation unit. Theoperating_modesensor remains onlimited_manualand the fan speed does not change.Steps to reproduce
ontocomfoair/commands/autocomfoair/operating_moderemainslimited_manualExpected behavior
The unit should switch to auto mode, as confirmed by the protocol documentation:
85 15 08 01= Switch to auto mode (source: michaelarnauts/aiocomfoconnect PROTOCOL-RMI.md)Observed behavior
sendCommand("auto")✅{ 0x85, 0x15, 0x08, 0x01 }is sent to the bus ✅Additional notes
operating_modePDO (PDOID 49) correctly reportsauto/limited_manualcomfoair/operating_modecorrectly reportsautoHypothesis
The Q350 may require the command to come from a registered ComfoNet node, or the CAN frame addressing may differ for this specific command. The
CanAddressused is(0x11, 0x1, 0, 0, 0, 1, sequence)which is the same for all commands including the working ones.