solectrus / senec-charger

Automated low-cost grid charging for SENEC Home V3 / V2.1 and Tibber dynamic electricity tariff
https://solectrus.de/blog/2024-01-28-preisoptimierte-speicherbeladung-aus-dem-netz/
MIT License
1 stars 0 forks source link

Senec Backup (Notstrom) #143

Closed Tobi0484 closed 2 weeks ago

Tobi0484 commented 2 months ago

Hallo in die Runde,

ich habe den senec-collector und den tibber-collector soweit installiert und die Überwachung zeigt keine Auffälligkeiten. Nachdem der Speicher nun nachts unter 10 % gerutscht ist und meine eingestellte Backupgrenze bei 10 % ist wäre es gut, wenn man noch den "Mindestakkustand" in der Syntax hinterlegen könnte. Dass also die Fremdbeladung eingeleitet wird, wenn der Speicher unter diese 10 % - Marke rutscht.

Gibt es hierfür evtl. schon eine Überlegung?

Danke für die Rückantwort...

VG Tobias

ledermann commented 2 months ago

Mir ist der Zusammenhang zur Notstrom-Funktion des SENEC-Speichers nicht ganz klar. Bei Stromausfall wird der SENEC-Charger nichts tun können. Und was genau meinst du mit "Backupgrenze 10%"?

Derzeitig ist es so, dass der SENEC-Charger dann eine Beladung auslöst, wenn (neben anderen Bedingungen) der Speicher leer ist. Dabei wird aber nicht der Ladestand geprüft (also die Prozentzahl), sondern der Status. Der muss "AKKU LEER" lauten. Das vereinfacht die Logik.

Die Beladung schon bei einem Ladestand von 10 % auszulösen, ist also nicht ohne weiteres machbar, dafür müsste ich insgesamt die Logik anpassen. Da mir der Vorteil nicht klar ist: Kannst du genauer erklären, was du dir davon erhoffst?

Tobi0484 commented 2 months ago

Hallo,

danke für die schnelle Rückmeldung und die Erläuterung. Ich werde beobachten ob der Status „Akku leer“ ausgegeben wird wenn die Restmengengrenze für die Notstromfunktion unterschritten wird. Dann würde alles ohne Probleme funktionieren. Ich melde mich wieder wenn der Akku unter die von mir eingestellte Restmenge von 10 % kommt.

Viele Grüße

Tobi0484 commented 2 months ago

Ich habe das Szenario heute Nacht getestet. In der Senec App war eingestellt, dass der Speicher eine Beladung von 10 % behalten soll, damit noch Kapazität für einen Stromausfall vorhanden wäre.

Im Log wird dann folgendes ausgegeben:

#34 - 2024-09-02 04:23:47 +0200
 Battery not empty, nothing to do
   Battery charge level: 6.1 %
 Sleeping for 3600 seconds ...

 #35 - 2024-09-02 05:23:47 +0200
 Battery not empty, nothing to do
   Battery charge level: 6.1 %
 Sleeping for 3600 seconds ...

 #36 - 2024-09-02 06:23:47 +0200
 Battery not empty, nothing to do
   Battery charge level: 6.1 %
 Sleeping for 3600 seconds ...

 #37 - 2024-09-02 07:23:47 +0200
 Battery not empty, nothing to do
   Battery charge level: 6.1 %
 Sleeping for 3600 seconds ...

Es geht um diese Einstellung im Speicher: image

Anscheinend wird der Befehl "Speicher leer" in dieser Konstellation dann nicht angezeigt.

ledermann commented 2 months ago

Ok, verstehe. Jetzt ist mir auch klar, was du mit "Backupgrenze" meintest. Der Speicher entlädt also wie üblich, bei Erreichen der Grenze von 10% aber nicht mehr weiter. Naja nicht ganz, auf 6,1% ging es dennoch runter, aber nicht mehr weiter.

Somit wird das Kriterium des SENEC-Chargers nie erreicht. Ich sehe das Problem.

