reserve85 / HoymilesZeroExport

Zero Export Script for Hoymiles Inverters using AhoyDTU / OpenDTU and Tasmota Smart Meter inferface / Shelly 3EM / SHRDZM / Emlog / ioBroker
GNU General Public License v3.0
134 stars 31 forks source link

Drosselung bzw. Erhöhung greift zu stark #228

Open RealNBB opened 3 weeks ago

RealNBB commented 3 weeks ago

Hallo,

mir ist heute (die Sonne scheint gerade so schön hier bei uns im Süden :) ) aufgefallen, dass die Regelung zu stark greift - sowohl beim reduzieren als auch beim erhöhen.

Kurz zum Setup (sieht man ja aber auch im Prinzip im Log-File):

Ich frag mich halt, weshalb das Skript nur den Endwert von 30W kennt, wo doch ~70W näher am Targetpoint wären?!

Anbei wie gesagt das Log und meine Config Log.txt Config.txt

reserve85 commented 3 weeks ago

Ah, glaub ich hab da ein problem bei der Aufteilung der Limits im Mixedmode gefunden, kannst du bitte die neue "dev" probieren?

Wenn das Soll-Limit unter dem "minimum-Limit von allen Invertern" war wurde das wahrscheinlich falsch berechnet. Hoffe das passt nun, ich kann das leider schlecht testen...

RealNBB commented 3 weeks ago

wo finde ich denn diese neue dev? :)

reserve85 commented 3 weeks ago

Hier:

https://github.com/reserve85/HoymilesZeroExport/tree/dev

oder automatisch installieren via: sudo ./update.sh dev

RealNBB commented 3 weeks ago

Ich hab HoymilesZeroExport.py ausgetauscht, also bestehende Datei in 1.98 gelöscht und diese dann reinkopiert. ich schätze mal, dass das passt.

Fehler trat aber leider wieder auf. So bei Zeile 118.

Irgendwelche Leistungssprünge (nicht im Haushalt und Sonne scheint super konstant gerade ohne irgendwelche Wolken) gab es keine. Ich benutze übrigens Ahoy 1.29 aktuell.

Und nicht wundern, wegen der Uhrzeiten im log. Das Ganze läuft auf einem Raspberry 4 in portainer und die beiden zeigen mir die richtige Uhrzeit an. Nur im Skript fehlen 2h. Kein Plan wieso.

neu 5.txt

reserve85 commented 3 weeks ago

Ich schau es nochmal an, kann aber montag werden.

reserve85 commented 3 weeks ago

Hey @RealNBB:

gerade gesehen:

2024-08-24 14:47:15 INFO     Log write to file: False
2024-08-24 14:47:15 INFO     Python Version: 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0]
2024-08-24 14:47:15 INFO     Author: Tobias Kraft / Script Version: 1.97
2024-08-24 14:47:15 INFO     read config file: /app/HoymilesZeroExport_Config.ini
2024-08-24 14:47:15 INFO     read additional config file: ./HoymilesZeroExport_Config_Override.ini
2024-08-24 14:47:15 INFO     Config file V 1.99

vermutlich hast du doch noch die falsche Version laufen (1.97 anstatt 1.99)? Das Config File V1.99 gibts gar nicht?

RealNBB commented 3 weeks ago

Okay...hätte nicht nur den Container, sondern auch das Image in Portainer löschen müssen. Die Dev-Version bekomme ich trotzdem nicht installiert. Egal, was ich mache, er zeigt mir stets ?Author: Tobias Kraft / Script Version: 1.98? an, aber die 1.99 bekomme ich nicht hin. Da fehlen mir offensichtlich einfach die Kenntnisse.

Ich komm hier wohl nur weiter, falls du mir das gewohnte zip-File zur Verfügung stellen könntest.

reserve85 commented 3 weeks ago

https://github.com/reserve85/HoymilesZeroExport/archive/refs/heads/dev.zip

so?

RealNBB commented 3 weeks ago

Tut mir leid, ich muss leider passen. Bekomme es einfach nicht installiert. :(

Was ich mache: Alle alten Container und Images, die mit dem Skript zu tun hatten, gelöscht, dann die Zip von einem Beitrag darüber entpackt, meine override.config reinkopiert und das Terminal in diesem Ordner gestartet. Eingabe dort dann:

"docker run -d --restart=unless-stopped --name hoymileszeroexport \ -v ${PWD}/HoymilesZeroExport_Config_Override.ini:/app/HoymilesZeroExport_Config_Override.ini \ ghcr.io/reserve85/hoymileszeroexport:main -c ./HoymilesZeroExport_Config_Override.ini"

Ergebnis: Skript startet mit Version 1.98.

Ich habe es auch mit

"docker run -d --restart=unless-stopped --name hoymileszeroexport \ -v ${PWD}/HoymilesZeroExport_Config_Override.ini:/app/HoymilesZeroExport_Config_Override.ini \ ghcr.io/reserve85/hoymileszeroexport:dev -c ./HoymilesZeroExport_Config_Override.ini"

versucht, brachte aber auch keinen Erfolg. Immerhin bin ich nun aber auf Version1.98, wo ich eigentlich dachte, dass das schon lange läuft. War wohl an dem Image gelegen in Portainer und das ich einfach immer nur immer einen neuen Container erstellt habe....schätze ich mal.^^ Kenne mich aber auch Null aus.

/edith/

"sudo ./update.sh dev" spuckt folgendes aus (ausgeführt in dem entpackten Ordner): "sudo: ./update.sh: Befehl nicht gefunden"

tomquist commented 3 weeks ago

Mit der ZIP fängst du wenig an wenn du das ganze über Docker laufen lässt, es sei denn du mountest die neue Version des scripts in den Container. Der Grund warum du eine alte Version über den Befehl bekommst ist, dass der dev branch nicht automatisch ein neues Docker Image baut wenn darauf gepushed wird. @reserve85 Habe aktuell keinen Zugriff auf einen PC aber das sollte sich durch Anpassen der GitHub Action beheben lassen.

Ansonsten wie gesagt die neue Version in den Container mounten, als Workaround:

docker run -d --restart=unless-stopped --name hoymileszeroexport
-v ${PWD}/HoymilesZeroExport_Config_Override.ini:/app/HoymilesZeroExport_Config_Override.ini -v ${PWD}/HoymilesZeroExport.py:/app/HoymilesZeroExport.py
ghcr.io/reserve85/hoymileszeroexport:dev -c ./HoymilesZeroExport_Config_Override.ini

(Ungetestet)

RealNBB commented 3 weeks ago

Jetzt kommt:

"docker run" requires at least 1 argument. See 'docker run --help'.

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Create and run a new container from an image bash: -v: Kommando nicht gefunden. bash: ghcr.io/reserve85/hoymileszeroexport:dev: Datei oder Verzeichnis nicht gefunden

tomquist commented 3 weeks ago

Ah ja sorry, das meinte ich mit ungetestet und dass ich es gerade keinen Zugriff auf einen PC habe 😅

Eventuell kann jemand anderes oder auch ChatGPT weiterhelfen.

reserve85 commented 3 weeks ago

Ich habe den workflow gerade erweitert, müsste jetzt gehen? Bin da leider auch die totale Vollpfeife, habe selbst noch nie was mit Docker gemacht... @tomquist vielleicht kannst du ja mal drüberschauen ob die zwei Zeilen die ganze Hexerei waren? (dev erweitert)

$ docker pull ghcr.io/reserve85/hoymileszeroexport:dev

https://github.com/reserve85/HoymilesZeroExport/pkgs/container/hoymileszeroexport/263666775?tag=dev

die Installation sollte so funktionieren (???): docker run -d --name hoymileszeroexport \ -v ${PWD}/HoymilesZeroExport_Config_Override.ini:/app/HoymilesZeroExport_Config_Override.ini \ ghcr.io/reserve85/hoymileszeroexport:dev -c ./HoymilesZeroExport_Config_Override.ini

tomquist commented 3 weeks ago

Das sieht gut aus, danke @reserve85 !

@RealNBB du kannst mit dem command das neuste dev Image nutzen:

docker run -d --pull always --restart=unless-stopped --name hoymileszeroexport \ -v ${PWD}/HoymilesZeroExport_Config_Override.ini:/app/HoymilesZeroExport_Config_Override.ini \ ghcr.io/reserve85/hoymileszeroexport:dev -c ./HoymilesZeroExport_Config_Override.ini

RealNBB commented 3 weeks ago

Guten Morgen,

damit habe ich es nun auch hinbekommen, dass 1.99 bei mir läuft. Danke dafür! :)

Bisher sieht alles gut aus. Aber das Ganze muss ich schon einen längeren Zeitraum beobachten, da es spezielle Konstellationen gab (gefühlt zumindest), wo der Fehler mit der falschen Berechnung vermehrt aufgetretenen ist (v.a. bei wenig Grundlast, aber gleichzeitiger hoher Sonneneinstrahlung). Also gebt mir mal zwei, drei Wochen, da ich ja auch nicht ständig auf das Skript schaue(n kann).

Anbei nochmal meine Config mit der das Skript nun in Version 1.99 läuft. Ahoy ist 1.29, da alle Versionen darüber bei mir Probleme machen.

[VERSION]
VERSION = 1.97

[SELECT_DTU]
USE_AHOY = true

[SELECT_POWERMETER]
USE_SHELLY_3EM_PRO = true

[AHOY_DTU]
AHOY_IP = 192.168.0.71
AHOY_PASS = xxx

[SHELLY]
SHELLY_IP = 192.168.0.70
SHELLY_USER = admin
SHELLY_PASS = xxx
EMETER_INDEX = 

[COMMON]
INVERTER_COUNT = 3
SLOW_APPROX_LIMIT_IN_PERCENT = 20
SLOW_APPROX_FACTOR_IN_PERCENT = 25
LOOP_INTERVAL_IN_SECONDS = 10
SET_LIMIT_TIMEOUT_SECONDS = 5
POLL_INTERVAL_IN_SECONDS = 1
ON_GRID_USAGE_JUMP_TO_LIMIT_PERCENT = 10
ON_GRID_FEED_FAST_LIMIT_DECREASE = true
MAX_DIFFERENCE_BETWEEN_LIMIT_AND_OUTPUTPOWER = 100
ENABLE_LOG_TO_FILE = false
LOG_BACKUP_COUNT = 30
SET_POWERSTATUS_CNT = 5
LOG_TEMPERATURE = false
SET_POWER_STATUS_DELAY_IN_SECONDS = 10
SET_INVERTER_TO_MIN_ON_POWERMETER_ERROR = false
MAX_RETRIES = 3
RETRY_STATUS_CODES = 500,502,503,504
RETRY_BACKOFF_FACTOR = 0.1

[CONTROL]
POWERMETER_TARGET_POINT = -3
POWERMETER_TOLERANCE = 17
POWERMETER_MAX_POINT = 50
POWERMETER_MIN_POINT = -600

[INVERTER_1]
SERIAL_NUMBER = xxx
ENABLED = true
HOY_INVERTER_WATT = 600
HOY_MAX_WATT = 600
HOY_MIN_WATT_IN_PERCENT = 5
HOY_COMPENSATE_WATT_FACTOR = 1
HOY_BATTERY_MODE = false
HOY_BATTERY_THRESHOLD_OFF_LIMIT_IN_V = 48.1
HOY_BATTERY_THRESHOLD_REDUCE_LIMIT_IN_V = 49
HOY_BATTERY_THRESHOLD_NORMAL_LIMIT_IN_V = 49.5
HOY_BATTERY_NORMAL_WATT = 600
HOY_BATTERY_REDUCE_WATT = 600
HOY_BATTERY_THRESHOLD_ON_LIMIT_IN_V = 50.5
HOY_BATTERY_IGNORE_PANELS = 
HOY_BATTERY_PRIORITY = 1
HOY_BATTERY_AVERAGE_CNT = 1

