Hi all,
for those who want to integrate a Vitotrol (Vitodata100) controlled Viessmann system with Home Assistant, this might be something.
I’ve created a MQTT bridge between vitotrol and a MQTT broker. This way it can easily be integrated in Home Assistant using MQTT sensors and switches or MQTT climate.
For example:
switch:
- platform: mqtt
name: "Vitovalor - Energy Saving Mode"
state_topic: "vitotrol2mqtt/Vitovalor 300-P/EnergySavingMode"
command_topic: "vitotrol2mqtt/Vitovalor 300-P/EnergySavingMode/set"
payload_on: "1"
payload_off: "0"
sensor:
- platform: mqtt
state_topic: "vitotrol2mqtt/Vitovalor 300-P/IndoorTemp"
name: "Vitovalor - Indoor Temperature"
unit_of_measurement: "°C"
climate:
- platform: mqtt
name: Living
current_temperature_topic: vitotrol2mqtt/Vitovalor 300-P/IndoorTemp
temperature_state_topic: vitotrol2mqtt/Vitovalor 300-P/HeatNormalTemp
temperature_command_topic: vitotrol2mqtt/Vitovalor 300-P/HeatNormalTemp/set
temperature_command_template: "{{ value | int}}"
precision: 1.0
modes:
- heat
- 'off'
mode_state_topic: vitotrol2mqtt/Vitovalor 300-P/OperatingModeRequested
mode_state_template: >-
{% set values = { '1':'off', '2':'heat'} %}
{{ values[value.lower()] if value.lower() in values.keys() else 'off' }}
mode_command_topic: vitotrol2mqtt/Vitovalor 300-P/OperatingModeRequested/set mode_command_template: >-
{% set values = { 'off':1, 'heat':2} %}
{{ values[value.lower()] if value.lower() in values.keys() else 1 }}
temperature_unit: C
Lots of credits go to maxatome, the creator of the library and the vitotrol2influxdb tool, which the vitotrol2mqtt tool is based on!
Have fun with it if you want, all feedback is welcome!
Note: The Vitotrol API is not fast, so there is some delay on the switch toggle action and the actual state change.
regards
Ben