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.
    • dslraser
      dslraser Forum Testing Most Active @GOETSCHHOFER last edited by

      @goetschhofer

      Blockly arbeitet alles der Reihe nach ab, also wenn Dein Trigger (der Zeitplan) auslöst, wird das Blockly von oben nach unten abgearbeitet. Wenn es den Wert dann schon gibt kannst Du das machen. Wenn das zu schnell erfolgt und der Wert dann noch nicht da ist, dann kann es sein das Du noch ein timeout brauchst. Wenn die Variablen ganz oben im Zeitplan sind, dann wird in diese Variablen das eingelesen was gerade im Datenpunkt steht. Du kannst auch mit reinen Variablen (ohne Datenpunkt arbeiten), das hat aber den Nachteil das nach einem Neustart vom Blockly/oder dem Adapter, oder des ganzen ioBroker keine "Zwischenwerte" da sein können.

      Edit: nur ein Hinweis...in Variablen und id's würde ich keine Sonderzeichen/Leerzeichen usw. nutzen, da das manchmal seltsame Auswirkungen hat. In Namen von Datenpunkten ist es egal.

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

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

        @goetschhofer

        Blockly arbeitet alles der Reihe nach ab, also wenn Dein Trigger (der Zeitplan) auslöst, wird das Blockly von oben nach unten abgearbeitet. Wenn es den Wert dann schon gibt kannst Du das machen. Wenn das zu schnell erfolgt und der Wert dann noch nicht da ist, dann kann es sein das Du noch ein timeout brauchst. Wenn die Variablen ganz oben im Zeitplan sind, dann wird in diese Variablen das eingelesen was gerade im Datenpunkt steht. Du kannst auch mit reinen Variablen (ohne Datenpunkt arbeiten), das hat aber den Nachteil das nach einem Neustart vom Blockly/oder dem Adapter, oder des ganzen ioBroker keine "Zwischenwerte" da sein können.

        Edit: nur ein Hinweis...in Variablen und id's würde ich keine Sonderzeichen/Leerzeichen usw. nutzen, da das manchmal seltsame Auswirkungen hat. In Namen von Datenpunkten ist es egal.

        Danke für den Hinweis mit Leer- und Sonderzeichen, werde ich auf jeden Fall ändern.

        Was würdest du mir empfehlen, die 2. Variable wieder durch die normale Berechnung ersetzen ?

        3ecfa7af-5051-4ec7-b334-2f6262f2acd1-image.png

        Warum schreibt er mir die Ladeenergie nur in ganzen Wh in den DP, obwohl beim schreiben auf 3 Nachkommastellen runde
        Muss ich die Rundung bereits oben in den Variablen machen ?
        Hier hätte ich versucht ein Runden einzufügen, dies funktioniert aber nicht.
        498daa7b-f7cb-4546-9625-8f5e8a41e1a5-image.png
        87927bd7-1919-4ef2-802e-4b3a960431a6-image.png

        Danke

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

          @goetschhofer

          Das Problem mit den Nachkommastellen bei der Ladung in Wh habe ich schon gelöst, da hatte einen Fehler in der Variablen Ermittlung Ladeenergie in Wh, am Schluß noch >0; dies war der Fehler.

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

            @dslraser

            Die Be- und Entladebegrenzung mit z. B. 2.500 W habe ich nun doch über die Variablen realisiert.
            Soweit funktioniert dies auch.

            Wie könnte ich den letzten Punkt die Beladegrenze beim Speicherstand z. B. 5.000 Wh und Entladegrenze 0 Wh umsetzen ?
            Auch über eine Variable und über eine Falls Funktion ?
            Nur wo schiebe ich diese noch hinein ?

            Danke für einen Tipp.


            c0e84c45-d2e7-4609-a8a0-3153113e8370-image.png


            1a7b5d98-9290-4f07-9b6f-7fd93f19570b-image.png

            BLOCKLY_BAT_SMU_19.9.2021-18h.txt

            G 1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            481
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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