Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Shelly - Rollo via einen Taster

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Shelly - Rollo via einen Taster

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      thomson last edited by 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);
           }
         
      });
      
      htrecksler N 2 Replies Last reply Reply Quote 0
      • htrecksler
        htrecksler Forum Testing @thomson last edited by

        @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);
             }; 
        
        1 Reply Last reply Reply Quote 0
        • T
          thomson last edited by

          Leider ohne erfolg. Es passert nicht 😞

          1 Reply Last reply Reply Quote 0
          • T
            thomson last edited by thomson

            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 Reply Last reply Reply Quote 0
            • N
              Nahasapee @thomson last edited by

              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 Reply Last reply Reply Quote 1
              • T
                thomson last edited by

                vielen Dank. nun klappt es

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

                Support us

                ioBroker
                Community Adapters
                Donate

                463
                Online

                31.7k
                Users

                79.8k
                Topics

                1.3m
                Posts

                3
                6
                588
                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