76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

Begonnen von DS_Starter, 11 Februar 2024, 14:11:00

Vorheriges Thema - Nächstes Thema

tomcat.x

@Burny4600

Hat sich das bei Dir erledigt?

Zitat von: Burny4600 am 14 Mai 2025, 19:18:53Der Standbywert entspricht 26W. Trotzdem wird das Gerät aktiv angezeigt.
FHEM: 6.3 auf Raspi 4B, Raspbian (noch Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.10), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

Burny4600

ZitatHat sich das bei Dir erledigt?
Ja das hat sich erledigt. Es war bei mir ein Syntaxfehler.
LG Chris

Raspberry Pi 2-5, Bullseye Lite, Bookworm Lite
Schnittstellen: 1-Wire, FHEM2FEHEM, HM-MOD-UART, LAN, Modbus, MQTT, nanoCUL, RFXtrx433E, SIGNALduino, ser2net
Devices: APC, Eastron, FS20, IT, Homematic, MQTT, PV-(DEYE, EPEVER, FRONIUS), Resol-VBUS, S.USV, TEK603, WMR200, YouLess

300P

Zitat von: oelidoc am 20 Mai 2025, 15:51:47Ich habe noch eine Frage zu dem CtrlUserExitFN von 300P:
fhem("set $bwr01 Set_Leistung $currentsurplus"); #  Watt Netzleistung am Übergabemesspunkt (WR1)
fhem("set $bwr01 Set_Aktiv 802");  # 802 - Steuerung aktiv (WR1)
Warum wird bei der Leistung "$currentsurplus" verwendet und was heißt "Watt Netzleistung am Übergabemesspunkt"?

Vielen Dank
oelidoc

Moin oelidoc,

dieser Wert "$currentsurplus" wird wie folgt ermittelt (in diesem Code):

my $currentsurplus = (ReadingsNum ($name, 'Current_Surplus', 0) - 50);

Also ein Reading-Wert der in SF geführt wird ->> aufgrund deiner Einrichtung in SF (Quelle = dein Energymeter).
Der Wert "$currentsurplus" ist der aktuelle Einspeisewert am Netzübergabepunkt an deiner Anlage.
Oder auch der aktuelle Readingwert von deinem Energymeter-Device an deinem Netzübergabepunkt.
Oder auch (evtl.) gleichzeitig der Wert der zum "Abrufzeitpunkt" aktuell in der Grafik als Einspeisung angezeigt wird.

Da dieser Wert nicht in "Echtzeit" ermittelt wird, sondern in gewissen Zeitabständen, habe ich mir gedacht dort etwas abzuziehen um möglichst keinen Verbrauch zu erzeugen.
Grund:
-> WEIL wir ja mit diesem Code im "CtrlUserExitFN" die Steuerung der Batterie komplett selber zu diesem Zeitpunkt übernommen haben und die Batterie nur stur das macht - was wir ihr sagen - bis das wir es anders sagen...... ;D

Ich weiß aber aktuell noch nicht genau ob dieser "Abzieh"-Wert ausreichend ist bei "nur" einer Batterie - bei mir gleicht sich dieser Wert bei 2 Batterien einigermaßen so ab, dass es im Mittel mit Verbrauch / Einspeisung so bei mir passt. O:-)

Gruß
300P



EDIT:
anbei Grafik vom 19.5.25

obere Ansicht:
EVU-Bezug/Netzeinspeisung / WR-Leistungen
Morgens bis ca. 8:00 Uhr lief die WP auf EVU-Strom
- der Tag vorher war nicht so ertragsreich ->> Batterien nachts leer.
Tagsüber wenig EVU-Bezug trotz 3 x Waschen / 2 x Spülmaschine / 2 x Trockner / 2 Stunden Elektrogrill / 1 h Airfryer plus Grundverbrauch......
WR-Ertrag - je Phase=1 WR -  Daten selberklärend nach "Sonnenscheinertrag"

Untere Ansicht

