76_SolarForecast - Informationen/Ideen zu Weiterentwicklung und Support

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

Vorheriges Thema - Nächstes Thema

300P

Zitat von: 300P am 06 Mai 2025, 22:31:33Grad eben ist mir aber bei 100.sten Kontrolle vom "customer06" und dem "ctrlUserExitFn" noch was aufgefallen - mal morgen bis 12:00 Uhr sehen ob es das war.  ???  ::)  :-X
Wenns das war  :'(  :'(  :'( 


Nun ja - es nicht das was mir da gestern noch aufgefallen war. O:-)

Eins kann ich jetzt wie folgt festhalten:

  • SF schaltet (richtig - wegen surplus zu klein) aus:
    Logbuch :
    2025.05.07 14:12:31 2: Forecast - switching Consumer '_WP_Heizstab_WW' to 'off', command: "set FBDECT_fbahahttp_E8_DF_70_07_42_0B off", cause: surplus shortage (Automatic = 1)
    2025.05.07 14:12:31 2: Forecast - Consumer '_WP_Heizstab_WW' switched off (interrupted)

    DBLog Eintrag:
    2025-05-07 14:12:31   FBDECT_fbahahttp_E8_DF_70_07_42_0B   FBDECT   state: off   state   off   NULL

  • Kurz (Sekunden) danach später schaltet der FBDECT_fbahahttp_E8_DF_70_07_42_0B (eigenständig ?!?) wieder ein:
    Logbuch:
    2025.05.07 14:12:33 2: Forecast - Consumer '_WP_Heizstab_WW' was external switched on

    DBLog Eintrag:
    2025-05-07 14:12:33   FBDECT_fbahahttp_E8_DF_70_07_42_0B   FBDECT   state: on   state   on   NULL

  • Zum nächsten SF Intervall (ca. 15 Sekunden) später schaltet der FBDECT_fbahahttp_E8_DF_70_07_42_0B (eigenständig ?!?) wieder aus:
    Logbuch:
    2025.05.07 14:12:49 2: Forecast - Consumer '_WP_Heizstab_WW' was external switched off

    DBLog Eintrag:
    2025-05-07 14:12:49   FBDECT_fbahahttp_E8_DF_70_07_42_0B   FBDECT   state: off   state   off   NULL


Ob dies mit meiner Konstellation Fritz546E und EHK-Heater zusammenhängt wird ist mir weiterhin nicht ersichtlich.
Aber wenn es passiert dann passt es in meinen SF-Intervall von 15 Sekunden.

Als letztes werde ich mir mal den FBDECT_fbahahttp_E8_DF_70_07_42_0B mit verbose 5 ansehen.

Wenn da auch nichts mehr auffällig wird - dann ist es eben ein FHEM-"Glitsch"  :o
Kriegsentscheident ist dies aber nicht - aber das "warum wurmt mich".
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.

DS_Starter

Nimm doch temporär zum Test deinen Code aus der ctrlUserExitFn raus. Nicht dass sich dort noch ein Fehler verbirgt der das Schaltverhalten verursacht.
Kannst den Code gern nochmal komplett posten.
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

seayak

@ 300P

Ich nutze in zwei FHEM Installationen unter anderem Shelly Relais zum Schalten. Bei einem auch zum Schalten von jeweils individuell aller 3 Phasen von 2 Heizstäben. Läuft jetzt super mit PV Überschussverbrauch mittels SF Steuerung, nach meinen Optimierungen und der Hilfe hier aus dem Thread.

Falls es Dir möglich ist und WLAN Coverage an Deinem "Heizstab-Tatort" vorhanden ist, setze doch einfach mal z.B. die Shelly Steckdose, die 16A schalten kann, zum Testen für Deinen Heizstab ein.

Nur so eine Idee...

Gruß Peter

300P

Ja - gute Idee mit einem Wechsel des Schalters.
Hab heute aus China 2 neue Schalter 20A erhalten - wechsele die Tage mal aus....das Zuheizen funktioniert ja ansonsten super mit SF ->> Dank nochmals an Heiko !!!! :)

Muss mich jetzt aber erst mal zum versprochenen Jahres Firmware-Update einer Victron mit Batterie und deren BMS ebenfalls notwendigen Update beim Schwager einfinden. ;)
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.

300P

Zitat von: DS_Starter am 07 Mai 2025, 15:50:19Nimm doch temporär zum Test deinen Code aus der ctrlUserExitFn raus. Nicht dass sich dort noch ein Fehler verbirgt der das Schaltverhalten verursacht.
Kannst den Code gern nochmal komplett posten.


