Wie der Name schon sagt, habe ich selber nach einem Weg gesucht, wie ich zwar in der Zendure App alles steuern kann inklusive HEMS-Integration, Zenki etc., aber parallel alle Daten in Home Assistant auswerten kann. Das war nicht ohne weiteres möglich, da ein Umstellen auf MQTT beim Smartmeter in der Zendure App zur Folge hat, dass es aus dem HEMS fliegt.
Jetzt hab ich aber eine Lösung gefunden :-)
Und zwar sendet der 3CT über eine Restful API fortwährend Daten. Er wird dort auch als unterstütztes Gerät angegeben: https://github.com/Zendure/zenSDK/blob/main/docs/de.md
Ihr könnt das prüfen bei eurem Smartmeter mit dem Befehl:
http://<HIER_DIE_IP_DES_SMARTMETERS>/properties/report
Dann seht ihr eine Ausgabe in der Form:
{"timestamp":1782232275,"messageId":42,"deviceId":"SFgLAmd0","a_aprt_power":386,"b_aprt_power":-300,"c_aprt_power":181,"total_power":267}
Diese zeigt alle aktuellen Leistungsdaten je Phase und kumuliert.
Als nächstes legt ihr entsprechende Sensoren in der configuration.yaml von Home Assistant an:
`rest:
- resource: "http://<HIER_DIE_IP_DES_SMARTMETERS>/properties/report"
scan_interval: 2 # Fragt den Zähler alle 2 Sekunden lokal ab
sensor:
- name: "Zendure Zähler Gesamtleistung"
value_template: "{{ value_json.total_power }}"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
- name: "Zendure Zähler Phase 1"
value_template: "{{ value_json.a_aprt_power }}"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
- name: "Zendure Zähler Phase 2"
value_template: "{{ value_json.b_aprt_power }}"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
- name: "Zendure Zähler Phase 3"
value_template: "{{ value_json.c_aprt_power }}"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"`
Im nächsten Schritt müssen weitere Sensoren errechnet werden, um Netzeinspeisung und -bezug zu trennen und die Leistung in kWh umzurechnen. Das muss ebenfalls in die configuration.yaml. Darauf achten, wenn ihr schon einen template-Bereich habt, keinen zweiten anzulegen, sondern es darunter zu packen (selbiges gilt für den Sensorbereich).
`# 1. Leistung (Watt) in Bezug und Einspeisung aufteilen
template:
- sensor:
- name: "Netzbezug Leistung"
unit_of_measurement: "W"
device_class: power
state_class: measurement
state: >
{% set p = states('sensor.zendure_zahler_gesamtleistung') | float(0) %}
{{ p if p > 0 else 0 }}
- name: "Netzeinspeisung Leistung"
unit_of_measurement: "W"
device_class: power
state_class: measurement
state: >
{% set p = states('sensor.zendure_zahler_gesamtleistung') | float(0) %}
{{ (p * -1) if p < 0 else 0 }}
2. Die Leistung (W) in Energie (kWh) umrechnen
sensor:
platform: integration
source: sensor.netzbezug_leistung
name: "Netzbezug Energie"
unit_prefix: k
round: 2
method: left
platform: integration
source: sensor.netzeinspeisung_leistung
name: "Netzeinspeisung Energie"
unit_prefix: k
round: 2
method: left`
Danach dann Home Assistant neu starten und eine Weile warten, bis die Sensoren ihre Werte liefern. Dann könnt ihr sie im Energiedashboard einbinden.
Ich hoffe, das hat geholfen.