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. Bad besetzt Erkennung und dann Licht an

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    680

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Bad besetzt Erkennung und dann Licht an

Scheduled Pinned Locked Moved Blockly
9 Posts 6 Posters 1.1k Views 6 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.
  • A Offline
    A Offline
    Atredis
    wrote on last edited by
    #1

    Hallo.
    Ich bin ganz neu auf diesem Gebiet Blocky unterwegs.
    Einfache An aus Schaltungen usw fuktionieren ganz Gut.
    Jetzt möchte ich mein Bad inteligent machen.

    Wenn ich es betrete soll das Licht angehen und wenn ich es veralasse soll es ausgehen.
    Natürlich wenn ich es betreten habe und mich länger nicht bewege soll das Licht an bleiben (Badewanne)

    Hierfür habe ich jeweils einen Xiaomi Aqara Tür und Bewegungsmelder im Einsatz.

    Jetzt habe ich das Problem das ich es nicht schaffe meine Logik bei Blocky zu Integrieren

    Hier mal meine Gedanken

    Wenn Tür auf und Bewegung erkannt = Licht an
    Wenn Tür zu und Bewegung erkannt = Besetzt (Licht wurde ja oben schon eingeschaltet)
    Wenn Tür zu und nicht Besetzt = Licht aus

    Ich habe dort für die Besetzt und nicht Besetzt Erkennung einen Zähler Tür auf eingebaut da dieses ja größer als 1 sein muss wenn ich nicht mehr drinnen bin.

    Der Bewegungsmelder Ändert auch erst nach 60 sec wieder seinen Status also bleibt das Licht immer für mindestens 60 sec an was ja auch gut ist.

    Später soll noch zusätzlich rein

    Wenn Tür auf und Bewegung nicht mehr erkannt = Licht aus (Hier sind es ja beim Bewegungsmelder die 60sec bis zur Änderung)

    Hier mal mein momentanes Blocky.
    Momentan schaltet es nur noch ein aber nicht mehr aus.
    Es wird auch kein Besetzt mehr erkannt.

    Hoffe mal das jemand anderes schon einmal diese Idee hatte und eine Lösung kennt.

    Danke

    Atredis

    7cf385b1-1abc-4505-adbd-3358e6e95fb3-grafik.png

    var T_C3_BCr_auf, Last_Motion_Zeit, Bad_Besetzt;
    
    
    on({id: "mihome.0.devices.magnet_158d0002ca1368.state"/*Is opened*/, change: "any"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true) {
        T_C3_BCr_auf = (typeof T_C3_BCr_auf == 'number' ? T_C3_BCr_auf : 0) + 1;
      }
    });
    on({id: new RegExp('mihome\\.0\\.devices\\.magnet_158d0002ca1368\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.no_motion'), change: "any"}, function (obj) {
        Last_Motion_Zeit = parseFloat('mihome.0.devices.sensor_motion_aq2_158d0002e2e584.no_motion');
      if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true) {
        setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, true);
        console.log('Erstes einschalten');
      }
      if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true && Bad_Besetzt == false) {
        Bad_Besetzt = true;
        console.log('Besetzt');
      }
      if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == false && Bad_Besetzt == false) {
        setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, false);
        console.log('Licht aus');
      }
      if (T_C3_BCr_auf > 1 && Last_Motion_Zeit > 59) {
        Bad_Besetzt = false;
        T_C3_BCr_auf = 0;
        console.log('Bad Besetzt zurücksetzen');
      }
    });
    M M L 3 Replies Last reply
    0
    • A Atredis

      Hallo.
      Ich bin ganz neu auf diesem Gebiet Blocky unterwegs.
      Einfache An aus Schaltungen usw fuktionieren ganz Gut.
      Jetzt möchte ich mein Bad inteligent machen.

      Wenn ich es betrete soll das Licht angehen und wenn ich es veralasse soll es ausgehen.
      Natürlich wenn ich es betreten habe und mich länger nicht bewege soll das Licht an bleiben (Badewanne)

      Hierfür habe ich jeweils einen Xiaomi Aqara Tür und Bewegungsmelder im Einsatz.

      Jetzt habe ich das Problem das ich es nicht schaffe meine Logik bei Blocky zu Integrieren

      Hier mal meine Gedanken

      Wenn Tür auf und Bewegung erkannt = Licht an
      Wenn Tür zu und Bewegung erkannt = Besetzt (Licht wurde ja oben schon eingeschaltet)
      Wenn Tür zu und nicht Besetzt = Licht aus

      Ich habe dort für die Besetzt und nicht Besetzt Erkennung einen Zähler Tür auf eingebaut da dieses ja größer als 1 sein muss wenn ich nicht mehr drinnen bin.

      Der Bewegungsmelder Ändert auch erst nach 60 sec wieder seinen Status also bleibt das Licht immer für mindestens 60 sec an was ja auch gut ist.

      Später soll noch zusätzlich rein

      Wenn Tür auf und Bewegung nicht mehr erkannt = Licht aus (Hier sind es ja beim Bewegungsmelder die 60sec bis zur Änderung)

      Hier mal mein momentanes Blocky.
      Momentan schaltet es nur noch ein aber nicht mehr aus.
      Es wird auch kein Besetzt mehr erkannt.

      Hoffe mal das jemand anderes schon einmal diese Idee hatte und eine Lösung kennt.

      Danke

      Atredis

      7cf385b1-1abc-4505-adbd-3358e6e95fb3-grafik.png

      var T_C3_BCr_auf, Last_Motion_Zeit, Bad_Besetzt;
      
      
      on({id: "mihome.0.devices.magnet_158d0002ca1368.state"/*Is opened*/, change: "any"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true) {
          T_C3_BCr_auf = (typeof T_C3_BCr_auf == 'number' ? T_C3_BCr_auf : 0) + 1;
        }
      });
      on({id: new RegExp('mihome\\.0\\.devices\\.magnet_158d0002ca1368\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.no_motion'), change: "any"}, function (obj) {
          Last_Motion_Zeit = parseFloat('mihome.0.devices.sensor_motion_aq2_158d0002e2e584.no_motion');
        if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true) {
          setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, true);
          console.log('Erstes einschalten');
        }
        if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true && Bad_Besetzt == false) {
          Bad_Besetzt = true;
          console.log('Besetzt');
        }
        if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == false && Bad_Besetzt == false) {
          setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, false);
          console.log('Licht aus');
        }
        if (T_C3_BCr_auf > 1 && Last_Motion_Zeit > 59) {
          Bad_Besetzt = false;
          T_C3_BCr_auf = 0;
          console.log('Bad Besetzt zurücksetzen');
        }
      });
      M Offline
      M Offline
      Muchul
      wrote on last edited by
      #2

      @Atredis
      Bitte auch Gedanken darüber machen, was passiert bzw. Ist der Ablauf wenn jemand im Bad ist und ein zweiter kommt rein.
      Der Zähler würde dann nicht helfen.

      1 Reply Last reply
      0
      • W Offline
        W Offline
        Wizzo3
        wrote on last edited by
        #3

        Ein weiteres mögliches Logik-Problem:
        Was ist bei Tür zu und schön entspannt in der Wanne liegen, also recht bewegungslos? Momentan geht meiner Meinung nach das Licht aus...

        1 Reply Last reply
        0
        • A Atredis

          Hallo.
          Ich bin ganz neu auf diesem Gebiet Blocky unterwegs.
          Einfache An aus Schaltungen usw fuktionieren ganz Gut.
          Jetzt möchte ich mein Bad inteligent machen.

          Wenn ich es betrete soll das Licht angehen und wenn ich es veralasse soll es ausgehen.
          Natürlich wenn ich es betreten habe und mich länger nicht bewege soll das Licht an bleiben (Badewanne)

          Hierfür habe ich jeweils einen Xiaomi Aqara Tür und Bewegungsmelder im Einsatz.

          Jetzt habe ich das Problem das ich es nicht schaffe meine Logik bei Blocky zu Integrieren

          Hier mal meine Gedanken

          Wenn Tür auf und Bewegung erkannt = Licht an
          Wenn Tür zu und Bewegung erkannt = Besetzt (Licht wurde ja oben schon eingeschaltet)
          Wenn Tür zu und nicht Besetzt = Licht aus

          Ich habe dort für die Besetzt und nicht Besetzt Erkennung einen Zähler Tür auf eingebaut da dieses ja größer als 1 sein muss wenn ich nicht mehr drinnen bin.

          Der Bewegungsmelder Ändert auch erst nach 60 sec wieder seinen Status also bleibt das Licht immer für mindestens 60 sec an was ja auch gut ist.

          Später soll noch zusätzlich rein

          Wenn Tür auf und Bewegung nicht mehr erkannt = Licht aus (Hier sind es ja beim Bewegungsmelder die 60sec bis zur Änderung)

          Hier mal mein momentanes Blocky.
          Momentan schaltet es nur noch ein aber nicht mehr aus.
          Es wird auch kein Besetzt mehr erkannt.

          Hoffe mal das jemand anderes schon einmal diese Idee hatte und eine Lösung kennt.

          Danke

          Atredis

          7cf385b1-1abc-4505-adbd-3358e6e95fb3-grafik.png

          var T_C3_BCr_auf, Last_Motion_Zeit, Bad_Besetzt;
          
          
          on({id: "mihome.0.devices.magnet_158d0002ca1368.state"/*Is opened*/, change: "any"}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true) {
              T_C3_BCr_auf = (typeof T_C3_BCr_auf == 'number' ? T_C3_BCr_auf : 0) + 1;
            }
          });
          on({id: new RegExp('mihome\\.0\\.devices\\.magnet_158d0002ca1368\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.no_motion'), change: "any"}, function (obj) {
              Last_Motion_Zeit = parseFloat('mihome.0.devices.sensor_motion_aq2_158d0002e2e584.no_motion');
            if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true) {
              setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, true);
              console.log('Erstes einschalten');
            }
            if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true && Bad_Besetzt == false) {
              Bad_Besetzt = true;
              console.log('Besetzt');
            }
            if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == false && Bad_Besetzt == false) {
              setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, false);
              console.log('Licht aus');
            }
            if (T_C3_BCr_auf > 1 && Last_Motion_Zeit > 59) {
              Bad_Besetzt = false;
              T_C3_BCr_auf = 0;
              console.log('Bad Besetzt zurücksetzen');
            }
          });
          M Offline
          M Offline
          MichaelG
          wrote on last edited by
          #4

          @Atredis
          Wenn man die Logik vereinfacht?

          Wenn Bewegung erkannt: Licht an
          Wenn keine Bewegung UND Tür auf: Licht aus

          Das würde doch alle Eventualitäten abdecken... sogar das Einschlafen in der Wanne :-)

          ???

          M 1 Reply Last reply
          0
          • M MichaelG

            @Atredis
            Wenn man die Logik vereinfacht?

            Wenn Bewegung erkannt: Licht an
            Wenn keine Bewegung UND Tür auf: Licht aus

            Das würde doch alle Eventualitäten abdecken... sogar das Einschlafen in der Wanne :-)

            ???

            M Offline
            M Offline
            Muchul
            wrote on last edited by
            #5

            @MichaelG
            Wie schaffst du es zur Tür ohne Bewegungserkennung?

            M 1 Reply Last reply
            0
            • rantanplanR Offline
              rantanplanR Offline
              rantanplan
              wrote on last edited by
              #6

              Apropo Badewanne☺
              Anwesenheitserkennung nach Badewannenprinzip

              Rantanplan

              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

              1 Reply Last reply
              0
              • M Muchul

                @MichaelG
                Wie schaffst du es zur Tür ohne Bewegungserkennung?

                M Offline
                M Offline
                MichaelG
                wrote on last edited by MichaelG
                #7

                @Muchul
                Verstehe die Frage nicht.

                Ich gehe ins Bad: Bewegung wird erkannt: Licht geht an
                Ich mache die Tür zu: Licht bleibt an ob ich mich bewege oder nicht
                Ich gehe aus dem Bad raus (und muss die Tür offen lassen): Licht geht aus nachdem keine Bewegung mehr erkannt wird.

                So hätte ich es gedacht.

                Oder in "Code"
                Wenn Objekt Bewegung wurde geändert...
                Wenn Bewegung = true dann Licht an
                Sonst Wenn Tür=auf dann Licht aus

                fertig. Denke ich zu simpel?
                Ich gehe davon aus, dass, wenn ich das Bad verlasse die Bewegung erkannt wird.

                M 1 Reply Last reply
                0
                • M MichaelG

                  @Muchul
                  Verstehe die Frage nicht.

                  Ich gehe ins Bad: Bewegung wird erkannt: Licht geht an
                  Ich mache die Tür zu: Licht bleibt an ob ich mich bewege oder nicht
                  Ich gehe aus dem Bad raus (und muss die Tür offen lassen): Licht geht aus nachdem keine Bewegung mehr erkannt wird.

                  So hätte ich es gedacht.

                  Oder in "Code"
                  Wenn Objekt Bewegung wurde geändert...
                  Wenn Bewegung = true dann Licht an
                  Sonst Wenn Tür=auf dann Licht aus

                  fertig. Denke ich zu simpel?
                  Ich gehe davon aus, dass, wenn ich das Bad verlasse die Bewegung erkannt wird.

                  M Offline
                  M Offline
                  Muchul
                  wrote on last edited by
                  #8

                  Badezimmer Tür muss also immer offen bleiben damit das Licht ausgeschaltet wird?
                  Und wenn jemand versehentlich die Tür schließt?
                  Was ist mit Familie, Gästen, mir wäre das zu unsicher.

                  1 Reply Last reply
                  0
                  • A Atredis

                    Hallo.
                    Ich bin ganz neu auf diesem Gebiet Blocky unterwegs.
                    Einfache An aus Schaltungen usw fuktionieren ganz Gut.
                    Jetzt möchte ich mein Bad inteligent machen.

                    Wenn ich es betrete soll das Licht angehen und wenn ich es veralasse soll es ausgehen.
                    Natürlich wenn ich es betreten habe und mich länger nicht bewege soll das Licht an bleiben (Badewanne)

                    Hierfür habe ich jeweils einen Xiaomi Aqara Tür und Bewegungsmelder im Einsatz.

                    Jetzt habe ich das Problem das ich es nicht schaffe meine Logik bei Blocky zu Integrieren

                    Hier mal meine Gedanken

                    Wenn Tür auf und Bewegung erkannt = Licht an
                    Wenn Tür zu und Bewegung erkannt = Besetzt (Licht wurde ja oben schon eingeschaltet)
                    Wenn Tür zu und nicht Besetzt = Licht aus

                    Ich habe dort für die Besetzt und nicht Besetzt Erkennung einen Zähler Tür auf eingebaut da dieses ja größer als 1 sein muss wenn ich nicht mehr drinnen bin.

                    Der Bewegungsmelder Ändert auch erst nach 60 sec wieder seinen Status also bleibt das Licht immer für mindestens 60 sec an was ja auch gut ist.

                    Später soll noch zusätzlich rein

                    Wenn Tür auf und Bewegung nicht mehr erkannt = Licht aus (Hier sind es ja beim Bewegungsmelder die 60sec bis zur Änderung)

                    Hier mal mein momentanes Blocky.
                    Momentan schaltet es nur noch ein aber nicht mehr aus.
                    Es wird auch kein Besetzt mehr erkannt.

                    Hoffe mal das jemand anderes schon einmal diese Idee hatte und eine Lösung kennt.

                    Danke

                    Atredis

                    7cf385b1-1abc-4505-adbd-3358e6e95fb3-grafik.png

                    var T_C3_BCr_auf, Last_Motion_Zeit, Bad_Besetzt;
                    
                    
                    on({id: "mihome.0.devices.magnet_158d0002ca1368.state"/*Is opened*/, change: "any"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true) {
                        T_C3_BCr_auf = (typeof T_C3_BCr_auf == 'number' ? T_C3_BCr_auf : 0) + 1;
                      }
                    });
                    on({id: new RegExp('mihome\\.0\\.devices\\.magnet_158d0002ca1368\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.state' + "|" + 'mihome\\.0\\.devices\\.sensor_motion_aq2_158d0002e2e584\\.no_motion'), change: "any"}, function (obj) {
                        Last_Motion_Zeit = parseFloat('mihome.0.devices.sensor_motion_aq2_158d0002e2e584.no_motion');
                      if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == true && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true) {
                        setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, true);
                        console.log('Erstes einschalten');
                      }
                      if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == true && Bad_Besetzt == false) {
                        Bad_Besetzt = true;
                        console.log('Besetzt');
                      }
                      if (getState("mihome.0.devices.magnet_158d0002ca1368.state").val == false && getState("mihome.0.devices.sensor_motion_aq2_158d0002e2e584.state").val == false && Bad_Besetzt == false) {
                        setState("HomeKit.0.Licht_Bad_Shelly"/*Licht Bad Shelly*/, false);
                        console.log('Licht aus');
                      }
                      if (T_C3_BCr_auf > 1 && Last_Motion_Zeit > 59) {
                        Bad_Besetzt = false;
                        T_C3_BCr_auf = 0;
                        console.log('Bad Besetzt zurücksetzen');
                      }
                    });
                    L Offline
                    L Offline
                    lustig29
                    wrote on last edited by
                    #9

                    @atredis Konntest du das Problem lösen?

                    1 Reply Last reply
                    0

                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                    With your input, this post could be even better 💗

                    Register Login
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    318

                    Online

                    32.7k

                    Users

                    82.6k

                    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