76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

DS_Starter

ZitatAnmerkung zu Anzeige von "batsocforecast_XX":

Der Batteriestatus wird bei mir bis zum Ende des Tages (bis 23:59) berechnet, danach bleiben die Werte ab 00:00 Uhr gleich.
Er wird weiter berechnet. Allerdings erreicht er bei dir ab 00:00 offensichtlich den Optimal SoC aus der Batterie SOC-Optimierung.
Schau dir das Reading Battery_OptimumTargetSoC_XX an. Wird das Limit darstellen.
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: DS_Starter am 08 Januar 2025, 21:18:13.....
Er wird weiter berechnet. Allerdings erreicht er bei dir ab 00:00 offensichtlich den Optimal SoC aus der Batterie SOC-Optimierung.
Schau dir das Reading Battery_OptimumTargetSoC_XX an. Wird das Limit darstellen.


...hatte es grade eben dann doch noch "kapiert" ;)
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - keine Batterieladung mehr mit SMA-SBS25 / LG Resu10H

DS_Starter

#1547
:)

Habe im contrib wieder upgedated.
Ein Mouse Over über den Soc-Balken zeigt uns die Batterie Nummer. Damit kann man besser identifizieren falls mehrere Batterie-SOCs dargestellt werden.

Edit:
In dem Screenshot wird ein generelles Thema deutlich. Die Ebenen 1 und 2 sind zeitlich nicht synchronisiert wenn die Nachtstunden nicht angezeigt werden sollen UND in einer der Ebenen Werte in den Nachtstunden vorhanden sind, die dann doch angezeigt werden (works as designed).

Mit einer eventuellen Lösung beschäftige ich mich gerade.
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

DS_Starter

#1548
Die Version 1.42.0 aus dem contrib ist eingecheckt und wird morgen früh im Update ausgerollt.
Sie vereint die besprochenen und getesteten Features.
SF ist nun ein Multi Battery System  :)  mit erweiterten Anzeigefunktionen im Balkendiagramm.

Weitere Funktionen wie Synchrontät der Balkendiagramm-Ebenen (wenn gewünscht) bzw. die Erweiterung der Flowgrafik etc. werden folgen.

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

Parallix

Zitat von: DS_Starter am 08 Januar 2025, 22:55:57Die Version 1.42.0 aus dem contrib ist eingecheckt und wird morgen früh im Update ausgerollt.
Sie vereint die besprochenen und getesteten Features.
SF ist nun ein Multi Battery System  :)  mit erweiterten Anzeigefunktionen im Balkendiagramm.

Weitere Funktionen wie Synchrontät der Balkendiagramm-Ebenen (wenn gewünscht) bzw. die Erweiterung der Flowgrafik etc. werden folgen.

LG,
Heiko

Einrichtung war problemlos möglich! Danke!
Bin schon gespannt auf die Erweiterung der Flowgrafik.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V8 / ARM V9) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

Hallo zusammen,

es geht weiter.
In meinem contrib liegt ein Update welches die Zeitsync zwischen den Balkengrafikebenen realisieren kann.
Dazu ist der Wertebereich des Attr graphicShowNight erweitert:

graphicShowNight
Anzeigen oder Verbergen der Nachtstunden in der Balkengrafik.

    0    keine Anzeige der Nachtstunden sofern kein Wert anzuzeigen ist (default)
       Sofern die ausgewählten Inhalte einen Wert enthalten, werden diese Balken dennoch dargestellt.
    01    Wie '0', es findet jedoch eine Zeitsynchronisation zwischen den Balken
       der Ebene 1 und der nachfolgenden Balkengrafikebene statt.
    1    Nachtstunden werden immer angezeigt

Im Anhang seht ihr Beispiele für den Unterschied in der Darstellung (Zeitschiene).

Es ist nicht immer sinnvoll die Zeitsync einzustellen, z.B. wenn die Ebenen keinen direkten Bezug zueinander haben. Die Screenshots sind so ein Fall, oben ist PV Prognose und Ertrag, unten die Verbrauchsprognose und der tatsächliche Verbrauch. Hier würde ich die Zeitsync nicht einschalten wenn die Nachtstunden nicht angezeigt werden sollen.

LG

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

bema15

Hallo,
ich habe versucht in solarforecast einen consumer zu integrieren, dessen Schaltung unterbrochen werden soll, wenn ein bestimmtes Reading den Wert "on" hat. Ich habe es mit dem Key

interruptable=Device:Reading:Regex[:Hysteresis] in der Form

interruptable=Device:Reading:on

versucht. Aber funktionierte nicht. Im Debug war als Regex immer "". Erst als ich den Doppelpunkt der optionalen Hysteresis noch anhängte, dann ging es. Da Key sah dann so aus:

interruptable=Device:Reading:on:

Keine Ahnung, ob hier ein Fehler im Code oder in der Dokumentation vorliegt. Am einfachsten wäre es: Works as designed, change the doc!

Desweiteren hätte ich noch eine Frage zum Verhalten der Schaltungen, wenn der consumer von ausserhalb solarforecast geschaltet wird. Wenn solarforecast ihn z.B. eingeschaltet hat und er von ausserhalb ausgeschaltet wird und alle Einschaltbedingungen gelten noch. Wann wird solarforecast den consumer wieder einschalten? Das Gleiche auch umgekehrt. Gibt es dazu irgendwo eine Dokumentation? Ich habe nichts gefunden.

HG

DS_Starter

@bema15,

danke für Info. Schaue mir den Fall im Code an.

ZitatDesweiteren hätte ich noch eine Frage zum Verhalten der Schaltungen, wenn der consumer von ausserhalb solarforecast geschaltet wird. Wenn solarforecast ihn z.B. eingeschaltet hat und er von ausserhalb ausgeschaltet wird und alle Einschaltbedingungen gelten noch.
Wann wird solarforecast den consumer wieder einschalten?
Das Gleiche auch umgekehrt. Gibt es dazu irgendwo eine Dokumentation? Ich habe nichts gefunden.
Wenn ein Consumer durch einen externen Vorgang ausgeschaltet wird, nachdem SF ihn eingeschaltet hat, wird SF ihn erst dann wieder einschalten wenn SF durch eine Ausschaltbedingung ihn ausschalten will (dabei schon den Aus-Zustand erkennt) und danach wieder einschalten will weil z.B. ein Interrupt nicht mehr vorliegt.

Das Thema Consumersteuerung habe ich im Wiki noch nicht umfassend beschrieben. Kommt alles nach und nach.

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

DS_Starter

@all,

ich habe den Wunsch von 300P aus #1542 umgesetzt.
Es gibt zur Erstellung von optionalen Batterie-Prognosereadings das Attr ctrlNextHoursSoCForecastReadings:

ctrlNextHoursSoCForecastReadings <00,02,..,23>
Wenn gesetzt, werden Readings der Form Battery_NextHourXX_SoCforecast_BN erstellt sofern eine Batterie im SolarForecast-Device registriert ist (siehe attr <name> setupBatteryDevXX ).
Diese Readings enthalten die prognostizierten SoC-Werte (%) der ausgewählten Stunden.
Dabei ist 'XX' die Stunde in der Zukunft ausgehend von der aktuellen Stunde (00) und 'BN' die Nummer der registrierten Batterie.

    Beispiel:
    attr <name> ctrlNextHoursSoCForecastReadings 00,03,12,18
    # erstellt Readings für die aktuelle Stunde (00) sowie die nachfolgenden Stunden +03, +12 und +18.

ZU überlegen wäre noch ob 00 als Startstunde sinnvoll ist, da Current_BatCharge_XX den aktuellen Wert bereits abbildet.

Die V liegt als Update in meinem contrib.

LG
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: DS_Starter am 10 Januar 2025, 16:40:20ZU überlegen wäre noch ob 00 als Startstunde sinnvoll ist, da Current_BatCharge_XX den aktuellen Wert bereits abbildet.

