Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Shelly Taster und Bewegunsmelder verschachteln

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Shelly Taster und Bewegunsmelder verschachteln

Geplant Angeheftet Gesperrt Verschoben Blockly
3 Beiträge 2 Kommentatoren 315 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • xadoxX Offline
    xadoxX Offline
    xadox
    schrieb am zuletzt editiert von
    #1

    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?

    paul53P 1 Antwort Letzte Antwort
    0
    • xadoxX xadox

      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?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

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

      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

      xadoxX 1 Antwort Letzte Antwort
      0
      • paul53P paul53

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

        xadoxX Offline
        xadoxX Offline
        xadox
        schrieb am zuletzt editiert von
        #3

        @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 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        717

        Online

        32.6k

        Benutzer

        82.2k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe