Moin, wer es als Home Assistant (HA) Anwender nicht erwarten kann, zB seine Livisi HK Thermostate jetzt schon in HA zu nutzen, für den beschreibe ich hier einen möglichen Weg. Für alle anderen sollte die offizielle Integration ja bald verfügbar sein.
Der Weg ist bestimmt nichts für jeden, eher etwas für Fortgeschrittene, da hier sowohl iobroker, node-RED und HA (HACS) eingerichtet sein müssen. Die können sich dann aber auch andere Livisi devices, welche in iobroker unterstützt, nur zu diesem Zeitpunkt noch nicht in HA verfügbar sind, in HA verfügbar machen.
- iobroker
- eine eingerichtete Instanz des Innogy/Livisi-Adapters (für die lokale Anbindung ist die v1.0.0 aus dem beta Repository zu empfehlen)
- eine eingerichtete Instanz des Node-RED Adapters
- in Node-RED den Node "node-red-contrib-home-assistant-websocket"
- optional die Verwendung des Alias-Managers
- Home Assistant 2021.12.0
- HACS
- "Node-RED Companion" Integration aus HACS, welches den HA part des obigen Nodes darstelltt
- "Programmable Thermostat" Integration aus HACS, welche später die Steuerung der Thermostate ermöglicht.
- Ein Add-on um die yaml-Konfigurationfiles komfortabler editieren zu können. zB Studio Code Server
Die obigen Komponenten sollten vorher alle installier/konfiguriert sein, bevor mit meinem Bsp weitergemacht werden kann!
Mein Bsp ist wie folgt aufgebaut, kann als Basis verwendet, muss aber an die eigenen Devices angepasst werden.
4 HK Thermostate in 3 Räumen, 2 davon sind in einem Raum zusammengeschaltet worden und werden daher immer gemeinsam geschaltet, liefern aber ihre jeweiligen Temperatur/Luftfeuchtigkeitswerte.
In Node-RED verwende ich den angefügten flow wie im Bild zu sehen.
Die bestehende HA-Serverkonfiguration und meine bestehenden entities müssen jeweils neu erzeugt bzw angepasst werden, bevor der flow deployed wird.
Dazu kann es daher hilfreich sein, zuerst nur den iobroker part zu konfigurieren und zu testen, das die gewünschten Werte auch angezeigt werden, bevor man die HA Nodes erzeugen lässt.
In HA benötigt man die Konfiguration der Programmable Thermostat, welche in meinem Bsp so definiert sind und dann auf der Oberfläche so aussehen.
Die verwendeten entities für zB heater: input_boolean.heater_dining sind Helper die keine Auswirkungen auf die Funktion haben, jedoch für die Komponente definiert sein müssen.
climate:
- platform: programmable_thermostat
name: Living Thermostat
heater: input_boolean.heater_living
actual_temp_sensor: sensor.actual_temp_living
min_temp: 16
max_temp: 21
target_temp_sensor: sensor.target_temp_living
tolerance: 0.3
auto_mode: heating
hvac_options: 3
- platform: programmable_thermostat
name: Dining Thermostat
heater: input_boolean.heater_dining
actual_temp_sensor: sensor.actual_temp_dining
min_temp: 16
max_temp: 21
target_temp_sensor: sensor.target_temp_dining
tolerance: 0.3
auto_mode: heating
hvac_options: 3
- platform: programmable_thermostat
name: Bad Thermostat
heater: input_boolean.heater_bad
actual_temp_sensor: sensor.actual_temp_bad
min_temp: 16
max_temp: 21
target_temp_sensor: sensor.target_temp_bad
tolerance: 0.3
auto_mode: heating
hvac_options: 3
- platform: programmable_thermostat
name: Treppenhaus Thermostat
heater: input_boolean.heater_treppenhaus
actual_temp_sensor: sensor.actual_temp_treppenhaus
min_temp: 16
max_temp: 18
target_temp_sensor: sensor.target_temp_treppenhaus
tolerance: 0.3
auto_mode: heating
hvac_options: 3
Display More
Happy hacking