Da geb ich dir recht - wäre "doppelt gemoppelt" O:-)
Also ohne die "00" ist sicherlich auch okay  ;D

Ansonsten funktioniert es prima

Gruß und Danke
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - keine Batterieladung mehr mit SMA-SBS25 / LG Resu10H

DS_Starter

ZitatDa geb ich dir recht - wäre "doppelt gemoppelt" O:-)
Ich habe die SOC-Prognose dahingehend geändert, dass der Prognosewert der Endwert der entsprechenden Stunde wiedergibt.
Somit hat die Stunde 00 ihre Berechtigung, denn dadurch sieht man den prognostizierten Endwert der aktuellen Stunde vs. dem aktuellen Stand.

Die V 1.43.0 mit dem Attr ctrlNextHoursSoCForecastReadings ist eingecheckt und morgen früh im Rollout.

LG
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

DS_Starter

#1556
Hallo zusammen,

@bema15,
es ware tatsächlich ein Fehler im Code den ich behoben habe.

@all,
Weiterhin habe ich die Anzeige der SoC-Prognose korrigiert. Da der erwartete SoC am Ende der Stunde errechnet und dargestellt wird, ergibt sich für den Mouse-Over der Stunde 00 die Anzeige sowohl des aktuellen als auch des erwarteten SoC.

Ein paar kleinere Bugs in dem Umfeld sind auch noch korrigiert.
Unter anderem war die Funktion des Attr graphicBeamHeightLevel2 nicht korrekt. Es gab eine Anhängigkeit
von graphicBeamHeightLevel1 die jetzt aufgelöst wurde.
Ggf. ist bei euch nach dem Update eine Anpassung des Attr graphicBeamHeightLevel2 nötig wenn euch die
Verhältnisse der Ebenen zueinander nicht gefallen sollte.


Die Version ist eingescheckt, aber auch schon in meinem contrib zum Download vorfügbar.

Grüße,
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

Parallix

Im Rahmen meiner ersten Test der "Multi Battery Features" ist mir aufgefallen, dass das setupBatteryDevXX-Attribut "show" nur eine Balkengrafik erzeugt, wenn für setupBatteryDev01 show=1 und für setupBatteryDev02 show=2 gesetzt wird. Wird hingegen für beide BAT-Devices show=1 angegeben, dann werden auch zwei Balkengrafiken angezeigt.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V8 / ARM V9) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS

DS_Starter

Moin Parallix,

ich habe jetzt nicht verstanden wo ein Problem sein soll.
Eine Batterie mit schow=1 oder show=2 erstellt nur eine Balkenreihe entweder auf Ebene 1 oder Ebene 2.
Wenn beide Batterien show=1 bekommen, werden beide Balkenreihen auf Ebene 1 dargestellt.

Vllt. habe ich dich aber auch nicht richtig verstanden?

LG 
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

Parallix

Zitat von: DS_Starter am 12 Januar 2025, 08:49:45Moin Parallix,

ich habe jetzt nicht verstanden wo ein Problem sein soll.
Eine Batterie mit schow=1 oder show=2 erstellt nur eine Balkenreihe entweder auf Ebene 1 oder Ebene 2.
Wenn beide Batterien show=1 bekommen, werden beide Balkenreihen auf Ebene 1 dargestellt.

Vllt. habe ich dich aber auch nicht richtig verstanden?

LG 

Nur wenn ich bei beiden BAT-Devices show=1 angegeben wird, erscheinen auch zwei BAT-Reihen. Lt. Beschreibung hatte ich angenommen, dass ich zwei BAT-Reihen bekomme, wenn einmal show=1 und einmal show=2 angegeben wird. Vllt. habe ich da die Beschreibung nicht richtig verstanden.
FHEM: Debian/Testing BananaPro - AVM: 7490 (7.59) und 7591 (8.02) - Goodwe: GW25K-ET (DSP V8 / ARM V9) - BYD: 2 x HVS 5.1 (BMS V3.29-A, BMU V3.23-A) - EnOcean - Z-Wave - FS20/HMS