Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Blockly Script triggert nicht

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    826

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Blockly Script triggert nicht

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
14 Beiträge 4 Kommentatoren 935 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Q Qlink

    Hi Leute,

    ich möchte, dass am Monatsanfang ein paar Werte meiner Heizung berechnet und in entsprechende DPs geschrieben werden.

    Leider triggert das Script scheinbar nicht richtig, ich finde aber den Fehler nicht.

    Wenn ich einen Monatsblock aus dem Script herausnehme und das Script starte, werden die Daten in den DPs sofort korrekt aktualisiert, aber innerhalb des Zeitplans scheints automatisiert nicht zu klappen ...

    Kann mir jemand weiterhelfen ?

    55d068f5-6a1f-448b-8e2c-f923ce151416-image.png
    d0fcde48-d3fe-4762-887c-6fdab4f10ebf-image.png

    script.txt

    David G.D Online
    David G.D Online
    David G.
    schrieb am zuletzt editiert von
    #3

    @qlink

    So musste es da aussehen

    Screenshot_20230608_102852_Chrome.jpg

    Zeigt eure Lovelace-Visualisierung klick
    (Auch ideal um sich Anregungen zu holen)

    Meine Tabellen für eure Visualisierung klick

    1 Antwort Letzte Antwort
    0
    • Q Offline
      Q Offline
      Qlink
      schrieb am zuletzt editiert von
      #4

      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.

      CodierknechtC HomoranH 2 Antworten Letzte Antwort
      0
      • Q Qlink

        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.

        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #5

        @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.

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        Q 1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @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 Offline
          Q Offline
          Qlink
          schrieb am zuletzt editiert von
          #6

          @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 Antwort Letzte Antwort
          0
          • Q Qlink

            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.

            HomoranH Offline
            HomoranH Offline
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #7

            @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?

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            Q 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @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 Offline
              Q Offline
              Qlink
              schrieb am zuletzt editiert von
              #8

              @homoran

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

              HomoranH 1 Antwort Letzte Antwort
              0
              • Q Qlink

                @homoran

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

                HomoranH Offline
                HomoranH Offline
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #9

                @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...

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                CodierknechtC 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @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...

                  CodierknechtC Offline
                  CodierknechtC Offline
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #10

                  @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.

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  1 Antwort Letzte Antwort
                  0
                  • Q Offline
                    Q Offline
                    Qlink
                    schrieb am zuletzt editiert von
                    #11

                    @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

                    CodierknechtC 1 Antwort Letzte Antwort
                    0
                    • Q Qlink

                      @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

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #12

                      @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.

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      Q 1 Antwort Letzte Antwort
                      0
                      • CodierknechtC Codierknecht

                        @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 Offline
                        Q Offline
                        Qlink
                        schrieb am zuletzt editiert von Qlink
                        #13

                        @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 ...

                        CodierknechtC 1 Antwort Letzte Antwort
                        0
                        • Q 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 ...

                          CodierknechtC Offline
                          CodierknechtC Offline
                          Codierknecht
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #14

                          @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?

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          301

                          Online

                          32.6k

                          Benutzer

                          82.1k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe