Fenecon, Vaillant und SG-Ready

Die Fenecon Home Sektorenkopplung zur Vaillant Wärmepumpe ist überraschend trivial.

Der Fenecon Home hat ein paar eingebaute Relais, die die (optionale) App auf- und zumachen kann. Die Wärmepumpe hat ein paar Klemmen, die im Normalzustand unbelegt und offen sind. Wenn man ein Relais da rantüdelt und dieses schließt, sieht die Wärmepumpe eine 1, da dann die beiden Pins dann verbunden sind. Wenn die Pins offen sind, ist es eine 0.

SG-Ready hat zwei Bits, was vier Zustände ergibt:

0 0 Normalbetrieb
0 1 Einschaltempfehlung
1 0 Sperre
1 1 Einschaltbefehl

Die Sperre ist für den Heimgebrauch irgendwie Quatsch. Warum sollte eine PV der Wärmepumpe eine Sperre schicken? Für einen Netzbetreiber ergibt das Sinn, aber für zuhause eher nicht. Oder für ganze Harte: wenn ich keinen selbstproduzierten Strom mehr habe und ich absolut keinen kaufen will, friere ich lieber. Oder wenn er bei dynamischen Strompreisen gerade sehr teuer ist. Es mag Anwendungsfälle dafür geben.

Normalbetrieb ist der Zustand wie ohne SG-Ready Anbindung. Es liegt kein Signal an, da keine Pins verbunden sind.

Die Einschaltempfehlung scheint der sinnvolle Status für eine PV-Überschussladung zu sein. In diesem Zustand bringt unsere Vaillant erst den Warmwasserspeicher und anschließend den Heizungsspeicher auf maximale Temperatur, jedenfalls solange das Signal anliegt. Die Heizung unterbricht dabei aber keine definierten Aus-Zeiten oder Nachtabsenkungen.

Der Einschaltbefehl bringt zwangsweise den Warmwasserspeicher und anschließend den Heizungsspeicher auf maximale Temperatur und ignoriert dabei definierte Aus-Zeiten oder Nachtabsenkungen. Das mag für einen Netzbetreiber sinnvoll sein. Wenn ich weiß, daß ich die Anlage heute drosseln muss (Sperre), dann ergibt es Sinn, die Wärme vorher zu speichern, damit es dann beim Kunden nicht kalt wird und er noch Warmwasser im Tank hat. Für den Heimgebrauch finde ich das Ignorieren der hinterlegten Programmierung nicht sinnvoll.

Letztendlich braucht man für zuhause eigentlich nur zwei Modi: Normalbetrieb und Einschaltempfehlung. Da reicht eine Klemme und ein Relais. Dann kann man die anderen Relais noch für was anderes benutzen. Das Setzen des hinteren Bits reicht: dann kann man Normalbetrieb und Einschaltempfehlung ansteuern.

Die Vaillant ArothermPlus kann beides: 1 Signal aka PV-Ready oder 2 Signale aka SG-Ready.

Vaillant hat eine gute Dokumentation: Wärmepumpen einfach und schnell anschließen

PV-Ready:

Ein Relais vom Fenecon kommt an FB und OT.

Für SG-Ready braucht man dann noch ein zweites Kabel. Die erste Leitung ist unverändert. Das zweite Relais kommt an den S21 ran.

Die Konfiguration der App ist etwas versteckt. Auf dem Fenecon die FEMS-App-Übersicht öffnen:Die App auswählen, den Cookie-Hinweis einfach ignorieren und rechts den Button „App Bearbeiten“ auswählen. Dahinter versteckt dich die Konfigurations-Ebene; wer immer sich das wohl ausgedacht hat.

Da kann man dann auswählen, welches Relais wofür verwendet wird.

Wann der Fenecon die Zustände auslöst, lasst sich in der GUI konfigurieren:

