Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly Script triggert nicht

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Script triggert nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @Qlink last edited by

      @qlink
      Mein Vorschlag:
      6d87ac9b-8cb0-4c2a-88bc-51c35b4ae73f-image.png
      Es ist allerdings nicht ganz klar, ob die Werte alle aus dem gleichen Objekt stammen, oder ab das verschiedene Objekte mit jeweils gleichem Namen sind.

      Aber das Prinzip sollte hier klar sein: Die Namen der Zielobjekte werden dynamisch bestimmt und dann wird der Salat zentral beschrieben.

      Q 1 Reply Last reply Reply Quote 0
      • Q
        Qlink @Codierknecht last edited by

        @codierknecht

        Das sind verschiedene Objekte die leider alle den gleichen Namen haben ...

        Kannst du mir sagen wieso mein Script nicht triggert ?

        Dass deine Lösung viel besser und eleganter ist sehe ich zu 100 Prozent.

        Mich würde aber interessieren wieso meine Lösung nicht funktioniert ?

        Beste Grüße

        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Qlink last edited by

          @qlink sagte in Blockly Script triggert nicht:

          dass die Daten nicht aktualisiert worden sind, weil das Script nicht getriggert hat.

          woran machst du das fest?
          keinerlei andere Ursache für das Fehlen der Daten möglich?

          Q 1 Reply Last reply Reply Quote 0
          • Q
            Qlink @Homoran last edited by

            @homoran

            weil die Datenpunkte Waermemenge-Jan, Waermemenge-Feb, Waermemenge-Mar usw. unter "Objects" keinen Zeitstempel zu dem Auslösezeit des Scripts erhalten...

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Qlink last edited by

              @qlink sagte in Blockly Script triggert nicht:

              @homoran

              weil die Datenpunkte Waermemenge-Jan, Waermemenge-Feb, Waermemenge-Mar usw. unter "Objects" keinen Zeitstempel zu dem Auslösezeit des Scripts erhalten...

              ja und?
              deswegen kann es triggern und bei einem Fehlet im Programm hängen bleiben...

              Codierknecht 1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @Homoran last edited by

                @homoran sagte in Blockly Script triggert nicht:

                deswegen kann es triggern und bei einem Fehlet im Programm hängen bleiben...

                @Qlink
                Bau doch mal einen Debug-Block ein und schau dann im Log, ob der Trigger gefeuert hat oder nicht.

                1 Reply Last reply Reply Quote 0
                • Q
                  Qlink last edited by

                  @Codierknecht

                  Hab jetzt endlich mal wieder Zeit gefunden für dieses Problemchen...
                  Der Tipp mit dem Debug Output war top.

                  2023-10-02 00:45:00.031 - info: javascript.0 (943) script.js.Stiebel.Leistungsaufnahme_V2: Berechnung Leistungsaufnahme September
                  2023-10-02 00:45:00.032 - info: javascript.0 (943) script.js.Stiebel.Leistungsaufnahme_V2: Berechnung LeistungsaufnahmeHEIZ September
                  2023-10-02 00:45:00.032 - info: javascript.0 (943) script.js.Stiebel.Leistungsaufnahme_V2: Berechnung LeistungsaufnahmeWW September
                  2023-10-02 00:45:00.032 - info: javascript.0 (943) script.js.Stiebel.Leistungsaufnahme_V2: Berechnung LeistungsaufnahmeGesamt September
                  2023-10-02 00:47:00.014 - info: javascript.0 (943) script.js.Stiebel.Wärmemenge_V2: Berechnung Wärmemenge September
                  2023-10-02 00:47:00.014 - info: javascript.0 (943) script.js.Stiebel.Wärmemenge_V2: Berechnung WärmemengeHEIZ September
                  2023-10-02 00:47:00.014 - info: javascript.0 (943) script.js.Stiebel.Wärmemenge_V2: Berechnung WärmemengeWW September
                  2023-10-02 00:47:00.014 - info: javascript.0 (943) script.js.Stiebel.Wärmemenge_V2: Berechnung WärmemengeWRG September
                  2023-10-02 00:47:00.014 - info: javascript.0 (943) script.js.Stiebel.Wärmemenge_V2: Berechnung WärmemengeGesamt September
                  2023-10-02 00:57:00.017 - info: javascript.0 (943) script.js.Stiebel.COP: Berechnung COP September
                  2023-10-02 00:57:00.018 - info: javascript.0 (943) script.js.Stiebel.COP: Berechnung COPGesamt September
                  

                  Jetzt weiß ich zumindest dass die Scripte alle korrekt triggern.

                  Was ich allerdings nicht verstehe ist, warum folgendes Script scheinbar die letzte Berechnung nicht durchführt:
                  b3fd108f-22c0-44e3-8e69-9e1cbae1b8c4-image.png

                  Die Werte "Leistungsaufnahme-HEIZ" und "Leistungsaufnahme-WW" werden richtig aktualisiert laut Zeitstempel und entsprechend geändert, aber der Wert "Leistungsaufnahme-Sep" (Addition von HEIZ + WW) bekommt nur einen Zeitstempel, wird aber nicht geändert:
                  5de5d80d-b519-4eab-a285-e70b18ff3c8c-image.png

                  Hat jemand eine Idee wo hier der Fehler liegt ?

                  Beste Grüße

                  Codierknecht 1 Reply Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @Qlink last edited by

                    @qlink sagte in Blockly Script triggert nicht:

                    Hat jemand eine Idee wo hier der Fehler liegt ?

                    Du rechnest mit Werten, die zu dem Zeitpunkt noch gar nicht aktualisiert vorliegen.
                    2x den Wert aus "Monatlicher Wert" auszulesen ist auch ineffizient.
                    Mein Vorschlag: Erstelle passende Variablen und berechne zunächst die Werte.
                    Erst dann schreibst Du die Werte, die dann in den Variablen bereits fertig berechnet sind, in die entsprechenden Datenpunkte.
                    Die Verzögerung kann man sich dann auch sparen.

                    Q 1 Reply Last reply Reply Quote 0
                    • Q
                      Qlink @Codierknecht last edited by Qlink

                      @codierknecht

                      Wieso liegen die noch nicht vor ?
                      Die Addition passiert mit 4 Minuten Verzögerung nach der Aktualisierung, oder verstehe ich hier was falsch ?
                      Nach 3min liegt der erste Wert vor, nach 6min der zweite Wert und nach 10min werden beide addiert ...
                      Die 2x monatlicher Wert sind zwei unterschiedliche DPs, die denselben Namen haben ...

                      Codierknecht 1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Qlink last edited by

                        @qlink sagte in Blockly Script triggert nicht:

                        Wieso liegen die noch nicht vor ?

                        Ich kann mich täuschen, aber nach der Verzögerung wird der Wert geschrieben.
                        Würde mich jedenfalls nicht wundern, wenn die Berechnung bereits vorher stattfindet oder durch die Asynchronität zum falschen Zeitpunkt ausgeführt wird.

                        Lies die Werte der Datenpunkte (ganz zu Beginn) in Variablen ein.
                        Mit denen kannst Du nach Herzenslust rechnen und die Ergebnisse in weitere Variablen schreiben.

                        Am Ende schreibst Du die Werte der Ergebnisvariablen zu einem Dir passenden Zeitpunkt in die Datenpunkte.
                        Wenn die Variablen dann auch noch sprechende Namen haben, macht das das Script auch noch gut lesbar.

                        Warum überhaupt zu unterschiedliche Zeitpunkten schreiben?

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        862
                        Online

                        32.0k
                        Users

                        80.4k
                        Topics

                        1.3m
                        Posts

                        blockly
                        4
                        14
                        655
                        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