Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Zählen eines Zustandes

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zählen eines Zustandes

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Chris 1 last edited by

      @chris-1 sagte in: Also doch ein Unterschied zwischen Wüstenwurm global und Wüstenwurm innerhalb Trigger?

      Nein. Die beiden "steuere"-Blöcke müssen in den Trigger, damit sie den innerhalb des Triggers veränderten Wert senden.
      Blöcke außerhalb von Triggern - egal ob oben oder unten - werden nur einmal bei Skriptstart ausgeführt.

      Chris 1 1 Reply Last reply Reply Quote 1
      • Chris 1
        Chris 1 @paul53 last edited by Chris 1

        @paul53 Danke

        Läuft auf meine Vermutung global/local hinaus 🙂

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

          @chris-1 sagte: Läuft auf meine Vermutung global/local hinaus

          Nein, wuestenwurm ist eine globale Variable.
          Der Unterschied ist: Ablauf bei Skriptstart - Operationen innerhalb einer Callback-Funktion, die durch den Trigger aufgerufen wird.

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

            @chris-1 sagte in Zählen eines Zustandes:

            Läuft auf meine Vermutung global/local hinaus

            wieso das?
            hat doch nichts mitcder Variable zu tun.
            Der Befehl wird nicht abgesetzt. Die Variable wird korrekt behamdelt.

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

              @paul53 Da scheint mir wohl schlicht der Java-Ansatz zu fehlen,
              was den Ablauf im Code betrifft.
              Komme aus einer c Zeit Anfang der 90er....

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

                @paul53 said in Zählen eines Zustandes:

                Der Unterschied ist: Ablauf bei Skriptstart - Operationen innerhalb einer Callback-Funktion, die durch den Trigger aufgerufen wird.

                Interessierte Nachfrage: Wie würde ich die Variable, die innerhalb der CallbackFuktion durch Trigger geändert wurde, so "setzen" (wie in Trigger Funktion), dass sie von angehängten Blöcken in aktuallisiertem Status verwendet werden könnte?

                Homoran paul53 Codierknecht 3 Replies Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @Chris 1 last edited by

                  @chris-1 sagte in Zählen eines Zustandes:

                  dass sie von angehängten Blöcken in aktuallisiertem Status verwendet werden könnte?

                  da ist dein Denkfehler.

                  Es darf nichts angehängt werden!

                  Dies Blöcke müssen in den Trigger unter die Logik, den falls/sonstfalls Block
                  Dort ist das eigentliche Skript beendet.

                  alles was außerhalb (angehängt) ist, wird nur einmalig berücksichtigt: bei Skriptstart

                  Chris 1 1 Reply Last reply Reply Quote 1
                  • Chris 1
                    Chris 1 @Homoran last edited by

                    @homoran ok, danke

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

                      @chris-1 sagte: dass sie von angehängten Blöcken in aktuallisiertem Status verwendet werden könnte?

                      Die angehängten Blöcke werden nur bei Skriptstart ausgeführt und sind danach nicht mehr erreichbar.
                      Javascript arbeitet nicht zyklisch, sondern Ereignis gesteuert. Da ist Umdenken erforderlich - ich hatte damit anfangs auch Probleme.

                      Chris 1 2 Replies Last reply Reply Quote 1
                      • Chris 1
                        Chris 1 @paul53 last edited by

                        @paul53 Danke

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

                          @paul53 Habe heute Abend, glaube ich, viel im Hinblick auf die Java/Blockly Geschichte gelernt!

                          1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @Chris 1 last edited by Codierknecht

                            @chris-1
                            Nochmal: Das hat mit der Variablen oder deren "setzen" nichts zu tun.
                            Alles was außerhalb des Triggers (oder besser: dessen Callback) notiert ist, wird unmittelbar nach dem Starten des Scriptes ausgeführt.
                            Löse Dich hier von Scope und solchen Dingen.
                            ioBroker arbeitet hier Eventgesteuert. Was Du mit den Variablen anstellen möchtest (Werte reinschreiben, auslesen und wegschreiben) muss innerhalb des Triggers erfolgen.

                            Chris 1 1 Reply Last reply Reply Quote 1
                            • Chris 1
                              Chris 1 @Codierknecht last edited by Chris 1

                              @codierknecht Nochmal für's Verständnis....

                              Bedeutet dies im (nun vermuteten) Umkehrschluss,
                              dass Blockly/Java mit Abarbeitung des ersten bearbeiteten Triggers das Skript beendet?

                              Homoran Codierknecht 2 Replies Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @Chris 1 last edited by

                                @chris-1 sagte in Zählen eines Zustandes:

                                @codierknecht Nochmal für's Verständnis....

                                Bedeutet dies im (nun vermuteten) Umkehrschluss,
                                dass Blockly/Java mit Abarbeitung des ersten bearbeiteten Triggers das Skript beendet?

                                ja!
                                und dann auf den nächsten Event wartet (trigger), und wieder das Skript einmal durcharbeitet

                                Chris 1 paul53 2 Replies Last reply Reply Quote 1
                                • Chris 1
                                  Chris 1 @Homoran last edited by

                                  @homoran Danke

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

                                    @homoran sagte: auf den nächsten Event wartet (trigger), und wieder das Skript einmal durcharbeitet

                                    ... und wieder die Callback-Funktion einmal durchläuft.

                                    Chris 1 1 Reply Last reply Reply Quote 1
                                    • Chris 1
                                      Chris 1 @paul53 last edited by Chris 1

                                      @paul53 Also viele viele "kurze" Skripts statt wenigen mit allen möglichen Fallunterscheidungen
                                      Merk ich mir

                                      Homoran paul53 Codierknecht 3 Replies Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @Chris 1 last edited by

                                        @chris-1 sagte in Zählen eines Zustandes:

                                        @paul53 Also viele viele "kurze" Skripts statt wenigen mit allen möglichen Fallunterscheidungen

                                        nein!
                                        diese Fallunterscheidungen müssen aber als LOGIK (blaue Blöcke) innerhalb des Triggerbausteins (rot) liegen.
                                        @paul53 wird das wieder korrekt übersetzen 😉

                                        Chris 1 1 Reply Last reply Reply Quote 0
                                        • Codierknecht
                                          Codierknecht Developer Most Active @Chris 1 last edited by

                                          @chris-1
                                          Ich bin ja nun wirklich nicht der Experte, aber AFAIK:
                                          Das Script selbst wird nur 1x gestartet und registriert dabei eine Ereignisbehandlung - den Trigger.
                                          Das ist eine Callback-Function, die jedes Mal beim Eintreten des Ereignisses aufgerufen wird.
                                          Darum werden Variablen auch üblicherweise außerhalb des Triggers initialisiert ... braucht ja nur 1x gemacht werden.
                                          Aus dem gleichen Grund wird auch nicht das in die DP geschrieben was Du erwartest.
                                          Was bei Dir passiert ist:
                                          Script startet ...
                                          1.) Variable initialisieren
                                          2.) Ereignisbehandlung registrieren
                                          3.) Werte der Variablen in die DP schreiben
                                          ... Scriptverarbeitung abgeschlossen.
                                          Zum Zeitpunkt 3.) hat der Trigger noch nicht gefeuert und der Code darin wurde noch gar nicht ausgeführt.

                                          Chris 1 2 Replies Last reply Reply Quote 1
                                          • paul53
                                            paul53 @Chris 1 last edited by

                                            @chris-1 sagte: Also viele viele "kurze" Skripts statt wenigen mit allen möglichen Fallunterscheidungen

                                            Callback-Funktionen können sehr umfangreich sein (mit vielen Fallunterscheidungen).

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            812
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            72
                                            3163
                                            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