Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Gelöst]Batteriespeichersimulation mit AMIS-Daten in Blockly

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst]Batteriespeichersimulation mit AMIS-Daten in Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      GOETSCHHOFER @dslraser last edited by

      @dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:

      @goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:

      Die bestehenden 270+ u. 280- betreffen ja ein anderes Blockly

      hier sind doch auch solche DP im Blockly drinn.

      Bildschirmfoto 2021-09-24 um 07.04.13.png

      Die 2 DP 270+ u. 280- stehen im Blockly Amis und diese 2 verwende ich im Blockly BATT_SIMU.

      1a8460e2-fc0e-4c2a-867a-b6069024e6b1-image.png

      1 Reply Last reply Reply Quote 0
      • G
        GOETSCHHOFER @dslraser last edited by GOETSCHHOFER

        @dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:

        @goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:

        Ich hatte beim Testen heute das mathematische Pänomen, dass, wenn ich beim Beladen mit Speicherstand_Wh mit null starte (Eingabe in DP), beginnt das Skript nicht den Speicherstand_Wh rechnerisch zu ermitteln, sondern bleibt bei 0 Wh.
        Wenn ich als Startwert im DP Speicherstand-Wh nicht null, sondern 1 eingebe, fängt er sofort an zu rechnen u. der Speicherstand_Wh wächst bei Beladen.

        Könnte dies mit der Zahl Null zusammenhängen ? Beladen Wh z. B. 0,50 Wh + 0 = 0,50 Wh oder
        gehört hier eventuell anstatt der Objekt ID Beladen Wh die VARIABLE, Ladeenergie Wh hinein ?

        Oben steht, das Deine Berechnung erst starten soll wenn größer 0, also passiert bei 0 auch nix. (Oder meinst Du was anderes ?)

        Bildschirmfoto 2021-09-24 um 07.12.33.png

        Ja, dies ist richtig, dass er erst bei Lade_Energie_Wh >0 starten soll.
        Das spannende daran ist, wenn ich den Speicherstand auf 0 setze, beginnt er, obwohl Beladen_Wh >0 ist, den Speicher nicht zu laden.
        Wenn ich den Anfangsstand auf 0,001 Wh setze fährt er weg u. lädt den Speicher.

        Ladeenergie_Wh u. Speicherstand_Wh ist wie folgt definiert: Wenn die Lade_Energie_Wh >0 ist, soll er den neuen Speicherstand_Wh ermitteln.
        8a4b98be-7297-4997-b616-097b39788b21-image.png
        10aee951-0504-40e7-a832-eae0979df649-image.png

        Habe jetzt auch mal versucht, das Objekt Beladen-Wh im Punkt 4. Ermittlung Speicherstand in Wh durch die Variable Ladeenergie_Wh zu ersetzen, aber bei Anfangsstand Speicherstand 0 Wh fährt er hier auch nicht weg.

        Gebe ich als Anfangsstand 0,001 Wh ein fährt er bei beiden weg. 🤔 🤔 🤔
        4df58b02-650e-4ea0-9aef-3b45e652dc4d-image.png

        10. BLOCKLY_BAT_SIMU_1_TEST-24.9.2021-11h.txt

        Danke

        1 Reply Last reply Reply Quote 0
        • G
          GOETSCHHOFER @dslraser last edited by

          @dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:

          @goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:

          Ich hatte beim Testen heute das mathematische Pänomen, dass, wenn ich beim Beladen mit Speicherstand_Wh mit null starte (Eingabe in DP), beginnt das Skript nicht den Speicherstand_Wh rechnerisch zu ermitteln, sondern bleibt bei 0 Wh.
          Wenn ich als Startwert im DP Speicherstand-Wh nicht null, sondern 1 eingebe, fängt er sofort an zu rechnen u. der Speicherstand_Wh wächst bei Beladen.

          Könnte dies mit der Zahl Null zusammenhängen ? Beladen Wh z. B. 0,50 Wh + 0 = 0,50 Wh oder
          gehört hier eventuell anstatt der Objekt ID Beladen Wh die VARIABLE, Ladeenergie Wh hinein ?

          Oben steht, das Deine Berechnung erst starten soll wenn größer 0, also passiert bei 0 auch nix. (Oder meinst Du was anderes ?)

          Bildschirmfoto 2021-09-24 um 07.12.33.png

          Jetzt hätte ich ihm vor Ermittlung des neuen Speicherstandes bei Ausgangssituation Speicherstand 0 noch eine falls Speicherstand>=0 reingedrückt, aber er will nicht.

          Bei Start Speicherstand 0 zählt er nicht hoch. Max. Speicherstand checkt er, ebenso bei Entladen und Erreichen Speicherstand 0.

          d3ca60a5-013b-4aba-b91d-bcc39e570ec5-image.png

          dslraser 1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

            @goetschhofer
            ich schaue es mir auch gerade mal an (bin jetzt zu Hause)

            G 1 Reply Last reply Reply Quote 1
            • G
              GOETSCHHOFER @dslraser last edited by

              @dslraser

              Bitte keine Eile, nur wenn es zeitlich leicht geht.
              Anbei nochmals den letzten Stand.

              Danke
              11. BLOCKLY_BAT_SIMU_1_TEST-24.9.2021-17h.txt

              dslraser 1 Reply Last reply Reply Quote 0
              • dslraser
                dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

                @goetschhofer
                Ja, ich muß gleich nochmal weg. Ich melde mich dann später.

                G 2 Replies Last reply Reply Quote 1
                • G
                  GOETSCHHOFER @dslraser last edited by

                  @dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:

                  @goetschhofer
                  Ja, ich muß gleich nochmal weg. Ich melde mich dann später.

                  Kein Problem !

                  1 Reply Last reply Reply Quote 0
                  • G
                    GOETSCHHOFER @dslraser last edited by GOETSCHHOFER

                    @dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:

                    @goetschhofer
                    Ja, ich muß gleich nochmal weg. Ich melde mich dann später.

                    Ich wollte noch mal höflich nachfragen, ob du schon Zeit hattest nochmals einen kritischen Blick auf mein Blockly zu werfen, bezüglich des Problems, wenn er auf Ladestand 0 ist, dass er dann anschließend beim Beladen nicht hochzählt ?
                    Sondern nur dann hochzählt, wenn ich einen Mindestladestand händisch von 0,001 eintrage.

                    Ich könnte vielleicht auch noch bei der letzten Entladung, falls er unter null kommt einen Fixwert mit 0,001 hinzurechnen.
                    Habe auch schon einen Mindestladestand von 0,001 eingegeben, da hat es aber nicht funktioniert.

                    Den SoC-STATE of Charge-% habe ich zwar als Variable oben definiert, aber unten hat er mit dies nicht gerechnet, daher habe ich unten nochmals berechnen lassen. Normal müsste dies auch mit der Variable SoC funktionieren.

                    Danke im Voraus.

                    bad1153b-0a29-47ac-9a5e-5f229e82c47c-image.png

                    12. BLOCKLY_BAT_SIMU_1_TEST-27.9.2021-9h30.txt

                    dslraser 2 Replies Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

                      @goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:

                      Ich wollte noch mal höflich nachfragen, ob du schon Zeit hattest nochmals einen kritischen Blick auf mein Blockly zu werfen

                      Leider noch nicht.

                      1 Reply Last reply Reply Quote 1
                      • dslraser
                        dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

                        @goetschhofer

                        Ich muß mich ehrlich gesagt jedes Mal neu reindenken, weil ich keine solche Anwendung in Betrieb habe.
                        Also vielleicht nochmal der Reihe nach.
                        Was muß ich hier in welchen DP zum testen für Werte eintragen. (bleiben wir erstmal beim beladen)

                        Bildschirmfoto 2021-09-27 um 16.43.18.png

                        Und was muß dann hier passieren bzw. was muß da raus kommen ?

                        Bildschirmfoto 2021-09-27 um 16.54.53.png

                        Bitte mal ein Beispiel (z.B. mit 1000 W)

                        G 1 Reply Last reply Reply Quote 1
                        • G
                          GOETSCHHOFER @dslraser last edited by GOETSCHHOFER

                          @dslraser
                          Aus Sicht des EVU-Smartmeters steht + für Bezug, - für Einspeisung, daher bei mir anschließende Vorzeichendrehung.
                          SUMME_170_270+: Bezug 1000 W
                          SUMME_170_270-: Einspeisung 1000 W

                          Aus Sicht des Batteriespeichers steht + für Beladung, - für Entladung, wie Sparbuch.

                          Im Moment werden lt. Smartmeter 700 W Leistung eingepeist (-) und diese werden virtuell als + auf den Batteriespeicher geladen.

                          AMIS-ZÄHLER-ScantoGIF-27.9.21-17h.gif

                          dslraser 1 Reply Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @GOETSCHHOFER last edited by dslraser

                            @goetschhofer

                            wenn Du mit 0 Speicherstand startest, dann wird das hier immer auf 0 zurück gesetzt.
                            (falls Dein Speicherstand kleiner gleich Min (0), dann setze den Speicherstand auf Min(0)
                            Jedenfalls ist das kein Fehler, sondern von Dir so programmiert.

                            Bildschirmfoto 2021-09-27 um 18.04.13.png

                            Wenn Du im Blockly den ganzen Bereich zum entladen deaktivierst und bei 0 Speicherstand startest, dann zählt auch der Speicherstand hoch, weil er dann nicht auf 0 zurück gesetzt wird.

                            Ich habe die Logs für mich angepasst, sonst kann ich das schlecht lesen.

                            Blockly.txt

                            G 1 Reply Last reply Reply Quote 1
                            • G
                              GOETSCHHOFER @dslraser last edited by

                              @dslraser

                              O.k. klingt ziemlich logisch.
                              Vielen Dank für die Fehler-Detailanalyse.

                              Ich glaube ich muss hier nochmals etwas umbauen u. nacharbeiten, da habe ich bei der Speicherstandermittlung irgendwie den roten Faden verloren.

                              Hatte ja schon einen DP und eine Variable RECHNERISCHER_SPEICHERSTAND_Wh vorgesehen gehabt, aber dann irgendwie wieder vergessen.

                              d36e2851-735e-4a18-b25a-f70142a4ba99-image.png

                              Ich ermittle mir einfach über die Variable Rechnerischer Speicherstand_Wh den Wert aus DP_SPEICHER_STAND-Wh + DP BELADEN Wh + DP Entladen Wh.
                              Und mit diesem Zwischenwert=Rechnerischer Speicherstand_Wh vergleiche ich mit dem MINWERT=0 oder den MAXWERT=5000.

                              Wenn dieser Rechn. Speicherstand <=MINWERT=0, dann schreibe MINWERT=0.
                              Wenn dieser Rechn. Speicherstand >=MAXWERT=5000, dann schreibe MAXWERT=5000.

                              Was hältst du davon ?
                              Ich denke dann dürfte eventuell das Problem mit dem nicht Hochzählen vermieden sein.

                              Danke

                              dslraser 1 Reply Last reply Reply Quote 0
                              • dslraser
                                dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

                                @goetschhofer

                                eigentlich müßte es reichen eine kleine Verzögerung für den entlade Bereich einzubauen. (dann wird nicht zeitgleich der Datenpunkt abgefragt.)

                                Bildschirmfoto 2021-09-27 um 21.54.18.png

                                Export.txt

                                G 1 Reply Last reply Reply Quote 1
                                • G
                                  GOETSCHHOFER @dslraser last edited by

                                  @dslraser

                                  Super Idee, dann bräuchte ich nicht mehr wieder mit einer neuen Fals..... Funktion in die Logik eingreifen. 👍

                                  Kann dir auf die Schnelle noch nicht ganz folgen, muss mir dies erst logisch erarbeiten.

                                  Melde mich aber sobald ich das Ganze durchgespielt habe.

                                  Das Thema zeitverzögerter Ablauf wäre nämlich meine nächste Frage gewesen, wieweit man dies hier einbauen soll.
                                  Aber du bist mir zuvorgekommen. 😀

                                  Danke

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    GOETSCHHOFER @GOETSCHHOFER last edited by

                                    @dslraser

                                    Ich habe jetzt deine letzte Version vom 27.9.21 vom Blockly übernommen, denn das ergänzen bei mir wäre zu viel Aufwand geworden und hier hätte ich sicherlich wieder unnötige Fehler eingebaut.

                                    Dein Blockly läuft bei mir fehlerfrei ! 👍 😀 Danke
                                    Super finde ich die Struktur beim Debug, sehr übersichtlich u. vor allem, dass man einzelne Teile weg- u. zuschalten kann.

                                    Einige kleine Ergänzungen u. Änderungen habe ich noch vorgenommen.

                                    1. Ich hatte noch einen Rechenfehler beim Ermitteln der Ladeenergie_Wh u. Entladeenergie_Wh.
                                      Hier hab ich beim SEK_MESS_INTERVALL / gerechnet, anstatt x. Richtig: BELADEN_W/3600 x 2 Sek., da die Werte in 2-Sek. Intervallen geliefert werden.

                                    3ca30faf-92f7-4226-b54d-b00bad29c89b-image.png

                                    1. B. Entladen-Punkt 5:Hier hat er mir beim Entladen den SOC nicht in den DP geschrieben, da die Zeile gefehlt hat, diese habe ich offenbar übersehen und jetzt noch ergänzt.
                                      c183270a-a944-4102-8bf4-156e3f534182-image.png
                                      Den Debug dazu habe ich erweitert.

                                    2. Bin schon gespannt ob er bei Speicherstand null, nach vollständiger Entleerung von Null aufwärts wieder hochzählt.

                                    15. NACH ÄNDERUNG-DSLRASER_BLOCKLY_BAT_SIMU_1_TEST-29.9.2021-11h38.txt

                                    dslraser 1 Reply Last reply Reply Quote 0
                                    • dslraser
                                      dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

                                      @goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:

                                      Bin schon gespannt ob er bei Speicherstand null, nach vollständiger Entleerung von Null aufwärts wieder hochzählt.

                                      ich auch, schauen wir mal...

                                      G 1 Reply Last reply Reply Quote 1
                                      • G
                                        GOETSCHHOFER @dslraser last edited by GOETSCHHOFER

                                        @dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:

                                        @goetschhofer sagte in Batteriespeichersimulation mit AMIS-Daten in Blockly:

                                        Bin schon gespannt ob er bei Speicherstand null, nach vollständiger Entleerung von Null aufwärts wieder hochzählt.

                                        ich auch, schauen wir mal...

                                        @dslraser
                                        Habe eben noch eine Ergänzung gemacht.
                                        Der maximale Lade- und Entladestand war nicht als Variable definiert.
                                        2f3ac788-f524-475e-8515-d99e99bcdbf7-image.png
                                        Soeben als variable eingebaut debug angepasst.
                                        17. NACH ÄNDERUNG-DSLRASER_BLOCKLY_BAT_SIMU_1_TEST-29.9.2021-12h20.txt

                                        Anbei nochmals den letzten Stand.

                                        dslraser 1 Reply Last reply Reply Quote 1
                                        • dslraser
                                          dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

                                          @goetschhofer

                                          Hast Du Dir eigentlich mal den Adapter SourceAnalytix angesehen ?
                                          Ich habe keinen Stromzähler den ich dafür verwenden kann, aber ich habe einige Schalt/Messsteckdosen. Ich habe jetzt mal eine davon mit dem Adapter ausprobiert. Das müßte eigentlich auch für Dich passen.

                                          https://github.com/DrozmotiX/ioBroker.sourceanalytix

                                          G 1 Reply Last reply Reply Quote 0
                                          • G
                                            GOETSCHHOFER @dslraser last edited by

                                            @dslraser said in Batteriespeichersimulation mit AMIS-Daten in Blockly:

                                            @goetschhofer

                                            Hast Du Dir eigentlich mal den Adapter SourceAnalytix angesehen ?
                                            Ich habe keinen Stromzähler den ich dafür verwenden kann, aber ich habe einige Schalt/Messsteckdosen. Ich habe jetzt mal eine davon mit dem Adapter ausprobiert. Das müßte eigentlich auch für Dich passen.

                                            https://github.com/DrozmotiX/ioBroker.sourceanalytix

                                            Ja, den Adapter SourceAnalytix habe ich schon im Einsatz, aber ich komme mit dem Adapter nicht ganz klar.
                                            Den Adapter Shelly habe ich bei der Schwimmbadpumpe im Einsatz, der liefert mir den Tages- und kumulierten Wert.

                                            Ich habe mir über eine Empfehlung im PV-Forum folgendes Video über Grafana angesehen und hier wird erklärt, wie man mit Grafana auch Verbrauchsdaten visualisieren und errechnen kann ohne Werte als DP zu schreiben und aus den kumulierten Werten z. B. Summe Bezug 170+ oder - oder Summe Beladen einzelne Tages- oder Stunden-Werte darstellen kann.

                                            Mache ich jetzt schon für Täglich Be- und Entladen aus dem kumulierten Wert Summe Beladen und Summe Entladen.
                                            Verbrauchsdaten mit Grafana visualisieren | haus-automatisierung.com [4K]
                                            https://www.youtube.com/watch?v=BpLTo7ohqEU

                                            Diese Tageswerte hier sind alle aus den kumulierten Werten in Grafana errechnet. Hier kannst du mit der Funktion Transform, relative time (Anzahl der Tage welche angezeigt werden sollen) und der Funktion difference die Werte errechnen lassen.
                                            Group by time muss man auch noch auf 1d einstellen. das -2h seht für Abw. von der UTC-Zeit.
                                            Grafana ermittelt immer nach UTC.

                                            722f5de9-6534-491d-b40e-1f1781359da0-image.png
                                            0e2ad34e-b01d-4d52-b9f9-b0f720ad19ab-image.png
                                            e83b6391-cd5e-444e-b842-a6d97d4e73fa-image.png

                                            Abschließend habe ich noch eine sehr erfreuliche Nachricht für dich:
                                            Der Speicher hat heute morgen, ohne mein Zutun, selbständig zu laden begonnen. 👍 👍 👍
                                            Hat Funktioniert.
                                            Juhu !!!!! Dein Verdienst, danke nochmals.

                                            4e4a7f0a-b040-417f-abd6-2285298a3c65-image.png

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            934
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            120
                                            7386
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo