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.2k

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.
  • 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 Offline
      mickymM Offline
      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

                      834

                      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