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. Einsteigerfragen
  4. Zählen eines Zustandes

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Zählen eines Zustandes

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
72 Beiträge 9 Kommentatoren 6.1k Aufrufe 6 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.
  • CodierknechtC 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 1C Offline
    Chris 1C Offline
    Chris 1
    schrieb am zuletzt editiert von Chris 1
    #26

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

    bpi-m5 (ioBroker), rock3a (postgreSQL), lamobo R1 (OpenWRT), Tasmota-ZB, Tasmota-IR

    HomoranH CodierknechtC 2 Antworten Letzte Antwort
    0
    • Chris 1C 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?

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #27

      @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

      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 -

      Chris 1C paul53P 2 Antworten Letzte Antwort
      1
      • HomoranH Homoran

        @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 1C Offline
        Chris 1C Offline
        Chris 1
        schrieb am zuletzt editiert von
        #28

        @homoran Danke

        bpi-m5 (ioBroker), rock3a (postgreSQL), lamobo R1 (OpenWRT), Tasmota-ZB, Tasmota-IR

        1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @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

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #29

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

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

          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

          Chris 1C 1 Antwort Letzte Antwort
          1
          • paul53P paul53

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

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

            Chris 1C Offline
            Chris 1C Offline
            Chris 1
            schrieb am zuletzt editiert von Chris 1
            #30

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

            bpi-m5 (ioBroker), rock3a (postgreSQL), lamobo R1 (OpenWRT), Tasmota-ZB, Tasmota-IR

            HomoranH paul53P CodierknechtC 3 Antworten Letzte Antwort
            0
            • Chris 1C Chris 1

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

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #31

              @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 ;-)

              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 -

              Chris 1C 1 Antwort Letzte Antwort
              0
              • Chris 1C 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?

                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #32

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

                "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

                Chris 1C 2 Antworten Letzte Antwort
                1
                • Chris 1C Chris 1

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

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #33

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

                  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

                  1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @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 1C Offline
                    Chris 1C Offline
                    Chris 1
                    schrieb am zuletzt editiert von
                    #34

                    @homoran Ich fange an, den Ansatz zu verstehen.

                    Ich greife einen Trigger ab und verändere daraufhin A

                    Ich arbeite nun nicht in dem Skript mit A weiter,
                    sondern erstelle ein seperates Skript welches A als Trigger hat

                    Seh ich das so richtig?

                    bpi-m5 (ioBroker), rock3a (postgreSQL), lamobo R1 (OpenWRT), Tasmota-ZB, Tasmota-IR

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @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 1C Offline
                      Chris 1C Offline
                      Chris 1
                      schrieb am zuletzt editiert von
                      #35

                      @codierknecht Was ist DP?

                      bpi-m5 (ioBroker), rock3a (postgreSQL), lamobo R1 (OpenWRT), Tasmota-ZB, Tasmota-IR

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • Chris 1C Chris 1

                        @codierknecht Was ist DP?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #36

                        @chris-1 sagte: Was ist DP?

                        Abkürzung für Datenpunkt.

                        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

                        1 Antwort Letzte Antwort
                        1
                        • CodierknechtC Codierknecht

                          @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 1C Offline
                          Chris 1C Offline
                          Chris 1
                          schrieb am zuletzt editiert von
                          #37

                          @codierknecht said in Zählen eines Zustandes:

                          Zum Zeitpunkt 3.) hat der Trigger noch nicht gefeuert und der Code darin wurde noch gar nicht ausgeführt.

                          Das irritiert mich jetzt - ist was für morgen

                          bpi-m5 (ioBroker), rock3a (postgreSQL), lamobo R1 (OpenWRT), Tasmota-ZB, Tasmota-IR

                          HomoranH CodierknechtC 2 Antworten Letzte Antwort
                          0
                          • Chris 1C Chris 1

                            @homoran Ich fange an, den Ansatz zu verstehen.

                            Ich greife einen Trigger ab und verändere daraufhin A

                            Ich arbeite nun nicht in dem Skript mit A weiter,
                            sondern erstelle ein seperates Skript welches A als Trigger hat

                            Seh ich das so richtig?

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von Homoran
                            #38

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

                            Seh ich das so richtig?

                            nein!

                            Du kannst alles in einem Skript machen.
                            nur nicht außerhalb des Triggerbausteins.

                            @Codierknecht hat es korrekt gesagt.
                            Dein Skript meldet beim Start wegen deines ausgewählten Datenpunktes (DP) im Trigger beim iobroker Controller an, dass es von diesem über jede Änderung dieses DP informiert werden will.
                            DANN startet dein Trigger alles, was innerhalb des Triggerbausteins an Befehlen steht

                            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 -

                            1 Antwort Letzte Antwort
                            0
                            • Chris 1C Chris 1

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

                              CodierknechtC Online
                              CodierknechtC Online
                              Codierknecht
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #39

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

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

                              Nicht unbedingt (eher gar nicht).
                              Du musst in Ereignissen denken. Man braucht 'ne Weile, bis man sich daran gewöhnt hat.
                              Der Dreh- und Angelpunkt ist eigentlich immer, den richtigen Trigger zu definieren. Der legt fest, zu welchem Zeitpunkt das Ganze überhaupt loslegt. Und das ist oft gar nicht so einfach.
                              Der Rest kommt dann innerhalb ...

                              "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
                              • Chris 1C Chris 1

                                @codierknecht said in Zählen eines Zustandes:

                                Zum Zeitpunkt 3.) hat der Trigger noch nicht gefeuert und der Code darin wurde noch gar nicht ausgeführt.

                                Das irritiert mich jetzt - ist was für morgen

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von Homoran
                                #40

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

                                Das irritiert mich jetzt

                                ich glaube das ist aber der Knackpunkt für dein (fehlendes) Verständnis für Javascript

                                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 -

                                Chris 1C 1 Antwort Letzte Antwort
                                1
                                • HomoranH Homoran

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

                                  Das irritiert mich jetzt

                                  ich glaube das ist aber der Knackpunkt für dein (fehlendes) Verständnis für Javascript

                                  Chris 1C Offline
                                  Chris 1C Offline
                                  Chris 1
                                  schrieb am zuletzt editiert von Chris 1
                                  #41

                                  @homoran Ich beginne ja gerade das System dahinter zu verstehen :-)

                                  Es ist keine andere Welt,
                                  sondern nur ein anderer Ansatz :-)

                                  bpi-m5 (ioBroker), rock3a (postgreSQL), lamobo R1 (OpenWRT), Tasmota-ZB, Tasmota-IR

                                  1 Antwort Letzte Antwort
                                  0
                                  • Chris 1C Chris 1

                                    @codierknecht said in Zählen eines Zustandes:

                                    Zum Zeitpunkt 3.) hat der Trigger noch nicht gefeuert und der Code darin wurde noch gar nicht ausgeführt.

                                    Das irritiert mich jetzt - ist was für morgen

                                    CodierknechtC Online
                                    CodierknechtC Online
                                    Codierknecht
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #42

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

                                    ist was für morgen

                                    Vielleicht fällt uns bis dahin ja noch ein schöner Vergleich ein, an dem man event-driven-development irgendwie anschaulicher erklären kann :grin:

                                    "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

                                    Chris 1C 1 Antwort Letzte Antwort
                                    0
                                    • CodierknechtC Codierknecht

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

                                      ist was für morgen

                                      Vielleicht fällt uns bis dahin ja noch ein schöner Vergleich ein, an dem man event-driven-development irgendwie anschaulicher erklären kann :grin:

                                      Chris 1C Offline
                                      Chris 1C Offline
                                      Chris 1
                                      schrieb am zuletzt editiert von Chris 1
                                      #43

                                      @codierknecht Ich glaube, ich habe dies, zumindest im Ansatz, bereits verstanden - danke :-)

                                      Anstatt in zyklischen Skripten zu denken,
                                      reagiere ich auf einen Trigger A und setze zB X auf false

                                      In einem Andere Skript reagiere ich auf Trigger X und agiere dann abhängig davon, ob auf true oder false gesetzt/geändert/... wurde

                                      bpi-m5 (ioBroker), rock3a (postgreSQL), lamobo R1 (OpenWRT), Tasmota-ZB, Tasmota-IR

                                      haselchenH M 2 Antworten Letzte Antwort
                                      0
                                      • Chris 1C Chris 1

                                        @codierknecht Ich glaube, ich habe dies, zumindest im Ansatz, bereits verstanden - danke :-)

                                        Anstatt in zyklischen Skripten zu denken,
                                        reagiere ich auf einen Trigger A und setze zB X auf false

                                        In einem Andere Skript reagiere ich auf Trigger X und agiere dann abhängig davon, ob auf true oder false gesetzt/geändert/... wurde

                                        haselchenH Offline
                                        haselchenH Offline
                                        haselchen
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #44

                                        @Codierknecht
                                        @paul53
                                        @Homoran

                                        Fachfrage an die Experten.
                                        Gibt es eine definierte Zeit (1ms….1sek….?) in der die Bedingungen erfüllt sein müssen ?
                                        Beispiel , ein Blockly mit vielen Und / Oder Bedingungen.

                                        Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                                        Chris 1C CodierknechtC 2 Antworten Letzte Antwort
                                        0
                                        • haselchenH haselchen

                                          @Codierknecht
                                          @paul53
                                          @Homoran

                                          Fachfrage an die Experten.
                                          Gibt es eine definierte Zeit (1ms….1sek….?) in der die Bedingungen erfüllt sein müssen ?
                                          Beispiel , ein Blockly mit vielen Und / Oder Bedingungen.

                                          Chris 1C Offline
                                          Chris 1C Offline
                                          Chris 1
                                          schrieb am zuletzt editiert von
                                          #45

                                          @haselchen Gemäß oben "gelerntem?" dürfte es keine bestimmte Zeit geben, da (erst) nach Abarbeitung alles unmittelbar ausgeführt wird.

                                          bpi-m5 (ioBroker), rock3a (postgreSQL), lamobo R1 (OpenWRT), Tasmota-ZB, Tasmota-IR

                                          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

                                          737

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          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