Diverse Links zu Fokus zu dem Thema:

  • https://www.vaillant.ch/downloads/installationsanleitungen/deutsch/waermepumpen/elektrische-anschluesse/installationsanleitung-elektrische-anschluesse-arotherm-plus-1727522.pdf
  • https://www.photovoltaikforum.com/thread/167490-sgready-pvready-mit-vaillant-w%C3%A4rmepumpe-und-senec-wechselrichter/
  • https://www.photovoltaikforum.com/core/attachment/7892-sg-ready-w%C3%A4rmepumpen-pdf/
  • https://www.haustechnikdialog.de/Forum/t/259807/PV-Anbindung-Vaillant-Arotherm-plus-mit-Shelly1
  • https://enphase.com/de-de/download/warmepumpe-vaillant-arotherm-plus-konfigurationsanleitung-fur-iq-energy-router
  • https://docs.fenecon.de/de/_/latest/fems/fems-app/OEM_App_SG-ready_Waermepumpe.html

Wenn der Wechselrichter das nicht kann, könnte man die beiden Kontakte in der Vaillant auch an ein Shelly-Relais verbinden und den Shelly aus dem Home-Assistent ansteuern.

Fenecon Home und das Rest-API

Merkwürdigerweise exportieren nicht alle Schnittstellen am Fenecon Home die gleichen Informationen. Die Rest-API hat mehr als Modbus, ist aber leider nur unvollständig dokumentiert. Die internen Temperaturen, die Netzfrequenz oder die Alterung der Batterie z.B. scheint es nur über Rest zu geben. Home Assistant kann Rest von Haus aus:

- resource: "http://192.168.0.123:8084/rest/channel/meter0/(Frequency)“
username: x
password: user
authentication: basic
scan_interval: 60
sensor:
  - value_template: '{{value_json | selectattr("address", "equalto", "meter0/Frequency") | map(attribute="value") | first }}‘
    name: "FEMS Netzfrequenz“
    unit_of_measurement: „Hz“
    device_class: Frequency
    state_class: measurement
    unique_id: "fems/meter0/frequency“
- resource: "http://192.168.0.123:8084/rest/channel/battery0/(Tower0PackVoltage|Current|Soh)“
username: x
password: user
authentication: basic
scan_interval: 60
sensor:
  - value_template: '{{value_json | selectattr("address", "equalto", "battery0/Tower0PackVoltage") | map(attribute="value") | first / 10 }}‘
    name: "FEMS Batteriespannung“
    unit_of_measurement: „V“
    device_class: voltage
    state_class: measurement
    unique_id: "fems/battery0/Tower0PackVoltage“
  - value_template: '{{value_json | selectattr("address", "equalto", "battery0/Current") | map(attribute="value") | first }}‘
    name: "FEMS Batteriestrom“
    unit_of_measurement: „A“
    device_class: current
    state_class: measurement
    unique_id: "fems/battery0/Current“
  - value_template: '{{value_json | selectattr("address", "equalto", "battery0/Soh") | map(attribute="value") | first }}‘
    name: "FEMS Batterie State of Health“
    unit_of_measurement: „%“
    #device_class: current
    state_class: measurement
    unique_id: "fems/battery0/Soh“
- resource: "http://192.168.0.123:8084/rest/channel/charger.+/(ActualPower|Voltage|Current|ActualEnergy)“
username: x
password: user
authentication: basic
scan_interval: 20
sensor:
  - name: "FEMS PV 2 Leistung“
    value_template: '{{value_json | selectattr("address", "equalto", "charger1/ActualPower") | map(attribute="value") | first }}‘
    unit_of_measurement: „W“
    device_class: power
    state_class: measurement
    unique_id: "fems/charger1/ActualPower“
  - value_template: '{{value_json | selectattr("address", "equalto", "charger1/Voltage") | map(attribute="value") | first / 1000 }}‘
    name: "FEMS PV 2 Spannung“
    unit_of_measurement: „V“
    device_class: voltage
    state_class: measurement
    unique_id: "fems/charger1/Voltage“
  - value_template: '{{value_json | selectattr("address", "equalto", "charger1/Current") | map(attribute="value") | first / 1000 }}‘
    name: "FEMS PV 2 Strom“
    unit_of_measurement: „A“
    device_class: current
    state_class: measurement
    unique_id: "fems/charger1/Current“
  - value_template: '{{value_json | selectattr("address", "equalto", "charger1/ActualEnergy") | map(attribute="value") | first }}‘
    name: "FEMS PV 2 Erzeugung“
    unit_of_measurement: „Wh“
    device_class: energy
    state_class: total_increasing
    unique_id: "fems/charger1/ActualEnergy“
  - value_template: '{{value_json | selectattr("address", "equalto", "charger0/ActualPower") | map(attribute="value") | first }}‘
    name: "FEMS PV 1 Leistung“
    unit_of_measurement: „W“
    device_class: power
    state_class: measurement
    unique_id: "fems/charger0/ActualPower“
  - value_template: '{{value_json | selectattr("address", "equalto", "charger0/Voltage") | map(attribute="value") | first / 1000 }}‘
    name: "FEMS PV 1 Spannung“
    unit_of_measurement: „V“
    device_class: voltage
    state_class: measurement
    unique_id: "fems/charger0/Voltage“
  - value_template: '{{value_json | selectattr("address", "equalto", "charger0/Current") | map(attribute="value") | first / 1000 }}‘
    name: "FEMS PV 1 Strom“
    unit_of_measurement: „A“
    device_class: current
    state_class: measurement
    unique_id: "fems/charger0/Current“
  - value_template: '{{value_json | selectattr("address", "equalto", "charger0/ActualEnergy") | map(attribute="value") | first }}‘
    name: "FEMS PV 1 Erzeugung“
    unit_of_measurement: „Wh“
    device_class: energy
    state_class: total_increasing
    unique_id: "fems/charger0/ActualEnergy“