[INVERTER_2]
SERIAL_NUMBER = xxx
ENABLED = true
HOY_INVERTER_WATT = 800
HOY_MAX_WATT = 800
HOY_MIN_WATT_IN_PERCENT = 4
HOY_COMPENSATE_WATT_FACTOR = 1
HOY_BATTERY_MODE = true
HOY_BATTERY_THRESHOLD_OFF_LIMIT_IN_V = 49
HOY_BATTERY_THRESHOLD_REDUCE_LIMIT_IN_V = 50
HOY_BATTERY_THRESHOLD_NORMAL_LIMIT_IN_V = 50.5
HOY_BATTERY_NORMAL_WATT = 800
HOY_BATTERY_REDUCE_WATT = 200
HOY_BATTERY_THRESHOLD_ON_LIMIT_IN_V = 52
HOY_BATTERY_IGNORE_PANELS = 
HOY_BATTERY_PRIORITY = 2
HOY_BATTERY_AVERAGE_CNT = 1

[INVERTER_3]
SERIAL_NUMBER = xxx
ENABLED = true
HOY_INVERTER_WATT = 1500
HOY_MAX_WATT = 1500
HOY_MIN_WATT_IN_PERCENT = 3
HOY_COMPENSATE_WATT_FACTOR = 1
HOY_BATTERY_MODE = true
HOY_BATTERY_THRESHOLD_OFF_LIMIT_IN_V = 48
HOY_BATTERY_THRESHOLD_REDUCE_LIMIT_IN_V = 49
HOY_BATTERY_THRESHOLD_NORMAL_LIMIT_IN_V = 50
HOY_BATTERY_NORMAL_WATT = 1500
HOY_BATTERY_REDUCE_WATT = 375
HOY_BATTERY_THRESHOLD_ON_LIMIT_IN_V = 51
HOY_BATTERY_IGNORE_PANELS = 
HOY_BATTERY_PRIORITY = 1
HOY_BATTERY_AVERAGE_CNT = 1

@reserve85 Wenn du mal Lust und Zeit hast, könntest du mir vllt. nochmal die drei Einträge hier erklären?! :) Du hast das an andere Stelle zwar schon einmal kurz beschrieben gehabt, aber so 100%ig schlau bin ich da ehrlich gesagt nicht daraus geworden:

SLOW_APPROX_LIMIT_IN_PERCENT = 20
SLOW_APPROX_FACTOR_IN_PERCENT = 25
…
MAX_DIFFERENCE_BETWEEN_LIMIT_AND_OUTPUTPOWER = 100

„MAX_DIFFERENCE_BETWEEN_LIMIT_AND_OUTPUTPOWER“ hatte ich z.B. mal auf „ 15“ eingestellt gehabt, aber dann – wo die Grundlast sehr gering war – hat er nicht hochgeregelt, sondern es hatte sich auf einen Verbrauch von ca. 100W eingependelt. Meldung im Log war eben, dass das Limit gecuttet wird, da mehr als 15% Unterschied (oder so ähnlich), aber die Regelung hat wie gesagt nicht wirklich mehr gegirffen (war allerdings noch mir Skript 1.98, k.A. ob da auch dieser Bug, um den es hier primär geht, Schuld dran war)

reserve85 commented 3 weeks ago

SLOW_APPROX_LIMIT_IN_PERCENT gibt an, ab welchem Limit-Sprung (bsp. von 1000W auf 600W -> wären 400W Differenz -> also 40% -> da würde das dann greifen) das Ergebnis um 25% angenähert wird. Es wird also nicht direkt auf den neu ausgerechneten Wert gesprungen (600W) sondern erstmal auf 700W und im nächsten Schritt dann weitergeregelt.

Hängt damit zusammen, wenn du ein Panel teilweise verschattet hast, dann passt die Berechnung nicht zu 100%.

Wegen dem MAX_DIFFERENCE_BETWEEN_LIMIT_AND_OUTPUTPOWER: das kann gut sein, dass es bei mixed-Mode nicht korrekt funktioniert. Würde ich einfach ausschalten. Hintergrund ist, dass ja erstmal der Solarinverter komplett auf 100% laufen muss, bis die Akkus einspringen. MAX_DIFFERENCE_BETWEEN_LIMIT_AND_OUTPUTPOWER limitiert das dann und die Akkus kommen gar nicht mehr dran.

Du könntest dennoch das Log heute abend mal anhängen, ich würde mal drüberschauen.

Gruß Tobi

