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. Script wenn mehr als 30min true

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Script wenn mehr als 30min true

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
27 Beiträge 7 Kommentatoren 2.2k Aufrufe 7 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.
  • V vitaminc

    Ich bin gerade dabei folgendes aufzubauen:
    Wenn KEIN Licht im Haus für eine bestimmte Zeit eingeschaltet ist, schreibe ich eine 1 in einen Datenpunkt.
    Wenn wieder Licht brennt, dann schreibe ich eine 0 in den Datenpunkt.
    Hintergrund ist, ich möchte es als zusätzliches Objekt für Präsenz benutzen.

    Macht das so in etwa Sinn?
    Funktionieren tut es so, aber leider triggert er mir den "sonst Ausführen timeout2" leider mehrfach:
    22:56:06.437 info javascript.0 (212) script.js.common.Demo_9: Licht ist an
    22:56:06.437 info javascript.0 (212) script.js.common.Demo_9: Licht ist an
    22:56:06.437 info javascript.0 (212) script.js.common.Demo_9: Licht ist an
    22:56:06.438 info javascript.0 (212) script.js.common.Demo_9: Licht ist an
    22:56:06.438 info javascript.0 (212) script.js.common.Demo_9: Licht ist an
    22:56:06.438 info javascript.0 (212) script.js.common.Demo_9: Licht ist an
    22:56:06.438 info javascript.0 (212) script.js.common.Demo_9: Licht ist an
    22:56:06.439 info javascript.0 (212) script.js.common.Demo_9: Licht ist an
    22:56:06.439 info javascript.0 (212) script.js.common.Demo_9: Licht ist an
    22:56:06.439 info javascript.0 (212) script.js.common.Demo_9: Licht ist an

    91c16512-57ea-45a2-b209-6ce7a8d76b56-image.png

    DJMarc75D Offline
    DJMarc75D Offline
    DJMarc75
    schrieb am zuletzt editiert von
    #12

    @vitaminc sagte in Script wenn mehr als 30min true:

    Macht das so in etwa Sinn?

    Trigger in Trigger ---> geht nicht.
    Mach erstmal ganz einfach so:

    Screenshot 2023-02-02 085616.png

    Lehrling seit 1975 !!!
    Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
    https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

    V 1 Antwort Letzte Antwort
    0
    • DJMarc75D DJMarc75

      @vitaminc sagte in Script wenn mehr als 30min true:

      Macht das so in etwa Sinn?

      Trigger in Trigger ---> geht nicht.
      Mach erstmal ganz einfach so:

      Screenshot 2023-02-02 085616.png

      V Offline
      V Offline
      vitaminc
      schrieb am zuletzt editiert von
      #13

      Guten Morgen,

      da ich Philips Hue überall benutze, muss ich nicht ALLE Lampen einzelne abfragen.
      Hue hat bereits ein Objekt welches mittels Wert definiert, ob irgendeine Lampe also Any noch leuchtet oder nicht.

      Allerdings ist mir das mit der Zeitsteuerung noch nicht klar, da ich natürlich erst nach einer bestimmten Zeit z.B. 30min, erfassen möchte, dass seitdem auch wirklich keine Änderung mehr stattgefunden hat.

      Werde mit eure Vorschläge heute Abend mal ansehen, Danke.

      CephalopodC 1 Antwort Letzte Antwort
      0
      • V vitaminc

        Guten Morgen,

        da ich Philips Hue überall benutze, muss ich nicht ALLE Lampen einzelne abfragen.
        Hue hat bereits ein Objekt welches mittels Wert definiert, ob irgendeine Lampe also Any noch leuchtet oder nicht.

        Allerdings ist mir das mit der Zeitsteuerung noch nicht klar, da ich natürlich erst nach einer bestimmten Zeit z.B. 30min, erfassen möchte, dass seitdem auch wirklich keine Änderung mehr stattgefunden hat.

        Werde mit eure Vorschläge heute Abend mal ansehen, Danke.

        CephalopodC Offline
        CephalopodC Offline
        Cephalopod
        schrieb am zuletzt editiert von
        #14

        So, mein Script funktioniert soweit

        ee2ce029-b8f0-4e17-9338-ba5840837a1c-image.png

        Wie füge ich eine weitere Bedingung ein, dass die Außentemperatur unterhalb von 15 °C sein muss, damit alarmiert wird?

        DJMarc75D paul53P CephalopodC 3 Antworten Letzte Antwort
        0
        • CephalopodC Cephalopod

          So, mein Script funktioniert soweit

          ee2ce029-b8f0-4e17-9338-ba5840837a1c-image.png

          Wie füge ich eine weitere Bedingung ein, dass die Außentemperatur unterhalb von 15 °C sein muss, damit alarmiert wird?

          DJMarc75D Offline
          DJMarc75D Offline
          DJMarc75
          schrieb am zuletzt editiert von
          #15

          @cephalopod sagte in Script wenn mehr als 30min true:

          die Außentemperatur unterhalb von 15 °C sein muss, damit alarmiert wird

          Screenshot 2023-02-07 190543.png

          Lehrling seit 1975 !!!
          Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
          https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

          1 Antwort Letzte Antwort
          1
          • CephalopodC Cephalopod

            So, mein Script funktioniert soweit

            ee2ce029-b8f0-4e17-9338-ba5840837a1c-image.png

            Wie füge ich eine weitere Bedingung ein, dass die Außentemperatur unterhalb von 15 °C sein muss, damit alarmiert wird?

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

            @cephalopod sagte: Außentemperatur unterhalb von 15 °C sein muss

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

            CephalopodC 1 Antwort Letzte Antwort
            1
            • paul53P paul53

              @cephalopod sagte: Außentemperatur unterhalb von 15 °C sein muss

              Blockly_temp.JPG

              CephalopodC Offline
              CephalopodC Offline
              Cephalopod
              schrieb am zuletzt editiert von
              #17

              @paul53
              @DJMarc75

              Super, ihr seid klasse, danke.
              Ich habe die zweite Variante genommen, ist "eleganter".

              b066d2d1-9ed8-4066-9a3e-9d64a41f9a8c-image.png

              Frage:
              Ihr habt beide nur

              Falls Wert
              

              geschrieben.
              Muss man nicht

              Falls Wert = wahr
              

              schreiben?

              DJMarc75D mickymM 2 Antworten Letzte Antwort
              0
              • CephalopodC Cephalopod

                @paul53
                @DJMarc75

                Super, ihr seid klasse, danke.
                Ich habe die zweite Variante genommen, ist "eleganter".

                b066d2d1-9ed8-4066-9a3e-9d64a41f9a8c-image.png

                Frage:
                Ihr habt beide nur

                Falls Wert
                

                geschrieben.
                Muss man nicht

                Falls Wert = wahr
                

                schreiben?

                DJMarc75D Offline
                DJMarc75D Offline
                DJMarc75
                schrieb am zuletzt editiert von
                #18

                @cephalopod sagte in Script wenn mehr als 30min true:

                Ich habe die zweite Variante genommen, ist "eleganter".

                Die zweite von @paul53 startet den Timer wenn beim Öffnen des Fensters die Temperatur weniger 15 Grad ist.
                Bei meiner Variante startet der Timer immer wenn das Fenster geöffnet wird, aber es erfolgt nur eine Nachricht wenn nach Ablauf des Timers die Aussentemperatur weniger 15 Grad ist.

                Bei "wert" wird immer "true" ("wahr") abgefragt.

                Lehrling seit 1975 !!!
                Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                1 Antwort Letzte Antwort
                1
                • CephalopodC Cephalopod

                  @paul53
                  @DJMarc75

                  Super, ihr seid klasse, danke.
                  Ich habe die zweite Variante genommen, ist "eleganter".

                  b066d2d1-9ed8-4066-9a3e-9d64a41f9a8c-image.png

                  Frage:
                  Ihr habt beide nur

                  Falls Wert
                  

                  geschrieben.
                  Muss man nicht

                  Falls Wert = wahr
                  

                  schreiben?

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #19

                  @cephalopod sagte in Script wenn mehr als 30min true:

                  Ihr habt beide nur
                  Falls Wert

                  geschrieben.
                  Muss man nicht
                  Falls Wert = wahr

                  schreiben?

                  Du musst Dir grundsätzlich vorstellen, dass jeder Ausdruck daraufhin überprüft wird, ob er wahr wird. Also ist eine Bedinung wahr wenn 0=0 ist oder gelb=gelb. Wenn der Wert an sich wahr ist dann wird also immer ausgeführt. Das heißt es muss nicht mal ein Ausdruck ausgewertet werden, wenn der Wert wahr ist. Also wenn Wert=wahr kann man sich deshalb sparen, wenn die Bedingung sowieso wahr ist, weil der Wert wahr ist. Mit anderen Worten: Lieber Computer Du musst gar nichts auswerten, ich sag Dir direkt ob die Bedingung wahr oder falsch ist.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  1
                  • AsgothianA Asgothian

                    @vitaminc Computer sind leider nicht schlau. Sie machen genau das was du ihnen sagst (auch wenn es Schwachsinn ist).

                    Was Dein Skript macht:

                    Alle 30 Minuten fügst du einen weiteren Trigger in die Triggerliste ein, die alle deine AnyOn Objekte überprüft. Wenn das Skript lange genug läuft wird der JS Adapter sich verabschieden.

                    Nicht elegant.

                    Es hilft sich 2 Dinge zu merken:

                    • Trigger in Trigger ist Mist. Das geht nur in besonderen Fällen, und gilt für fast alle (Haupt)Bausteine aus dem Trigger Bereich.
                    • Ein Trigger ist keine "Falls Bedingung mache" abfrage. Es ist die Aufforderung eine Bedingung dauerhaft zu überwachen. Dabei wird prinzipiell nicht überprüft wie oft die identische Bedingung überwacht wird.

                    Ansonsten hast du das Problem das die Methode für 1 Lampe geht, für mehrere so nicht, da das ausschalten einer beliebigen Lampe eine 0 Einträgt.

                    Was du wirklich willst:

                    Screenshot 2023-02-02 at 08.37.38.png

                    Intern zählt das Skript die Lampen die an sind. Zählen tut er die Lampen sofort, nur das Schreiben in deinen AnyOn Datenpunkt passiert erst nach 1 Minute. (oder nach 20, wenn jemand 19 Minuten lang alle 50 Sekunden eine beliebige Lampe schaltet :) )

                    Nachtrag:

                    Bei Skriptstart muss das Skript natürlich alle Lampen abfragen, um zu ermitteln welche an sind. Macht es auch.

                    V Offline
                    V Offline
                    vitaminc
                    schrieb am zuletzt editiert von
                    #20

                    @asgothian

                    Danke für deinen Input. Habe das mal umgesetzt, in dem ich alle Bewegungsmelder auf Veränderung prüfen möchte und mir dann in ein Datenpunkt eine 0 oder 1 schreiben möchte, je nachdem ob sich z.B. nach 1 Minute etwas verändert hat oder nicht. Habe für die Bewegungsmelder eine Funktion angelegt:

                    604241e4-8915-4f8f-afcc-c7e237dccf5b-image.png

                    Zudem einen Datenpunkt als Zahl namens Any_MotionSensor, dort will ich eine 0 oder 1 haben.

                    Hier das Script, das ich nach deiner Anleitung nachgebaut habe:
                    dfa5f9ee-6b84-45cc-9120-9c82a5931982-image.png

                    Dann kommt:
                    10:29:09.997 error javascript.0 (187) script.js.common.Bewegungsmelder_V1 Error by subscription (trigger): empty ID defined. All states matched.

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • V vitaminc

                      @asgothian

                      Danke für deinen Input. Habe das mal umgesetzt, in dem ich alle Bewegungsmelder auf Veränderung prüfen möchte und mir dann in ein Datenpunkt eine 0 oder 1 schreiben möchte, je nachdem ob sich z.B. nach 1 Minute etwas verändert hat oder nicht. Habe für die Bewegungsmelder eine Funktion angelegt:

                      604241e4-8915-4f8f-afcc-c7e237dccf5b-image.png

                      Zudem einen Datenpunkt als Zahl namens Any_MotionSensor, dort will ich eine 0 oder 1 haben.

                      Hier das Script, das ich nach deiner Anleitung nachgebaut habe:
                      dfa5f9ee-6b84-45cc-9120-9c82a5931982-image.png

                      Dann kommt:
                      10:29:09.997 error javascript.0 (187) script.js.common.Bewegungsmelder_V1 Error by subscription (trigger): empty ID defined. All states matched.

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

                      @vitaminc
                      Du hast ganz oben die Variablen vertauscht.

                      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

                      V 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @vitaminc
                        Du hast ganz oben die Variablen vertauscht.

                        V Offline
                        V Offline
                        vitaminc
                        schrieb am zuletzt editiert von
                        #22

                        @paul53
                        Danke, habe ich total übersehen :)

                        V 1 Antwort Letzte Antwort
                        0
                        • V vitaminc

                          @paul53
                          Danke, habe ich total übersehen :)

                          V Offline
                          V Offline
                          vitaminc
                          schrieb am zuletzt editiert von
                          #23

                          Eine Frage noch.

                          Diesen Part verstehe ich nicht:

                          Fall Wert
                          erhöhe um 1
                          sonst um 1.

                          Das war auch so in der Vorlage von @Asgothian

                          7e032696-f314-4e90-a486-b373bfdcbe8f-image.png

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • V vitaminc

                            Eine Frage noch.

                            Diesen Part verstehe ich nicht:

                            Fall Wert
                            erhöhe um 1
                            sonst um 1.

                            Das war auch so in der Vorlage von @Asgothian

                            7e032696-f314-4e90-a486-b373bfdcbe8f-image.png

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

                            @vitaminc sagte: Diesen Part verstehe ich nicht:

                            Ich auch nicht. Nimm im sonst-Zweig -1.

                            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

                            AsgothianA 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @vitaminc sagte: Diesen Part verstehe ich nicht:

                              Ich auch nicht. Nimm im sonst-Zweig -1.

                              AsgothianA Offline
                              AsgothianA Offline
                              Asgothian
                              Developer
                              schrieb am zuletzt editiert von
                              #25

                              @paul53 sagte in Script wenn mehr als 30min true:

                              @vitaminc sagte: Diesen Part verstehe ich nicht:

                              Ich auch nicht. Nimm im sonst-Zweig -1.

                              Ja, war nen Schreibfehler :)

                              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                              1 Antwort Letzte Antwort
                              0
                              • CephalopodC Cephalopod

                                So, mein Script funktioniert soweit

                                ee2ce029-b8f0-4e17-9338-ba5840837a1c-image.png

                                Wie füge ich eine weitere Bedingung ein, dass die Außentemperatur unterhalb von 15 °C sein muss, damit alarmiert wird?

                                CephalopodC Offline
                                CephalopodC Offline
                                Cephalopod
                                schrieb am zuletzt editiert von
                                #26

                                @cephalopod sagte in Script wenn mehr als 30min true:

                                So, mein Script funktioniert soweit

                                ee2ce029-b8f0-4e17-9338-ba5840837a1c-image.png

                                Äääääh, so ganz funktioniert mein Script doch nicht.
                                Wenn das Fenster innerhalb der 30 Minuten geschlossen wurde, kommt trotzdem der Spruch "Fenster schließen".

                                Wie kann das sein?

                                AsgothianA 1 Antwort Letzte Antwort
                                0
                                • CephalopodC Cephalopod

                                  @cephalopod sagte in Script wenn mehr als 30min true:

                                  So, mein Script funktioniert soweit

                                  ee2ce029-b8f0-4e17-9338-ba5840837a1c-image.png

                                  Äääääh, so ganz funktioniert mein Script doch nicht.
                                  Wenn das Fenster innerhalb der 30 Minuten geschlossen wurde, kommt trotzdem der Spruch "Fenster schließen".

                                  Wie kann das sein?

                                  AsgothianA Offline
                                  AsgothianA Offline
                                  Asgothian
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #27

                                  @cephalopod Bitte mal prüfen ob sich der Datenpunkt innerhalb der 30 Minuten wirklich geändert hat - nicht das es zu Verzögerung bei der Weitergabe der Fenster Offen Information kommt.

                                  A.

                                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                  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

                                  464

                                  Online

                                  32.4k

                                  Benutzer

                                  81.5k

                                  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