- resource: "http://192.168.0.123:8084/rest/channel/batteryInverter0/(AirTemperature|BmsPackTemperature|RadiatorTemperature)“
username: x
password: user
authentication: basic
scan_interval: 60
sensor:  
  - value_template: '{{value_json | selectattr("address", "equalto", "batteryInverter0/AirTemperature") | map(attribute="value") | first }}‘
    name: "FEMS batteryInverter0/AirTemperature“
    unit_of_measurement: „°C“
    device_class: temperature
    state_class: measurement
    unique_id: "fems/batteryInverter0/AirTemperature“
  - value_template: '{{value_json | selectattr("address", "equalto", "batteryInverter0/BmsPackTemperature") | map(attribute="value") | first }}‘
    name: "FEMS batteryInverter0/BmsPackTemperature“
    unit_of_measurement: „°C“
    device_class: temperature
    state_class: measurement
    unique_id: "fems/batteryInverter0/BmsPackTemperature“
  - value_template: '{{value_json | selectattr("address", "equalto", "batteryInverter0/RadiatorTemperature") | map(attribute="value") | first }}‘
    name: "FEMS batteryInverter0/RadiatorTemperature“
    unit_of_measurement: „°C“
    device_class: temperature
    state_class: measurement
    unique_id: "fems/batteryInverter0/RadiatorTemperature"

 

Fenecon Modbus Details

Die Modbus-Dokus und Sensor-Namen sind teilweise nicht selbsterklärend und in englisch.

Glossar:

  • ESS = Energy Storage System
  • SOC = State of Charge
  • EVCS = Electric Vehicle Charging Station = WallBox
  • Meter = StromZähler
  • Inverter = Wechselrichter
  • Active Power = Wirkleistung
  • Apparent Power =  Scheinleistung
  • Reactive Power = Blindleistung

ESS_SOC ist also der Ladezustand (in Prozent) des Akkus:

public static final Sum.ChannelId ESS_SOC
Ess: Average State of Charge.
  Interface: Sum (origin: Ess)
  Type: Integer
  Unit: %
  Range: 0..100

Und einige nicht selbsterklärende Sensoren:

  • GRID_MODE Values: ‚-1‘ = UNDEFINED, ‚1‘ = On-Grid, ‚2‘ = Off-Grid 
  • battery0/Tower0PackVoltage = FEMS Batteriespannung
  • battery0/Current = Stromstärke
  • battery0/Soh = FEMS Batterie State of Health in Prozent
  • Charger0 = String 1
  • Charger 1 = String 2
  • Actual energy = Leistung in Watt
  • Voltage = Spannung in Volt
  • Current  = Strom in Ampere
  • ActualEnergy = Erzeugung in Wh

Quellen:

  1. https://openems.github.io/openems.io/javadoc/io/openems/edge/common/sum/Sum.ChannelId.html#PRODUCTION_AC_ACTIVE_POWER
  2. https://openems.github.io/openems.io//openems/latest/edge/controller.html
  3. https://openems.io/

Home Assistant Energie Dashboard und Fenecon Home