RealNBB commented 3 weeks ago
2024-08-27 14:40:20 INFO     Log write to file: False
2024-08-27 14:40:20 INFO     Python Version: 3.11.2 (main, May  2 2024, 11:59:08) [GCC 12.2.0]
2024-08-27 14:40:20 INFO     Author: Tobias Kraft / Script Version: 1.99
2024-08-27 14:40:20 INFO     read config file: /app/HoymilesZeroExport_Config.ini
2024-08-27 14:40:20 INFO     read additional config file: ./HoymilesZeroExport_Config_Override.ini
2024-08-27 14:40:20 INFO     Config file V 1.97
2024-08-27 14:40:20 INFO     ---Init---
2024-08-27 14:40:20 INFO     Ahoy: Current Version: 0.8.140
2024-08-27 14:40:20 INFO     Ahoy: Inverter "yet unknown" Available: True
2024-08-27 14:40:20 INFO     Ahoy: Inverter "HM-600" / serial number "xxx" / temperature 38.3 degC
2024-08-27 14:40:20 INFO     Ahoy: Inverter "yet unknown" Available: True
2024-08-27 14:40:20 INFO     Ahoy: Inverter "HM-600" / serial number "xxx" / temperature 38.3 degC
2024-08-27 14:40:20 INFO     Ahoy: Inverter "HM-800" / serial number "xxx" / temperature 34.2 degC
2024-08-27 14:40:20 INFO     Ahoy: Inverter "yet unknown" Available: True
2024-08-27 14:40:20 INFO     Ahoy: Inverter "HM-600" / serial number "xxx" / temperature 38.3 degC
2024-08-27 14:40:20 INFO     Ahoy: Inverter "HM-800" / serial number "xxx" / temperature 34.2 degC
2024-08-27 14:40:21 INFO     Ahoy: Inverter "HM-1500" / serial number "xxx" / temperature 33.6 degC
2024-08-27 14:40:21 INFO     Ahoy: Inverter "HM-600": Turn on
2024-08-27 14:40:21 INFO     Ahoy: Authenticating...
2024-08-27 14:40:21 INFO     Ahoy: Authenticating successful, received Token: EP9NK1FS23FSUGDN
2024-08-27 14:40:21 INFO     Ahoy: Inverter "HM-600": Turn on
2024-08-27 14:40:31 INFO     Ahoy: Inverter "HM-800": Turn on
2024-08-27 14:40:41 INFO     Ahoy: Inverter "HM-1500": Turn on
2024-08-27 14:40:51 INFO     setting new limit to 107 Watt
2024-08-27 14:40:51 INFO     Ahoy: Inverter "HM-600": setting new limit from -1 Watt to 30 Watt
2024-08-27 14:40:51 INFO     Ahoy: Inverter "HM-600": Limit acknowledged
2024-08-27 14:40:51 INFO     Ahoy: Inverter "HM-1500": setting new limit from -1 Watt to 77 Watt
2024-08-27 14:40:52 INFO     Ahoy: Inverter "HM-1500": Limit acknowledged
2024-08-27 14:40:52 INFO     Ahoy: Inverter "HM-800": setting new limit from -1 Watt to 32 Watt
2024-08-27 14:40:53 INFO     Ahoy: Inverter "HM-800": Limit acknowledged
2024-08-27 14:40:53 INFO     intermediate meter AhoyDTU: 227 Watt
2024-08-27 14:40:53 INFO     Lowest panel voltage inverter "HM-800": 54.0 Volt
2024-08-27 14:40:53 INFO     Average min-panel voltage, inverter "HM-800": 54.0 Volt
2024-08-27 14:40:53 INFO     Ahoy: Inverter "HM-800": Turn on
2024-08-27 14:41:03 INFO     Lowest panel voltage inverter "HM-1500": 53.9 Volt
2024-08-27 14:41:03 INFO     Average min-panel voltage, inverter "HM-1500": 53.9 Volt
2024-08-27 14:41:03 INFO     Ahoy: Inverter "HM-1500": Turn on
2024-08-27 14:41:13 INFO     powermeter Shelly3EMPro: 74 Watt
2024-08-27 14:41:13 INFO     ---Start Zero Export---
2024-08-27 14:41:13 INFO     Ahoy: Inverter "HM-600" Available: True
2024-08-27 14:41:13 INFO     Ahoy: Inverter "HM-800" Available: True
2024-08-27 14:41:13 INFO     Ahoy: Inverter "HM-1500" Available: True
2024-08-27 14:41:13 INFO     Lowest panel voltage inverter "HM-800": 54.0 Volt
2024-08-27 14:41:13 INFO     Average min-panel voltage, inverter "HM-800": 54.0 Volt
2024-08-27 14:41:13 INFO     Ahoy: Inverter "HM-800": Turn on
2024-08-27 14:41:23 INFO     Lowest panel voltage inverter "HM-1500": 53.9 Volt
2024-08-27 14:41:23 INFO     Average min-panel voltage, inverter "HM-1500": 53.9 Volt
2024-08-27 14:41:23 INFO     Ahoy: Inverter "HM-1500": Turn on
2024-08-27 14:41:34 INFO     powermeter Shelly3EMPro: 75 Watt
2024-08-27 14:41:34 INFO     setting new limit to 290 Watt
2024-08-27 14:41:34 INFO     Ahoy: Inverter "HM-600": setting new limit from 30 Watt to 213 Watt
2024-08-27 14:41:34 INFO     Ahoy: Inverter "HM-600": Limit acknowledged
2024-08-27 14:41:44 INFO     Ahoy: Inverter "HM-600" Available: True
2024-08-27 14:41:44 INFO     Ahoy: Inverter "HM-800" Available: True
2024-08-27 14:41:44 INFO     Ahoy: Inverter "HM-1500" Available: True
2024-08-27 14:41:44 INFO     Lowest panel voltage inverter "HM-800": 54.0 Volt
2024-08-27 14:41:44 INFO     Average min-panel voltage, inverter "HM-800": 54.0 Volt
2024-08-27 14:41:44 INFO     Ahoy: Inverter "HM-800": Turn on
2024-08-27 14:41:55 INFO     Lowest panel voltage inverter "HM-1500": 53.9 Volt
2024-08-27 14:41:55 INFO     Average min-panel voltage, inverter "HM-1500": 53.9 Volt
2024-08-27 14:41:55 INFO     Ahoy: Inverter "HM-1500": Turn on
2024-08-27 14:42:05 INFO     powermeter Shelly3EMPro: -103 Watt
2024-08-27 14:42:06 INFO     powermeter Shelly3EMPro: -108 Watt
2024-08-27 14:42:07 INFO     powermeter Shelly3EMPro: -108 Watt
2024-08-27 14:42:08 INFO     powermeter Shelly3EMPro: -100 Watt
2024-08-27 14:42:09 INFO     powermeter Shelly3EMPro: -113 Watt
2024-08-27 14:42:10 INFO     powermeter Shelly3EMPro: -107 Watt
2024-08-27 14:42:11 INFO     powermeter Shelly3EMPro: -108 Watt
2024-08-27 14:42:12 INFO     powermeter Shelly3EMPro: -105 Watt
2024-08-27 14:42:13 INFO     powermeter Shelly3EMPro: -96 Watt
2024-08-27 14:42:14 INFO     powermeter Shelly3EMPro: -106 Watt
2024-08-27 14:42:15 INFO     overproducing: reduce limit based on previous limit setpoint by approximation
2024-08-27 14:42:15 INFO     setting new limit to 212 Watt
2024-08-27 14:42:15 INFO     Ahoy: Inverter "HM-600": setting new limit from 213 Watt to 135 Watt
2024-08-27 14:42:16 INFO     Ahoy: Inverter "HM-600": Limit acknowledged
2024-08-27 14:42:16 INFO     Ahoy: Inverter "HM-600" Available: True
2024-08-27 14:42:16 INFO     Ahoy: Inverter "HM-800" Available: True
2024-08-27 14:42:16 INFO     Ahoy: Inverter "HM-1500" Available: True
2024-08-27 14:42:16 INFO     Lowest panel voltage inverter "HM-800": 54.0 Volt
2024-08-27 14:42:16 INFO     Average min-panel voltage, inverter "HM-800": 54.0 Volt
2024-08-27 14:42:16 INFO     Ahoy: Inverter "HM-800": Turn on
2024-08-27 14:42:26 INFO     Lowest panel voltage inverter "HM-1500": 53.9 Volt
2024-08-27 14:42:26 INFO     Average min-panel voltage, inverter "HM-1500": 53.9 Volt
2024-08-27 14:42:26 INFO     Ahoy: Inverter "HM-1500": Turn on
2024-08-27 14:42:36 INFO     powermeter Shelly3EMPro: -31 Watt
2024-08-27 14:42:37 INFO     powermeter Shelly3EMPro: -21 Watt
2024-08-27 14:42:38 INFO     powermeter Shelly3EMPro: -29 Watt
2024-08-27 14:42:39 INFO     powermeter Shelly3EMPro: -25 Watt
2024-08-27 14:42:40 INFO     powermeter Shelly3EMPro: -26 Watt
2024-08-27 14:42:41 INFO     powermeter Shelly3EMPro: -36 Watt
2024-08-27 14:42:42 INFO     powermeter Shelly3EMPro: -34 Watt
2024-08-27 14:42:43 INFO     powermeter Shelly3EMPro: -30 Watt
2024-08-27 14:42:44 INFO     powermeter Shelly3EMPro: -40 Watt
2024-08-27 14:42:46 INFO     powermeter Shelly3EMPro: -34 Watt
2024-08-27 14:42:47 INFO     overproducing: reduce limit based on previous limit setpoint by approximation
2024-08-27 14:42:47 INFO     setting new limit to 189 Watt
2024-08-27 14:42:47 INFO     Ahoy: Inverter "HM-600": setting new limit from 135 Watt to 112 Watt
2024-08-27 14:42:47 INFO     Ahoy: Inverter "HM-600": Limit acknowledged
2024-08-27 14:42:47 INFO     Ahoy: Inverter "HM-600" Available: True
2024-08-27 14:42:47 INFO     Ahoy: Inverter "HM-800" Available: True
2024-08-27 14:42:47 INFO     Ahoy: Inverter "HM-1500" Available: True
2024-08-27 14:42:47 INFO     Lowest panel voltage inverter "HM-800": 54.0 Volt
2024-08-27 14:42:47 INFO     Average min-panel voltage, inverter "HM-800": 54.0 Volt
2024-08-27 14:42:47 INFO     Ahoy: Inverter "HM-800": Turn on
2024-08-27 14:42:58 INFO     Lowest panel voltage inverter "HM-1500": 53.9 Volt
2024-08-27 14:42:58 INFO     Average min-panel voltage, inverter "HM-1500": 53.9 Volt
2024-08-27 14:42:58 INFO     Ahoy: Inverter "HM-1500": Turn on
2024-08-27 14:43:08 INFO     powermeter Shelly3EMPro: 3 Watt
2024-08-27 14:43:09 INFO     powermeter Shelly3EMPro: -4 Watt
2024-08-27 14:43:10 INFO     powermeter Shelly3EMPro: -9 Watt
2024-08-27 14:43:11 INFO     powermeter Shelly3EMPro: -11 Watt
2024-08-27 14:43:12 INFO     powermeter Shelly3EMPro: -16 Watt
2024-08-27 14:43:13 INFO     powermeter Shelly3EMPro: -18 Watt
2024-08-27 14:43:14 INFO     powermeter Shelly3EMPro: -11 Watt
2024-08-27 14:43:15 INFO     powermeter Shelly3EMPro: -19 Watt
2024-08-27 14:43:16 INFO     powermeter Shelly3EMPro: -14 Watt
2024-08-27 14:43:17 INFO     powermeter Shelly3EMPro: -16 Watt
2024-08-27 14:43:18 INFO     Inverterlimit was already accepted at 189 Watt
2024-08-27 14:43:18 INFO     Ahoy: Inverter "HM-600" Available: True
2024-08-27 14:43:18 INFO     Ahoy: Inverter "HM-800" Available: True
2024-08-27 14:43:18 INFO     Ahoy: Inverter "HM-1500" Available: True
2024-08-27 14:43:18 INFO     Lowest panel voltage inverter "HM-800": 54.0 Volt
2024-08-27 14:43:18 INFO     Average min-panel voltage, inverter "HM-800": 54.0 Volt
2024-08-27 14:43:18 INFO     Retry Counter exceeded: Inverter PowerStatus already ON
2024-08-27 14:43:18 INFO     Lowest panel voltage inverter "HM-1500": 53.9 Volt
2024-08-27 14:43:18 INFO     Average min-panel voltage, inverter "HM-1500": 53.9 Volt
2024-08-27 14:43:18 INFO     Retry Counter exceeded: Inverter PowerStatus already ON
2024-08-27 14:43:18 INFO     powermeter Shelly3EMPro: -7 Watt
2024-08-27 14:43:19 INFO     powermeter Shelly3EMPro: 0 Watt
2024-08-27 14:43:21 INFO     powermeter Shelly3EMPro: -2 Watt
2024-08-27 14:43:22 INFO     powermeter Shelly3EMPro: 2 Watt
2024-08-27 14:43:23 INFO     powermeter Shelly3EMPro: 3 Watt
2024-08-27 14:43:24 INFO     powermeter Shelly3EMPro: 0 Watt
2024-08-27 14:43:25 INFO     powermeter Shelly3EMPro: -1 Watt
2024-08-27 14:43:26 INFO     powermeter Shelly3EMPro: 4 Watt
2024-08-27 14:43:27 INFO     powermeter Shelly3EMPro: -2 Watt
2024-08-27 14:43:28 INFO     powermeter Shelly3EMPro: 0 Watt
2024-08-27 14:43:29 INFO     Inverterlimit was already accepted at 189 Watt
2024-08-27 14:43:29 INFO     Ahoy: Inverter "HM-600" Available: True
2024-08-27 14:43:29 INFO     Ahoy: Inverter "HM-800" Available: True
2024-08-27 14:43:29 INFO     Ahoy: Inverter "HM-1500" Available: True
2024-08-27 14:43:29 INFO     Lowest panel voltage inverter "HM-800": 54.0 Volt
2024-08-27 14:43:29 INFO     Average min-panel voltage, inverter "HM-800": 54.0 Volt
2024-08-27 14:43:29 INFO     Retry Counter exceeded: Inverter PowerStatus already ON
2024-08-27 14:43:29 INFO     Lowest panel voltage inverter "HM-1500": 54.0 Volt
2024-08-27 14:43:29 INFO     Average min-panel voltage, inverter "HM-1500": 54.0 Volt
2024-08-27 14:43:29 INFO     Retry Counter exceeded: Inverter PowerStatus already ON
2024-08-27 14:43:29 INFO     powermeter Shelly3EMPro: -15 Watt
2024-08-27 14:43:30 INFO     powermeter Shelly3EMPro: -17 Watt
2024-08-27 14:43:31 INFO     powermeter Shelly3EMPro: -10 Watt
2024-08-27 14:43:32 INFO     powermeter Shelly3EMPro: -18 Watt
2024-08-27 14:43:34 INFO     powermeter Shelly3EMPro: -13 Watt
2024-08-27 14:43:35 INFO     powermeter Shelly3EMPro: -13 Watt
2024-08-27 14:43:36 INFO     powermeter Shelly3EMPro: -5 Watt
2024-08-27 14:43:37 INFO     powermeter Shelly3EMPro: -5 Watt
2024-08-27 14:43:38 INFO     powermeter Shelly3EMPro: 4 Watt
2024-08-27 14:43:39 INFO     powermeter Shelly3EMPro: -3 Watt
2024-08-27 14:43:40 INFO     Inverterlimit was already accepted at 189 Watt
2024-08-27 14:43:40 INFO     Ahoy: Inverter "HM-600" Available: True
2024-08-27 14:43:40 INFO     Ahoy: Inverter "HM-800" Available: True
2024-08-27 14:43:40 INFO     Ahoy: Inverter "HM-1500" Available: True
2024-08-27 14:43:40 INFO     Lowest panel voltage inverter "HM-800": 54.0 Volt
2024-08-27 14:43:40 INFO     Average min-panel voltage, inverter "HM-800": 54.0 Volt
2024-08-27 14:43:40 INFO     Retry Counter exceeded: Inverter PowerStatus already ON
2024-08-27 14:43:40 INFO     Lowest panel voltage inverter "HM-1500": 54.0 Volt
2024-08-27 14:43:40 INFO     Average min-panel voltage, inverter "HM-1500": 54.0 Volt
2024-08-27 14:43:40 INFO     Retry Counter exceeded: Inverter PowerStatus already ON
2024-08-27 14:43:40 INFO     powermeter Shelly3EMPro: 1 Watt
2024-08-27 14:43:41 INFO     powermeter Shelly3EMPro: 0 Watt
2024-08-27 14:43:42 INFO     powermeter Shelly3EMPro: -2 Watt
2024-08-27 14:43:43 INFO     powermeter Shelly3EMPro: 4 Watt
2024-08-27 14:43:44 INFO     powermeter Shelly3EMPro: -13 Watt
2024-08-27 14:43:45 INFO     powermeter Shelly3EMPro: -9 Watt
2024-08-27 14:43:46 INFO     powermeter Shelly3EMPro: -13 Watt
2024-08-27 14:43:47 INFO     powermeter Shelly3EMPro: -15 Watt
2024-08-27 14:43:49 INFO     powermeter Shelly3EMPro: -17 Watt
2024-08-27 14:43:50 INFO     powermeter Shelly3EMPro: -8 Watt
2024-08-27 14:43:51 INFO     Inverterlimit was already accepted at 189 Watt
2024-08-27 14:43:51 INFO     Ahoy: Inverter "HM-600" Available: True
2024-08-27 14:43:51 INFO     Ahoy: Inverter "HM-800" Available: True
2024-08-27 14:43:51 INFO     Ahoy: Inverter "HM-1500" Available: True
2024-08-27 14:43:51 INFO     Lowest panel voltage inverter "HM-800": 54.0 Volt
2024-08-27 14:43:51 INFO     Average min-panel voltage, inverter "HM-800": 54.0 Volt
2024-08-27 14:43:51 INFO     Retry Counter exceeded: Inverter PowerStatus already ON
2024-08-27 14:43:51 INFO     Lowest panel voltage inverter "HM-1500": 54.0 Volt
2024-08-27 14:43:51 INFO     Average min-panel voltage, inverter "HM-1500": 54.0 Volt
2024-08-27 14:43:51 INFO     Retry Counter exceeded: Inverter PowerStatus already ON
2024-08-27 14:43:51 INFO     powermeter Shelly3EMPro: -18 Watt
2024-08-27 14:43:52 INFO     powermeter Shelly3EMPro: -13 Watt
2024-08-27 14:43:53 INFO     powermeter Shelly3EMPro: -14 Watt
2024-08-27 14:43:54 INFO     powermeter Shelly3EMPro: -17 Watt
2024-08-27 14:43:55 INFO     powermeter Shelly3EMPro: -10 Watt
2024-08-27 14:43:56 INFO     powermeter Shelly3EMPro: -18 Watt
2024-08-27 14:43:57 INFO     powermeter Shelly3EMPro: -10 Watt
2024-08-27 14:43:58 INFO     powermeter Shelly3EMPro: -4 Watt
2024-08-27 14:43:59 INFO     powermeter Shelly3EMPro: -4 Watt
2024-08-27 14:44:01 INFO     powermeter Shelly3EMPro: -1 Watt
RealNBB commented 2 weeks ago

@reserve85 Du hast ja das Label eh schon geändert, aber ich geb doch noch ein Feedback ab! ;)

Das Problem, dass das Skript wild die Limits geändert hat - insbesondere bei der Konstellation, dass die Sonne stark scheint und der Grundverbrauch dabei (sehr) niedrig ist - trat nicht mehr auf. Nach Neustart startet das Skript direkt sauber durch, die erforderlichen Limits werden sofort eingestellt und umgesetzt! Ich denke, da kann man tatsächlich ein Haken dran machen. :)

Allerdings habe ich nun ein neues Problemchen:

Skript läuft in V1.101 zusammen mit Ahoy 8.143. Eingestellt ist "HOY_MIN_WATT_IN_PERCENT" = 4% für den HM-1500 (und wie gehabt, Prio 1 für den HM-1500 und Prio 2 für den HM-800). Einstellen tut das Skript aber folgendes:

image

Er regelt den HM-1500 einfach nicht auf die eingestellten 4% runter, beim HM-800 passt es mit 5%. Luft wäre ja noch nach unten, da der HM-600 ja noch massig Reserven hat. Das Log sagt diesbezüglich nichts aus, außer z.B. dass das Limit bereits akzeptiert wurde.

Ich meine, bei den vorigen Versionen (zumindest in V1.98 noch) gab es dieses Verhalten nicht.

reserve85 commented 2 weeks ago

Kannst du mal ein Log anhängen? Sonst kann ich das schlecht nachvollziehen.

Vermutlich ist es das Problem, dass AHOY den Befehl "verschluckt", siehe dein Bug-Report im AHOY GitHub. Ich checke zwar das Soll-Limit vs dem Ist-Limit aber nur ob es einen Unterschied von >5% gibt (das ist hier dann nicht der Fall).

RealNBB commented 2 weeks ago

Anbei das Log-File sowie die Config nochmal. Der HM-1500 stand (und steht immer noch) dabei nach dem Start bei 6,6%.

Log.txt Config.txt

reserve85 commented 2 weeks ago

Ok, das hilft mir. Schaue ich mir die Tage an…

RealNBB commented 2 weeks ago

was mir übrigens auch noch aufgefallen ist: nach einem Neustart (gilt für den 800 und 1500 gleichermaßen) starten die beiden WR mit den bei "HOY_BATTERY_REDUCE_WATT" eingestellten Werten und verharren dann auf diesem Niveau. Das Skript schafft es dann nicht mehr, die WR anzusprechen bzw. zu regeln. Evtl aber auch nur ein Ahoy Bug.

reserve85 commented 2 weeks ago

Hab das heute angefangen die Berechnung zu fixen aber keine Zeit mehr gehabt. Denke aber ich hab den Fehler gefunden, war auf den ersten Blick recht einfach aber am Ende doch nicht so leicht... wie immer halt 😄. Hoffe morgen kannst du es probieren.

zu dem anderen Problem: kannst du mir das auch im log zeigen?

RealNBB commented 2 weeks ago

Nice....king gut! Stellst du das dann wieder als Dev zur Verfügung? Sonst bekomm ich das doch wieder nicht hin.

Neustart Log mach ich dir morgen.

reserve85 commented 2 weeks ago

ist online als "dev"

RealNBB commented 1 week ago

Hey...entschuldige bitte die späte Antwort. Aber momentan komme ich zu wenig. Das mit min. Prozent sieht gut aus. Zumindest stellt er beim HM-1500 nun wieder die geforderten 4% ein.

Neustart-Log muss ich erst noch machen. Befürchte aber, dass ich am Wochenende eher nicht dazu komme. Bekommst es aber schon noch.

oki...dann mal vorab ein guten start ins Wochenende.

Screenshot_20240906-151146

RealNBB commented 1 week ago

Was mir jetzt doch aufgefallen ist bei V1.102:

Das Skript stellt den HM-600 nun nicht mehr auf 100%, sondern meist auf nur 83,3%:

image

Bei V1.101 war das m.W. nach nicht so, da lief der auf 100%, wenn die Leistung benötigt worden ist.

Log-Auszug im Anhang. Log.txt

reserve85 commented 1 week ago

Schau ich… ;-)

reserve85 commented 1 week ago

habs gerade nochmal aktualisiert, du könntest es nochmal abrufen und einspielen... Version ist die gleiche

RealNBB commented 1 week ago

Okay...das mit den "HOY_MIN_WATT_IN_PERCENT" sieht jetzt ganz gut aus: Der HM600 läuft nun bei 100%, während die beiden anderen bei ihren fest eingestellten "HOY_MIN_WATT_IN_PERCENT" rumdümpeln. Aber lass mich das bitte die Tage noch weiter beobachten.

Bezgl. der Neustartproblematik anbei zwei Logs…einmal für den HM800 und einmal für den HM1500. Der HM800 stellt sich nach einem Reboot bei 408W ein, der HM1500 bei 765W. Also NICHT wie ich oben geschrieben habe bei "HOY_BATTERY_REDUCE_WATT", sondern bei ziemlich genau 50% der Leistung des jeweiligen WR.

Log_Restart_HM800.txt Log_Restart_HM1500.txt

reserve85 commented 1 week ago

Ahso, du rebootest da nur den WR? Was steht denn nach dem Reboot bei AHOY als Limit da? Weil es sollte theoretisch nachgeregelt werden, falls das Limit in AHOY von dem Soll Limit zu weit abweicht...

RealNBB commented 1 week ago

HM-800 nach Reboot:

image

HM-1500 nach Reboot:

image

Nicht wundern, dass jetzt das "HOY_MIN_WATT_IN_PERCENT" 3% und 4% beträgt. Ich habe aber jeweils den HM-800 und HM-1500 je 1% nach unten geschraubt, da bei minimaler Grundlast mit den vorigen 4% (HM-1500) & 5% (HM-800) einfach zu viel produziert wurde.

reserve85 commented 1 week ago

ja, that´s the problem. ich bekomme "3.9%" und "2.9%" aus AHOY, allerdings produziert der Inverter mit ~50%

RealNBB commented 1 week ago

Ja genau...das passt nicht so ganz zusammen! 🗡️

Das ursprüngliche Problem "HM-600 geht nicht auf 100%" scheint aber mit der neuen V1.102 gelöst zu sein:

image


Soll ich eigentlich einen neuen Thread "Leistung WR nach Reboot" aufmachen? Mittlerweile werden/wurden hier ja mehr oder weniger drei Bugs diskutiert- nicht, dass es zu unübersichtlich wird. :)

reserve85 commented 1 week ago