Dennoch zögere ich sehr, die Implementierung der Logik zu ändern, da dies größere Tests nach sich ziehen würde. Daher frage ich nochmal etwas anderes: Welchen Status hat der Speicher denn, wenn die Grenze erreicht ist? Leider wird genau das nicht vom SENEC-Charger protokolliert. Kannst du das auf anderem Weg herausfinden? Ich könnte mir vorstellen, dass es dafür einen speziellen Status gibt. Wenn es nicht AKKU LEER ist, was dann? ENTLADEN wird es ja auch nicht sein. Ich sehe in meiner Status-Liste den Status RESERVEKAPAZITÄT. Ist es das?

Wenn du das herausfinden kannst, kann ich den Algorithmus leicht anpassen. Dann wird halt nicht nur auf AKKU LEER gewartet, sondern auch auf RESERVEKAPAZITÄT.

Tobi0484 commented 2 months ago

Ja mit „Reservekapazität“sollte es klappen. IMG_0020

ledermann commented 2 months ago

Ok, somit ist es nun einfach. Der Status "RESERVEKAPAZITÄT" wird jetzt genauso behandelt wie "AKKU LEER", d.h. eine Beladung könnte dann ausgelöst werden (wenn auch die anderen Bedingungen passen).

Die Änderung ist in der develop Version des SENEC-Chargers enthalten. Um diese auszuprobieren, ändere bitte in deiner compose.yaml die entsprechende Zeile so ab:

- image: ghcr.io/solectrus/senec-charger:develop

Danach genügt ein docker compose up -d, um die neue Version zu starten.

Bitte gibt mir Bescheid, ob es damit funktioniert. Ich mache dann ein neues Release.

ledermann commented 2 months ago

@Tobi0484 Hast du zwischenzeitlich die Änderung ausprobieren können? Feedback wäre toll. Wenn es funktioniert, würde ich ein neues Release erstellen.

Tobi0484 commented 2 months ago

Bis jetzt hatten wir immer zu viel Sonne , weshalb die Logik noch nicht zum Einsatz kommen konnte.

Tobi0484 commented 2 months ago

Hier ein kleines Update... Die Logik scheint mit den 10 % Restkapazität zu funktionieren. Im Forecast werden aber 24 kw/h prognostiziert, weshalb die Ladung nicht ausgelöst wird. Somit endet der Test an dieser Stelle.

Wo liegt eigentlich die Grenze für den den Forecast, damit die Ladung ausgelöst wird ?

Hier das Log:

SENEC charger for SOLECTRUS, Version develop, built at 2024-09-03T04:27:34.907Z https://github.com/solectrus/senec-charger Copyright (c) 2023-2024 Georg Ledermann, released under the MIT License

Using Ruby 3.3.4 on platform aarch64-linux-musl Connecting to SENEC at https://192.168.2.101 Connecting to InfluxDB at http://influxdb:8086, bucket my-bucket, measurements my-prices and my-forecast

1 - 2024-09-13 15:02:32 +0200

Battery not empty, nothing to do Battery charge level: 70.0 % Sleeping for 3600 seconds ... SENEC charger for SOLECTRUS, Version develop, built at 2024-09-03T04:27:34.907Z https://github.com/solectrus/senec-charger Copyright (c) 2023-2024 Georg Ledermann, released under the MIT License

Using Ruby 3.3.4 on platform aarch64-linux-musl Connecting to SENEC at https://192.168.2.101 Connecting to InfluxDB at http://influxdb:8086, bucket my-bucket, measurements my-prices and my-forecast

1 - 2024-09-13 15:04:47 +0200

Battery not empty, nothing to do Battery charge level: 70.0 % Sleeping for 3600 seconds ...

2 - 2024-09-13 16:04:47 +0200

Battery not empty, nothing to do Battery charge level: 70.0 % Sleeping for 3600 seconds ...

3 - 2024-09-13 17:04:47 +0200

Battery not empty, nothing to do Battery charge level: 70.0 % Sleeping for 3600 seconds ...

4 - 2024-09-13 18:04:47 +0200

Battery not empty, nothing to do Battery charge level: 70.0 % Sleeping for 3600 seconds ...

5 - 2024-09-13 19:04:48 +0200

