Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Anfängerfrage: Reihenfolge von Skriptausführung

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    553

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

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

Anfängerfrage: Reihenfolge von Skriptausführung

Scheduled Pinned Locked Moved Blockly
27 Posts 8 Posters 2.9k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Thomas BraunT Thomas Braun

    @harald-ohne-nummer

    Du könntest den zweiten Triggerblock auch rechts neben den ersten Teil setzen.

    Javaskript ist Ereignis-gesteuert, eintretende Ereignisse lösen also immer weiteres aus.

    H Offline
    H Offline
    Harald-ohne-Nummer
    wrote on last edited by
    #7

    @thomas-braun @Wildbill

    Vielen Dank!!! Für die Antworten und die Geschwindigkeit der Antworten, das hilft mir!

    W T 2 Replies Last reply
    0
    • H Harald-ohne-Nummer

      @thomas-braun @Wildbill

      Vielen Dank!!! Für die Antworten und die Geschwindigkeit der Antworten, das hilft mir!

      W Offline
      W Offline
      Wildbill
      wrote on last edited by
      #8

      @harald-ohne-nummer Wie Thomas schon schrieb ist das bei Javascript generell so. Ist also keine iobroker-Eigenheit, sondern gilt generell überall wo Javascript oder Blockly Verwendung findet.

      Gruss, Jürgen

      1 Reply Last reply
      0
      • H Harald-ohne-Nummer

        @thomas-braun @Wildbill

        Vielen Dank!!! Für die Antworten und die Geschwindigkeit der Antworten, das hilft mir!

        T Do not disturb
        T Do not disturb
        ticaki
        wrote on last edited by
        #9

        @harald-ohne-nummer
        Möchte noch anmerken, das nichts gleichzeitig abläuft, sondern immer nacheinander. Auch wenns so schnell ist, dass es nur für deinen Code/Blöcke einen Unterschied macht.

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        1 Reply Last reply
        2
        • H Harald-ohne-Nummer

          Hallo!

          Sorry, für die Anfängerfrage...

          Ich dachte zunächst, dass Blockly-Skripte "von oben nach unten" abgearbeitet werden. Ist aber wohl nicht so. Wenn ich mehrere "Falls Objekt ..." - Trigger-Blöcke passend übereinanderpuzzle, dann ist offenbar jeder für sich aktiv. D.h. das Skript steigt auch beim zweiten Block ein, falls dessen Trigger ausgelöst wird, aber erste Block nicht getriggert wird. Stimmt das so?

          Und wenn beide Blöcke den selben Trigger verwenden, werden dann beide gleichzeitig durchlaufen?

          Danke!

          Harald

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #10

          @harald-ohne-nummer sagte: wenn beide Blöcke den selben Trigger verwenden, werden dann beide gleichzeitig durchlaufen?

          Nur "gefühlt" gleichzeitig. Tatsächlich unmittelbar nacheinander, wobei man nicht vorhersagen kann, welcher zuerst.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          W 1 Reply Last reply
          1
          • paul53P paul53

            @harald-ohne-nummer sagte: wenn beide Blöcke den selben Trigger verwenden, werden dann beide gleichzeitig durchlaufen?

            Nur "gefühlt" gleichzeitig. Tatsächlich unmittelbar nacheinander, wobei man nicht vorhersagen kann, welcher zuerst.

            W Offline
            W Offline
            Wildbill
            wrote on last edited by
            #11

            @paul53 @ticaki @Harald-ohne-Nummer Das ist eben wie beim Multitasking auf jedem Rechner. Jeder laufende Prozess schein zeitgleich mit den anderen laufenden Prozessen zu laufen. In Wahrheit laufen da je nach Anzahl der Prozessorkerne nur ein paar parallel und das wechselt immer durch. Da es aber erstens für den User nicht vorhersehbar ist, was als nächstes an die Reihe kommt und das so blitzschnell passiert, dass man es eh nicht mitbekommt, ist es für den User quasi gleichzeitig. Also ja, für Dich ist es beim Erstellen eines Blockly oder direkt Javascripts so, dass alle Trigger zeitgleich ablaufen. Das klitzekleine Nacheinander kannst Du weder beeinflussen, noch bekommst Du es mit.

            Gruss, Jürgen

            1 Reply Last reply
            0
            • CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              wrote on last edited by Codierknecht
              #12

              @harald-ohne-nummer
              Löse Dich von dem Gedanken einer prozeduralen Abarbeitung!

              Jeder Trigger ist ein "Abonnement" auf ein Ereignis. Hast Du zwei Trigger auf das gleiche Event, werden beide auch (mehr oder weniger) gleichzeitig bearbeitet. Dabei ist die Reihenfolge nicht steuerbar.

              Wenn Du auf ein bestimmtes Event in einer von Dir gewünschten Reihenfolge reagieren willst, darfst Du auch nur einen einzigen Trigger auf das entsprechende Event setzen.
              Und selbst dann ist die Reihenfolge der Abarbeitung nicht in jedem Fall steuerbar, da vieles in ioBroker asynchron abläuft.

              Nehmen wir mal ein ganz simples Beispiel:
              8a13cb54-3ecc-4874-bfbc-67487e9a4c03-image.png
              Das erste setState in Zeile 2 könnte - aus welchen Gründen auch immer - etwas länger dauern.
              Du kannst Dich also nicht zu 100% darauf verlassen, dass Zeile 2 bereits ausgeführt wurde, wenn Zeile 3 abgearbeitet wird.
              Es könnte also passieren, dass das getState in Zeile 3 noch einen alten Wert liest.

              "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

              T 1 Reply Last reply
              0
              • CodierknechtC Codierknecht

                @harald-ohne-nummer
                Löse Dich von dem Gedanken einer prozeduralen Abarbeitung!

                Jeder Trigger ist ein "Abonnement" auf ein Ereignis. Hast Du zwei Trigger auf das gleiche Event, werden beide auch (mehr oder weniger) gleichzeitig bearbeitet. Dabei ist die Reihenfolge nicht steuerbar.

                Wenn Du auf ein bestimmtes Event in einer von Dir gewünschten Reihenfolge reagieren willst, darfst Du auch nur einen einzigen Trigger auf das entsprechende Event setzen.
                Und selbst dann ist die Reihenfolge der Abarbeitung nicht in jedem Fall steuerbar, da vieles in ioBroker asynchron abläuft.

                Nehmen wir mal ein ganz simples Beispiel:
                8a13cb54-3ecc-4874-bfbc-67487e9a4c03-image.png
                Das erste setState in Zeile 2 könnte - aus welchen Gründen auch immer - etwas länger dauern.
                Du kannst Dich also nicht zu 100% darauf verlassen, dass Zeile 2 bereits ausgeführt wurde, wenn Zeile 3 abgearbeitet wird.
                Es könnte also passieren, dass das getState in Zeile 3 noch einen alten Wert liest.

                T Do not disturb
                T Do not disturb
                ticaki
                wrote on last edited by ticaki
                #13

                @codierknecht
                mal abgesehen von dem schlechten Stil und dem hohen Ressourcenverbrauch(im Vergleich zu Variablen), wenn man einen Wert schreibt und unmittelbar wieder liest.

                Bei 2000 Durchläufen war setState(wertA) == getState(wertA)

                setState schreibt das afaik nur in den Cache und getState liest es daraus, oder? Das wirkliche schreiben läuft dann async ab.

                offtopic: Womit hast du den screenshot gemacht, der gefällt mir. :)

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                CodierknechtC 1 Reply Last reply
                0
                • T ticaki

                  @codierknecht
                  mal abgesehen von dem schlechten Stil und dem hohen Ressourcenverbrauch(im Vergleich zu Variablen), wenn man einen Wert schreibt und unmittelbar wieder liest.

                  Bei 2000 Durchläufen war setState(wertA) == getState(wertA)

                  setState schreibt das afaik nur in den Cache und getState liest es daraus, oder? Das wirkliche schreiben läuft dann async ab.

                  offtopic: Womit hast du den screenshot gemacht, der gefällt mir. :)

                  CodierknechtC Offline
                  CodierknechtC Offline
                  Codierknecht
                  Developer Most Active
                  wrote on last edited by
                  #14

                  @ticaki sagte in Anfängerfrage: Reihenfolge von Skriptausführung:

                  Womit hast du den screenshot gemacht, der gefällt mir

                  SnagIt von TechSmith.
                  Ist aber nicht gerade billig (sponsored by company).

                  "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 Reply Last reply
                  0
                  • arteckA Offline
                    arteckA Offline
                    arteck
                    Developer Most Active
                    wrote on last edited by arteck
                    #15

                    @ticaki sagte in Anfängerfrage: Reihenfolge von Skriptausführung:

                    Bei 2000 Durchläufen war setState(wertA) == getState(wertA)

                    bei eigen angelegten ja...

                    bei Geräten nicht.. da wird auf ack gewartet.. da kann schon mal passieren das das Gerät noch nicht das ok gesendet hat und du schon den mit getState abholst...

                    dafür gibts die

                    setStateAsync
                    getStateAsync

                    zigbee hab ich, zwave auch, nuc's genauso und HA auch

                    1 Reply Last reply
                    0
                    • W Wildbill

                      @harald-ohne-nummer Jeder Trigger ist immer aktiv und reagiert, sobald seine Bedingung erfüllt ist, egal wo Du ihn in Blockly hinsetzt oder im Javascript-code hinschreibst. Ebenso wird alles, was außerhalb eines Triggers steht genau einmal bein Starten des Scripts (oder des ganzen JS-Adapters) ausgeführt.

                      Gruss, Jürgen

                      H Offline
                      H Offline
                      Harald-ohne-Nummer
                      wrote on last edited by
                      #16

                      Ich muss das Thema nochmal aufmachen. So ganz egal scheint die Anordnungs-Reihenfolge doch nicht zu sein.

                      Ich habe eine ZigBee-Steckdose. Diese sendet zyklisch irgendwelche Statusmeldungen (z.B. "LinkQuality") über ZigBee. Auf dem KNX-Bus will ich die Info haben, ob die ZigBee Steckdose grds. "da" ist, d.h. aktiv im ZigBee sendet. Das habe ich so gelöst wie unten dargestellt. Das klappt auch. Alle 10 Minuten kommt ein Telegram auf den KNX-Bus. Und wenn binnen der 10 Minuten von der ZigBee-Steckdose ein Signal gesendet wurde, ist das KNX-Telegram "wahr", sonst "falsch".

                      Wenn ich aber den Trigger und die Endlosschleife in Blocky tausche, wird zyklisch ein "falsch"-Telegram auf den KNX-Bus gesendet. Der Trigger wird nie ausgelöst, es gibt auch keinen Debug-Output.

                      Wenn in Blockly/Javascript die Anordnungs-Reihenfolge aber egal ist, dürfte das Verhalten doch nicht verschieden sein?

                      2023-08-25_Blockly-Reihenfolge.jpg

                      T 1 Reply Last reply
                      0
                      • H Harald-ohne-Nummer

                        Ich muss das Thema nochmal aufmachen. So ganz egal scheint die Anordnungs-Reihenfolge doch nicht zu sein.

                        Ich habe eine ZigBee-Steckdose. Diese sendet zyklisch irgendwelche Statusmeldungen (z.B. "LinkQuality") über ZigBee. Auf dem KNX-Bus will ich die Info haben, ob die ZigBee Steckdose grds. "da" ist, d.h. aktiv im ZigBee sendet. Das habe ich so gelöst wie unten dargestellt. Das klappt auch. Alle 10 Minuten kommt ein Telegram auf den KNX-Bus. Und wenn binnen der 10 Minuten von der ZigBee-Steckdose ein Signal gesendet wurde, ist das KNX-Telegram "wahr", sonst "falsch".

                        Wenn ich aber den Trigger und die Endlosschleife in Blocky tausche, wird zyklisch ein "falsch"-Telegram auf den KNX-Bus gesendet. Der Trigger wird nie ausgelöst, es gibt auch keinen Debug-Output.

                        Wenn in Blockly/Javascript die Anordnungs-Reihenfolge aber egal ist, dürfte das Verhalten doch nicht verschieden sein?

                        2023-08-25_Blockly-Reihenfolge.jpg

                        T Do not disturb
                        T Do not disturb
                        ticaki
                        wrote on last edited by ticaki
                        #17

                        @Harald-ohne-Nummer

                        Für Ereignisse und Zeitplan stimmt das alles, aber natürlich wird bei
                        a= 3+2
                        a = a * 3
                        die Reihenfolge eingehalten.

                        Dein while(1) blockiert alles was danach kommt und ist ganz schlechter Stil. Nimm dafür Zeitplan oder Intervall

                        Alles was du unter Trigger/Timeout findest läuft asynchron alles andere* synchron.

                        *Funktionen(Reiter Funktionen) ohne Rückgabe sind asynchron, die mit synchron

                        Aber natürlich laufen nur Programmfunktionen die aufgerufen werden und wenn du mit while (1) oder ähnlichem die Ausführung stoppst, werden sie nie gestartet.

                        Einfaches Beispiel:

                        1. Wenn es klingelt öffne die Tür
                        2. Warte bis die Tür sich öffnet und dann tue ...

                        jetzt drehe die unumstößlichen Befehle rum :)

                        Da wäre es doch besser:

                        1. Wenn es klingelt öffne die Tür
                        2. Wenn die Tür sich öffnet tue ....

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        paul53P 1 Reply Last reply
                        0
                        • T ticaki

                          @Harald-ohne-Nummer

                          Für Ereignisse und Zeitplan stimmt das alles, aber natürlich wird bei
                          a= 3+2
                          a = a * 3
                          die Reihenfolge eingehalten.

                          Dein while(1) blockiert alles was danach kommt und ist ganz schlechter Stil. Nimm dafür Zeitplan oder Intervall

                          Alles was du unter Trigger/Timeout findest läuft asynchron alles andere* synchron.

                          *Funktionen(Reiter Funktionen) ohne Rückgabe sind asynchron, die mit synchron

                          Aber natürlich laufen nur Programmfunktionen die aufgerufen werden und wenn du mit while (1) oder ähnlichem die Ausführung stoppst, werden sie nie gestartet.

                          Einfaches Beispiel:

                          1. Wenn es klingelt öffne die Tür
                          2. Warte bis die Tür sich öffnet und dann tue ...

                          jetzt drehe die unumstößlichen Befehle rum :)

                          Da wäre es doch besser:

                          1. Wenn es klingelt öffne die Tür
                          2. Wenn die Tür sich öffnet tue ....
                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #18

                          @ticaki sagte: ist ganz schlechter Stil. Nimm dafür Zeitplan oder Intervall

                          Auch eine zyklische Abfrage ist kein guter Stil. Besser prüft man, ob mind. alle 10 Minuten getriggert wird:

                          Blockly_temp.JPG

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          T 1 Reply Last reply
                          0
                          • paul53P paul53

                            @ticaki sagte: ist ganz schlechter Stil. Nimm dafür Zeitplan oder Intervall

                            Auch eine zyklische Abfrage ist kein guter Stil. Besser prüft man, ob mind. alle 10 Minuten getriggert wird:

                            Blockly_temp.JPG

                            T Do not disturb
                            T Do not disturb
                            ticaki
                            wrote on last edited by ticaki
                            #19

                            @paul53
                            Als Ersatz ist das guter Stil.

                            Auf das Problem bezogen würde ich bei Erstellung des Telegramms prüfen, ob einer der Zeitstempel jünger als now() -10 Minuten ist. Hätte ich die Zeit vom letzten Telegram würde ich between prüfen. Mit der jetzigen Version sollte die Erstellung oder Versand des Telegrams den Wert auf false setzen und nicht ein Timer.

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            H 1 Reply Last reply
                            0
                            • T ticaki

                              @paul53
                              Als Ersatz ist das guter Stil.

                              Auf das Problem bezogen würde ich bei Erstellung des Telegramms prüfen, ob einer der Zeitstempel jünger als now() -10 Minuten ist. Hätte ich die Zeit vom letzten Telegram würde ich between prüfen. Mit der jetzigen Version sollte die Erstellung oder Versand des Telegrams den Wert auf false setzen und nicht ein Timer.

                              H Offline
                              H Offline
                              Harald-ohne-Nummer
                              wrote on last edited by
                              #20

                              Vielen Dank für Eure Rückmeldungen! Von Stil habe ich keine Ahnung :blush: , aber auf Basis Eurer Infos habe ich jetzt zwei Varianten, die beide funktionieren...

                              2023-08-25_ZigBee-Aktualisierung_a.jpg

                              oder

                              2023-08-25_ZigBee-Aktualisierung_b.jpg

                              Das ist dann beides ok?

                              T 1 Reply Last reply
                              0
                              • H Harald-ohne-Nummer

                                Vielen Dank für Eure Rückmeldungen! Von Stil habe ich keine Ahnung :blush: , aber auf Basis Eurer Infos habe ich jetzt zwei Varianten, die beide funktionieren...

                                2023-08-25_ZigBee-Aktualisierung_a.jpg

                                oder

                                2023-08-25_ZigBee-Aktualisierung_b.jpg

                                Das ist dann beides ok?

                                T Do not disturb
                                T Do not disturb
                                ticaki
                                wrote on last edited by ticaki
                                #21

                                @harald-ohne-nummer
                                Ich hab damit nur ein Problem die Zeitlinie:

                                0:00 Telegram nachricht
                                0:01 Skript check
                                0:08 Zigbee hat sich seit 10 Minuten nicht gemeldet
                                0:10 Telegammnachricht
                                0:01 Skript registriert Zigbee
                                0:20 Telegrammnachricht 12 Minuten zu spät.

                                nur zur Info: ein/dein Interval startet das erste mal nach 10 minuten und dann alle 10 Minuten

                                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                Spenden

                                H 1 Reply Last reply
                                0
                                • T ticaki

                                  @harald-ohne-nummer
                                  Ich hab damit nur ein Problem die Zeitlinie:

                                  0:00 Telegram nachricht
                                  0:01 Skript check
                                  0:08 Zigbee hat sich seit 10 Minuten nicht gemeldet
                                  0:10 Telegammnachricht
                                  0:01 Skript registriert Zigbee
                                  0:20 Telegrammnachricht 12 Minuten zu spät.

                                  nur zur Info: ein/dein Interval startet das erste mal nach 10 minuten und dann alle 10 Minuten

                                  H Offline
                                  H Offline
                                  Harald-ohne-Nummer
                                  wrote on last edited by
                                  #22

                                  @ticaki Für meinen Anwendungsfall ist es egal, ob der "Funkausfall" ein paar Minuten früher oder später bemerkt wird. Das ist ein Ereignis, das ohnehin nicht oder nur sehr selten vorkommen sollte und dessen Auswirkungen nicht kritisch sind. D.h. es reicht, wenn ich das dann ggf. ein paar Minuten "zu spät" bemerke.

                                  A 1 Reply Last reply
                                  0
                                  • H Harald-ohne-Nummer

                                    @ticaki Für meinen Anwendungsfall ist es egal, ob der "Funkausfall" ein paar Minuten früher oder später bemerkt wird. Das ist ein Ereignis, das ohnehin nicht oder nur sehr selten vorkommen sollte und dessen Auswirkungen nicht kritisch sind. D.h. es reicht, wenn ich das dann ggf. ein paar Minuten "zu spät" bemerke.

                                    A Offline
                                    A Offline
                                    AXMLM
                                    wrote on last edited by
                                    #23

                                    Ich grabe das hier mal aus, da das Problem das gleiche ist. Die Reihenfolge der Aktionen unter einem Trigger läuft nicht sequenziell ab.

                                    Ich habe einen Berechnungsscript in Blockly gebaut. Hier scheint es zu sein, dass die Berechnungsreihenfolge durcheinander läuft und der Volumetracker dadurch Fehlermeldungen produziert.

                                    0_userdata.0.Benutzervariablen.Strom.Wert_Gespart wurde scheinbar resetet! Reset von 874.13 nach 874.11 passe alle Startwerte an
                                    

                                    hier ist der Blockly Block.

                                    982be6ea-a09b-4480-aa85-50dcf48226f5-image.png

                                    kann ich irgendwie Blockly dazu zwingen die Berechnungen nacheinander zu machen, oder macht er das eh und der Fehler liegt woanders?

                                    paul53P 1 Reply Last reply
                                    0
                                    • A AXMLM

                                      Ich grabe das hier mal aus, da das Problem das gleiche ist. Die Reihenfolge der Aktionen unter einem Trigger läuft nicht sequenziell ab.

                                      Ich habe einen Berechnungsscript in Blockly gebaut. Hier scheint es zu sein, dass die Berechnungsreihenfolge durcheinander läuft und der Volumetracker dadurch Fehlermeldungen produziert.

                                      0_userdata.0.Benutzervariablen.Strom.Wert_Gespart wurde scheinbar resetet! Reset von 874.13 nach 874.11 passe alle Startwerte an
                                      

                                      hier ist der Blockly Block.

                                      982be6ea-a09b-4480-aa85-50dcf48226f5-image.png

                                      kann ich irgendwie Blockly dazu zwingen die Berechnungen nacheinander zu machen, oder macht er das eh und der Fehler liegt woanders?

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by
                                      #24

                                      @axmlm sagte: kann ich irgendwie Blockly dazu zwingen die Berechnungen nacheinander zu machen

                                      Ja, verwende Variablen für Werte, die später wieder verwendet werden, denn "aktualisiere" wird asynchron ausgeführt, ist also beim Wiedereinlesen noch nicht fertig.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      A 1 Reply Last reply
                                      0
                                      • paul53P paul53

                                        @axmlm sagte: kann ich irgendwie Blockly dazu zwingen die Berechnungen nacheinander zu machen

                                        Ja, verwende Variablen für Werte, die später wieder verwendet werden, denn "aktualisiere" wird asynchron ausgeführt, ist also beim Wiedereinlesen noch nicht fertig.

                                        A Offline
                                        A Offline
                                        AXMLM
                                        wrote on last edited by AXMLM
                                        #25

                                        @paul53 said in Anfängerfrage: Reihenfolge von Skriptausführung:

                                        @axmlm sagte: kann ich irgendwie Blockly dazu zwingen die Berechnungen nacheinander zu machen
                                        Ja, verwende Variablen für Werte, die später wieder verwendet werden, denn "aktualisiere" wird asynchron ausgeführt, ist also beim Wiedereinlesen noch nicht fertig.

                                        Meinst Du so?
                                        ec8a0d0b-1484-4ad6-8142-ebe94ac4d43f-image.png
                                        EDIT:

                                        geht nicht:

                                        
                                        javascript.0	10:33:08.705	error	script.js.Strom.PV-Ertragswerte: getState has been called with id of type "number" but expects a string
                                        javascript.0	10:33:08.706	error	script.js.Strom.PV-Ertragswerte: TypeError: Cannot read properties of undefined (reading 'val')
                                        javascript.0	10:33:08.707	error	at Object.<anonymous> (script.js.Strom.PV-Ertragswerte:9:62)
                                        
                                        A 1 Reply Last reply
                                        0
                                        • A AXMLM

                                          @paul53 said in Anfängerfrage: Reihenfolge von Skriptausführung:

                                          @axmlm sagte: kann ich irgendwie Blockly dazu zwingen die Berechnungen nacheinander zu machen
                                          Ja, verwende Variablen für Werte, die später wieder verwendet werden, denn "aktualisiere" wird asynchron ausgeführt, ist also beim Wiedereinlesen noch nicht fertig.

                                          Meinst Du so?
                                          ec8a0d0b-1484-4ad6-8142-ebe94ac4d43f-image.png
                                          EDIT:

                                          geht nicht:

                                          
                                          javascript.0	10:33:08.705	error	script.js.Strom.PV-Ertragswerte: getState has been called with id of type "number" but expects a string
                                          javascript.0	10:33:08.706	error	script.js.Strom.PV-Ertragswerte: TypeError: Cannot read properties of undefined (reading 'val')
                                          javascript.0	10:33:08.707	error	at Object.<anonymous> (script.js.Strom.PV-Ertragswerte:9:62)
                                          
                                          A Offline
                                          A Offline
                                          AXMLM
                                          wrote on last edited by
                                          #26

                                          jetzt läufts

                                          a6453720-0a64-41fe-994b-94083bb0b97e-image.png

                                          A 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          423

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe