Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Javascript deaktiviert sich bei Timeouts

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Javascript deaktiviert sich bei Timeouts

    This topic has been deleted. Only users with topic management privileges can see it.
    • Flying_Alex
      Flying_Alex last edited by

      Hallo in die Runde,

      ich betreibe seit ein paar Monaten den ioBroker und erweitere nach und nach die Möglichkeiten. Als "Spielerei" möchte ich gerne Das Licht in Schlafzimmer automatisch einschalten, sobald ich das Zimmer betrete und ausschalten, sobald ich es verlasse. Zur Untersützung habe ich vor der Tür einen Bewgungssensor platziert, um unterscheiden zu können, ob ich den Raum gerade betrete oder verlasse. Zusätzlich soll das Licht nicht angehen, wenn bereits ein Licht im Raum an ist (Tasmota 1 oder Nachtlicht). Das funktioniert auch sehr gut.
      Blockly.PNG
      Ich würde jedoch eine Funktionalität einbauen für den Fall, wo ich nur kurz ins Zimmer gehe und es danach wieder verlasse. Der Hauptunterschied zu den anderen Szenarien ist ja, dass die Tür hierbei geöffnet bleibt. Daher wollte ich eine Abfrage nach 4 Sekunden Timeout einführen, welche prüft, ob die Tür noch geöffnet ist. Falls ja soll regelmäßig der Status der Tür überprüft werden, bis diese geschlossen ist. Dann kann das Licht wieder augeschaltet werden.
      Allerdings habe ich das Problem, dass bei Benutzung des Timeouts meine javascript-Instanz sich immer deaktiviert. Wenn ich den Timeout lösche und die Instanz neu starte, funktioniert alles wieder.

      Kennt ihr dieses Problem oder habt alternative Vorschläge, wie ich dies umgehen kann?

      Viele Grüße und danke vorab,
      Alex

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Flying_Alex last edited by paul53

        @flying_alex
        Wenn die Tür innerhalb von 4 s geschlossen wird, soll das Licht an bleiben bis die Tür wieder geöffnet wird (und draußen niemand zufällig vorbei läuft)? Dann versuche es mal so:

        Bild_2021-04-18_191657.png

        1 Reply Last reply Reply Quote 0
        • Flying_Alex
          Flying_Alex last edited by

          @paul53
          Danke für deine Antwort! Ich habe mich nicht ganz klar ausgedrückt. Wenn ich den Raum betrete, um etwas zu holen oder abzulegen, schließe ich ja nicht die Tür. Das heißt, das Programm sollte prüfen, ob nach 4 Sekunden (ob diese Zeit passt werde ich noch testen) noch die Tür geöffnet ist. Falls ja, wartet es, bis die Tür wieder geschlossen wird (ich also den Raum wieder verlasse) und schaltet dann das Licht aus.

          Der entscheidende Hinweis war dennoch in deinem Blockly. Mir war nicht bewusst, dass ich den timeout auf "null" setzen muss, weil sich das Skript sonst in einer Endlosschleife aufhängt. Nun aber hier zu der Gesamtlösung, falls es ggf. anderem mal helfen sollte:
          Blockly.PNG

          Das Skript wird nach und nach wachsen, um auch wirklich alle Fälle abzudecken. Die Hilfe mit den Schleifen hat mich jedoch einen ganzen Schritt weiter gebracht 🙂

          Viele Grüße,
          Alex

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Flying_Alex last edited by paul53

            @flying_alex sagte: Mir war nicht bewusst, dass ich den timeout auf "null" setzen muss

            Das muss man nur, wenn die Variable timeout irgendwo geprüft wird: sonst falls nicht timeout

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            924
            Online

            32.0k
            Users

            80.5k
            Topics

            1.3m
            Posts

            2
            4
            125
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo