Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. JavaScript
  5. Shelly - Rollo via einen Taster

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    8
    1
    435

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    14
    1
    2.7k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.9k

Shelly - Rollo via einen Taster

Geplant Angeheftet Gesperrt Verschoben JavaScript
6 Beiträge 3 Kommentatoren 1.0k Aufrufe
  • Ä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.
  • T Offline
    T Offline
    thomson
    schrieb am zuletzt editiert von thomson
    #1

    Moin
    ich möchte gerne ein Rollo auf/zu/stop über einen Taste realesieren. Aber irgentwie will das nicht so wie ich ds möchte.. Glaube der fehler liegt in der if Anweisung / string?
    Könnt ihr mir einen Denkanstoss geben?

    on({id: 'zigbee.0.00158d0002178/c.right_click'/*Right click event*/, val : true}, function() {                                   // rechtr Taster
            var state = getState('shelly.0.SHSW-25#0045NN#1.Shutter.state'/*state*/).val;
            var pos = getState('shelly.0.SHSW-27#00748D#1.Shutter.Position'/*Position*/).val;   
     
    
         if(pos < 80 && state === "stop") {
          setState('shelly.0.SHSW-25#004MMD#1.Shutter.Close'/*Close*/,true);
         }; 
         if(pos < 20 && state === "stop") { 
           setState('shelly.0.SHSW-25#004MMD#1.Shutter.Open'/*Open*/,true);
         }
         if("open" || "close") { 
            setState('shelly.0.SHSW-25#0045xx#1.Shutter.Pause'/*Pause*/,true);
         }
       
    });
    
    htreckslerH N 2 Antworten Letzte Antwort
    0
    • T thomson

      Moin
      ich möchte gerne ein Rollo auf/zu/stop über einen Taste realesieren. Aber irgentwie will das nicht so wie ich ds möchte.. Glaube der fehler liegt in der if Anweisung / string?
      Könnt ihr mir einen Denkanstoss geben?

      on({id: 'zigbee.0.00158d0002178/c.right_click'/*Right click event*/, val : true}, function() {                                   // rechtr Taster
              var state = getState('shelly.0.SHSW-25#0045NN#1.Shutter.state'/*state*/).val;
              var pos = getState('shelly.0.SHSW-27#00748D#1.Shutter.Position'/*Position*/).val;   
       
      
           if(pos < 80 && state === "stop") {
            setState('shelly.0.SHSW-25#004MMD#1.Shutter.Close'/*Close*/,true);
           }; 
           if(pos < 20 && state === "stop") { 
             setState('shelly.0.SHSW-25#004MMD#1.Shutter.Open'/*Open*/,true);
           }
           if("open" || "close") { 
              setState('shelly.0.SHSW-25#0045xx#1.Shutter.Pause'/*Pause*/,true);
           }
         
      });
      
      htreckslerH Offline
      htreckslerH Offline
      htrecksler
      Forum Testing
      schrieb am zuletzt editiert von
      #2

      @thomson sagte in Shelly - Rollo via einen Taster:

       if(pos < 80 && state === "stop") {                                                                                                                                                                                  setState('shelly.0.SHSW-25#004MMD#1.Shutter.Close'/*Close*/,true);                                                                                                                                                                                 }; 
      

      Eventuell Klammersetzung?
      versuch mal

           if((pos < 80) && (state === "stop")) {
            setState('shelly.0.SHSW-25#004MMD#1.Shutter.Close'/*Close*/,true);
           }; 
      

      Gruss Hermann

      ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        thomson
        schrieb am zuletzt editiert von
        #3

        Leider ohne erfolg. Es passert nicht :(

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          thomson
          schrieb am zuletzt editiert von thomson
          #4

          Ich finde einen Fehler einfach nicht :( Es passiert nichts...
          Könnt ihr da bitte mal n blick drauf werfen?
          Danke!

          on({id: 'zigbee.0.00158d00021xxxxc.right_click', val: true}, function(obj) {  
              console.log('gedrückt');  
              var value = obj.state.val;
              var oldValue = obj.oldState.val;   
              if((obj.state ? obj.state.val : "")) {                  
               if(getState('shelly.0.SHSW-25#00xxxx#1.Shutter.state').val != `stop`) {
                   setState('shelly.0.SHSW-25#00xxxx#1.Shutter.Pause',true);
                   console.log('STOPP');
               }
                   else if( getState('shelly.0.SHSW-25#00xxxx#1.Shutter.state').ts < getState('shelly.0.SHSW-25#00xxxx#1.Relay1.Switch').ts) {
                   setState('shelly.0.SHSW-25#00xxxx#1.Shutter.Open'/*Open*/,true);
                   console.log('öffnen');
                   } 
                   else if( getState('shelly.0.SHSW-25#00xxxx#1.Relay0.Switch').ts > getState('shelly.0.SHSW-25#00xxxx#1.Relay1.Switch').ts) {
                   setState('shelly.0.SHSW-25#00xxxx#1.Shutter.Close'/*Close*/,true);
                   console.log('schließen');
               }
          }
          });
          
          
          1 Antwort Letzte Antwort
          0
          • T thomson

            Moin
            ich möchte gerne ein Rollo auf/zu/stop über einen Taste realesieren. Aber irgentwie will das nicht so wie ich ds möchte.. Glaube der fehler liegt in der if Anweisung / string?
            Könnt ihr mir einen Denkanstoss geben?

            on({id: 'zigbee.0.00158d0002178/c.right_click'/*Right click event*/, val : true}, function() {                                   // rechtr Taster
                    var state = getState('shelly.0.SHSW-25#0045NN#1.Shutter.state'/*state*/).val;
                    var pos = getState('shelly.0.SHSW-27#00748D#1.Shutter.Position'/*Position*/).val;   
             
            
                 if(pos < 80 && state === "stop") {
                  setState('shelly.0.SHSW-25#004MMD#1.Shutter.Close'/*Close*/,true);
                 }; 
                 if(pos < 20 && state === "stop") { 
                   setState('shelly.0.SHSW-25#004MMD#1.Shutter.Open'/*Open*/,true);
                 }
                 if("open" || "close") { 
                    setState('shelly.0.SHSW-25#0045xx#1.Shutter.Pause'/*Pause*/,true);
                 }
               
            });
            
            N Offline
            N Offline
            Nahasapee
            schrieb am zuletzt editiert von
            #5

            Hi
            dein erstes Skript fand ich ganz gut deshalb korrigiere ich das mal:

            @thomson sagte in Shelly - Rollo via einen Taster:

             if("open" || "close") {                                                                                                                                                                                     setState('shelly.0.SHSW-25#0045xx#1.Shutter.Pause'/*Pause*/,true);                                                                                                                                                                            
            

            die letzte Bedingung ist immer true und stoppt dann immer deine Rollofahrt gleich wieder
            sollte vermutlich:

            if(state==="open" || state ==="close")
            

            heißen.
            und bei dem ersten If müsste es wohl heißen >80, statt kleiner und aus der zweiten würde ich nen else if machen
            und die dritte am besten gleich auch ;)

             if(pos > 80 && state === "stop") 
            //.....
            else if(pos <20 && state === "stop")
            //...
            

            Außerdem sind deine ID vom Shelly alle unterschiedlich, die sollten alle vom selben Shelly sein, falls du sie nicht absichtlich verfremdet hast....

            bei deinem zweiten Skript steig ich gar nicht richtig durch was du machen willst wirkt irgendwie strange,kommen deine Konsolen ausgaben?
            vermutlich ist die erste Bedingung schon nicht richtig.

            @thomson sagte in Shelly - Rollo via einen Taster:

            if((obj.state ? obj.state.val : "")) {

            viele grüße

            1 Antwort Letzte Antwort
            1
            • T Offline
              T Offline
              thomson
              schrieb am zuletzt editiert von
              #6

              vielen Dank. nun klappt es

              1 Antwort Letzte Antwort
              0

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              425

              Online

              33.0k

              Benutzer

              83.3k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2026
              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