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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

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

      @dslraser

      Wenn bei der Abfrage die Entladeleistung zwischen -2500 und <0 liegten soll, wie würdest du die Bedingung formulieren `?
      Er ermittelt mir jetzt zwar die Entladeleistung, aber die Umrechnung in Entladeenergie in Wh ergibt null.
      Ich vermute mal, dass es ein >= oder <= bei -2500 liegt.

      Habe schon alles durchprobiert.

      0d54e56b-8483-44ce-af94-3837fdb4677a-image.png

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

        @goetschhofer
        ich verstehe gerade nicht genau was nicht geht (ich war mit etwas anderem beschäftigt...)
        Zum Testen/probieren baue doch einfach mal debug Bausteine ein. (oder in einem extra kleinen Testblockly)
        z.B. so

        Bildschirmfoto 2021-09-19 um 22.18.09.png

        19.9.2021, 22:18:14.624	[info ]: javascript.0 (2749) script.js.99_Test.Test_Leistung: wahr
        
        G 2 Replies Last reply Reply Quote 1
        • G
          GOETSCHHOFER @dslraser last edited by

          @dslraser

          O.k., das ist ein sehr guter Tipp.

          Danke !

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

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

            @goetschhofer
            ich verstehe gerade nicht genau was nicht geht (ich war mit etwas anderem beschäftigt...)
            Zum Testen/probieren baue doch einfach mal debug Bausteine ein. (oder in einem extra kleinen Testblockly)
            z.B. so

            Bildschirmfoto 2021-09-19 um 22.18.09.png

            19.9.2021, 22:18:14.624	[info ]: javascript.0 (2749) script.js.99_Test.Test_Leistung: wahr
            

            Wo gibst du den Testwert ein ?

            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:

              Wo gibst du den Testwert ein ?

              ich habe bei mir den Datenpunkt ENTLADEN_W genommen (bei mir kommen ja keine Daten und das Blockly ist aus und wird nicht aktualisiert) Du kannst ja auch einen neuen Datenpunkt dafür anlegen, oder eine Variable benutzen.

              Bildschirmfoto 2021-09-20 um 09.45.50.png

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

                @dslraser

                Habe mir jetzt ein Testblockly erstellt.

                Entweder habe ich jetzt einen Hänger oder .... ?
                Der Minus-Wert von -3500 liegt nicht zwischen 0 und -2500, dann müsste doch falsch als Ergebnis kommen ?
                df78cd0e-787c-42b5-88d0-820d7d045024-image.png

                Bei mir kommt falsch.
                48e8e8b0-1e9c-44f6-b8d3-3bf27e91928f-image.png

                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:

                  @dslraser

                  Habe mir jetzt ein Testblockly erstellt.

                  Entweder habe ich jetzt einen Hänger oder .... ?
                  Der Minus-Wert von -3500 liegt nicht zwischen 0 und -2500, dann müsste doch falsch als Ergebnis kommen ?
                  df78cd0e-787c-42b5-88d0-820d7d045024-image.png

                  Bei mir kommt falsch.
                  48e8e8b0-1e9c-44f6-b8d3-3bf27e91928f-image.png

                  Du machst in Deinem Beispiel...falls 0 kleiner gleich -2.500 (0 ist ja nicht kleiner als -2.500) also ist das falsch. (steht auch so im Log) In Deinem Beispiel vergleichst Du ja 0 mit -2.500. Die Variable Testwert wird ja nirgends von Dir verglichen.

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

                    @dslraser

                    Sorry, du hast natürlich Recht, hier war ich wieder mal zu schlampig.🤕

                    Interessant ist für mich folgendes:
                    Offenbar ignoriert er hier das Minus ?

                    Testwert -3.500: bei oberer Grenzwert -2500
                    21b0e015-bcb1-4fc4-83ac-50900f7a573a-image.png
                    fe421cb1-54b4-4074-89d1-7781c674c003-image.png

                    Testwert -2.000: bei oberer Grenzwert -2500
                    c7419479-305d-4f2b-993e-c8fcbd04ad75-image.png
                    24da13f9-579a-46b2-8535-2f7d4acdd2cb-image.png

                    Jetzt hätte ich mir nochmals eine 2. Testvariante aufgebaut, aber da habe ich ein Problem mit der Verknüpfung mit dem DP Entladung W.

                    Wie kriege ich hier unter Objekt-ID den DP rein ? Anklicken funktioniert nicht.
                    907f1c52-ed80-4ba0-8b88-c315e5140377-image.png

                    Danke

                    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:

                      Wie kriege ich hier unter Objekt-ID den DP rein ? Anklicken funktioniert nicht.

                      den oberen nehmen

                      Bildschirmfoto 2021-09-20 um 12.38.46.png

                      Im Log steht alles richtig (meiner Meinung nach)

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

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

                        Danke, eben die Kleinigkeiten.

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

                          @dslraser

                          Bei beiden Korrektes Ergebnis: "falsch"
                          Entladeleistung: -3500 W, Grenzwert: - 2500 W
                          30830561-4454-47d8-a3da-e680b1a7cf21-image.png
                          3fe19a5e-b702-4a64-94fe-2d06801e1d2c-image.png
                          eae80fa3-4187-4cd5-b405-43e513c015d4-image.png

                          Bei beiden Korrektes Ergebnis: "wahr"
                          Entladeleistung: -2000 W, Grenzwert: -2500 W
                          0ca4922c-0a23-4fff-9588-4510b83843f7-image.png

                          74e4478c-a722-4f5f-b9f0-0dcd5e16dfb1-image.png

                          Beim 2. falsches Ergebnis:, müsste "wahr" lauten.
                          Echt interessant, wenn ich <=-2.500 W (anstatt >=-2500 W) bei der 2. Variante eingebe, dann bekomme ich "falsch".

                          81c7ebc9-09eb-449f-9759-d7565f5e5d74-image.png

                          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:

                            Beim 2. falsches Ergebnis:, müsste "wahr" lauten.
                            Echt interessant, wenn ich <=-2.500 W (anstatt >=-2500 W) bei der 2. Variante eingebe, dann bekomme ich "falsch".

                            Und wie hoch ist der aktuelle Wert in diesem Moment gewesen ?

                            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:

                              Beim 2. falsches Ergebnis:, müsste "wahr" lauten.
                              Echt interessant, wenn ich <=-2.500 W (anstatt >=-2500 W) bei der 2. Variante eingebe, dann bekomme ich "falsch".

                              Und wie hoch ist der aktuelle Wert in diesem Moment gewesen ?

                              Habe es soeben nochmals getestet.

                              Habe den Entladewert mit -2000 W unter DP händisch eingetragen:
                              75668f5d-c50b-47d4-8d90-5997083117a4-image.png

                              9e63f183-b84e-463e-ba6b-bdae36efd54e-image.png

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

                                @goetschhofer
                                Ja, einmal vergleichst Du mit größer/gleich und einmal mit kleiner/gleich....
                                Da muß doch dann was anderes rauskommen.
                                Ich verstehe nicht was Du mir damit sagen willst ?

                                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
                                  Ja, einmal vergleichst Du mit größer/gleich und einmal mit kleiner/gleich....
                                  Da muß doch dann was anderes rauskommen.
                                  Ich verstehe nicht was Du mir damit sagen willst ?

                                  Hätte deinen Rat schon früher befolgen sollen, habe mir jetzt einen Test-Datenpunkt TEST_ENTLADUNG_W angelegt.
                                  Ist eine tolle Sache 👍 , denn hier kann man Trockenschwimmtraining machen. 😀
                                  59d4758b-2545-4e14-b473-f3021ba30361-image.png

                                  1. Variante:

                                  Die Abfrage lautet doch, ob der abgefragte Werte -3500 zwischen 0 und -2.500 liegt, , hier kommt "wahr" heraus.
                                  Dieser Wert liegt ja nicht zwischen diesen beiden Werten, da müsste doch "falsch" herauskommen ?
                                  Oder verstehe ich das Ergebnis "wahr" und "falsch" nicht korrekt ? 🤔
                                  Interessant ist für mich, dass es bei der Vergleichsfunktion bei der Abfrage der positiven Werten keine Probleme gibt.
                                  cda0884f-d796-46b4-9d74-38e08ed021b4-image.png
                                  8b4775e2-f453-4752-b37e-61c3f4319a1d-image.png
                                  3f31404c-1ae3-4019-a3d7-ba3e715b64a4-image.png

                                  Du bekommst auch als Ergebnis "wahr".
                                  9d96ae8f-d770-458a-a5b8-609b601d6cba-image.png

                                  2. Variante:
                                  Die Abfrage lautet hier, ob der abgefragte Werte -2000 zwischen 0 und -2.500 liegt, hier kommt "falsch" heraus.
                                  Dieser Wert liegt ja zwischen diesen beiden Werten, da müsste doch "wahr" herauskommen ?

                                  c05bb091-b684-45b3-9f91-2fbf4851b2af-image.png
                                  6565df53-cd24-43ef-a404-24e13ae5bae0-image.png
                                  094d4d6f-4f43-4f94-b156-b96ff1f90d05-image.png

                                  54413799-3c56-449a-ae51-ffa39d86420f-image.png

                                  Sorry, hier stehe ich wahrscheinlich auf dem Schlauch.

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

                                    @dslraser

                                    Das Skript läuft jetzt bei der Be- und Entladung so, wie ich mir dies vorstelle, auch mit der Begrenzung der maximalen Beladung (+2500 W) und der maximalen Entladeleistung (- 2.500 W).
                                    Bei der Entladung mit <0 und >=-2500. Mit größer gleich -2500 Grenze ich die Werte zwischen 0 und -2500 ein.

                                    705bddd2-4c77-4be3-914c-e588877871fb-image.png

                                    BLOCKLY_BAT_SMU_20.9.2021-17h00.txt

                                    4. BAT_SIMU_1-20.9.2021-17h10.gif

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

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

                                      Die Abfrage lautet hier, ob der abgefragte Werte -2000 zwischen 0 und -2.500 liegt, hier kommt "falsch" heraus.
                                      Dieser Wert liegt ja zwischen diesen beiden Werten, da müsste doch "wahr" herauskommen ?

                                      Nein, Du fragst Sinngemäß ab ob -2.000 kleiner oder gleich -2500 ist und -2.000 kleiner oder gleich 0 ist. (das erste ist falsch und das zweite ist richtig) Da beide Werte stimmen müssen (und) ist das Ergebnis falsch. So meine Erklärung dazu.

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

                                        @dslraser

                                        Da ich ja vor 5 Jahren bereits eine Batteriespeichersimulation in Excel mit mtl. 90.000 Datensätzen erstellt habe, kann ich mich noch düster erinnern, dass ich das Gleiche Problem mit der Vergleichsfunktion mit negativen Werten hatte.

                                        Habe mir das ganze nochmals in Excel aufbereitet und hier ist es das Gleiche, dass man meines Erachtens bei Abfrage eines negativen Wertes zwischen 0 und -2500, mit <0 und >=-2500 arbeiten muss.

                                        Ich interpretiere dies so, dass eine Minuszahl das <= in >= umdreht.

                                        a9fb8a72-0140-4dda-8c42-0d2fc027a92f-image.png

                                        VERGLEICHSFUNKTION mit positiven und negativen Zahlen-20.9.2021.xlsx

                                        Ich mache monatlich Auswertungen der Strompreise für A und D und hier frage ich auch die negativen Preise mit <0 und >=z. B. -10 Euro/MWh ab, also welche Werte liegen zwischen 0 und -10.
                                        Also nicht 2 x kleiner gleich, sondern 1 x <0 und anschließend >=negativer Wert.

                                        Das spannende an der Sache ist ja, dass es mit dieser Logik im Blockly fehlerfrei funktioniert.

                                        Danke für deine Hilfe.

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

                                          @goetschhofer
                                          Ich habe nochmal bei den role für die Datenpunkte nachgelesen.

                                          https://www.iobroker.net/#de/documentation/dev/stateroles.md

                                          value.power.consumption (Einheit = Wh oder kWh)

                                          Screenshot_20210921-111547_Chrome.jpg

                                          Kannst Du ja noch anpassen.

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

                                            @dslraser

                                            Danke für den Hinweis zur role "value.power.consumption".
                                            Interessant ist, dass er mir dies so nicht unter Auswahl role vorschlägt, sondern nur value.power, daher habe ich diese Auswahl bei der Anlage eingetragen, aber dies kann man ja, so wie ich jetzt festgestellt habe, durch Klick auf die Bezeichnung ändern.

                                            Offenbar haben die schon gewusst, dass so ein Verrückter wie ich komme und gleich Sicherheitshalber die role "value.power - Batteriestand" vorgesehen, echt Klasse.😀

                                            2426d617-cd8f-48c2-85a8-b0cf759a5344-image.png

                                            75a7042b-311f-4bf9-b555-977d2af875b2-image.png

                                            6bcf4fb0-dc1c-4f1b-9065-6646221eaee7-image.png

                                            Jetzt habe ich nur mehr eine abschließende Herausforderung den maximalen Batteriestand in die Abfrage einzubauen.
                                            Dies bedeutet, er darf bei der Beladung nicht z. B. über 5 kWh = 5.000 Wh kommen und bei der Entladung nicht unter Null.

                                            Aktuell fehlen diese 2 Begrenzungen noch.

                                            Was ich jetzt von dir an einem praktischen Beispiel und in einem Crashkurs Blockly gelernt habe 👍 , mit Variablen zu arbeiten.
                                            Gibt es die Möglichkeit auch mit Konstanten z. B. Maximaler Ladestand 5.000 Wh oder Beladewirkungsgrad 90 % oder Entladewirkungsgrad 90 % zu arbeiten ?

                                            Dann brauche ich die Zahlen nicht immer über eine Formel einzutragen und kann diese gleich am Beginn festlegen oder nach Wunsch verändern.

                                            Würde dies so funktionieren, wenn ich oben den "MAXIMALER LADESTAND" definiere und in eine falls mache .... Funktion einbaue ?
                                            6f76c894-cbe4-4f43-adaf-2a2f8058022c-image.png
                                            Ich muss ja korrekterweise beim Beladen immer abfragen ob BELADEN_Wh + SPEICHERSTAND_Wh <=5.000 Wh ist, wenn nicht, dann darf er nur die Differenz aus aktuellem und maximalen SPEICHERSTAND-Wh auf den SPEICHERSTAND_Wh zuschreiben.
                                            Sonst geht dieser über .........
                                            Beim Entladen ist es das Gleiche nur in die andere Richtung, hier darf er nicht unter Null kommen.
                                            Aktuell ist dies im Blockly noch möglich.

                                            Danke für die Hilfe.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            784
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            120
                                            7057
                                            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