Balkonkraftwerk mit ShellyPlugS und Shelly Pro 3EM

Mit viel Geduld und folgender Hardware:

  • Balkonkraftwerk mit Hoymiles HMS-800W-2T
  • Shelly PlugS am Umrichter
  • Shelly Pro 3EM an Hauseinspeisung
  • Synology 218 mit HA-Core 2023.7.3

Den Umrichter habe ich nicht in der Cloud eingebunden. Nur alles Montiert und den Umrichter in die Steckdose mit Shelly PlugS gesteckt. Es wird sofort Strom produziert (wenn die Sonne scheint).
Am Hausanschluss den Shelly Pro 3EM installiert.
Die Integration der Shelly in HA beschreibe ich hier nicht. Sollte jeder hinkriegen.

Die Aufgabe war die Integration mit richtiger Saldierung.

Lösung:

Zuerst bin ich auf die Synology mit WinSCP in das Verzeichnis:
“/volume1/@appdata/homeassistant/config”
Hier habe ich in der “configuration.yaml” als letzte Zeile “template: !include templates.yaml” eingefügt und die Datei “template.yaml” im selben Verzeichnis angelegt. Hinweis: Die neue Datei muss die selben Rechte und Besitzer haben, wie die config-Datei. Sonst kann HA die Datei nicht lesen.

templates.yaml mit drei Sensoren für Import, Export und Solarproduktion

- sensor:
    # Template sensor for values of power import (active_power > 0)
    - name: "Power Import"
      unique_id: power_import
      device_class: power
      state_class: measurement
      unit_of_measurement: "W"
      state: >
        {% if (states('sensor.shellypro3em_xxx_phase_a_active_power')|float + states('sensor.shellypro3em_xxx_phase_b_active_power')|float + states('sensor.shellypro3em_xxx_phase_c_active_power')|float) > 0 %}
          {{ states('sensor.shellypro3em_xxx_phase_a_active_power')|float + states('sensor.shellypro3em_xxx_phase_b_active_power')|float + states('sensor.shellypro3em_xxx_phase_c_active_power')|float }}
        {% else %}
          {{ 0 }}
        {% endif %}
        
    # Template sensor for values of power export (active_power < 0)
    - name: "Power Export"
      unique_id: power_export
      device_class: power
      state_class: measurement
      unit_of_measurement: "W"
      state: >
        {% if (states('sensor.shellypro3em_xxx_phase_a_active_power')|float + states('sensor.shellypro3em_xxx_phase_b_active_power')|float + states('sensor.shellypro3em_xxx_phase_c_active_power')|float) < 0 %}
          {{ (states('sensor.shellypro3em_xxx_phase_a_active_power')|float + states('sensor.shellypro3em_xxx_phase_b_active_power')|float + states('sensor.shellypro3em_xxx_phase_c_active_power')|float) * -1 }}
        {% else %}
          {{ 0 }}
        {% endif %}
        
    # Template sensor for values of energy Solar generation (solar_power > 0)
    - name: "Power SolarGen"
      unique_id: power_solargen
      device_class: power
      state_class: measurement
      unit_of_measurement: "W"
      state: >
        {% if (states('sensor.shellyplug_s_yyy_power')|float(0)) > 1 %}
          {{ (states('sensor.shellyplug_s_yyy_power')|float(0)) }}
        {% else %}
          {{ 0 }}
        {% endif %}

Der HA ist sehr empfindlich für fehlende Leerzeichen und falsche Einrückungen. Hat eine Weile gedauert.

Jetzt noch die passenden Riemann Helfer anlegen. Damit alles harmoniert habe ich folgende angelegt:

  • Power Import Sum
  • Power Export Sum
  • Power Solar Sum

Dann fehlen noch einige Eigenschaften der Riemann Helfer. Hierzu müsst ihr in die Entwicklerwerkzeuge/Zustände.
Dort die angelegten Riemann Helfer aufrufen und Status setzen.
Bei mir dann “sensor.power_import_sum” mit

state_class: total
source: sensor.power_import
unit_of_measurement: kWh
device_class: energy
friendly_name: Power Import Sum

Was fehlt, einfach eintragen.
Dann müsst ihr warten, bis sich die Riemann Helfer füllen. Wenn gefüllt, dann könnt ihr diese in das Energy Dashboard übernehmen.

Nachtrag: Wie oben zu sehen ist, werte ich die Solarproduktion ab 1W aus. Ich habe beobachtet, dass die Sonne nicht scheint und Shelly PlugS Werte liefert. Das will ich nicht und nehme erst Werte ab 1W Leistung.

2 „Gefällt mir“