So lässt sich der Fenecon Home in das Home Assistant Energie-Dashboard einbinden:

Die Sensoren kommen aus der Modbus-Integration, Man muss aus der Menge der Sensoren nur die erwischen, die genau das liefern, was Home Assistant erwartet.

Für einige Sensoren sind noch Details verfügbar, z.B: die Preise oder die Solar-Wettervorhersage (die ziemlich ungenau ist).

 

Das ergibt dann eine schöne Übersicht über Verbrauch, Produktion und Kosten von Strom, Gas, Wasser,  …

Fenecon Home über MQTT anbinden

 

Es gibt für den Fenecon Home ein Addon, welches die WebSocket-Schnittstelle anzapft und die Daten per MQTT in den Home Assistant bringt. Teilweise ist diese Schnittstelle ausführlicher als die Modbus-Schnittstelle. Modus bietet z.B. nicht die Einzelwerte der Strings an, sondern nur die Summe.

Die Installation ist recht simpel: downloaden, Benutzer/Passwort und zwei IPs eintragen. Die eine IP ist die des MQTT-Brokers (normalerweise der Home Assistant), die andere IP ist die des Fenecons.

mqtt_broker_host: 192.168.0.xyz
mqtt_broker_port: 1883
mqtt_broker_user: FeneconUser
mqtt_broker_passwd: FeneconPasswort

Den Benutzer und Passwort muss man vorher im Home Assistant in den Einstelllungen anlegen.

fems_ip: 192.168.0.abc
fems_password: user

Das Passwort user ist das Standard-PW des Fenecons. 

Danach einmal den HA durchstarten und über die vielen neuen Sensoren freuen:

Fenecom Home im Home Assistant

Den Fenecon Home in Home Assistant einzubinden ist nicht wirklich kompliziert. Der Fenecon bietet Modbus an, welches im lokalen Netz zu erreichen ist.

In der configuration.yaml reicht ein Eintrag wie

modbus: !include fenecon-modbus.yaml

In der fenecon-modbus.yaml sind dann die ganze Sensoren drin. Vorlagen dafür finden sich in diversen Foren. Die Konfiguration hängt sicherlich immer von der konkreten Hardware ab. Bei mir sieht das so aus.

- name: „fems“
delay: 5
timeout: 5
type: tcp
host: 192.168.168.99
port: 502
sensors:
  #INT
  - name: "FEMS_EssSoc" # Battery SoC
    scan_interval: 60
    data_type: uint16
    input_type: input
    device_class: battery
    state_class: measurement
    unit_of_measurement: „%“
    address: 302
    slave: 1
    unique_id: fems_modbus_302
  #FLOAT32    
  - name: "FEMS_EssActivePower" # Combined Power of PV + Battery
    unit_of_measurement: W
    scan_interval: 10
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 303
    slave: 1
    unique_id: fems_modbus_303
  - name: "FEMS_GridActivePower" # Grid Power
    unit_of_measurement: W
    scan_interval: 10
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 315
    slave: 1
    unique_id: fems_modbus_315
