Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Shelly Taster und Bewegunsmelder verschachteln

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Shelly Taster und Bewegunsmelder verschachteln

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

      Hallo. Ich habe folgende Situation.

      Ein Taster am Shelly Pro 2 schaltet eine Lampe.
      Ebenfalls soll eine weitere Lampe an einem ShellyPlus2PM geschaltet werden.
      Ebenfalls soll ein Shelly Motion die gleichen Lampen anschalten.
      Über den Taster sollen die Lampen aber wieder ausschaltbar sein.

      Shelly Actions können nicht genutzt werde da ein Access Password gesetzt ist.

      Folgendes habe ich mir bereits zusammengeklickt:
      0af53e0f-dfb5-4ce2-bd2f-ce2cd7732d01-image.png

      var manuell, timeout;
      
      
      // Taster wird gedrückt
      // Taster verbunden mit Shelly Pro
      // Shelly Pro Schaltet Keller Lampe
      on({id: [].concat(['shelly.0.shellypro2#KellerFlur#1.Relay1.Switch']), change: "ne"}, async function (obj) {
        let value = obj.state.val;
        let oldValue = obj.oldState.val;
        manuell = true && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0';
        // Einschalten zusätzlicher Lampe an ShellyPlus2PM
        setState("shelly.0.shellyplus2pm#c049ef8690dc#1.Relay1.Switch"/*[object Object]*/, true);
      });
      // Shelly Motion Bewegung erkannt
      on({id: [].concat(['shelly.0.SHMOS-01#60A42396094E#1.sensor.motion']), change: "ne"}, async function (obj) {
        let value = obj.state.val;
        let oldValue = obj.oldState.val;
        if (!manuell) {
          if ((obj.state ? obj.state.val : "")) {
            (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
            // Einschalten Kellerlampe und Zusatzlampe
            setState("shelly.0.shellypro2#KellerFlur#1.Relay1.Switch"/*[object Object]*/, true);
            setState("shelly.0.shellyplus2pm#c049ef8690dc#1.Relay1.Switch"/*[object Object]*/, true);
          } else {
            timeout = setTimeout(async function () {
              // Ausschalten Kellerlampe und Zusatzlampe
              setState("shelly.0.shellypro2#KellerFlur#1.Relay1.Switch"/*[object Object]*/, false);
              setState("shelly.0.shellyplus2pm#c049ef8690dc#1.Relay1.Switch"/*[object Object]*/, false);
            }, 60000);
          }
        }
      });
      

      Funktionieren tut dies aber noch nicht. Könnte mir daher bitte erneut jemand unter die Arme greifen?

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

        @xadox
        Die Variable manuell wird nie wieder zurück gesetzt. Ersetze im oberen Trigger wahr durch Wert.

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

          @paul53 Ich glaube dies kann so dennoch nicht funktionieren. Da hier ein Taster genutzt wird.
          In der Küche habe ein ähnliches Konstrukt mit einem Schalter dort funktioniert es.

          Mittlerweile muss ich aber zugeben, dass ich mich frage ob es Adapter gibt mit denen sich sowas leichter umsetzten lässt.
          Blockly verursacht bei mir immer mal wieder Gehirnknoten. Ich wollte mich auch immer mal mit dem Adapter "Smart Control" beschäftigen. Vielleicht nehme ich das nun mal als Piloten.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          812
          Online

          32.0k
          Users

          80.5k
          Topics

          1.3m
          Posts

          2
          3
          225
          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