vito2mqtt¶
A smart home app to control a Vitodens gas heating via MQTT.
vito2mqtt is an IoT-to-MQTT bridge daemon for Viessmann Vitodens 200-W gas boilers. It reads telemetry data — temperatures, pressures, burner hours, error codes — over the Optolink serial interface using the P300 protocol, publishes everything to an MQTT broker, and accepts commands to modify boiler parameters like setpoints, schedules, and operating modes.
Key Features¶
-
46 Telemetry Signals
Temperatures, pressures, burner stats, pump states, and error codes across 7 domain groups — outdoor, hot water, burner, radiator (M1), floor heating (M2), system, and diagnosis.
-
42 Writable Commands
Control heating schedules, setpoints, operating modes, and pump timers. Modify your boiler configuration remotely via MQTT.
-
Configurable Polling Intervals
Set per-domain polling intervals — poll outdoor sensors every 5 minutes, system info every hour. Fine-tune to your needs.
-
Read-Before-Write Optimization
Skips writes when values are unchanged, reducing serial bus traffic and EEPROM wear on the boiler controller. Use
__forceto override. -
Coalescing Groups
Signals due for polling at the same tick are batched into a single serial session, minimizing Optolink bus occupancy (see ADR-007).
-
Bilingual Signal Names
Signal names available in German and English. Set
VITO2MQTT_SIGNAL_LANGUAGEtodeoren(see ADR-006). -
Automated Legionella Treatment
Configurable hot water temperature boost with duration and safety-margin settings to prevent legionella growth.
-
Simple
.envConfiguration
All settings via environment variables or a
.envfile. No YAML, no config files to manage. Powered by cosalette.
Quick Start¶
# Install
uv pip install vito2mqtt
# Create minimal .env
cat > .env << 'EOF'
VITO2MQTT_SERIAL_PORT=/dev/ttyUSB0
VITO2MQTT_MQTT__HOST=localhost
EOF
# Run
uv run vito2mqtt
Or try without hardware using the dry-run mode:
See the Getting Started guide for the full walkthrough.
Documentation¶
| Section | Description |
|---|---|
| Getting Started | Prerequisites, installation, first run |
| Guides | Home Assistant integration, Docker, recipes |
| Configuration Reference | All settings and environment variables |
| MQTT Signal Reference | Complete signal tables with addresses and types |
| Architecture Decisions | ADRs documenting project design choices |
License¶
vito2mqtt is licensed under the GNU General Public License v3.0 or later.