- name: "FEMS_ProductionDcActualPower" # PV Power
    unit_of_measurement: W
    scan_interval: 10
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 339
    slave: 1
    unique_id: fems_modbus_339
  - name: "FEMS_ConsumptionActivePower" #House Power
    unit_of_measurement: W
    scan_interval: 10
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 343
    slave: 1
    unique_id: fems_modbus_343
  - name: „FEMS_EssActivePowerL1“
    unit_of_measurement: W
    scan_interval: 20
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 391
    slave: 1
    unique_id: fems_modbus_391
  - name: „FEMS_EssActivePowerL2“
    unit_of_measurement: W
    scan_interval: 20
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 393
    slave: 1
    unique_id: fems_modbus_393
  - name: „FEMS_EssActivePowerL3“
    unit_of_measurement: W
    scan_interval: 20
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 395
    slave: 1
    unique_id: fems_modbus_395
  - name: „FEMS_GridActivePowerL1“
    unit_of_measurement: W
    scan_interval: 20
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 397
    slave: 1
    unique_id: fems_modbus_397
  - name: „FEMS_GridActivePowerL2“
    unit_of_measurement: W
    scan_interval: 20
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 399
    slave: 1
    unique_id: fems_modbus_399
  - name: „FEMS_GridActivePowerL3“
    unit_of_measurement: W
    scan_interval: 20
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 401
    slave: 1
    unique_id: fems_modbus_401
  - name: „FEMS_ConsumptionActivePowerL1“
    unit_of_measurement: W
    scan_interval: 20
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 409
    slave: 1
    unique_id: fems_modbus_409
  - name: „FEMS_ConsumptionActivePowerL2“
    unit_of_measurement: W
    scan_interval: 20
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 411
    slave: 1
    unique_id: fems_modbus_411
  - name: „FEMS_ConsumptionActivePowerL3“
    unit_of_measurement: W
    scan_interval: 20
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 413
    slave: 1
    unique_id: fems_modbus_413
  - name: "FEMS_EssDischargePower" #Battery Discharge Power
    unit_of_measurement: W
    scan_interval: 5
    data_type: float32
    input_type: holding
    device_class: power
    state_class: measurement
    address: 415
    slave: 1
    unique_id: fems_modbus_415
  #Energy (Float64)
  - name: "FEMS_EssActiveChargeEnergy" #not sure what this is, I think its the Energy the battery has been charged form AC/the Grid, should not be too high, because its normally not possible/allowed (in Germany at least) to charge from the Grid.
    unit_of_measurement: Wh
    scan_interval: 60
    data_type: float64
    input_type: holding
    device_class: energy
    state_class: total_increasing
    address: 351
    slave: 1
    unique_id: fems_modbus_351
  - name: "FEMS_EssActiveDischargeEnergy" #not sure what this is, I think its the total amount of Energy the System has put out to AC, so basicially the the amount of PV minus what is currently stored in the battery plus the amount that you have charged from the Grid (so FEMS_EssActiveChargeEnergy), but that is normally not possible, so this is not very useful.
    unit_of_measurement: Wh
    scan_interval: 60
    data_type: float64
    input_type: holding
    device_class: energy
    state_class: total_increasing
    address: 355
    slave: 1
    unique_id: fems_modbus_355
  - name: "FEMS_GridBuyActiveEnergy" #Total Consumption from Grid
    unit_of_measurement: Wh
    scan_interval: 60
    data_type: float64
    input_type: holding
    device_class: energy
    state_class: total_increasing
    address: 359
    slave: 1
    unique_id: fems_modbus_359
  - name: "FEMS_GridSellActiveEnergy" #Total Energy Sold to Grid
    unit_of_measurement: Wh
    scan_interval: 60
    data_type: float64
    input_type: holding
    device_class: energy
    state_class: total_increasing
    address: 363
    slave: 1
    unique_id: fems_modbus_363
  - name: "FEMS_ProductionActiveEnergy" # Total PV Production Energy
    unit_of_measurement: Wh
    scan_interval: 60
    data_type: float64
    input_type: holding
    device_class: energy
    state_class: total_increasing
    address: 367
    slave: 1
    unique_id: fems_modbus_367
  - name: "FEMS_ConsumptionActiveEnergy" # Total Energy Usage
    unit_of_measurement: Wh
    scan_interval: 60
    data_type: float64
    input_type: holding
    device_class: energy
    state_class: total_increasing
    address: 379
    slave: 1
    unique_id: fems_modbus_379
  - name: "FEMS_EssDcChargeEnergy" # Total Battery Charge Energy
    unit_of_measurement: Wh
    scan_interval: 60
    data_type: float64
    input_type: holding
    device_class: energy
    state_class: total_increasing
    address: 383
    slave: 1
    unique_id: fems_modbus_383
  - name: "FEMS_EssDcDischargeEnergy" # Total Battery Discharge Energy
    unit_of_measurement: Wh
    scan_interval: 60
    data_type: float64
    input_type: holding
    device_class: energy
    state_class: total_increasing
    address: 387
    slave: 1
    unique_id: fems_modbus_387

Wenn das alles eingebunden ist, kann man das im Energie-Dashboard einrichten:

Im Fenecon-Webinterface sind noch weitere Modbus-Register aufgeführt, aber da kommen keine Werte. Vermutlich sind die nur aktiv, wenn man mehrere Batterie-Türme oder die optionalen Relais-Boards hat, …

eBus und Vaillant Arotherm