Battery not empty, nothing to do Battery charge level: 61.6 % Sleeping for 3600 seconds ...

6 - 2024-09-13 20:04:48 +0200

Battery not empty, nothing to do Battery charge level: 52.5 % Sleeping for 3600 seconds ...

7 - 2024-09-13 21:04:48 +0200

Battery not empty, nothing to do Battery charge level: 43.4 % Sleeping for 3600 seconds ...

8 - 2024-09-13 22:04:48 +0200

Battery not empty, nothing to do Battery charge level: 36.4 % Sleeping for 3600 seconds ...

9 - 2024-09-13 23:04:49 +0200

Battery not empty, nothing to do Battery charge level: 30.3 % Sleeping for 3600 seconds ...

10 - 2024-09-14 00:04:49 +0200

Battery not empty, nothing to do Battery charge level: 23.2 % Sleeping for 3600 seconds ...

11 - 2024-09-14 01:04:49 +0200

Battery not empty, nothing to do Battery charge level: 17.2 % Sleeping for 3600 seconds ...

12 - 2024-09-14 02:04:50 +0200

Battery not empty, nothing to do Battery charge level: 12.1 % Sleeping for 3600 seconds ...

13 - 2024-09-14 03:04:50 +0200

Sunshine ahead, nothing to do Forecast for the next 24 hours: 24 kWh Sleeping for 3600 seconds ...

14 - 2024-09-14 04:04:50 +0200

Sunshine ahead, nothing to do Forecast for the next 24 hours: 24 kWh Sleeping for 3600 seconds ...

15 - 2024-09-14 05:04:50 +0200

Sunshine ahead, nothing to do Forecast for the next 24 hours: 24 kWh Sleeping for 3600 seconds ...

16 - 2024-09-14 06:04:51 +0200

Sunshine ahead, nothing to do Forecast for the next 24 hours: 24 kWh Sleeping for 3600 seconds ...

17 - 2024-09-14 07:04:51 +0200

Sunshine ahead, nothing to do Forecast for the next 24 hours: 24 kWh Sleeping for 3600 seconds ...

18 - 2024-09-14 08:04:51 +0200

Sunshine ahead, nothing to do Forecast for the next 24 hours: 24 kWh Sleeping for 3600 seconds ...

19 - 2024-09-14 09:04:51 +0200

Sunshine ahead, nothing to do Forecast for the next 24 hours: 24 kWh Sleeping for 3600 seconds ...

20 - 2024-09-14 10:04:52 +0200

Battery not empty, nothing to do Battery charge level: 11.1 % Sleeping for 3600 seconds ...

21 - 2024-09-14 11:04:52 +0200

Battery not empty, nothing to do Battery charge level: 11.1 % Sleeping for 3600 seconds ...

22 - 2024-09-14 12:04:52 +0200

Sunshine ahead, nothing to do Forecast for the next 24 hours: 25 kWh Sleeping for 3600 seconds ... SENEC charger for SOLECTRUS, Version develop, built at 2024-09-03T04:27:34.907Z https://github.com/solectrus/senec-charger Copyright (c) 2023-2024 Georg Ledermann, released under the MIT License

Using Ruby 3.3.4 on platform aarch64-linux-musl Connecting to SENEC at https://192.168.2.101 Connecting to InfluxDB at http://influxdb:8086, bucket my-bucket, measurements my-prices and my-forecast

1 - 2024-09-14 12:20:03 +0200

Battery not empty, nothing to do Battery charge level: 11.1 % Sleeping for 3600 seconds ...

ledermann commented 2 months ago

Ok, prima!

Nicht geladen wird, wenn die PV-Vorhersage für den nächsten 24h mehr als 20 kWh beträgt.

Diese Grenze kann in der .env angepasst werden, z.B. so:

CHARGER_FORECAST_THRESHOLD=10

Siehe hier: https://github.com/solectrus/senec-charger/blob/develop/.env.example

ledermann commented 2 weeks ago

Änderung ist jetzt Teil von Version 0.5.0: https://github.com/solectrus/senec-charger/releases/tag/v0.5.0