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.
    • David G.
      David G. @Qlink last edited by

      @qlink

      So musste es da aussehen

      Screenshot_20230608_102852_Chrome.jpg

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

                            846
                            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