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. Gelöst: Bewegungsmelder

NEWS

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

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

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

Gelöst: Bewegungsmelder

Scheduled Pinned Locked Moved Skripten / Logik
javascript
9 Posts 3 Posters 702 Views 2 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.
  • M Offline
    M Offline
    michihorn
    wrote on last edited by michihorn
    #1

    Hallo ich habe einen Präsenzmelder, der soll eine Lampe einschalten, die geht nach einer in setStateDelelayed eingestellten Zeit wieder aus. Ich möchte nun aber evtl. das Licht auch vorher mittels des Tuya Tasters wieder auschalten können. Solange aber der setStateDelayed noch tickert, schaltet der Präsenzmelder keine neue Bewegung. Mein einfaches Script sieht so aus:

    const idmotion = 'hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE'
    var motion = getState(idmotion).val; 
    on({id: "hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE", change: "any"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      log("Bewegung: " + motion);
      if (getState("hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE").val == true) {
        setState('tuya.0.3065444498f4abb7e5eb.1', true);
      } else if (getState("hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE").val == false) {
        setStateDelayed('tuya.0.3065444498f4abb7e5eb.1', false, 600000, false);
      }
    });
    

    Da ich noch keine Erfahrung mit Timern habe, frage ich nach einer Lösung hier an.
    Gruß
    Michael

    paul53P 1 Reply Last reply
    0
    • M michihorn

      Hallo ich habe einen Präsenzmelder, der soll eine Lampe einschalten, die geht nach einer in setStateDelelayed eingestellten Zeit wieder aus. Ich möchte nun aber evtl. das Licht auch vorher mittels des Tuya Tasters wieder auschalten können. Solange aber der setStateDelayed noch tickert, schaltet der Präsenzmelder keine neue Bewegung. Mein einfaches Script sieht so aus:

      const idmotion = 'hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE'
      var motion = getState(idmotion).val; 
      on({id: "hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE", change: "any"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        log("Bewegung: " + motion);
        if (getState("hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE").val == true) {
          setState('tuya.0.3065444498f4abb7e5eb.1', true);
        } else if (getState("hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE").val == false) {
          setStateDelayed('tuya.0.3065444498f4abb7e5eb.1', false, 600000, false);
        }
      });
      

      Da ich noch keine Erfahrung mit Timern habe, frage ich nach einer Lösung hier an.
      Gruß
      Michael

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

      @michihorn sagte:

      das Licht auch vorher mittels des Tuya Tasters wieder auschalten können.

      Datenpunkt-ID ?

      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
      • M Offline
        M Offline
        michihorn
        wrote on last edited by michihorn
        #3

        Ich habe den Tuya Schalter "tuya.0.3065444498f4abb7e5eb.1" der wird von dem Präsenzmelder geschaltet. In den Objekten ist der dann auf "true". Ich möchte den aber ach mal manuell ausschalten, dann ist er in den Objekten auf "false". Das setStateDelayed läuft aber noch, daher müsste ich mit dem "false" des Tuya-Tasters, dieses setStateDelayed unterbrechen können. Das klappt aber wohl nur über einen Timer?!

        Das Tuya Objekt sieht so aus:

        {
          "type": "state",
          "common": {
            "def": false,
            "type": "boolean",
            "read": true,
            "write": true,
            "name": "switch_1",
            "role": "switch"
          },
          "native": {},
          "from": "system.adapter.tuya.0",
          "user": "system.user.admin",
          "ts": 1580235170357,
          "_id": "tuya.0.3065444498f4abb7e5eb.1",
          "acl": {
            "object": 1638,
            "state": 1638
          }
        }
        
        paul53P 1 Reply Last reply
        0
        • M michihorn

          Ich habe den Tuya Schalter "tuya.0.3065444498f4abb7e5eb.1" der wird von dem Präsenzmelder geschaltet. In den Objekten ist der dann auf "true". Ich möchte den aber ach mal manuell ausschalten, dann ist er in den Objekten auf "false". Das setStateDelayed läuft aber noch, daher müsste ich mit dem "false" des Tuya-Tasters, dieses setStateDelayed unterbrechen können. Das klappt aber wohl nur über einen Timer?!

          Das Tuya Objekt sieht so aus:

          {
            "type": "state",
            "common": {
              "def": false,
              "type": "boolean",
              "read": true,
              "write": true,
              "name": "switch_1",
              "role": "switch"
            },
            "native": {},
            "from": "system.adapter.tuya.0",
            "user": "system.user.admin",
            "ts": 1580235170357,
            "_id": "tuya.0.3065444498f4abb7e5eb.1",
            "acl": {
              "object": 1638,
              "state": 1638
            }
          }
          
          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @michihorn sagte:

          Solange aber der setStateDelayed noch tickert, schaltet der Präsenzmelder keine neue Bewegung.

          const idmotion = 'hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE';
          const idLicht = 'tuya.0.3065444498f4abb7e5eb.1';
          var timer = null;
          
          on(idmotion, function (obj) {
            log("Bewegung: " + obj.state.val);
            if (obj.state.val) {
              if(timer) clearTimeout(timer);
              setState(idLicht, true);
            } else {
              timer = setTimeout(function() {
                setState(idLicht, false);
              }, 600000);
            }
          });
          

          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

          M 1 Reply Last reply
          0
          • paul53P paul53

            @michihorn sagte:

            Solange aber der setStateDelayed noch tickert, schaltet der Präsenzmelder keine neue Bewegung.

            const idmotion = 'hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE';
            const idLicht = 'tuya.0.3065444498f4abb7e5eb.1';
            var timer = null;
            
            on(idmotion, function (obj) {
              log("Bewegung: " + obj.state.val);
              if (obj.state.val) {
                if(timer) clearTimeout(timer);
                setState(idLicht, true);
              } else {
                timer = setTimeout(function() {
                  setState(idLicht, false);
                }, 600000);
              }
            });
            
            M Offline
            M Offline
            michihorn
            wrote on last edited by
            #5

            @paul53 sagte in Bewegungsmelder:

            const idmotion = 'hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE'; const idLicht = 'tuya.0.3065444498f4abb7e5eb.1'; var timer = null; on(idmotion, function (obj) { log("Bewegung: " + obj.state.val); if (obj.state.val) { if(timer) clearTimeout(timer); setState(idLicht, true); } else { timer = setTimeout(function() { setState(idLicht, false); }, 600000); } });

            Guten Morgen, ich kann jetzt nicht erkennen wie ich mit idLicht den Timer unterbreche
            Gruß
            Michael

            T 1 Reply Last reply
            0
            • M michihorn

              @paul53 sagte in Bewegungsmelder:

              const idmotion = 'hm-rpc.2.000C1A4998B44C.1.PRESENCE_DETECTION_STATE'; const idLicht = 'tuya.0.3065444498f4abb7e5eb.1'; var timer = null; on(idmotion, function (obj) { log("Bewegung: " + obj.state.val); if (obj.state.val) { if(timer) clearTimeout(timer); setState(idLicht, true); } else { timer = setTimeout(function() { setState(idLicht, false); }, 600000); } });

              Guten Morgen, ich kann jetzt nicht erkennen wie ich mit idLicht den Timer unterbreche
              Gruß
              Michael

              T Do not disturb
              T Do not disturb
              ticaki
              wrote on last edited by ticaki
              #6

              @michihorn

              Dann füge folgendes noch hinzu:

              on(idLicht, function (obj) {
                if (!obj.state.val) {
                  if(timer) clearTimeout(timer);
                }
              });
              

              Wobei ich das Problem nicht ganz verstehen, der Bewegungsmelder hat nichts mit dem Timeout zu tun und sollte, ob der Timeout läuft oder nicht, Bewegungen melden. Meine Bewegungsmelderscripts sind ähnlich dem von Paul53 aufgebaut und ich beende den Timeout ausschließlich, wenn eine neue Bewegung angezeigt wird.

              EDIT: ist es vielleicht möglich das der Bewegungmelder eine Art delay hat? Meiner hat:

              deconz.0.Sensors.5.delay
              

              und in dem Zeitraum in dem der Delay dort intern läuft werden keine neue Bewegungen angezeigt.

              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

              Spenden

              M 1 Reply Last reply
              0
              • T ticaki

                @michihorn

                Dann füge folgendes noch hinzu:

                on(idLicht, function (obj) {
                  if (!obj.state.val) {
                    if(timer) clearTimeout(timer);
                  }
                });
                

                Wobei ich das Problem nicht ganz verstehen, der Bewegungsmelder hat nichts mit dem Timeout zu tun und sollte, ob der Timeout läuft oder nicht, Bewegungen melden. Meine Bewegungsmelderscripts sind ähnlich dem von Paul53 aufgebaut und ich beende den Timeout ausschließlich, wenn eine neue Bewegung angezeigt wird.

                EDIT: ist es vielleicht möglich das der Bewegungmelder eine Art delay hat? Meiner hat:

                deconz.0.Sensors.5.delay
                

                und in dem Zeitraum in dem der Delay dort intern läuft werden keine neue Bewegungen angezeigt.

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

                @ticaki Nöö habe kein Delay. Der BWM schaltet für eine gewisse Zeit den Tuya. Ich möchte aber evtl. die Leuchtzeit verkürzen, indem ich den Tuya-Taster drücke. Licht geht aus. Ich möchte nun direkt das Licht wieder per BWM einschalten lassen und ganau das klappt nicht.

                1 Reply Last reply
                0
                • T Do not disturb
                  T Do not disturb
                  ticaki
                  wrote on last edited by
                  #8

                  Wer schaltet jetzt die Lampe ein? Das Skript oder hat der BWM noch einen andere Verbindung mit der Lampe? Wenn es das Skript ist, liegt das nicht funktionieren daran, dass der BWM entweder nicht auf false geht oder das er nicht mehr auf true geht für eine gewisse Zeit.

                  Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                  Spenden

                  M 1 Reply Last reply
                  0
                  • T ticaki

                    Wer schaltet jetzt die Lampe ein? Das Skript oder hat der BWM noch einen andere Verbindung mit der Lampe? Wenn es das Skript ist, liegt das nicht funktionieren daran, dass der BWM entweder nicht auf false geht oder das er nicht mehr auf true geht für eine gewisse Zeit.

                    M Offline
                    M Offline
                    michihorn
                    wrote on last edited by
                    #9

                    @ticaki Hallo
                    ja hab ich auch gerade Festgestellt, in der Geräte-Konfig in der CCU kann ich die Schaltabstände des BMW einstellen. Danke

                    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

                    572

                    Online

                    32.8k

                    Users

                    82.7k

                    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