Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Javascript deaktiviert sich bei Timeouts

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

Javascript deaktiviert sich bei Timeouts

Scheduled Pinned Locked Moved Blockly
4 Posts 2 Posters 134 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Flying_AlexF Offline
    Flying_AlexF Offline
    Flying_Alex
    wrote on last edited by
    #1

    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

    paul53P 1 Reply Last reply
    0
    • Flying_AlexF Flying_Alex

      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

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      @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

      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

      1 Reply Last reply
      0
      • Flying_AlexF Offline
        Flying_AlexF Offline
        Flying_Alex
        wrote on last edited by
        #3

        @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

        paul53P 1 Reply Last reply
        0
        • Flying_AlexF Flying_Alex

          @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

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @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

          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

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          442

          Online

          32.4k

          Users

          81.5k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe