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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Zählen eines Zustandes

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
72 Beiträge 9 Kommentatoren 5.8k 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.
  • Chris 1C Chris 1

    @paul53 Danke

    Läuft auf meine Vermutung global/local hinaus :-)

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

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

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

      @paul53 Danke

      Läuft auf meine Vermutung global/local hinaus :-)

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

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

      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
      • paul53P 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 1C Offline
        Chris 1C Offline
        Chris 1
        schrieb am zuletzt editiert von
        #18

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

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

        1 Antwort Letzte Antwort
        0
        • paul53P 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 1C Offline
          Chris 1C Offline
          Chris 1
          schrieb am zuletzt editiert von
          #19

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

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

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

            @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

            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:

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

              @homoran ok, danke

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

              1 Antwort Letzte Antwort
              0
              • Chris 1C Chris 1

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

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

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

                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 2 Antworten Letzte Antwort
                1
                • paul53P paul53

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

                  @paul53 Danke

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

                  1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

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

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

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

                    1 Antwort Letzte Antwort
                    0
                    • Chris 1C Chris 1

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

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

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

                      "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
                      1
                      • 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 Offline
                          HomoranH Offline
                          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 Offline
                                  HomoranH Offline
                                  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 Offline
                                    CodierknechtC Offline
                                    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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          501

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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