Batterien-SOC im Tagesverlauf / Temperatur außen / GrydfriendlyBatteryXX (SF-Wert)   (...02 sieht man nicht - wird genau von ....01 überdeckt)


Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_Edge|ESP32CAM usw.

oelidoc

Hallo 300P,
vielen Dank für deine Erläuterungen, die ich soweit glaube verstanden zu haben.
Einzig: der Modbus Befehl set $bwr01 Set_Leistung $currentsurplus führt der zur Einspeisung des Überschusses oder zum Laden mit dem Überschuss?
Wahrscheinlich wird für mich alles nachvollziehbarer, wenn bei mir endlich mal mit Heiko´s Hilfe $gridfriendlychargebat01 eq 0 wird und ich das Verhalten der Anlage live beobachten kann...
Bis dahin
oelidoc

peterboeckmann

Hallo Heiko,

Zitat von: DS_Starter am 19 Mai 2025, 21:10:25@Peter, @ahlermi, @all

ich habe die V 1.52.4 im contrib upgedated.
Enthalten ist:

- die Flußgrafik habe ich noch etwas ausgerichtet wie von Peter angemerkt (#2913)
- fix des Problems "devision by zero" (#2926)


Danke, das sieht schon viel besser aus.
Jetzt sind die Zahlen nur noch ein bisschen "schief". Das fällt gerade bei den Nullen gut auf. Siehe Screenshot. Evtl. müssten dann auch die Symbole für Panels und Knoten noch mit rutschen?

Ich weiß, ich bin kleinlich. Alles nicht so wichtig, wie die Funktion an sich.

Mir ist heute aufgefallen, dass der SoC in der Flußgrafik mit zwei Nachkommastellen angezeigt wird. Ist das Absicht? Prozente mit zwei Nachkommastellen?

Viele Grüße,
Peter



DS_Starter

ZitatMir ist heute aufgefallen, dass der SoC in der Flußgrafik mit zwei Nachkommastellen angezeigt wird. Ist das Absicht? Prozente mit zwei Nachkommastellen?
Nein, in der Version die ich einchecke werden alle Werte >= 10 ohne Nachkommastellen, < 10 mit 2 Nachkommastellen dargestellt. Das ist in der gesamten Flußgrafik so. Die Batteriewerte fügen sich dann in das Gesamtsystem ein.

ZitatJetzt sind die Zahlen nur noch ein bisschen "schief". Das fällt gerade bei den Nullen gut auf.
Naja ...  ;)

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

300P

Zitat von: oelidoc am 20 Mai 2025, 22:05:40Hallo 300P,
vielen Dank für deine Erläuterungen, die ich soweit glaube verstanden zu haben.
Einzig: der Modbus Befehl
set $bwr01 Set_Leistung $currentsurplus führt der zur Einspeisung des Überschusses oder zum Laden mit dem Überschuss?
Wahrscheinlich wird für mich alles nachvollziehbarer, wenn bei mir endlich mal mit Heiko´s Hilfe $gridfriendlychargebat01 eq 0 wird und ich das Verhalten der Anlage live beobachten kann...
Bis dahin
oelidoc


Damit stellt du ein...

- auf welchen Wert sich der BWR am Netzübergabeort einpendeln soll.

Beispiel:
Aktuell werden 1234 Watt eingespeist - normal würde die Batterie bei "1" jetzt den Überschuss "laden"  wenn wir nicht steuertechnisch eingreifen

Wenn wir also eingreifen wollen (netzdienlich =>> SF Battery_ChargeRecommended01 bei "0")....  ;D
Dann wollen wir das die Batterie bei diesem Punkt von 1234 Watt nicht mehr als 0 Watt in die Batterie "läd" / ""einspeist". :o
Also verschieben wir den "Zielwert" des BWR von 0 auf 1234 Watt damit dieser BWR diese Batterie nicht lädt. O:-)
Und wir sagen dem BWR das wir jetzt der Herr der Batteriesteuerung sind und ihm auch alles vorgegeben haben.... ::)

Dieser Wert wird dann in deinem Intervall von SF (jetzt bitte nicht deshalb 1 Sekunde Intervall einstellen -> Systemlast !!!!) immer wieder aktuell gesetzt bis das SF Battery_ChargeRecommended01 "1" vorgibt.
Dann wird dort ( nachfolgendes "else") wieder 0 Watt eintragen und dem BWR gesagt das unser "manuelles eingreifen" beendet wird.

Gruß + schönen Abend an Alle
300P



EDIT:
Dein SF Intervall sollte auf so zwischen 15 - 30 Sekunden eingestellt sein.
Wenn der Wechselrichter zu lange nichts von "Dir" hört stellt er sich automatisch wieder auf "Eigensteuerung" um
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_Edge|ESP32CAM usw.

oelidoc

@ 300P

Super erklärt - vielen Dank - und schönen Abend

oelidoc

DS_Starter

Hallo zusammen

die V 1.52.4 habe ich soben eingecheckt. Hier nochmal zusammengefasst die Weiterentwicklungen:

In Vorbereitung der Hybridinverterintegration ist bei den Invertern im setupInverterDevXX der bisherige Schlüssel "pv" in "pvOut" umbenannt und es gibt einen neuen Schlüssel "pvIn" für die DC Eingangsleistung aus den Solarzellen. pvIn wird nun auch in der Flußgrafik unterhalb der Solarzelle angezeigt.
Solange pvIn nicht gesetzt ist, wird dort 0 angezeigt.

pvIn    Ein Reading, welches die aktuelle DC PV-Eingangsleistung in W liefert (Summe aller angeschlossenen Strings).
    Es wird ein positiver numerischer Wert erwartet.
   
pvOut    Ein Reading, welches die aktuelle Leistung aus PV-Erzeugung, die an das Hausnetz oder öffentliche Netz
    geliefert wird, bereitstellt. Es wird ein positiver numerischer Wert erwartet.

Die Umstellung von pv -> pvOut erfolgt automatisch. Bitte Restart nicht vergessen!
pvIn ist dann noch manuell zu setzen, ist jedoch kein Problem wenn der Schlüssel später eingefügt wird. Bis dahin wird lediglich "0" angezeigt, sonst hat es keine Nachteile.

Weiterhin:

- die Online-Hilfe zu setupInverterDevXX ist für eine bessere Übersicht Inverterspezifisch organisiert
- die Flußgrafik habe ich noch etwas ausgerichtet wie von Peter angemerkt (#2913)
- fix des Problems "devision by zero" (#2926)
- das Attr ctrlSpecialReadings hat eine neue Auswahl "BatWeightedTotalSOC" zur Anzeige des resultierenden SOC aller Batterien

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

TheTrumpeter

Warum findet sich die Leistung der Solarzellen (Generators) denn unterhalb der Solarzellen und nicht neben den Solarzellen wie bei allen anderen Symbolen (Haus, Inverter, ...)?
Das sieht irgendwie komisch aus. Kann man es daneben (oder ev. darüber?) darstellen?
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

DS_Starter

Moin,

ZitatWarum findet sich die Leistung der Solarzellen (Generators) denn unterhalb der Solarzellen und nicht neben den Solarzellen wie bei allen anderen Symbolen (Haus, Inverter, ...)?
Die Werte werden auch bei den Invertern darunter dargestellt und nicht daneben. Beim Haus steht der Wert nur deswegen daneben weil ich darunter den Platz für die weiteren Verzweigungen brauche.
Den Wert neben den Generatoren darzustellen ist extrem ungünstig, weil der benötigte Platz je nach Leistung der Generatoren flexibel berechnet werden muß wenn mehrere Inverter mit Generatoren vorhanden sind. Zumal ich vllt. später noch ermögliche, mehrere Strings an einen Inverter darzustellen. Auch dann ist der Wert darunter darzustellen einfach optimal um den Platz gut auszunutzen.


ZitatKann man es daneben (oder ev. darüber?) darstellen?
Daneben aus den beschriebenen Gründen nicht. Darüber wäre es möglich. Da alle anderen Werte in der Grafik (bis auf Ausnahmen aus bestimmten Gründen) ebenfalls unter den Symbolen dargestellt werden, halte ich die gegenwärtige Darstellung für stringent.
Bin allerdings offen, falls eine Mehrheit der User die Darstellung des Wertes über den Generatoren für besser empfindet.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

TheTrumpeter

Zitat von: DS_Starter am 21 Mai 2025, 09:55:30Die Werte werden auch bei den Invertern darunter dargestellt und nicht daneben.
Das stimmt so nicht. Bei mir wird es daneben dargestellt. Habe nix diesbezüglich (um-)konfiguriert.

Zitat von: DS_Starter am 21 Mai 2025, 09:55:30Darüber wäre es möglich. Da alle anderen Werte in der Grafik (bis auf Ausnahmen aus bestimmten Gründen) ebenfalls unter den Symbolen dargestellt werden, halte ich die gegenwärtige Darstellung für stringent.
Ganz unten in der Darstellung sind die Verbraucher, da wird der Verbrauch "ganz unten am Ende der Darstellung" hingeschrieben, von wo aus keinerlei weitere Linien weggehen.
Man könnte es also auch als "stringent" erachten bei den Symbolen "ganz oben" die Werte darüberzuschreiben, sodass die davon unten weggehenden Linien nicht durch den Text unterbrochen werden.


Aber egal, werde deswegen nicht groß herumstreiten. Habe die Darstellung nun ausprobiert und überlege sie ohnehin wieder zu deaktivieren (showGenerators=0), weil sich bei meinem einfachen System kaum ein Mehrwert dadurch ergibt.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

DS_Starter

ZitatDas stimmt so nicht.
Vermutlich liegt eine kleines Mißverständnis vor. Bei der absoluten Minimalkonfiguration wird der Inverterknoten durch den Inverter ersetzt. Der Wert steht daneben, ist aber nur durch die Ersetzung des Knotens durch den Inverter bedingt.
Und wie du schon sagst, sind die Werte der Consumer auch unterhalb der Symbole, nur beim Haus nicht, denn hier können im vollen Ausbau 16 Abgänge zu den Consumern vorhanden sein.

Für die Darstellungsentscheidungen sind für mich immer die komplexeren Anlagen führend, denn dann steigt der Schwierigkeitsgrad.
Vergleiche mal die Varianten im Anhang. Hier sieht man es ganz gut.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

TheTrumpeter

Zitat von: DS_Starter am 21 Mai 2025, 11:33:21Vergleiche mal die Varianten im Anhang. Hier sieht man es ganz gut.
Genau, meins sieht ungefähr so aus wie der Screenshot mit hellem Hintergrund, nur habe ich noch einige Consumer unterhalb des Hauses dargestellt.

Wenn ich mir die übrigen beiden Bilder so anschaue, würde es dem 1. Screenshot (113220.png) durchaus guttun, wenn die Generator-Leistungen über den Symbolen dargestellt wären. Beim 2. Screenshot würde es keinen positiven Effekt haben, aber es wäre auch nicht nachteilig.



Egal, wie gesagt ist das eine Kleinigkeit mit der ich leben kann.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

300P

Meine Meinung:

Bei den WRn, den OtherProducern und den Strings/Panel kommt die Leistung "raus" >= drunter sollte daher bleiben.
Bei den Consumern steht (neben der aufgenommen Leistung) evtl. eine 2.te Zeile mit Werten => drunter daher sollte bleiben.

Beim Hausverteiler, den/der Batterie/n und dem Inverterknoten (auch bei Minimalkonfig's) steht's wegen "Summierung/Verteilung" daneben => ist funktionell notwendig und geht es wohl m.M.n. auch nicht anders.

Bei den Linienflüssen ist m.M.n. auch alles z.Z. soweit okay.

Gruß
300P
Gruß
300P

FHEM 6.4|RPi|SMAEM|SMAInverter|SolarForecast|DbLog|DbRep|MariaDB|Buderus-MQTT_EMS|
Fritzbox|fhempy|JsonMod|HTTPMOD|Modbus ser+TCP|ESP32-Digitizer-AI_on_the_Edge|ESP32CAM usw.