Nach dem Einbau der Sonnenbatterie musste diese natürlich noch in HomeAssistant integriert werden. Da es keine Direktintegration gibt, habe ich das direkt mit der vorhandenen REST JSON API bewerkstelligt. Hier eine kleine Anleitung.
Grundvoraussetzung für die nächsten Schritte ist, dass du die IP Adresse deiner Sonnenbatterie kennst und ein Zugriff auf die lokale Web Oberfläche besitzt.
In einem ersten Schritt habe ich die READ API der Sonnenbatterie über die Web Oberfläche zugänglich gemacht und mir einen API Token erstellt.
Auf dieser Seite gibt es übrigens auch die Dokumentation aller Endpoints! Toll!
Dann wechsle ich in den HomeAssistant, genauer in das configuration.yaml und trage dort das folgende eine:
rest:
- resource: http://192.168.1.xx:80/api/v2/latestdata
method: GET
headers:
User-Agent: Home Assistant
Content-Type: application/json
Auth-Token: DEIN TOKEN
scan_interval: 60
timeout: 15
sensor:
- name: solar_power_w
value_template: '{{ value_json["Production_W"] }}'
unit_of_measurement: W
device_class: power
- name: battery_soc
value_template: '{{ value_json["USOC"] }}'
unit_of_measurement: '%'
device_class: battery
- name: battery_consumption_production_diff
value_template: '{{ value_json["Pac_total_W"] }}'
unit_of_measurement: W
device_class: power
- name: house_consumption
value_template: '{{ value_json["Consumption_W"] }}'
unit_of_measurement: W
device_class: power
- name: battery_capacity
value_template: '{{ value_json["FullChargeCapacity"] }}'
unit_of_measurement: Wh
device_class: energy
- name: battery_soc_energy
value_template: '{{ (value_json["USOC"]|float / 100 * value_json["FullChargeCapacity"]|float)|round(0)|int }}'
unit_of_measurement: Wh
device_class: energy
Jetzt ergänzt du deine korrekte IP Adresse in der Zeile 2 und dein API Token wo jetzt ‚DEIN TOKEN‘ drin steht. Falls du zuvor in der configuration.yaml bereits einen Abschnitt für „rest“ hattest, dann kannst die erste Zeile ignorieren und den Rest gleich unterhalb einfügen.
Die Konfiguration unter „Entwicklerwerkzeugen“ jetzt prüfen und dann „Rest-Entitäten und Benachrichtigungsdienste neu laden“ ausführen.
Jetzt hast du neu diverse Werte deiner Sonnenbatterie integriert:
- solar_power_w: Produktion der Solaranlage
- battery_soc: Batterie Ladestand
- battery_consumption_production_diff: Lade- bzw. Entladestrom
- house_consumption: Aktueller Hausverbrauch
- battery_capacity: Batterie Gesamtkapazität
- battery_soc_energy: Daraus berechnet die aktuelle Kapazität