-
-
Save JavanXD/a3e8911e69f3a27a81eeeb80414bb6ab to your computer and use it in GitHub Desktop.
# Helpful information: | |
# https://github.com/Excodibur/ioBroker.schwoerer-ventcube/blob/master/src/lib/schwoerer/parameters.ts | |
# https://github.com/fgoettel/wgt/blob/main/wgt/lueftungsanlage.py | |
# https://knx-user-forum.de/forum/öffentlicher-bereich/knx-eib-forum/diy-do-it-yourself/1822296-modbus-schwörer-heizung?p=1906252#post1906252 | |
################## | |
# MODBUS SENSORS # | |
################## | |
modbus: | |
- name: BIC_VentCube | |
delay: 2 | |
timeout: 3 | |
type: tcp | |
host: !secret wgt_ip | |
port: 502 | |
sensors: | |
- name: VentCube Betriebsart | |
slave: 1 | |
unique_id: ventcube_betriebsart | |
address: 100 | |
# Translated with template sensor | |
# Translated with input_select Automation | |
- name: VentCube Manuelle Luftstufe | |
slave: 1 | |
unique_id: ventcube_manuelle_luftstufe | |
address: 101 | |
# Translated with input_select Automation | |
- name: VentCube Aktuelle Luftstufe | |
slave: 1 | |
unique_id: ventcube_aktuelle_luftstufe | |
address: 102 | |
- name: VentCube Status Stoßlüftung | |
slave: 1 | |
unique_id: ventcube_status_stosslueftung | |
address: 111 | |
# Translated with template sensor | |
- name: VentCube Restlaufzeit Stoßlüftung | |
slave: 1 | |
unique_id: ventcube_restlaufzeit_stosslueftung | |
address: 112 | |
unit_of_measurement: min | |
device_class: duration | |
min_value: 0 | |
max_value: 60 | |
- name: VentCube Status Wärmepumpe | |
slave: 1 | |
unique_id: ventcube_status_waermepumpe | |
address: 114 | |
# Translated with template sensor | |
- name: VentCube Status Nachheizregister | |
slave: 1 | |
unique_id: ventcube_status_nachheizregister | |
address: 116 | |
# Translated with template sensor | |
- name: VentCube Status Gebläse Zuluft | |
slave: 1 | |
unique_id: ventcube_status_geblaese_zuluft | |
address: 117 | |
# Translated with template sensor | |
- name: VentCube Status Gebläse Abluft | |
slave: 1 | |
unique_id: ventcube_status_geblaese_abluft | |
address: 118 | |
# Translated with template sensor | |
- name: VentCube Zustand Bypass | |
slave: 1 | |
unique_id: ventcube_bypass_zustand | |
address: 123 | |
# Translated with template sensor | |
- name: VentCube Zustand Außenklappe | |
slave: 1 | |
unique_id: ventcube_zustand_aussenklappe | |
address: 131 | |
# Translated with template sensor | |
- name: VentCube Status Vorheizregister | |
slave: 1 | |
unique_id: ventcube_status_vorheizregister | |
address: 133 | |
# Translated with template sensor | |
- name: VentCube aktuelle Luftleistung Zuluft | |
slave: 1 | |
unique_id: ventcube_aktuelle_luftleistung_zuluft | |
address: 142 | |
state_class: measurement | |
unit_of_measurement: "%" | |
min_value: 0 | |
max_value: 100 | |
scale: 1 | |
precision: 0 | |
- name: VentCube aktuelle Luftleistung Abluft | |
unique_id: ventcube_aktuelle_luftleistung_abluft | |
slave: 1 | |
address: 143 | |
state_class: measurement | |
unit_of_measurement: "%" | |
min_value: 0 | |
max_value: 100 | |
scale: 1 | |
precision: 0 | |
- name: VentCube aktuelle Drehzahl Zuluft | |
unique_id: ventcube_aktuelle_drehzahl_zuluft | |
slave: 1 | |
address: 144 | |
state_class: measurement | |
unit_of_measurement: "rpm" | |
min_value: 0 | |
max_value: 10000 | |
precision: 0 | |
- name: VentCube aktuelle Drehzahl Abluft | |
unique_id: ventcube_aktuelle_drehzahl_abluft | |
slave: 1 | |
address: 145 | |
state_class: measurement | |
unit_of_measurement: "rpm" | |
min_value: 0 | |
max_value: 10000 | |
precision: 0 | |
- name: VentCube T2 Temperatur nach Vorheizregister | |
slave: 1 | |
unique_id: ventcube_t2_temperatur_nach_vorheizregister | |
unit_of_measurement: °C | |
device_class: temperature | |
address: 201 | |
scale: 0.1 | |
precision: 1 | |
- name: VentCube T3 Temperatur vor Nacherwärmung | |
slave: 1 | |
unique_id: ventcube_t3_temperatur_vor_nacherwaermung | |
unit_of_measurement: °C | |
device_class: temperature | |
address: 202 | |
scale: 0.1 | |
precision: 1 | |
- name: VentCube T4 Temperatur nach Nacherwärmung | |
slave: 1 | |
unique_id: ventcube_t4_temperatur_nach_nacherwaermung | |
unit_of_measurement: °C | |
device_class: temperature | |
address: 203 | |
scale: 0.1 | |
precision: 1 | |
- name: VentCube T5 Temperatur Abluft | |
slave: 1 | |
unique_id: ventcube_t5_temperatur_abluft | |
unit_of_measurement: °C | |
device_class: temperature | |
address: 204 | |
scale: 0.1 | |
precision: 1 | |
- name: VentCube T6 Temperatur im Wärmetauscher | |
slave: 1 | |
unique_id: ventcube_t6_temperatur_im_waermetauscher | |
unit_of_measurement: °C | |
device_class: temperature | |
address: 205 | |
scale: 0.1 | |
precision: 1 | |
- name: VentCube T10 Temperatur Außen | |
slave: 1 | |
unique_id: ventcube_t10_temperatur_aussen | |
unit_of_measurement: °C | |
device_class: temperature | |
address: 209 | |
scale: 0.1 | |
precision: 1 | |
- name: VentCube Heiz- Kühlfunktion | |
slave: 1 | |
unique_id: ventcube_heiz_kuehlfunktion | |
address: 230 | |
# Translated with template sensor | |
# Translated with input_select Automation | |
- name: VentCube Wärmepumpe Heizen | |
slave: 1 | |
unique_id: ventcube_wp_heizen | |
address: 231 | |
- name: VentCube Wärmepumpe Kühlen | |
slave: 1 | |
unique_id: ventcube_wp_kuehlen | |
address: 232 | |
- name: VentCube Druckwächter aktiv | |
slave: 1 | |
unique_id: ventcube_druckwachter_aktiv | |
address: 242 | |
# Translated with template sensor (binary_sensor) | |
- name: VentCube EVU Sperre aktiv | |
slave: 1 | |
unique_id: ventcube_evu_sperre_aktiv | |
address: 243 | |
# Translated with template sensor (binary_sensor) | |
- name: VentCube Wartungstür offen | |
slave: 1 | |
unique_id: ventcube_wartungstur_offen | |
address: 244 | |
# Translated with template sensor (binary_sensor) | |
- name: VentCube Gerätefilter verschmutzt | |
slave: 1 | |
unique_id: ventcube_geratefilter_verschmutzt | |
address: 245 | |
# Translated with template sensor (binary_sensor) | |
- name: VentCube Vorgelagerter Filter verschmutzt | |
slave: 1 | |
unique_id: ventcube_vorgelagerter_filter_verschmutzt | |
address: 246 | |
# Translated with template sensor (binary_sensor) | |
- name: VentCube Zuluft zu kalt | |
slave: 1 | |
unique_id: ventcube_zuluft_zu_kalt | |
address: 254 | |
# Translated with template sensor (binary_sensor) | |
- name: VentCube Restlaufzeit Gerätefilter | |
slave: 1 | |
unique_id: ventcube_restlaufzeit_geratefilter | |
address: 265 | |
unit_of_measurement: d | |
min_value: 0 | |
max_value: 255 | |
device_class: duration | |
- name: VentCube Temperatur Wohnzimmer IST | |
slave: 1 | |
unique_id: ventcube_temperatur_wohnzimmer_ist | |
unit_of_measurement: °C | |
device_class: temperature | |
address: 360 | |
scale: 0.1 | |
precision: 1 | |
min_value: 0 | |
max_value: 100 | |
switches: | |
- name: VentCube Freigabe WP auf Heizen | |
slave: 1 | |
address: 231 | |
command_on: 0x1 # Freigabe | |
command_off: 0x0 # Gesperrt | |
write_type: holdings | |
verify: | |
input_type: holding | |
state_on: 0x1 | |
state_off: 0x0 | |
delay: 5 | |
unique_id: ventcube_set_waermepumpe_heizen | |
- name: VentCube Freigabe WP auf Kühlen | |
slave: 1 | |
address: 232 | |
command_on: 0x1 # Freigabe | |
command_off: 0x0 # Gesperrt | |
write_type: holdings | |
verify: | |
input_type: holding | |
state_on: 0x1 | |
state_off: 0x0 | |
delay: 5 | |
unique_id: ventcube_set_waermepumpe_kuehlen | |
climates: | |
- name: "VentCube Soll-Temperatur" | |
unique_id: ventcube_soll_temperatur | |
slave: 1 | |
address: 400 | |
max_temp: 30 | |
min_temp: 10 | |
offset: 0 | |
precision: 0 | |
scale: 0.1 | |
target_temp_register: 400 | |
target_temp_write_registers: true | |
temp_step: 1 | |
temperature_unit: °C | |
- name: "VentCube Basis-Temperatur" | |
unique_id: ventcube_basis_temperatur | |
slave: 1 | |
address: 420 | |
max_temp: 30 | |
min_temp: 18 | |
offset: 0 | |
precision: 0 | |
scale: 0.1 | |
target_temp_register: 420 | |
target_temp_write_registers: true | |
temp_step: 1 | |
temperature_unit: °C | |
##################################################### | |
# Select Options which require separate Automations # | |
##################################################### | |
input_select: | |
ventcube_manuelle_luftstufe: | |
name: VentCube Manuelle Luftstufe | |
options: | |
- "0 - Aus" | |
- "1 - Stufe 1" | |
- "2 - Stufe 2" | |
- "3 - Stufe 3" | |
- "4 - Stufe 4" | |
- "5 - Automatik" | |
- "6 - Linearbetrieb" | |
icon: mdi:fan | |
ventcube_betriebsart: | |
name: VentCube Betriebsart | |
options: | |
- "0 - Aus" | |
- "1 - Handbetrieb" | |
- "2 - Winterbetrieb" | |
- "3 - Sommerbetrieb" | |
- "4 - Sommer Abluft" | |
icon: mdi:fan | |
ventcube_heiz_kuehlfunktion: | |
name: VentCube Heiz- Kühlfunktion | |
options: | |
- "0 - Aus" | |
- "1 - Heizen" | |
- "2 - Kühlen" | |
- "3 - Auto T-Außen" | |
- "4 - Auto Digitaler Eingang" | |
icon: mdi:fan | |
#################### | |
# TEMPLATE SENSORS # | |
#################### | |
sensor: | |
- platform: template | |
sensors: | |
ventcube_betriebsart_text: | |
unique_id: ventcube_betriebsart_text | |
friendly_name: "VentCube Betriebsart" | |
value_template: > | |
{% set mapper = { | |
'0': 'Aus', | |
'1': 'Handbetrieb', | |
'2': 'Winterbetrieb', | |
'3': 'Sommerbetrieb', | |
'4': 'Sommer Abluft'} %} | |
{% set state = states.sensor.ventcube_betriebsart.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
ventcube_bypass_zustand_text: | |
unique_id: vebtcube_bypass_zustand_text | |
friendly_name: "VentCube Zustand Bypass" | |
value_template: > | |
{% set mapper = { | |
'0': 'Geschlossen', | |
'1': 'Offen (Kühlen)', | |
'2': 'Offen (Heizen)'} %} | |
{% set state = states.sensor.ventcube_bypass_zustand.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
ventcube_zustand_aussenklappe_text: | |
unique_id: ventcube_zustand_aussenklappe_text | |
friendly_name: "VentCube Zustand Außenklappe" | |
value_template: > | |
{% set mapper = { | |
'0': 'Geschlossen', | |
'1': 'Offen'} %} | |
{% set state = states.sensor.ventcube_zustand_aussenklappe.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
ventcube_status_waermepumpe_text: | |
unique_id: ventcube_status_waermepumpe_text | |
friendly_name: "VentCube Status Wärmepumpe" | |
value_template: > | |
{% set mapper = { | |
'0': 'Aus', | |
'5': 'WP Heizen', | |
'49': 'WP Kühlen'} %} | |
{% set state = states.sensor.ventcube_status_waermepumpe.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
ventcube_heiz_kuehlfunktion_text: | |
unique_id: ventcube_heiz_kuehlfunktion_text | |
friendly_name: "VentCube Status Heiz- Kühlfunktion" | |
value_template: > | |
{% set mapper = { | |
'0': 'Aus', | |
'1': 'Heizen', | |
'2': 'Kühlen', | |
'3': 'Auto T-Außen', | |
'4': 'Auto Digitaler Eingang'} %} | |
{% set state = states.sensor.ventcube_heiz_kuehlfunktion.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
ventcube_status_nachheizregister_text: | |
unique_id: ventcube_status_nachheizregister_text | |
friendly_name: "VentCube Status Nachheizregister" | |
value_template: > | |
{% set mapper = { | |
'0': 'Inaktiv', | |
'1': 'Aktiv'} %} | |
{% set state = states.sensor.ventcube_status_nachheizregister.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
ventcube_status_vorheizregister_text: | |
unique_id: ventcube_status_vorheizregister_text | |
friendly_name: "VentCube Status Vorheizregister" | |
value_template: > | |
{% set mapper = { | |
'0': 'Aus', | |
'1': 'VHR1 Aktiv', | |
'2': 'VHR2 Aktiv', | |
'3': 'VHR1+2 Aktiv'} %} | |
{% set state = states.sensor.ventcube_status_vorheizregister.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
ventcube_status_stosslueftung_text: | |
unique_id: ventcube_status_stosslueftung_text | |
friendly_name: "VentCube Status Stoßlüftung" | |
value_template: > | |
{% set mapper = { | |
'0': 'Inaktiv', | |
'1': 'Aktiv'} %} | |
{% set state = states.sensor.ventcube_status_stosslueftung.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
ventcube_status_geblaese_zuluft_text: | |
unique_id: ventcube_status_geblaese_zuluft_text | |
friendly_name: "VentCube Status Gebläse Zuluft" | |
value_template: > | |
{% set mapper = { | |
'0': 'Deaktiviert', | |
'1': 'Anlaufphase', | |
'2': 'Aktiv', | |
'5': 'Standby', | |
'6': 'Fehler'} %} | |
{% set state = states.sensor.ventcube_status_geblaese_zuluft.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
ventcube_status_geblaese_abluft_text: | |
unique_id: ventcube_status_geblaese_abluft_text | |
friendly_name: "VentCube Status Gebläse Abluft" | |
value_template: > | |
{% set mapper = { | |
'0': 'Deaktiviert', | |
'1': 'Anlaufphase', | |
'2': 'Aktiv', | |
'5': 'Standby', | |
'6': 'Fehler'} %} | |
{% set state = states.sensor.ventcube_status_geblaese_abluft.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
template: | |
- binary_sensor: | |
- name: "VentCube Meldung Druckwächter Aktiv" | |
unique_id: ventcube_meldung_druckwachter_aktiv | |
device_class: problem | |
state: > | |
{% set mapper = { | |
'0': 'off', | |
'1': 'on'} %} | |
{% set state = states.sensor.ventcube_druckwachter_aktiv.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
- name: "VentCube Meldung EVU Sperre aktiv" | |
unique_id: ventcube_meldung_evu_sperre_aktiv | |
device_class: problem | |
state: > | |
{% set mapper = { | |
'0': 'off', | |
'1': 'on'} %} | |
{% set state = states.sensor.ventcube_evu_sperre_aktiv.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
- name: "VentCube Meldung Wartungstür offen" | |
unique_id: ventcube_meldung_wartungstur_offen | |
device_class: problem | |
state: > | |
{% set mapper = { | |
'0': 'off', | |
'1': 'on'} %} | |
{% set state = states.sensor.ventcube_wartungstur_offen.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
- name: "VentCube Meldung Gerätefilter verschmutzt" | |
unique_id: ventcube_meldung_geratefilter_verschmutzt | |
device_class: problem | |
state: > | |
{% set mapper = { | |
'0': 'off', | |
'1': 'on'} %} | |
{% set state = states.sensor.ventcube_geratefilter_verschmutzt.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
- name: "VentCube Meldung Vorgelagerter Filter verschmutzt" | |
unique_id: ventcube_meldung_vorgelagerter_filter_verschmutzt | |
device_class: problem | |
state: > | |
{% set mapper = { | |
'0': 'on', | |
'1': 'off'} %} | |
{% set state = states.sensor.ventcube_vorgelagerter_filter_verschmutzt.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
- name: "VentCube Meldung Zuluft Zu Kalt" | |
unique_id: ventcube_meldung_zuluft_zu_kalt | |
device_class: problem | |
state: > | |
{% set mapper = { | |
'0': 'off', | |
'1': 'on'} %} | |
{% set state = states.sensor.ventcube_zuluft_zu_kalt.state %} | |
{{ mapper[state] if state in mapper else 'Unknown' }} | |
Hallo,
bin neu in der HA-Welt und beruflich eher in der Mechanik zuhause. Was muss man tun, um die Integration zu integrieren? 😅
Muss ich die yaml-Datei in HA-Verzeichnis kopieren und dann in der configuration.yaml includieren oder läuft das über HACS? Inwieweit muss ich die modbus_wgt.yaml auf mein System anpassen?
- Du brauchst ein Add-On wie zum Beispiel den File Editor https://github.com/home-assistant/addons/tree/master/configurator
- Du fügst die Zeile in deine
/homeassistant/configuration.yaml
hinzu:
homeassistant:
packages: !include_dir_named packages
- Du erstellst einen Ordner mit der oben beschriebenen Yaml Datei in
/homeassistant/packages/modbus_wgt.yaml
Ein paar Automatisierungs-Ideen, die ich nutze:
- Im Winter schalte ich Abends die Nacherwärmung der Zuluft (T4) nachts aus, damit das Schlafzimmer kühl bleibt.
- Im Sommer prüfe ich abends bereits die Temperaturprognose für den folgenden Tag und schalte bei heißen Wetter abends bereits die Kühlfunktion an, was wiederum den Bypass auslöst und damit die abgekühlte Nachtluft ohne Wärmerückgewinnung (T3) rein lässt.
- Wenn der Feinstaubwert in der Außenluft zu hoch ist, schalte ich die Lüftungsanlage aus. Die Schornsteine im Winter hatten hier recht viel Feinstaub verursacht.
- Ich habe einen CO2 Sensor im Schlafzimmer, anhand dieser Schwellwerte steuere ich die Lüftungsstufe.
Ich hab eine Automatisierung die die Lüfterstufe auf 4 stellt, wenn der Luftfeuchtigkeitsensor (externes gerät) über 80% anzeigt, fällt die Luffeuchtigkeit unter 60% wird wieder die Lüfterstufe eingestellt die vor der Automatisierung eingestellt war
Ich habe eine neue Automation bei mir ergänzt:
- Sobald die Zuluft (T5) wärmer ist als die Abluft (T4) wird die Lüftungsstufe auf 1 gestellt, und umgekehrt ist die Lüftungsstufe auf 3. Das ist dafür da um im Sommer die kühle Luft nachts reinzuholen und tagsüber die warme Luft möglichst draußen zu lassen.
Ich habe die Integration soweit am Laufen und ein Steuerungs-Dashboard ähnlich dem Beispiel gebaut. Ich sehe auch die aktuelle Lüfterstufe und andere aktuelle Werte. ABER ich kann von HA aus nicht die Lüftung steuern. Ich habe eben mal durch das Menü der Bedieneinheit gescrollt, und mir ist eigentlich kein Wert aufgefallen, der augenscheinlich nicht auf "Kommunikation erlauben" stehen würde. Mag aber sein, dass ich nicht die richtigen Einstellungen kenne. Ist beispielsweise der "Digitaleingang" der USB-Port oder die Schnittstelle?
Was muss denn in der Bedieneinheit aktiviert sein, damit ich mit HA auch steuern kann?
Edit/add:
Im Protokoll werden auch ordentlich Fehler geworfen:
Pymodbus: BIC_VentCube: Error: device: 1 address: 142 -> pymodbus returned isError True
Pymodbus: BIC_VentCube: Error: device: 1 address: 144 -> pymodbus returned isError True
Pymodbus: BIC_VentCube: Error: device: 1 address: 145 -> pymodbus returned isError True
Pymodbus: BIC_VentCube: Error: device: 1 address: 143 -> pymodbus returned isError True
und
modbus BIC_VentCube communication closed
Im Bedienteil taucht folgende Meldung auf:
Fehler 02-04
Kommunikation Bus-Sensor
Ich habe eine neue Automation bei mir ergänzt:
- Sobald die Zuluft (T5) wärmer ist als die Abluft (T4) wird die Lüftungsstufe auf 1 gestellt, und umgekehrt ist die Lüftungsstufe auf 3. Das ist dafür da um im Sommer die kühle Luft nachts reinzuholen und tagsüber die warme Luft möglichst draußen zu lassen.
Wie gut hat das über die Zeit geklappt? Selbst wenn wir Nachts die Lüftung auf 3 stellen bleibt es teilweise über 25°C warm. Bei mir ist die Abluft T5 und T4 Temperatur nach Nacherwärmung, hab ich da was falsch?
Ich habe die Integration soweit am Laufen und ein Steuerungs-Dashboard ähnlich dem Beispiel gebaut. Ich sehe auch die aktuelle Lüfterstufe und andere aktuelle Werte. ABER ich kann von HA aus nicht die Lüftung steuern. Ich habe eben mal durch das Menü der Bedieneinheit gescrollt, und mir ist eigentlich kein Wert aufgefallen, der augenscheinlich nicht auf "Kommunikation erlauben" stehen würde. Mag aber sein, dass ich nicht die richtigen Einstellungen kenne. Ist beispielsweise der "Digitaleingang" der USB-Port oder die Schnittstelle? Was muss denn in der Bedieneinheit aktiviert sein, damit ich mit HA auch steuern kann?
Wenn du die richtigen Werte siehst klappt ja schonmal die Kommunikation mit deinem Lüftungssteuergerät. Die Lüfterstufe lässt sich aber nur umschalten wenn der Modus auf Manuell
steht. Sobald sommermodus oder Wintermodus aktiv ist kann die Lüfterstufe nicht bzw. beschränkt eingestellt werden
@VRage Danke Dir - die Lösung lag in der Automation, da war was beim C/P doppelt reingekommen.
Kann mir einer noch sagen, wie ich die Stoßlüftung aktiviere? Nach meinem Verständnis gibt es einen Sensor für die Restlaufzeit und auch den Status, aber wie starte ich eine Stoßlüftung? -Selbst gebaut wäre es ja nix anderes als "manuell Stufe 4 für 30min", aber da es einen Sensor für die Restlaufzeit gibt, kann ich mir schwer vorstellen, dass der nur dafür da ist, den auf dem Bedienpanel dargestellten Wert in HA abzubilden.
@hessebubmaddin meinst du vielleicht die "Sommer abluft", die sollte bei den Betriebsmodis dabei sein VentCube Betriebsart
. Ich glaub, diese betreibsart kannst du nur verwenden wenn deine Fenster mindestens gekippt sind. Ich glaube da wird die Zuluft "deaktiviert" und die Abluft auf 4 gestellt. So wird direkt Luft über die Fenster ins Haus gezogen ... aber sicher bin ich mir nicht
@VRage Nee, das ist was anderes. Die Stoßlüftung (shock ventilation) ist eine eigene Funktion, die Du bspw. beim Kochen anschmeißt. Die Lüftung geht für 30min auf Stufe vier und dann automatisch wieder zurück. Dass es tatsächlich eine eigene Funktion ist, scheint mir in den Zeilen 33-36 ersichtlich (ebenso im IO-Broker Code von Exodibur vorhanden). Bei uns ist das eigentlich die meistgenutzte Funktion.
Im inline Kommentar steht, dass diese Funktion per input_select Automation angesprochen werden muss - hier endet allerdings mein Latein. Vom dargestellten Beispiel oben komm ich mit meinen Minimalst-Skills da nicht weiter. Any ideas/help?
Ah ok, die Funktion kannte ich nur wenn man Sommermodus an hat und auf Lüfterstufe 4 schaltet, da lief es auch nur 30min. Ob du das über Modbus steuern kannst muss man in der schwörer modbus parameterliste schauen
Ich habe eine neue Automation bei mir ergänzt:
- Sobald die Zuluft (T5) wärmer ist als die Abluft (T4) wird die Lüftungsstufe auf 1 gestellt, und umgekehrt ist die Lüftungsstufe auf 3. Das ist dafür da um im Sommer die kühle Luft nachts reinzuholen und tagsüber die warme Luft möglichst draußen zu lassen.
Wie gut hat das über die Zeit geklappt? Selbst wenn wir Nachts die Lüftung auf 3 stellen bleibt es teilweise über 25°C warm. Bei mir ist die Abluft T5 und T4 Temperatur nach Nacherwärmung, hab ich da was falsch?
Laut den Thermostaten in der VentCube und in den Räumen funktioniert es schon, aber ja - wie du sagst, sehr träge und minimal. Problem ist, die Wände etc. haben die Temperatur bereits gespeichert und geben die wieder an die Luft ab. Ich lass es zwar so laufen, weil es minimal hilft. In Summe ist es bei mir einer aus vielen Faktoren, neben automatischer Verschattung, Lüften, und ggf. die Kühlfunktion der FBH.
@hessebubmaddin
Stoßluft aktiviert man per Skript so:
alias: VentCube Aktiviere Stoßlüftung
sequence:
- service: modbus.write_register
data:
address: 111
unit: 255
value:
- 1
hub: BIC_VentCube
mode: single
icon: mdi:wind-power
Luftstufe 3 kann man so per Skript aktivieren:
alias: VentCube Luftstufe 3
sequence:
- service: modbus.write_register
data:
address: 101
slave: 1
hub: BIC_VentCube
value:
- 3
mode: single
icon: mdi:fan-speed-3
Die drei Auswahlfelder:
Damit das Auswahlfelöd der Lüftungsstufe funktioniert brauch man für das Auswahlfeld eine Automation, die so aussieht:
alias: VentCube Manuelle Luftstufe Auswahlfeld
description: ""
trigger:
- platform: state
entity_id:
- sensor.ventcube_manuelle_luftstufe
id: input
to: null
- platform: state
entity_id:
- input_select.ventcube_manuelle_luftstufe
id: select
to: null
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: input
sequence:
- variables:
index: "{{ trigger.to_state.state | int(0) }}"
- service: input_select.select_option
data:
option: >-
{{ state_attr("input_select.ventcube_manuelle_luftstufe",
"options")[ index ] }}
target:
entity_id: input_select.ventcube_manuelle_luftstufe
- conditions:
- condition: trigger
id: select
sequence:
- service: modbus.write_register
data_template:
address: 101
slave: 1
hub: BIC_VentCube
value:
- "{{ trigger.to_state.state[0] | int(0) }}"
mode: queued
max: 3
So eine Automation legt man für jedes Auswahlfeld an, hier die anderen:
Heiz oder Kühlfunktion:
alias: VentCube Heiz- Kühlfunktion Auswahlfeld
description: ""
trigger:
- platform: state
entity_id:
- sensor.ventcube_heiz_kuehlfunktion
id: input
to: null
- platform: state
entity_id:
- input_select.ventcube_heiz_kuehlfunktion
id: select
to: null
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: input
sequence:
- variables:
index: "{{ trigger.to_state.state | int(0) }}"
- service: input_select.select_option
data:
option: >-
{{ state_attr("input_select.ventcube_heiz_kuehlfunktion",
"options")[ index ] }}
target:
entity_id: input_select.ventcube_heiz_kuehlfunktion
- conditions:
- condition: trigger
id: select
sequence:
- service: modbus.write_register
data_template:
address: 230
slave: 1
hub: BIC_VentCube
value:
- "{{ trigger.to_state.state[0] | int(0) }}"
- 0
mode: queued
max: 3
Betriebsart:
alias: VentCube Betriebsart Auswahlfeld
description: ""
trigger:
- platform: state
entity_id:
- sensor.ventcube_betriebsart
id: input
to: null
- platform: state
entity_id:
- input_select.ventcube_betriebsart
id: select
to: null
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: input
sequence:
- variables:
index: "{{ trigger.to_state.state | int(0) }}"
- service: input_select.select_option
data:
option: >-
{{ state_attr("input_select.ventcube_betriebsart", "options")[
index ] }}
target:
entity_id: input_select.ventcube_betriebsart
- conditions:
- condition: trigger
id: select
sequence:
- service: modbus.write_register
data_template:
address: 100
slave: 1
hub: BIC_VentCube
value:
- "{{ trigger.to_state.state[0] | int(0) }}"
- 0
mode: queued
max: 5
@hessebubmaddin laut parameterliste ist Stoßlüften auf Adresse 111 gelegt und kann geschrieben werden ( mit 0 "inaktiv" und 1 "aktiv" ). Ob das wirklich über modbus Funktioniert müsste ich erst daheim ausprobieren.
@JavanXD und @VRage Mega großes Dankeschön, funktioniert!
Das Stoßlüften-Skript hatte ich schon von hier quasi 1:1 ausprobiert, allerdings reicht mein copy/paste Halbwissen nicht um herauszufinden, warum der augenscheinlich gleiche Code mit anderen Einrückungen funktioniert und der aus dem KNX-Forum nicht. Aber hey, Haken dran dank Eurer Hilfe!
warum der augenscheinlich gleiche Code mit anderen Einrückungen funktioniert
weil yaml der größte 💩 seit JavaScript ist 😋
Ich bekomme im Bedienteil noch immer folgende Fehlermeldung:
Fehler 02-04
Kommunikation Bus-Sensor
Außerdem steht der Sensor "VentCube Temperatur Wohnzimmer IST" seit einer Woche auf 19,5° C - sowohl in HA als auch auf dem Bedienteil!
Kann einer von Euch einen Hinweis geben, wo ich ansetzen kann?
Im Protokoll werden weiterhin hundertfach Fehler geworfen, sie zeigen allerdings nicht auf die korrespondierende Adresse 360, sondern weiterhin auf die aktuellen Drehzahlen:
Pymodbus: BIC_VentCube: Error: device: 1 address: 142 -> pymodbus returned isError True
Pymodbus: BIC_VentCube: Error: device: 1 address: 145 -> pymodbus returned isError True
Pymodbus: BIC_VentCube: Error: device: 1 address: 143 -> pymodbus returned isError True
Ich bekomme im Bedienteil noch immer folgende Fehlermeldung:
Fehler 02-04
Kommunikation Bus-SensorAußerdem steht der Sensor "VentCube Temperatur Wohnzimmer IST" seit einer Woche auf 19,5° C - sowohl in HA als auch auf dem Bedienteil!
Kann einer von Euch einen Hinweis geben, wo ich ansetzen kann?
Im Protokoll werden weiterhin hundertfach Fehler geworfen, sie zeigen allerdings nicht auf die korrespondierende Adresse 360, sondern weiterhin auf die aktuellen Drehzahlen:
Pymodbus: BIC_VentCube: Error: device: 1 address: 142 -> pymodbus returned isError True
Pymodbus: BIC_VentCube: Error: device: 1 address: 145 -> pymodbus returned isError True
Pymodbus: BIC_VentCube: Error: device: 1 address: 143 -> pymodbus returned isError True
Da würde ich auf ein Fehler im Bedienteil schließen. Schonmal die IT- Silverbullet probiert und das Ding neugestartet? Also komplett mit Sicherung raus für Bedien und Leistungsteil, paar sekunden warten und wieder einschalten?! Ansonsten musst du dich bei Schwörer melden und fragen ob sie dir ein Update haben.
Meine Anlage ist 2.15, in der Doku wird 2.25 genannt. Anfrage nach Update ist raus.
Ja die zwei Climates funktionieren einwandfrei :)