Hallo zusammen,
ich bin aktuell in der Arbeit meine Lüftungsanlage von Zehnder in Home Assistant zu implementieren. Da mein Kommunikationsmodul das neue Comfoconnet Pro ist funktionieren die aktuellen Integrationen nicht. Allerdings lässt sich die Pro-Box über Modbus TCP steuern was mir eigentlich auch erstmal ausreicht.
Nun zu meiner Frage bzw. Problem. Die Sensoren zum auslesen der Temperaturen, usw. funktionieren soweit.
allerdings komme ich bei der Lüftersteuerung nicht weiter. Habe das über Switches versucht und auch über Templates. Bei letzterem habe ich zwar das Template aber dieses schaltet die Lüftung nicht gemäß der Auswahl zu.
Danke schonmal für die Unterstützung!
nachfolgend mal der Code der Modbus Einstellung und des Templates:
template:
#Select-Entität für die Zehnder Lüftung
- select:
- name: "Ventilation Preset"
unique_id: zehnder_ventilation_preset_select
# Der Zustand wird aus dem Modbus-Sensor gelesen und in lesbare Namen umgewandelt.
state: >
{% set presets = {0: "Away", 1: "Preset 1", 2: "Preset 2", 3: "Preset 3"} %}
{% set state = states('sensor.ventilation_preset_state') | int(0) %}
{{ presets[state] if state in presets else 'unknown' }}
# Die Optionen werden jetzt als ein einzelner String definiert, um den Fehler zu umgehen.
options: "{{ ['Away', 'Preset 1', 'Preset 2', 'Preset 3'] }}"
# Die select_option-Aktion sendet den Befehl über Modbus an die Lüftung.
select_option:
- service: modbus.write_register
data:
hub: "zehnder_comfoconnect_pro"
slave: 1
address: 1
# Der ausgewählte String wird in den entsprechenden Integer-Wert umgewandelt und als Liste übergeben.
value:
- >
{% set options_map = {"Away": 0, "Preset 1": 1, "Preset 2": 2, "Preset 3": 3} %}
{{ options_map[option] }}
Mein Modbus ist wie folgt eingestellt:
modbus:
- name: "zehnder_comfoconnect_pro"
type: tcp
host: "192.168.178.81"
port: 502
switches:
- name: "Zehnder Boost Modus"
unique_id: zehnder_boost_modus
slave: 1
address: 7
command_on: 1
command_off: 0