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. Skripten / Logik
  4. Blockly
  5. hilfe bei script anpassung für abfrage/schleife

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

hilfe bei script anpassung für abfrage/schleife

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
13 Beiträge 3 Kommentatoren 508 Aufrufe
  • Ä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.
  • L ltsalvatore

    hallo zusammen,

    ich habe ein script gebaut, womit die weihnachtsbeleuchtung ein- und ausgeschaltet wird.
    nun ist es so, dass gelegentlich eins der vielen zigbee schalter (auch immer unterschiedlich welcher), sich nicht ausschaltet.
    deshalb ist meine idee, in dem script so ne art schleife zu bauen, welche so lange prüft, bis alle aktoren ein- bzw. auschgeschaltet wurden.
    jemand ne idee wie ich das umsetzen kann?

    evtl mit timeouts?

    dd72b670-58e1-489d-b1f7-fb3ae4164601-image.png

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

    @ltsalvatore
    Vorschlag: Gestaffelt senden (nicht alle gleichzeitig) und nach 1 s wiederholen, falls nicht erfolgreich. Etwa so:

    Blockly_temp.JPG

    Die Javascript-Funktion enthält nur eine Anweisung.

    clearStateDelayed(id);
    

    @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

    schleife zu bauen, welche so lange prüft, bis alle aktoren ein- bzw. auschgeschaltet wurden.

    Um nicht unnötig zu senden, würde man 6 Intervalle benötigen, die bei Erfolg beendet werden. Da die Intervalle nicht über die Datenpunkt-ID adressiert werden können, wäre der Aufwand entsprechend hoch. Aber vielleicht genügt ja mein Vorschlag oben ?

    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

    L 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @ltsalvatore
      Vorschlag: Gestaffelt senden (nicht alle gleichzeitig) und nach 1 s wiederholen, falls nicht erfolgreich. Etwa so:

      Blockly_temp.JPG

      Die Javascript-Funktion enthält nur eine Anweisung.

      clearStateDelayed(id);
      

      @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

      schleife zu bauen, welche so lange prüft, bis alle aktoren ein- bzw. auschgeschaltet wurden.

      Um nicht unnötig zu senden, würde man 6 Intervalle benötigen, die bei Erfolg beendet werden. Da die Intervalle nicht über die Datenpunkt-ID adressiert werden können, wäre der Aufwand entsprechend hoch. Aber vielleicht genügt ja mein Vorschlag oben ?

      L Offline
      L Offline
      ltsalvatore
      schrieb am zuletzt editiert von
      #3

      @paul53 sagte in hilfe bei script anpassung für abfrage/schleife:

      @ltsalvatore
      Vorschlag: Gestaffelt senden (nicht alle gleichzeitig) und nach 1 s wiederholen, falls nicht erfolgreich. Etwa so:

      Blockly_temp.JPG

      Die Javascript-Funktion enthält nur eine Anweisung.

      clearStateDelayed(id);
      

      @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

      schleife zu bauen, welche so lange prüft, bis alle aktoren ein- bzw. auschgeschaltet wurden.

      Um nicht unnötig zu senden, würde man 6 Intervalle benötigen, die bei Erfolg beendet werden. Da die Intervalle nicht über die Datenpunkt-ID adressiert werden können, wäre der Aufwand entsprechend hoch. Aber vielleicht genügt ja mein Vorschlag oben ?

      hi paul53 und danke für die hilfestellung..

      ich habe mir dein vorschlag jetzt 100 mal angeschaut und 101 nicht verstanden... :face_with_head_bandage:

      das hier habe ich ja noch verstanden; da kommt mein objekt "Licht_Weihnachten_All" rein...
      3b2fa727-0eeb-4969-aea1-f165e963c116-image.png

      aber schon hier versteh nicht weiter:
      67be3f0a-438c-4923-aecd-5a2d57458d58-image.png

      was genau macht es und wieso sind das zwei variablen?

      vielleicht hilft es schon, wenn du mir genauer erklärst was diese zeile für eine funktion hat...

      paul53P 1 Antwort Letzte Antwort
      0
      • L ltsalvatore

        @paul53 sagte in hilfe bei script anpassung für abfrage/schleife:

        @ltsalvatore
        Vorschlag: Gestaffelt senden (nicht alle gleichzeitig) und nach 1 s wiederholen, falls nicht erfolgreich. Etwa so:

        Blockly_temp.JPG

        Die Javascript-Funktion enthält nur eine Anweisung.

        clearStateDelayed(id);
        

        @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

        schleife zu bauen, welche so lange prüft, bis alle aktoren ein- bzw. auschgeschaltet wurden.

        Um nicht unnötig zu senden, würde man 6 Intervalle benötigen, die bei Erfolg beendet werden. Da die Intervalle nicht über die Datenpunkt-ID adressiert werden können, wäre der Aufwand entsprechend hoch. Aber vielleicht genügt ja mein Vorschlag oben ?

        hi paul53 und danke für die hilfestellung..

        ich habe mir dein vorschlag jetzt 100 mal angeschaut und 101 nicht verstanden... :face_with_head_bandage:

        das hier habe ich ja noch verstanden; da kommt mein objekt "Licht_Weihnachten_All" rein...
        3b2fa727-0eeb-4969-aea1-f165e963c116-image.png

        aber schon hier versteh nicht weiter:
        67be3f0a-438c-4923-aecd-5a2d57458d58-image.png

        was genau macht es und wieso sind das zwei variablen?

        vielleicht hilft es schon, wenn du mir genauer erklärst was diese zeile für eine funktion hat...

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

        @ltsalvatore sagte:

        was genau macht es und wieso sind das zwei variablen?

        Nur Sollzustand ist eine globale Variable. Wert ist eine (lokale) Eigenschaft des Trigger-Datenpunktes (Blöcke "Trigger"). Der lokale Wert wird in einer globalen Variablen gespeichert, damit er auch außerhalb der Trigger-Funktion verfügbar ist.

        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

        L 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @ltsalvatore sagte:

          was genau macht es und wieso sind das zwei variablen?

          Nur Sollzustand ist eine globale Variable. Wert ist eine (lokale) Eigenschaft des Trigger-Datenpunktes (Blöcke "Trigger"). Der lokale Wert wird in einer globalen Variablen gespeichert, damit er auch außerhalb der Trigger-Funktion verfügbar ist.

          L Offline
          L Offline
          ltsalvatore
          schrieb am zuletzt editiert von
          #5

          @paul53 sagte in hilfe bei script anpassung für abfrage/schleife:

          @ltsalvatore sagte:

          was genau macht es und wieso sind das zwei variablen?

          Nur Sollzustand ist eine globale Variable. Wert ist eine (lokale) Eigenschaft des Trigger-Datenpunktes (Blöcke "Trigger"). Der lokale Wert wird in einer globalen Variablen gespeichert, damit er auch außerhalb der Trigger-Funktion verfügbar ist.

          also so dann:
          44cfef14-002a-41f9-b58f-863f589bd5b3-image.png

          paul53P 1 Antwort Letzte Antwort
          0
          • L ltsalvatore

            @paul53 sagte in hilfe bei script anpassung für abfrage/schleife:

            @ltsalvatore sagte:

            was genau macht es und wieso sind das zwei variablen?

            Nur Sollzustand ist eine globale Variable. Wert ist eine (lokale) Eigenschaft des Trigger-Datenpunktes (Blöcke "Trigger"). Der lokale Wert wird in einer globalen Variablen gespeichert, damit er auch außerhalb der Trigger-Funktion verfügbar ist.

            also so dann:
            44cfef14-002a-41f9-b58f-863f589bd5b3-image.png

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

            @ltsalvatore sagte:

            also so dann:

            So geht es auch. Ich bevorzuge dies:

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

            L 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @ltsalvatore sagte:

              also so dann:

              So geht es auch. Ich bevorzuge dies:

              Blockly_DP_properties.JPG

              L Offline
              L Offline
              ltsalvatore
              schrieb am zuletzt editiert von
              #7

              @paul53 sagte in hilfe bei script anpassung für abfrage/schleife:

              @ltsalvatore sagte:

              also so dann:

              So geht es auch. Ich bevorzuge dies:

              Blockly_DP_properties.JPG

              sorry.. ich versuche es echt.... aber ich kann dir sowas von überhaupt nicht folgen...
              und, nicht bös gemeint, aber je mehr du schreibst, umso weniger wird es verständlich... :astonished:

              trotzdem danke für deine bemühungen, aber ich warte mal, dass vielleicht jemand anderes noch ein paar ratschläge hat.

              BBTownB 1 Antwort Letzte Antwort
              0
              • L ltsalvatore

                @paul53 sagte in hilfe bei script anpassung für abfrage/schleife:

                @ltsalvatore sagte:

                also so dann:

                So geht es auch. Ich bevorzuge dies:

                Blockly_DP_properties.JPG

                sorry.. ich versuche es echt.... aber ich kann dir sowas von überhaupt nicht folgen...
                und, nicht bös gemeint, aber je mehr du schreibst, umso weniger wird es verständlich... :astonished:

                trotzdem danke für deine bemühungen, aber ich warte mal, dass vielleicht jemand anderes noch ein paar ratschläge hat.

                BBTownB Offline
                BBTownB Offline
                BBTown
                schrieb am zuletzt editiert von BBTown
                #8

                @ltsalvatore
                Alle drei nachfolgenden "falls-Fragen" bedeuten exakt das gleiche.
                Es sind nur 3 verschieden Schreibweisen, weil javascript immer "true" als "gesetzt" annimt (also immer davon ausgeht das true als Antwort kommt), kann man es auch kurz fassen.
                Die dritte Form ist nur für (uns) Nicht-Programmierer am einfachsten zu durchschauen/erkennen
                93adf5fc-54e2-41c7-a07a-f5da7092b935-grafik.png triggerWert.gif

                ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                L 1 Antwort Letzte Antwort
                0
                • BBTownB BBTown

                  @ltsalvatore
                  Alle drei nachfolgenden "falls-Fragen" bedeuten exakt das gleiche.
                  Es sind nur 3 verschieden Schreibweisen, weil javascript immer "true" als "gesetzt" annimt (also immer davon ausgeht das true als Antwort kommt), kann man es auch kurz fassen.
                  Die dritte Form ist nur für (uns) Nicht-Programmierer am einfachsten zu durchschauen/erkennen
                  93adf5fc-54e2-41c7-a07a-f5da7092b935-grafik.png triggerWert.gif

                  L Offline
                  L Offline
                  ltsalvatore
                  schrieb am zuletzt editiert von
                  #9

                  @BBTown sagte in hilfe bei script anpassung für abfrage/schleife:

                  @ltsalvatore
                  Alle drei nachfolgenden "falls-Fragen" bedeuten exakt das gleiche.
                  Es sind nur 3 verschieden Schreibweisen, weil javascript immer "true" als "gesetzt" annimt (also immer davon ausgeht das true als Antwort kommt), kann man es auch kurz fassen.
                  Die dritte Form ist nur für (uns) Nicht-Programmierer am einfachsten zu durchschauen/erkennen
                  93adf5fc-54e2-41c7-a07a-f5da7092b935-grafik.png triggerWert.gif

                  ahh okiii... das muss man erst mal wissen :-P

                  ich dachte das wäre offensichtlich, dass ich keine ahnung von programmierung habe, und solche infos dann gold wert sind :-P

                  die letzten beiden if abfragen leuchten dann ein..
                  aber.. bei der ersten fehlt mir immer noch etwas das verständnis
                  woher soll es denn bei der ersten if abfrage wissen, dass wert sich auf objekt id alarmanlage bezieht? immerhin könnten sich ja mehr als nur ein objekt im trigger befinden.
                  und wie würde das ganze aussehen, wenn der wert false statt true sein müsste...

                  PS: eine frage am rande.. wie kann man beim schreiben von posts dieses beschissene emoji kontext menu, welches automatisch erscheint, sobald man ":-" eintippert abschalten...
                  das ist so scheiße nervig...

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • L ltsalvatore

                    @BBTown sagte in hilfe bei script anpassung für abfrage/schleife:

                    @ltsalvatore
                    Alle drei nachfolgenden "falls-Fragen" bedeuten exakt das gleiche.
                    Es sind nur 3 verschieden Schreibweisen, weil javascript immer "true" als "gesetzt" annimt (also immer davon ausgeht das true als Antwort kommt), kann man es auch kurz fassen.
                    Die dritte Form ist nur für (uns) Nicht-Programmierer am einfachsten zu durchschauen/erkennen
                    93adf5fc-54e2-41c7-a07a-f5da7092b935-grafik.png triggerWert.gif

                    ahh okiii... das muss man erst mal wissen :-P

                    ich dachte das wäre offensichtlich, dass ich keine ahnung von programmierung habe, und solche infos dann gold wert sind :-P

                    die letzten beiden if abfragen leuchten dann ein..
                    aber.. bei der ersten fehlt mir immer noch etwas das verständnis
                    woher soll es denn bei der ersten if abfrage wissen, dass wert sich auf objekt id alarmanlage bezieht? immerhin könnten sich ja mehr als nur ein objekt im trigger befinden.
                    und wie würde das ganze aussehen, wenn der wert false statt true sein müsste...

                    PS: eine frage am rande.. wie kann man beim schreiben von posts dieses beschissene emoji kontext menu, welches automatisch erscheint, sobald man ":-" eintippert abschalten...
                    das ist so scheiße nervig...

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

                    @ltsalvatore sagte:

                    immerhin könnten sich ja mehr als nur ein objekt im trigger befinden.

                    Dann kann man diese Version nicht anwenden.

                    @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

                    wie würde das ganze aussehen, wenn der wert false statt true sein müsste.

                    • falls nicht Wert
                    • falls Wert == falsch

                    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

                    L 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @ltsalvatore sagte:

                      immerhin könnten sich ja mehr als nur ein objekt im trigger befinden.

                      Dann kann man diese Version nicht anwenden.

                      @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

                      wie würde das ganze aussehen, wenn der wert false statt true sein müsste.

                      • falls nicht Wert
                      • falls Wert == falsch
                      L Offline
                      L Offline
                      ltsalvatore
                      schrieb am zuletzt editiert von
                      #11

                      @paul53 sagte in hilfe bei script anpassung für abfrage/schleife:

                      @ltsalvatore sagte:

                      immerhin könnten sich ja mehr als nur ein objekt im trigger befinden.

                      Dann kann man diese Version nicht anwenden.

                      oki... verstanden und gut zu wissen...
                      also ist es scheinbar wirklich so wie vermutet, dass sich "wert" der ersten if abfrage nur auf die objekt id des vorangegangenen trigger bezieht!?

                      @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

                      wie würde das ganze aussehen, wenn der wert false statt true sein müsste.

                      • falls nicht Wert
                      • falls Wert == falsch

                      gibt es diesen falls nicht wert als eigenen punkt zu selektieren, oder muss man das mit einem weiteren block kombinieren?

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • L ltsalvatore

                        @paul53 sagte in hilfe bei script anpassung für abfrage/schleife:

                        @ltsalvatore sagte:

                        immerhin könnten sich ja mehr als nur ein objekt im trigger befinden.

                        Dann kann man diese Version nicht anwenden.

                        oki... verstanden und gut zu wissen...
                        also ist es scheinbar wirklich so wie vermutet, dass sich "wert" der ersten if abfrage nur auf die objekt id des vorangegangenen trigger bezieht!?

                        @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

                        wie würde das ganze aussehen, wenn der wert false statt true sein müsste.

                        • falls nicht Wert
                        • falls Wert == falsch

                        gibt es diesen falls nicht wert als eigenen punkt zu selektieren, oder muss man das mit einem weiteren block kombinieren?

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

                        @ltsalvatore sagte:

                        dass sich "wert" der ersten if abfrage nur auf die objekt id des vorangegangenen trigger bezieht!?

                        Ja, "Wert" ist der Wert des triggernden Datenpunktes zum Triggerzeitpunkt.

                        @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

                        gibt es diesen falls nicht wert als eigenen punkt zu selektieren

                        nicht ist ein Logik-Block.

                        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

                        L 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @ltsalvatore sagte:

                          dass sich "wert" der ersten if abfrage nur auf die objekt id des vorangegangenen trigger bezieht!?

                          Ja, "Wert" ist der Wert des triggernden Datenpunktes zum Triggerzeitpunkt.

                          @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

                          gibt es diesen falls nicht wert als eigenen punkt zu selektieren

                          nicht ist ein Logik-Block.

                          L Offline
                          L Offline
                          ltsalvatore
                          schrieb am zuletzt editiert von
                          #13

                          @paul53 sagte in hilfe bei script anpassung für abfrage/schleife:

                          @ltsalvatore sagte:

                          dass sich "wert" der ersten if abfrage nur auf die objekt id des vorangegangenen trigger bezieht!?

                          Ja, "Wert" ist der Wert des triggernden Datenpunktes zum Triggerzeitpunkt.

                          @ltsalvatore sagte in hilfe bei script anpassung für abfrage/schleife:

                          gibt es diesen falls nicht wert als eigenen punkt zu selektieren

                          nicht ist ein Logik-Block.

                          super, danke paul53, vor allem für die geduld :-)

                          werde mir nachher nochmal deinen obigen vorschlag noch mal anschauen. müsste für mich nun alles etwas mehr sinn machen bzw. nachvollziehbarer sein.

                          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

                          677

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          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