Bitteschön: O:-)
{

  my $dt    = timestringsFromOffset (time, 0);
  my $hour  = $dt->{hour};                                                 # aktuelle Stunde in 24h format (00-23)
  my $timestart = 1;  # ab welcher Uhrzeit soll es sein
  my $timeend = 8;   # bis wieviel Uhr soll es sein

 if (int $hour >= $timestart && int $hour < $timeend ) {
          # Nur zwischen xy:00 bis max. xy:59 (!!!! $timeend -1 Stunde !!!!)  Uhr

    my $minsocbat = 30;    # nur bis mindesten XY SoC aller Batterien
    my $heater  = (split " ", AttrVal ($name, 'consumer06', ''))[0];   # Heater-Name von ConsumerXX
    my $soctotal = CurrentVal ($name, 'batsoctotal', 0);         # SoC über alle Bat als Durchschnitt
    my $pvtot =  ReadingsNum ($name, 'RestOfDayPVforecast', 0);  # Restliche PV Prognose total heute in Wh
    # war my $pvtot = ReadingsNum ($name, 'Today_PVforecast', 0);  # PV Prognose total heute in Wh
    my $caps  = CurrentVal ($name, 'batcapsum', 0);          # Summe installierte Bat Wh
    my $need  = $caps - ($soctotal/100 * $caps);             # benötigte Ladeenergie Bat bis 100% Ladung


    Log3 ($name, 5, qq{$name - userFn -> WWHeater Reading ist = $heater - aktuelle Stunde = $hour   aus $dt erzeugt });
    Log3 ($name, 5, qq{$name - userFn -> StartZeit von = $timestart bis EndeZeit = $timeend und mindestens ein SoC von $minsocbat % muss in den vorhandenen Batterien gegeben sein });
    Log3 ($name, 5, qq{$name - userFn -> Der PV-Tages-Restertrag betraegt $pvtot Wh ???mehr??? als die offene und noch zu ladende Batteriekapazitaet von $need Wh});

     if ($soctotal >= ($minsocbat - 2) && $pvtot > $need) { 
          # Zwischen xy:00 bis max. xy:59 (!!!! $timeend -1 Stunde !!!!)  Uhr und % SoC-Vorgabe erfüllt und der PV-Tages-Rest-Ertrag > 100% Batteriekapazitaet
          # send "on"-Kommando an Heater Device if(ne "on");
         if (ReadingsVal($heater,"state","") ne "on") {
              fhem ("set $heater on");
              Log3 ($name, 2, qq{$name - userFn -> $name Consumer $heater in $name set to --on--});
             }
         }
  else {
         if (($soctotal < $minsocbat) || ($pvtot <= $need)) { 
                # Wenn die (SoC-Vorgabe unterschritten !!!!! oder !!!! derTages-Rest-Ertrag < 100% Batteriekapazitaet)
                # danach sollte der Heater-ConsumerXY wieder nach "seinen" Regeln steuern...
               # send "off"-Kommando an Heater Device if(ne "off");
             if (ReadingsVal($heater,"state","") ne "off") {
                fhem ("set $heater off");
                Log3 ($name, 2, qq{$name - userFn -> $name Consumer $heater in $name set to --off--});
                }
            }
        }
    }
}
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.

Burny4600

#2750
Kann ich die Darstellung umgestalten um die Energieerfassungen richtig zusammenzufassen.

Die Batterien sind bei mir nicht direkt im Netz, sondern hängen direkt an den Deye Invertern.
Anbei eine grobe Übersicht der Energieverteilung mit den Energiezählern.
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

DS_Starter

Hallo Chris,

Umgestalten im Sinne die Icons frei zu arrangieren, ist nicht möglich.
Es ist ein Prinzip-Flußbild.
Aber wie der Zufall es will, bin ich gerade dabei (die V 1.52.0 liegt im contrib zum Test) die Architekturmöglichkeiten aufzuwerten. Momentan kann man mit dieser V auch Batterie-Wechselrichter ohne angeschlossene Solarzellen integrieren, wie auf dem Screen zu sehen. Die Laufketten bewegen sich entsprechend der Wandlungsrichtung. Die Verbindung Batterie-Netz ist dann ausgegraut.

Wenn ich es richtig interpretiere, ist dein Wechselrichter ein Batteriewechselrichter mit angeschlossenen Solarzellen, der nach Bedarf ins Netz einspeist oder alternativ die Batterie lädt bzw. die Batterie-Energie in das Hausnetz DC->AC wandelt?
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

@300P,

du hast ja Log Ausgaben in deinem Code. D.h. man müsste entsprechende Einträge finde sofern du mind. verbose 2 im Device eingestellt hast. Ist das so? Da du nichts davon geschrieben hast, gibt es wohl keine Logeinträge und demzufolge auch keine Schaltvorgänge über diesen Code? ... Was kann bestätigen würde, dass dein "Problem" nicht von deinem Code herrührt.
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

Burny4600

@DS_Starter
Ich verwende 2x Deye Hybridinverter der Modelreihe SUN-(6-20)K-SG01HP3-EU und ist eine komplexe Einheit die an FHEM per RS485 angeschlossen ist.
Anschlüsse eines Hybridinverters: 3x PV-Strings, 1x Grid-Anschluss, 1x Last-Anschluss, 1x Batterie-Anschluss.

Die Geräte sind notstromfähig. Zusätzlich ist ein ABB-Transfairschalter für die Notstromumschaltung vorgelagert.

Gesamt PV-Leistung 22kWp, Gesamt Deye-Batteriespeicher 72kWh, Notstromgenerator 6,5kW hängt an PV-Anlage 1, 2kW Wingenerator hängt an PV-Anlage 2.

Das gesamte würde ich gern unter das SolarForecast Modul einbinden. Das wird aber nicht sehr einfach.
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

DS_Starter

#2754
Der Hybridinverter fehlt im Prinzip noch bei den Wechselrichtertypen.
Ich würde versuche, diesen Typ mit in die 1.52.0 einzubauen.

Übersetzt in die SF-Möglichkeiten wäre es:

- 3x PV-Strings: haben wir mit dem Schlüssel strings im Inverterattribut
- Last-Anschluss, also der Anschluß an das Hausnetz?: haben wir mit dem Schlüssel pv im Inverterattribut
- Batterie-Anschluss: muß ich bei einem solchen WR noch integrieren

Frage Grid-Anschluss, ist das Anschluß der NUR ins öffentliche Netz einspeist oder wie ist das zum Verhältnis zum Lastanschluß zu verstehen?

EDIT: Ich glaube kann es mir selbst beantworten. Am Grid ist der Zugang vom Hauszähler, am Lastanschluß alle Verbraucher. Die Energie wird durchgeschleift und im Notstrombetrieb unterbrochen + Batteriespeisung, richtig?

Notstromgenerator + Wingenerator können wir mit den Producerattributen.
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 07 Mai 2025, 19:38:20@300P,

du hast ja Log Ausgaben in deinem Code. D.h. man müsste entsprechende Einträge finde sofern du mind. verbose 2 im Device eingestellt hast. Ist das so? Da du nichts davon geschrieben hast, gibt es wohl keine Logeinträge und demzufolge auch keine Schaltvorgänge über diesen Code? ... Was kann bestätigen würde, dass dein "Problem" nicht von deinem Code herrührt.

Frisch zurück vom BMS- und 2 anstehenden Victron Firmware-Update nebst notwendiger erneuter Konfiguration des MPII.... O:-)

Ja - in der Nacht von 01:00 Uhr bis 08:00 Uhr kommen die angesprochenen Logeinträge (SF hat verbose 2) natürlich immer rein wenn on/off geschaltet wird.
Aber tagsüber kommt kein einziger Eintrag - niemals nicht in den letzten Tagen :-[ .
Das war auch der Grund das ich davon ausging => es kommt evtl. irgendwie vom Schalten des SF-Consumer06.🤔

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.

DS_Starter

ZitatDas war auch der Grund das ich davon ausging => es kommt evtl. irgendwie vom Schalten des SF-Consumer06.
Das hätte man im Debug gesehen. Außerdem würden bei Schaltvorgängen mit dem Consumer-Modul kein "switched by extern" erscheinen da diese Vorgäge getrackt werden. 
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

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.

Max_Meyer

Zitat von: DS_Starter am 07 Mai 2025, 20:02:43- Last-Anschluss, also der Anschluß an das Hausnetz?: haben wir mit dem Schlüssel pv im Inverterattribut
- Batterie-Anschluss: muß ich bei einem solchen WR noch integrieren

Hallo Heiko,
dann müsste aber ein zusätzliche Batteriesymbol auftauchen - um Anlagen mit mehreren Batterien abzubilden von denen nur eine an einem Hybridwechselrichter hängt. Oder?
Gruß Gerd

DS_Starter

Hallo Gerd,

Zitatdann müsste aber ein zusätzliche Batteriesymbol auftauchen - um Anlagen mit mehreren Batterien abzubilden von denen nur eine an einem Hybridwechselrichter hängt. Oder?
Naja, ich verwende im Flußbild keine separaten Batterien, sondern einen "Batterieknoten", also eine Sammelstelle für alle vorhandenen Batterien, vergleichbar mit dem vorhandenen Inverterknoten. Von diesem "Knoten" aus würden sich dann Verbindungen zu den relevanten Hybridwechselrichtern ergeben.
Dadurch können die Flüsse von und zu Hybrid <-> Batterie dargestellt werden.

Es ist also etwas abstrakter als die physikalische Realität, zeichnet aber dennoch die realen Flüsse 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