Die Vaillant ArothermPlus benutzt eBus zur Kommunikation zwischen den Komponenten: Bedienpanel, Hydraulikstation, Solarthermie, …

eBus ist eine Art RS232-Bus, was natürlich kein normaler Rechner beherrscht. Aber es gibt einige wenige Adapter, wie z.B. den eBus Adapter.

Der Anschluss des Adapters an den eBus ist relativ simpel. An den eBus ranzukommen ist dagegen nicht so ganz einfach. Im Bedienpanel ist kein Platz für ein weiteres Kabel. Die Wärmepumpe ist draußen, da müsste wieder ein weiteres Kabel durch die Wand. Und die Hydraulikstation muss man aufmachen und an die reichlich beengte Steuerplatine ran. Im SensoNet liegt der eBus nicht als normale Klemme an, sondern ein komischer Spezialstecker welcher mit einem vergossenen Kabel an die Hydraulikstation geht. Bei uns liegt der eBus aber im Vaillant VR70 Mischer gut zugänglich an. 

Bildschirmfoto 2023 11 16 um 06 39 30

Da die Klemme für ein weiteres Kabel zu klein war, mussten zwei Wago-Klemmen als kleine Verteiler herhalten. Die Polung ist egal. Von dort aus geht ein Kabel (ca 5 Meter, Schlauchleitung H03 VVH2-F 2×0,75 mm² ) in den Netzwerk-Schrank. Dort ist der eBus-Adapter eingebaut; da liegt er sicher, hat Strom, … und baumelt nicht irgendwo an der Wand rum.

Der Adapter selber hatte eine alte Firmware, die bei mir nicht stabil lief. Das Flashen ist auf der WebSeite beschrieben, aber etwas merkwürdig (Webbrowser, serielle Schnittstelle, …) ging dann aber nach mehreren Versuchen. Seitdem läuft der Adapter (überwiegend) stabil, wobei mir noch nicht ganz klar ist, ob der Adapter oder der eBusD manchmal hängt.

Bildschirmfoto 2023 11 16 um 07 13 15

Zum Einrichten baut er ein kleines WLAN auf, bei dem man sich anmeldet und die Erstkonfiguration macht. Im Prinzip braucht er nur die Zugangsdaten zum Haus-Wifi und für das Webinterface einen Benutzer und ein Passwort.

Wichtig ist der eBus Device String, der angezeigt wird.

Zur Integration des eBusD in den Home Assistant gibt es verschiedene Varianten. Ich habe dieses AddOn benutzt, das sich über den HACS installieren lässt.

Bildschirmfoto 2023 11 16 um 07 17 57

Für die Konfiguration dieses Addons braucht man wieder den eBus Device String von oben. Für das AddOn muss dann noch der Autostart aktiviert werden.

Danach den Adapter und den Home Assistant einmal neu starten. Wenn alles klappt, zeigt der Adapter bei eBusD connected ein Yes an. Und bei eBus acquired natürlich auch.

Das Addon richtet die Datenübertragung per MQTT ein:Bildschirmfoto 2023 11 16 um 07 22 53

Danach bekommt man wirklich viele Entitäten in den Home Assistant gespült:

Ebus

 

Viele von den Werten bekommt man auch über Vaillant-API, aber nicht alle. Die Temperaturen aus dem Solarthermie-Mischer VR70 z.B. hat die API nicht. Einige fehlen aber auch, z.B. die Arbeitszahlen. Die errechnet sich der Vaillant-Service vermutlich aus den Rohdaten, denn der VR921 hängt ja auch am eBus und sollte daher nicht mehr Daten zur Verfügung haben.

Home Assistant und Impluszähler

Wenn man in Home Assistant den Wasser- oder Gasverbrauch pro Tag erfassen will, muss man die Impuls-Zähler um Mitternacht zurück setzen. Ansonsten zählt der einfach immer weiter und man hat keine Unterscheidung zwischen den Tagen sondern den Gesamtverbrauch über alle Tage.

Bildschirmfoto 2023 11 09 um 19 44 04

Dafür braucht man eine Automatisierung. Der Auslöser ist die Uhrzeit und die Aktion ist der Service counter.reset. Dort dann die beiden Wasser- und Gaszähler auswählen:

Bildschirmfoto 2023 11 09 um 19 46 16