Firmware and hardwareWorksSource available
Target: Viessmann Vitovent 200-C

Reverse-engineered Viessmann Vitovent 200-C Modbus communication for Home Assistant integration

Platform
ESP32
Outcome
Works
Viessmann Vitovent 200-C: Local monitoring and control of Viessmann Vitovent 200-C ventilation units via ESPHome and Modbus RS485.
Image: Source: raw.githubusercontent.com

Evidence at a glance

Loading source evidence…

What was done

This project provides local monitoring and fan speed control for the Viessmann Vitovent 200-C by sniffing the Modbus traffic between the unit and its LB1 wall panel. It uses an ESP32 to inject commands without replacing the original controller.

The author reverse-engineered the proprietary Modbus communication protocol of the Viessmann Vitovent 200-C ventilation unit by passively sniffing traffic between the unit and its LB1 wall panel. The integration uses an ESP32 board and an RS485 transceiver wired in parallel to the existing bus. The system functions as a secondary master that injects FC06 write commands into the silent gaps of the Modbus cycle, allowing Home Assistant to monitor sensors and control fan speeds while maintaining the original LB1 panel functionality. The author reports that the register map was derived from raw sniffing logs. Claude Opus 5.5 co-authored the implementation, including the ESPHome configurations and Home Assistant dashboard components. The project is limited to the 2026 model with an LB1 panel and remains untested on other hardware versions. Several registers, including 0x00AD and 0x00B7, remain unidentified. Full documentation is available at https://raw.githubusercontent.com/bazrafkan/vitovent-200c-esphome-modbus/HEAD/README.md.

Reproduce it

setup

Connect an ESP32 and RS485 transceiver in parallel to the LB1 data pair. Flash the ESPHome configuration from the repository and integrate the device into Home Assistant using the provided YAML packages.

Community

Ask a question, share what worked, or follow the next milestone.

Your library