Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Verständnisfrage Abarbeitung eines Skriptes

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Verständnisfrage Abarbeitung eines Skriptes

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      FredFesl last edited by

      Guten Tag,
      ich habe eine Verständnisfrage zu der Abarbeitung von Skripten.
      Ich selbst komme aus der SPS-Welt. Hier wird das Programm zyklisch von oben oben nach unten abgearbeitet.
      Habe jetzt mit Hilfe dieses Videos
      Link
      die Benachrichtigung umgesetzt wenn die Waschmaschine fertig ist.
      Das Skript sieht man im Bild...
      2021-11-15 18_55_03-Window.png
      Wann wird die Variable Waschmaschine am Anfang mit dem Wert 0 beschrieben?
      Nur beim erstmaligen starten? Wird die Variable also mit 0 initialisiert?
      Danach wird ja nur auf die Änderung der Waschmaschine Power reagiert und der Teil darin bei jeder Änderung abgearbeitet, oder?
      Vielen Dank!

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

        @fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:

        Ich selbst komme aus der SPS-Welt.

        da wird ein Skript meines Wissens auch immer neu gestartet, das ist in js anders

        @fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:

        Hier wird das Programm zyklisch von oben oben nach unten abgearbeitet.

        wird es in js auch, außer...

        @fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:

        Wann wird die Variable Waschmaschine am Anfang mit dem Wert 0 beschrieben?
        Nur beim erstmaligen starten? Wird die Variable also mit 0 initialisiert?

        Bestandteile außerhalb des Triggers werden nur bei Skriptstart ausgeführt

        @fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:

        Danach wird ja nur auf die Änderung der Waschmaschine Power reagiert und der Teil darin bei jeder Änderung abgearbeitet, oder?

        jepp - aber Achtung js arbeitet asynchron und wartet nicht immer auf ein Ergebnis bevor es den nächsten Schritt abarbeitet.

        F 1 Reply Last reply Reply Quote 0
        • F
          FredFesl @Homoran last edited by

          Ok vielen Dank für die schnelle Antwort. Dann lag ich mit meiner Vermutung schon richtig.

          @homoran sagte in Verständnisfrage Abarbeitung eines Skriptes:

          jepp - aber Achtung js arbeitet asynchron und wartet nicht immer auf ein Ergebnis bevor es den nächsten Schritt abarbeitet.

          Kannst du das noch etwas näher erläutern, was bedeutet es wird nicht immer auf ein Ergebnis gewartet...

          Homoran Cinimod paul53 3 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @FredFesl last edited by

            @fredfesl sagte in Verständnisfrage Abarbeitung eines Skriptes:

            Kannst du das noch etwas näher erläutern, was bedeutet es wird nicht immer auf ein Ergebnis gewartet...

            ich bin ein Javascript Legatheniker.
            Wirklich erklären kann ich das nicht. Da sind andere wesentlich befugter drin.

            Ganz deutlich, dass sogar ich es verstanden habe ist es, wenn du einen Wert in einen Datenpunkt schreibst und diesen sofort wieder verarbeiten willst.
            Dann bekommst du noch den alten Wert zurück, weil der Schreibvorgang noch nicht fertig ist.

            Ähnliche Fallen soll es aber auch innerhalb von Skripten geben. Aber warte da lieber auf eine kompetentere Antwort

            1 Reply Last reply Reply Quote 0
            • Cinimod
              Cinimod Most Active @FredFesl last edited by

              @fredfesl wenn du mit tiemout oder verzögerung arbeitest, wird nicht gewartet bis der timeout oder die verzögerung eintritt, das script läuft weiter ab

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @FredFesl last edited by

                @fredfesl sagte: was bedeutet es wird nicht immer auf ein Ergebnis gewartet...

                "steuere" / "aktualisiere" wird asynchron ausgeführt, was bedeutet, dass der Datenpunkt nicht anschließend gleich wieder eingelesen werden kann, da "steuere" zu dem Zeitpunkt noch nicht fertig ist. Deshalb verwendet man innerhalb des Skriptes besser Variablen.

                Homoran F 2 Replies Last reply Reply Quote 1
                • Homoran
                  Homoran Global Moderator Administrators @paul53 last edited by

                  @paul53 ist das wirklich alles?
                  oder fällt auch die Schleife unter den begriff asynchron?
                  "Mache bis..." feuert doch auch die Befehle nacheinender ab und wartet nicht bis der erste abgearbeitet ist.

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

                    @homoran sagte: fällt auch die Schleife unter den begriff asynchron?

                    Nein. Eine Schleife wird synchron abgearbeitet. Natürlich muss man in einer Schleife die Abbruch-Bedingung beherrschen.

                    Allgemein: Callback-Funktionen werden asynchron ausgeführt.

                    1 Reply Last reply Reply Quote 1
                    • F
                      FredFesl @paul53 last edited by

                      @paul53 Und woher weiß man dann, wann der Wert geschrieben wurde und man den neu geschriebenen Wert wieder einlesen kann?
                      Wie kann man das im Programm abfangen?
                      Mit Variablen innerhalb eines Skriptes hat man hier also kein Problem...
                      Sollte man dann Anfang Datenpunkte auf Variablen schreiben und am Ende die Variablen auf Datenpunkte?

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @FredFesl last edited by

                        @fredfesl sagte: Sollte man dann Anfang Datenpunkte auf Variablen schreiben und am Ende die Variablen auf Datenpunkte?

                        Ja.

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          FredFesl @paul53 last edited by

                          @paul53 Ok vielen Dank soweit!

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          561
                          Online

                          32.0k
                          Users

                          80.5k
                          Topics

                          1.3m
                          Posts

                          4
                          11
                          466
                          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