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 Offline
    L Offline
    ltsalvatore
    schrieb am zuletzt editiert von
    #1

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

                            472

                            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