Seit einiger Zeit habe ich einen Akku mit meinem Steckersolargerät verbunden, einen Steckerspeicher der nach dem Wechselrichter des Steckersolargerätes und vor der Steckdose sitzt. Gleichzeitig gibt es im Sicherungskasten einen Shelly 3PM Schammel von ETM Solar/Solarhook.

Diese Daten meldet er an den Hoymiles HiBattery AC Speicher. So lange Strom im Speicher ist, lässt dieser immer genauso viel Leistung raus, wie die Wohnung verbraucht. Ist der Speicher leer, zieht die Wohnung ihren Strom aus dem Netz und ist der Speicher voll, speist die Stecker-Solaranlage voll ein.

Aber woher weiß ich, was gerade der Zustand ist? Ich kann natürlich in die App schauen, die ist inzwischen recht gut, aber man hat dann immer das Handy in der Hand. Wenn man den Speicher länger hat, dann weiß man irgendwann auch, wie er sich verhält. Tagsüber Laden, meist gegen Mittag ist der Speicher voll, dann wird er noch bis ca 17:00 eingespeist und dann läuft die Wohnung mit Batterie bis ungefähr 8:30 am nächsten Morgen. Gegen Morgen ist die meist etwa halb voll.



Aber wir wollen ja weniger ins Handy schauen und sinnvolle Dinge mit dem Home Assistant machen.
Stromampel
Also wie können wir die Daten darstellen? Die Idee einer Strom Erzeugungsampel war geboren.
Wir haben die Ampel bewusst um den Speicher herum gebaut, daher brauchen wir keinen Zugriff auf den Speicher an sich, sondern leiten dessen Zustand vom Shelly 3 EM ab. Wenn dieser um 0 Watt Netzbezug oder Einspeisung schwankt, dann wissen wir Strom kommt aus dem Speicher oder es wird sogar eingespeichert, weil die Wohnung weniger verbraucht als erzeugt wird. Auch den Netzbezug und Einspeisung sehen wir.



Zuhause hatte ich den Apollo MSR-2 mmWellen-Multisensor | LD2410B eigentlich mal gekauft wegen des CO2 Sensors, hat aber auch Sensoren für Anwesenheit, Temperatur und Licht. Den Präsenzsensor nutze ich jetzt mal als Bewegungsmelder, der Temperatursensor muss bevor man das Produkt nutzen kann erst mit einem Offset versehen werden und für CO2 gibt es inzwischen die deutlich günstigeren IKEA Alpstuga Sensoren. Aber er hat auch eine RGB-Leuchtdiode.
Wer es günstiger haben will und bereits einen Matter-fähigen Hub besitzt, etwa IKEA Dirigera Hub oder Apple TV, der kann diese nutzen oder jede andere RGB-LED Birne.

Ganz mit IKEA Produkten wird es nicht gehen, IKEA hat keinen Strommesser für den Sicherungskasten und auch keine Schaltbare Steckdose mit Energiemessung im Angebot. Vielleicht könnte man es komplett mit Geräten von Shelly realisieren, die haben auch Birnen, die die Farbe wechseln, verkaufen.
Von Shelly gibt es auch ein Display/Schalter, den man anstelle eines normalen Schalters einbauen kann, der auch anzeigt. Auch der ist gut gelöst.
Homeasisstant ist ein Programm in dem man unterschiedliche Internet der Dinge Geräte einbinden und zentral steuern kann, gerade wenn man wie ich einen ganzen Zoo von Geräten hat, dann ist das hilfreich. Zur Einrichtung und der grundsätzlichen Funktionsweise verweise ich die guten Artikel bei heise online: “Alles, was Einsteiger über Home Assistant wissen müssen”, “Zweckbezogene Auslöser in Home Assistant: Einfach komplexe Automationen bauen”.
Aufbau der Schaltung bei Home Assistant
Bei mir misst also der Shelly 3PM die Erzeugung und der Home Assistant auf dem Raspberry Pie sagt der kleinen LED wie sie zu leuchten hat.

Wir fangen ganz einfach an mit der großen blauen Schaltfläche “+ Automation erstellen” und nehmen dann “neue Automation erstellen”. Da sehen wir dann die drei Elemente die es braucht:

Sobald ist der Auslöser oder Trigger, “Und wenn” eine weitere Bedingung, mit der wir den Auslöser einschränken können und “Dann” ist, was dann passieren soll.

Auslöser kann eine Zeit sein, ein Gerät oder mit einem Gerät etwas passiert.

Alle beschriebenen Funktionen finden sich unter Einstellungen / Automationen und Szenen.
Wir haben mehrere Auslöser definiert. Zunächst will ich das Kontrolllicht nur Tagsüber an haben, nicht in der Nacht, wenn ich Schlafe.


Deshalb gibt es unter “Und Wenn“ eine Bedingung: Die Aktion soll nur ausgeführt werden, wenn es zwischen 8:00 und 23:00 ist. Ohne weitere Aktionen würde aber erst der erste Zustandswechsel die Leuchte triggern.
Deshalb gibt es unter “Sobald” mehrere Bedingungen, die wir auch alle brauchen.

Ich fange die Erklärung mit den zeitlichen Bedingungen an.
Um 22:59 soll die Lampe ausgehen. das haben wir unter “Licht aus” gestzt und dieser Bedingung auch den Namen “Licht aus” gegeben.
Da das ganze um 8:00 anfangen soll zu leuchten, gibt es auch die Bedingung: “Licht an”
Wichtig sind nun aber die Bedingungen für die Farben:
Licht wird rot:

Da nehmen wir eine feste Zahl, in dem Fall 10 Watt (Watt steht nicht dabei, aber Shelly gibt uns diesen Wert) und ich habe auf Dauer für die Bedingung noch 2:00 hinzugefügt. Das soll verhindern, dass wenn die Batterie der Messung nicht hinterher kommt, es nicht anfängt zu blinken. Oder auch wenn ein Wert um die 10 Watt schwanken würde.
Rot würde uns den Netzbezug anzeigen.
Gelb bedeutet, Ausspeichern aus der Batterie trifft genau auf den Bedarf der Wohnung.
Hierfür brauchen wir eine Untergrenze, die wir auf -10 setzen und eine Obergrenze auf 10. Beides muss ja durchaus mit dem von Rot und Grün übereinstimmen. Auch hier habe ich 2 min als Dauer gesetzt.
Licht wird grün, dem letzten haben wir einfach als Obergrenze -10 Watt gesetzt, daher ist alles darunter immer grün und wäre Einspeisung.

Welchen Sensor wählen wir aus?


Alles, was uns der Shelly im Sicherungskasten so als Infos liefert. Wir wollen aber die Leistung.
Wenn man mehrere Shellys hat, dann kann es verwirrend sein, den richtigen Shelly zu treffen. Denn jeder Shelly und auch der im Sicherungskasten stellt uns diverse Werte zur Verfügung. Und auch alle Steckdosen stellen Leistung da.

Wir wählen Leistung.
Dann
Spannender werden die “Dann” Bedingungen.



Konfig Datei zum runterladen

Hier ist diem YML Datei.
alias: Netz – Batterie – Einspeisung description: „“ triggers: – trigger: numeric_state entity_id: – sensor.shellypro3em_3c8a1fd0b800_leistung for: hours: 0 minutes: 2 seconds: 0 above: 10 id: „Licht wird Rot “ – trigger: numeric_state entity_id: – sensor.shellypro3em_3c8a1fd0b800_leistung for: hours: 0 minutes: 2 seconds: 0 above: -10 id: Licht wird Gelb below: 10 – trigger: numeric_state entity_id: – sensor.shellypro3em_3c8a1fd0b800_leistung for: hours: 0 minutes: 2 seconds: 0 id: Licht wird Grün below: -10 – trigger: time at: „22:59:00“ id: Licht aus! – trigger: time at: „08:01:00“ conditions: – condition: time after: „08:00:00“ before: „23:00:00“ actions: – choose: – conditions: – condition: trigger id: – „Licht wird Rot “ sequence: – action: light.turn_on metadata: {} target: entity_id: light.apollo_msr_2_7c0c54_rgb_light data: rgb_color: – 255 – 38 – 0 brightness_pct: 100 – conditions: – condition: trigger id: – Licht wird Gelb sequence: – action: light.turn_on metadata: {} target: entity_id: light.apollo_msr_2_7c0c54_rgb_light data: rgb_color: – 255 – 251 – 0 brightness_pct: 100 – conditions: – condition: trigger id: – Licht wird Grün sequence: – action: light.turn_on metadata: {} target: entity_id: light.apollo_msr_2_7c0c54_rgb_light data: rgb_color: – 0 – 249 – 0 brightness_pct: 100 – conditions: – condition: trigger id: – Licht aus! sequence: – action: light.turn_off metadata: {} target: entity_id: light.apollo_msr_2_7c0c54_rgb_light data: {} default: – choose: – conditions: – condition: numeric_state entity_id: sensor.shellypro3em_3c8a1fd0b800_leistung above: 10 sequence: – action: light.turn_on metadata: {} target: entity_id: light.apollo_msr_2_7c0c54_rgb_light data: rgb_color: – 255 – 38 – 0 brightness_pct: 100 – conditions: – condition: numeric_state entity_id: sensor.shellypro3em_3c8a1fd0b800_leistung above: -10 below: 10 sequence: – action: light.turn_on metadata: {} target: entity_id: light.apollo_msr_2_7c0c54_rgb_light data: rgb_color: – 255 – 251 – 0 brightness_pct: 100 – conditions: – condition: numeric_state entity_id: sensor.shellypro3em_3c8a1fd0b800_leistung below: -10 sequence: – action: light.turn_on metadata: {} target: entity_id: light.apollo_msr_2_7c0c54_rgb_light data: rgb_color: – 0 – 249 – 0 brightness_pct: 100 mode: single