Das musst du eigentlich bei AHOY öffnen. Müsste nach einem Reboot-Klick in AHOY zurückgesetzt oder neu angefordert werden...

RealNBB commented 1 week ago

Wie meinst du das, dass das eigentlich "bei Ahoy geöffnet werden müsste"? :) Also Problematik ist folgende: Ich mache täglich um 23:58Uhr einen automatischen Reboot per MQTT des HM-800, 30sec. später der HM-1500. Um Mitternacht startet dann Ahoy täglich neu. Dann ist auch alles wieder i.O.. Nur eben nicht, wenn man nur den WR neu startet, Ahoy aber nicht. Dann laufen die WR lustig bei 50% der Leistung, zeigen aber 3% bzw. 4% bei Active Power Control an - und lassen sich nicht mehr regeln. Für mich kein großes Ding, da es ja nur 2 Minuten betrifft (eben zw. 23:58Uhr und 00:00Uhr). Dachte aber, ich teile dir dieses Verhalten einfach mal mit.

reserve85 commented 1 week ago

ja, das ist (evtl.) ein AHOY Problem, die DTU gibt weiterhin das letzte Limit nach außen weiter (und auch in der Weboberfläche) obwohl der WR neugestartet wurde und intern dadurch was ganz anderes anregelt. Das eingestellt Limit ist ja nicht Persistent. Bei einem AHOY Neustart wird anscheinend das Limit aktiv abgefragt.

RealNBB commented 1 week ago

Japp...okay! Dann kann man da wenig bis nichts machen, wenn das ein Thema von Ahoy an sich ist.

Zum anderen: Geb mir noch etwas Zeit, so zwei, drei Tage wegen den 100% beim HM-600, aber ich denke, dann kannst du auch daran einen Haken machen.

RealNBB commented 6 days ago

Okay...das sieht nun etwas komisch aus:

image

Sollte nicht eigentlich der HM-1500 bei 3% stehen und der HM-600 hat noch Luft nach oben?

Log dazu im Ahang:

Log.txt

reserve85 commented 6 days ago

ja, kann natürlich sein, dass das Limit nicht übernommen wurde. Kannst du von dem Log "die Zeit vorher" noch bereitstellen, also als der "letzte Wert" an den HM-1500 übertragen wurde?

RealNBB commented 6 days ago

Zu spät dafür!

Aber ja...Ahoy ist das Problem, 0.8.143 hat sich mal wieder verschluckt. Ich teste nun mit der 0.8.129, die ist ja nicht so zickig. Es geht ja hier primär um dein Skript, nicht um Ahoy. Passt, oder hätte dich das mit dem nicht übernommen Limit interessiert? :)

reserve85 commented 5 days ago

evtl kannst du nochmal auf die neue dev updaten, ich habe da die ganzen SetLimit Funktionen zu einer zusammengefasst und die Berechnung nochmal besser gemacht... Log Ausgaben für die Inverter sind auch erweitert.

Wäre super

RealNBB commented 5 days ago

V1.103 läuft!

Die nächsten Tage werden interessant, da ein Mix aus Wolken und Sonne. Da kann das Skript dann schön regeln! :-D

Ich berichte!

RealNBB commented 2 days ago

Also V1.103 läuft echt top, völlig anstandslos! Konnte auch die letzten vier Tage Dank HomeOffice und Wochenende einige verschiede Settings ausprobieren. Alle liefen mind. 2h ohne irgendwelches komisches Verhalten des Skripts sauber durch, Zeile 4 & 6 fast einen ganzen Tag.

Test.txt

/edith/

Zur Neustart Thematik und das sich die WR dann aufhängen in Ahoy: Wie hier festgestellt war das Active Power Limit nach Neustart bzw. Hochfahren bei 50% eingestellt. Das hat(te) zur Folge, dass in meinem Fall der Shelly nach Neustart des WR deutlich zu viel Export angezeigt hat, Ahoy dabei aber nach wie vor den alten - vor dem Reboot des WR - eingestellten Active Power Limit Wert empfängt/sendet bzw. nicht aktualisiert. Das Skript sendet zwar neue Power Limits, Ahoy schafft es aber nicht, das Ganze umzusetzen. Aus was für Gründen auch immer. Zumindest so lange nicht, bis man Ahoy selbst neu startet. Jetzt hab ich einfach fest das Active Power Limit 1% unter Hoy_Min_Watt gesetzt (oder irgendein x-beliebigen niedrigen Wert), so dass der Shelly nach einem Neustart des WR einen (hohen) Import anzeigt. Das Skript regelt nun wie im Anhang ab Zeile 45 und das setzt Ahoy - ohne Neustart von selbigen - ohne murren um. Klappt wunderbar. :-)

Reboot.txt

Relevante Settings noch dazu (Batterie hängt halt dran - deshalb bloss nichts verschenken^^):

[CONTROL] POWERMETER_TARGET_POINT = -4 (...rechne aber noch +8W im HOAS oben drauf, da noch die ELW mit dran hängt, aber nicht mit gemessen wird. Ist ungefähr der StandBy-Verbrauch der ELW.) POWERMETER_TOLERANCE = 8 POWERMETER_MAX_POINT = 2000 POWERMETER_MIN_POINT = -50

Meine Eltern sind gerade 4 Wochen im Urlaub, deshalb die 2000W, um unnötiges Hochfahren beim anwerfen des Kühlschrank zu vermeiden. Auch die 50W Min Point sind sportlich, ebenso die 8W Toleranz. Klappt aber wunderbar und sind auch nicht die Standard-Settings. Denk aber mal, dass ich zukünftig - wenn die Eltern wieder da sind - auf etwas unterhalb der Wallbox (also 6A :-D) den Max-Point einstellen werde (~1200W?!). Glaub, dass läuft dann einfach insgesamt smoother. Ansonsten aber, wenn niemand zu Hause ist den Tag über, ist dein Skript schon echt genial, muss man wirklich sagen! Ausserhalb der Urlaubssaison natürlich auch! :-D An der Stelle auch nochmal vielen Dank dafür!

image

reserve85 commented 1 day ago

Danke fürs Testen und schön dass bei dir alles funktioniert!