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.
    • Q
      Qlink last edited by

      Ja, das ist mir klar und das passt auch so.
      Ist nicht weiter wichtig ob das Script am Monats 1. oder am Monats 2. triggert... Hauptsache am Monatsanfang...

      Das Thema ist, wenn ich dann Tage später, z.B. am 8. oder 9. in iobroker schaue, merke ich dass die Daten nicht aktualisiert worden sind, weil das Script nicht getriggert hat.

      Codierknecht Homoran 2 Replies Last reply Reply Quote 0
      • 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

                          853
                          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