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:

      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

                                        941
                                        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