Sonnenbatterie in HomeAssistant

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