Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS Prognose PV-Ertrag -> Datenarchiv

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    LBS Prognose PV-Ertrag -> Datenarchiv

    Hi,


    ich wollte mir mal ein LBS bauen bzw. hab angefangen, welcher mir die Prognose von forecast Solar in eine Datenarchiv schreibt. Das Datenarchiv kann ich dann verwenden um ein Diagram in der Visu zu erzeugen.

    Was ich bis jetzt mal gemacht habe ist, ein .xml link von Forecast abrufen und gewünschte werte exportiert. Dies habe ich Testweise mal einfach dann in eine .csv exportiert. Dies sieht vom Format her in der CSV dann so aus:

    Code:
    31.03.2021,07:05:00,100000,0
    31.03.2021,07:25:00,100000,18
    31.03.2021,07:45:00,100000,144
    31.03.2021,08:00:00,100000,261
    31.03.2021,09:00:00,100000,1008
    
    ........
    Ursprünglich hatte ich mal angedacht, die werte dann mittels LBS19001583 in ein Archiv zu importieren. Allerdings ist es ja auch möglich, die Werte direkt in einem LBS in ein Archiv zu schreiben. Hierzu bräuchte ich kurz Unterstützung. Was muss bei Edomi genau beachtet werden um in ein Archiv zu schreiben? Eigentlich doch nur das gleiche Format wie im Export oder? Ich hab aktuell meine csv einfach mal so zusammengebaut wie der Export von Edomi ist, Millisekunden werden einfach mit "100000" gefüllt da im Import nicht vorhanden. Muss das Value in "" stehen?
    Das Archiv würde ich gerne einfach vor jedem "füllen" einmal leeren. Es werden immer nur Werte des aktuellen Tages und des Folgetages ausgewertet.

    Allgemein: Funktionierte es eigentlich im Diagramm wenn die Werte im Archiv in der Zukunft liegen?

    Kann mir hierzu jemand ein Tip geben?


    Danke

    Gruß benji

    #2
    Hi,

    ich habe das ganze gestern Abend mal in einen LBS gepackt und getestet.
    Aktueller Stand ist, dass der LBS die Prognose des aktuellen und vom nächsten Tag abfragt und dies dann als json ausgibt. Zudem werden Gesamtertrag der beiden Tag ausgegeben. Um die Ausgabe zu prüfen gibt es dann noch Ausgänge für Fehler, Ort und Zeitzone.

    Alt hat ja jemand Lust zu testen.

    Zu finden hier: http://service.knx-user-forum.de/?co...ad&id=19002271


    Ich werde dann mal noch mit dem Archiv rumspielen.

    Gruß
    Zuletzt geändert von benji; 01.04.2021, 07:01.

    Kommentar


      #3
      So, ich habe mal noch ein Update gemacht.

      Der LBS kann jetzt ein Datenarchiv mit der Prognose füllen. Mit diesem Datenarchiv kann man sich dann ein Diagramm erstellen.

      Viel spaß und bin gespannt auf Ergebnisse.

      Kommentar


        #4
        Hallo benji ,

        habe deinen LBS gerade mal installiiert und eingerichtet, vielen Dank für die Erstellung!!!!! Werte Prognose für heute und morgen bekomme ich einwandfrei, wobei mir die Werte seeeehr hoch erscheinen. Muss ich mal beobachten.

        Was ich auf Anhieb nicht geschafft habe, die Werte in Datenarchive zu speichern. Im Log schreibt mir Edomi:

        Code:
         [TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"]
         	 		[TR]
         			[TD]2021-04-02 13:56:15[/TD]
         			[TD]056557[/TD]
         			[TD]7095[/TD]
         			[TD]debug[/TD]
         			[TD]EXE19002271 [v0.2]: Anzahl Datensätze:32[/TD]
         		[/TR]
         		[TR]
         			[TD]2021-04-02 13:56:15[/TD]
         			[TD]060267[/TD]
         			[TD]7095[/TD]
         			[TD]debug[/TD]
         			[TD]EXE19002271 [v0.2]: Datenarchiv wurde geleert[/TD]
         		[/TR]
         		[TR]
         			[TD]2021-04-02 13:56:15[/TD]
         			[TD]066481[/TD]
         			[TD]7095[/TD]
         			[TD]debug[/TD]
         			[TD]EXE19002271 [v0.2]: Datenarchiv mit neuen Daten gefüllt[/TD]
         		[/TR]
         		[TR]
         			[TD]2021-04-02 13:56:15[/TD]
         			[TD]069457[/TD]
         			[TD]7095[/TD]
         			[TD]debug[/TD]
         			[TD]EXE19002271 [v0.2]: Ort:59174 Kamen, Unna, Nordrhein-Westfalen, DE[/TD]
         		[/TR]
         		[TR]
         			[TD]2021-04-02 13:56:15[/TD]
         			[TD]072036[/TD]
         			[TD]7095[/TD]
         			[TD]debug[/TD]
         			[TD]EXE19002271 [v0.2]: Zeitzone:Europe/Berlin[/TD]
         		[/TR]
         		[TR]
         			[TD]2021-04-02 13:56:15[/TD]
         			[TD]074407[/TD]
         			[TD]7095[/TD]
         			[TD]debug[/TD]
         			[TD]EXE19002271 [v0.2]: Fehler:0[/TD]
         		[/TR]
         	 [/TABLE]
        jedoch werden offenbar keine Daten gespeichert, Anzahl Datensätze im Archiv = 0. Habe noch keine Ahnung, woran es liegen könnte.

        Edomi 2.03 in starwarsfans Docker. yum install php-xml erfolgreich ausgeführt.

        Werde bei Gelegenheit weiter forschen!

        Gruß Sven

        Kommentar


          #5
          Hi, du bist dir aber mit der Archiv ID sicher? Projekt aktiviert nachdem du das Archiv angelegt hast?

          Kommentar


            #6
            Moin benji ,

            ja, bin mir relativ sicher. Datenarchive angelegt:

            2021-04-03_08h59_15.png

            In der Logik entsprechend eingetragen:

            2021-04-03_09h02_39.png

            Sieht erstmal für mich OK aus....??

            Aktiviert habe ich, sogar den kompletten Server neu gestartet (ggf. wegen der Installation)...

            Hab aber noch nicht weiter gesucht..


            Gruß
            Sven

            Kommentar


              #7
              Ok, aber Server Neustart aktiviert ja nicht dein Projekt neu! Du musst das Projekt dann schon aktivieren.

              vom Log her sieht es ja auch gut aus. Eigentlich müssten 32 Einträge im Archiv sein wenn alles richtig läuft.

              Kommentar


                #8
                Hi benji ,
                hatte mir Dein Thema direkt als Lesezeichen abgelegt und gestern endlich Zeit zum Testen gefunden. Mit forecast und Deinem LBS kann man nun zielgerichteter und vorausschauender den PV.Strom nutzen oder Empfehlungen ausgeben ("Wäsche besser morgen") und damit den Eigenverbrauch optimieren.

                Wenn man kann auch weiter denken (wenn ich nur Zeit für derlei Krams hätte )... Letztlich könnte das auch Eingang in die Bewässerungssteuerung finden, weil der forceast ja Ausdruck der erwarteten Energiemenge ist, die auf den Garten verdunstend wirken wird. Oder die Beschattung, wenn man in den Übergangszeiten heute besser noch mal "Wärme erntet", statt zu beschatten, weil morgen weniger erwartet wird.

                --> Daher: Sehr cool, schön einfach und hat direkt funktioniert. Schöne Lösung. Dank' Dir!

                Ein "Ecke" habe ich gefunden, die vielleicht auch andere noch haben, die mehrerer Dachflächen belegt haben: Die Gesamterträge mehrerer LBS-Instanzen kann man aus A3/A4 simpel summieren und damit obige Entscheidungen treffen. Aber für die Datenarchive geht das nicht (oder mir nur nicht bekannt?). Das ist ein rein optisches Thema für Diagramme. In den edomi-Diagrammen ist ein Stapeln leider nicht möglich (oder mir nur nicht bekannt?). Daher wäre ein Summen-Archiv eine feine "Kür".

                Ich bin da auch ein wenig ideenlos, wie man das lösen könnte. Vielleicht 2 weitere Eingänge, an dem man eine andere weitere Quell-Archiv-ID angeben kann und eine Ziel-Archiv-ID, in die E3 und die andere Quelle summiert geschrieben werden. Natürlich müsste man die per Sequenz in der richtigen Reihenfolge triggern; aber das könnte man sogar für mehr als 2 Flächen kaskadieren (z.B: mehrere Gebäude). Dann hat man am Ende für x Flächen x Archive und ein Summenarchiv. Aber ob das den Aufwand lohnt? Hast Du dafür vielleicht schon eine viel bessere Lösung?

                Anmerkung zu den Einheiten: Der Ertrag dürfte in Wh vorliegen, nicht W.

                VG,
                Carsten

                Kommentar


                  #9
                  Hi Carsten,

                  stimme ich dir zu, man kann sehr viel damit steuern und beeinflussen (auch beim Thema Zeit dazu, stimme ich dir zu 😄). Ich hatte mir mal angeschaut wie sich die vorhersage zu meinem Tagesertrag verhält. Ich kann sage, dass passt soweit +/- 3kWh. Aus diesem Grund habe ich mich auch dazu entschieden bei der einfachen Variante zu bleiben. Es gäbe ja noch die Variante, dass man seinen tatsächlichen Ertrag zurückmeldet.

                  Zum Thema mehrere Dachflächen.

                  Wenn ich dich richtig verstanden habe sollte es so sein, dass man für jede Dachfläche die url + Archiv ID angeben kann und dann zusätzlich eine ID für ein Summenarchiv? Ganz so einfach wäre es dann nicht, man müsste die Zeitpunkte des Ertrags vergleichen und dann zusammenführen. Möglich wäre auch immer nur die volle Stunde auszuwerten. Die Dachflächen hätten ja unterschiedliche Startzeiten des Ertrags. Möglich wäre das schon, muss ich mir aber ehrlich gesagt noch überlegen wie ich das genau anstelle. Theoretisch wäre es auch außerhalb des LBS möglich in dem man das JSON von A1 dazu nutzt. Diese Werte könnte man dann in ein Summenarchiv schreiben.


                  Mit Ertrag werde ich im Update mal ändern, ist natürlich Wh.

                  Gruß Benjamin

                  Kommentar


                    #10
                    Dank' Dir. Da ich heute erstmals die Zahlen habe, kann ich das noch nicht einschätzen, vermute aber, dass die Werte bei mir zu hoch liegen. Mag aber auch am heutigen wechselnd-heiter-bewölktes Wetter liegen - ist vermutlich auch schwer vorher zu sagen. Da ist geschlossene Wolkendecke oder wenig Wolken sicher einfacher und ich schau' mal, ob ich einen dezenten Korrekturfaktor brauche. Die Daten bleibt in jedem Fall ein Mehrwert.

                    Wegen des Summen-Archives: Das ist ganz klar Kür - wenn Deine Zeit knapp ist, solltest Du da keine Zeit investieren. Es sei denn, es juckt Dich selber.
                    Vielleicht wäre das aber eher einen anderen, generischen LBS wert, um allgemein aus mehreren Archiven ein Summenarchiv berechnen zu können. Das hat man immer wieder mal die Fragestellungen auch bei anderen Daten; nicht nur hier bei diesem LBS. Weil die Diagramme in edomi mehrere Archive nicht stapeln = summieren können. Letzteres - on-the-fly in der Ausgabe - wäre ohnehin die beste Lösung.

                    Kommentar


                      #11
                      15.04.2021
                      LBS: 39kWh (Südseite) + 5kWh (Nordseite) = 44kWh
                      WR: 32kWh + 9kWh = 41kWh

                      Einzeln doch deutlich unterschiedlich, aber in Summe beeindruckend nah dran; heute Mittag hatte ich mit mehr Abweichung gerechnet. Und meine PV müsste mal nach 7J auch mal reinigt werden, die 7% Abweichungen könnten auch daran liegen.

                      Nachtrag 16.04.2021
                      LBS (gestern für heute): 17 + 6 = 23kWh
                      LBS (heute mittag für heute): 22 + 6 = 28kWh
                      WR: 19 + 8 = 27kWh -> fast Punktlandung

                      Fazit: Südseite tendenziell überbewertet, Nordseite tendenziell unterbewertet
                      Zuletzt geändert von saegefisch; 16.04.2021, 20:16. Grund: Nachtrag für 2. Tag

                      Kommentar


                        #12
                        Hi,

                        ich liege auch im Normalfall wie gesagt +/- 3 kWh gut bei dem Wert. Wobei z.B gerade gestern war ich mit dem Tagesertrag 10 kWh über der Prognose. Es war aber auch gestern sehr Wechselhaft bei uns. Die Tage zuvor bzw. seit dem ich den LBS nutze haben immer in etwa gepasst.

                        Da ich von den 51 kWh aber einen Eigenverbrauch von 47kWh erzielt habe ist es mir auch gleich

                        Ich hatte auch erst angefangen Archive mit Daten zu füllen und Diagramme zu erstellen. Bis das zufriedenstellend läuft dauert wahrscheinlich auch noch eine Woche.... Wenn ich dann die Daten besser auswerten kann wollte ich mich an einen LBS begeben welcher mir Verbraucher nach Priorität und ggfls. sogar mit Leistunsgvorgabe (für die Verbraucher die es können 😂) zuschaltet. Da muss man dann natürlich noch ein wenig schauen mit Einschaltzeiten und min. Laufzeit usw...und die Werte für weitere Logik nutzen.


                        Ich mache mir mal Gedanken über die Sache mit den Archiven. Aber wie du sagtest...Wäre wohl besser wenn es dazu einen allgemeinen LBS gäbe.

                        Kommentar


                          #13
                          Hi,

                          also ich habe da jetzt mal paar Tage beobachtet. Die Stundenvorhersage ist ganz ok aber nicht 100%. Das liegt aber mit Sicherheit auch am aktuellen Wetter. Der Gesamtertrag des Tages passt bei mir schon immer recht genau.

                          Anbei mal ein Diagramm von heute als Beispiel wo man schön den Verlauf sieht mit Eigenverbrauch usw.


                          Bildschirmfoto 2021-04-20 um 11.53.54.png



                          Kommentar


                            #14
                            Hi Benji,

                            sehr cool!

                            Wegen meiner beiden Dachflächen schaue ich noch neidisch auf Dein Diagramm...Für sinnvolle Hinweise zum Einschalten oder Verschieben von z.B. Waschmaschine, Trockner, etc reichen ja die Werte an A3,A4 zwar, aber für's Diagramm ist's schon auch klasse. Die Idee mit dem generischen Zusammenführen von Datenarchiven habe ich kurz versucht und dann erst mal wieder aufgegeben; das ist nicht einfach.

                            Heute morgen unter der Dusche kam mir in den Sinn: Vielleicht wäre es schlauer, nicht nachträglich die DA zusammen zu führen, sondern direkt summiert zu berechnen. Wäre es nicht "ganz einfach" (so einfach derlei immer ist), bei Deinem LBS die Daten E3-E9 per JSON oder Liste zu übergeben und so beliebig viele Abfragen zu ermöglichen, die jeweils in das entsprechende Archiv einzeln geschrieben werden. Darüber hinaus gibt man ein Summen-Archiv-ID und der LBS summiert zusätzlich alle dort hinein. Bei mir währen das die 2 Flächen = 2 E3-E7-Datensätze und ein Archiv für die Summe.

                            single: E3-E9 wie bisher unverändert
                            multi: E3-E9 leer lassen, dafür...
                            Code:
                            E10 = {"forcast":[{"Name":"Süd","ID":"<ArchivID1>","lat":"...","lon" :"...","dec":"...","az":"...","kwp":"..."},
                            {"Name":"NOrd","ID":"<ArchivID2>","lat":"...","lon ":"...","dec":"...","az":"...","kwp":"..."}]}
                            E11 = ArchivID(SUM)
                            Bei Multi-Use wären danach (in diesem Beispiel mit2 Flächen) 3 Archive gefüllt und an A1-A6 stehen die Werte der Summe. Oder an A1 im JSON für Summe und alle Einzelflächen. An E7 könnte zusätzlich für die alle Einzelflächen die Werte von A3, A4 als JSON ausgegeben werden
                            Code:
                            A7 = {"result":[{"Name":"Süd","today":"<kwh11>","tomorrow":"<kwh12 >"},{"Name":"Nord","today":"<kwh21>","tomorrow":"< kwh22>"}]}
                            Flapsig gesagt ist es im Prinzip "nur" eine Schleife drumherum zu bauen, zusätzlich summieren und vorne/hinten JSON. Aber das ist natürlich nie einfach...

                            Wen Dir der Gedanke/Ansatz gefällt und Du mal Lust dazu hast...
                            Falls nein, dann würde ich es im Laufe des Sommers mal versuchen auf Deiner Basis - wenn es für Dich ok wäre. Früher werde ich das vermutlich nicht einrichten können.

                            VG,
                            Carsten

                            Kommentar


                              #15
                              was sind das für Fehler jeden Tag?

                              2021-04-26 10:00:14 437037 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 2 | Zeile: 52 | simplexml_load_string(): Entity: line 1: parser error : XML declaration allowed only at the start of the document ERROR
                              2021-04-26 10:00:14 437443 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 2 | Zeile: 52 | simplexml_load_string(): fied of the issue. Sorry for the temporary inconvenience.</p></body></html><?xml ERROR
                              2021-04-26 10:00:14 437587 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 2 | Zeile: 52 | simplexml_load_string(): ^ ERROR
                              2021-04-26 10:00:14 437733 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 2 | Zeile: 52 | simplexml_load_string(): Entity: line 2: parser error : Extra content at the end of the document ERROR
                              2021-04-26 10:00:14 437861 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 2 | Zeile: 52 | simplexml_load_string(): <response> ERROR
                              2021-04-26 10:00:14 437987 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 2 | Zeile: 52 | simplexml_load_string(): ^ ERROR
                              2021-04-26 10:00:14 443869 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 62 | Trying to get property 'message' of non-object ERROR
                              2021-04-26 10:00:14 444051 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 62 | Trying to get property 'code' of non-object ERROR
                              2021-04-26 10:00:14 444176 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 195 | Trying to get property 'message' of non-object ERROR
                              2021-04-26 10:00:14 444298 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 195 | Trying to get property 'text' of non-object ERROR
                              2021-04-26 10:00:14 445749 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 196 | Trying to get property 'message' of non-object ERROR
                              2021-04-26 10:00:14 446011 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 196 | Trying to get property 'text' of non-object ERROR
                              2021-04-26 10:00:14 448013 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 198 | Trying to get property 'message' of non-object ERROR
                              2021-04-26 10:00:14 448152 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 198 | Trying to get property 'code' of non-object ERROR
                              2021-04-26 10:00:14 449642 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 199 | Trying to get property 'message' of non-object ERROR
                              2021-04-26 10:00:14 449846 ? 22464 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 8 | Zeile: 199 | Trying to get property 'code' of non-object ERROR
                              2021-04-27 06:00:13 335469 ? 18910 Datei: /usr/local/edomi/www/data/liveproject/lbs/EXE19002271.php | Fehlercode: 2 | Zeile: 52 | simplexml_load_string(): Entity: line 1: parser error : XML declaration allowed only at the start of the document ERROR

                              Kommentar

                              Lädt...
                              X