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. Blockly
  5. Oder Schaltung für Taster funktioniert nicht

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Oder Schaltung für Taster funktioniert nicht

Scheduled Pinned Locked Moved Blockly
8 Posts 3 Posters 198 Views 3 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.
  • UHU01U Offline
    UHU01U Offline
    UHU01
    wrote on last edited by UHU01
    #1

    Hallo zusammen,

    ich will ein paar Lampen über 2 Taster schalten (Die Taster hängen an Shelly1). Scheine aber die "oder" Funktion irgendwie nicht zu begreifen (mit nur einem Taster ging es noch). Kann mal jemand gucken was ich falsch mache?

    on({id: getState("shelly.0.SHSW-1#93B982#1.Relay0.Input").val || getState("shelly.0.SHSW-1#98CDAC2DBD7C#1.Relay0.Input").val, val: true}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      setState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.mode"/*Modus*/, 'White');
      getState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.Switch", function (err, state) {
          setState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.Switch"/*Switch*/, state ? !state.val : true);
      });
      setState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.mode"/*Modus*/, 'White');
      getState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.Switch", function (err, state) {
          setState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.Switch"/*Switch*/, state ? !state.val : true);
      });
      setState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.mode"/*Modus*/, 'White');
      getState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.Switch", function (err, state) {
          setState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.Switch"/*Switch*/, state ? !state.val : true);
      });
      setState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.mode"/*mode*/, 'White');
      getState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.Switch", function (err, state) {
          setState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.Switch"/*Switch*/, state ? !state.val : true);
      });
      setState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.mode"/*Modus*/, 'White');
      getState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.Switch", function (err, state) {
          setState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.Switch"/*Switch*/, state ? !state.val : true);
      });
    });
    
    

    2022-02-26_114426.jpg

    AsgothianA 1 Reply Last reply
    0
    • UHU01U UHU01

      Hallo zusammen,

      ich will ein paar Lampen über 2 Taster schalten (Die Taster hängen an Shelly1). Scheine aber die "oder" Funktion irgendwie nicht zu begreifen (mit nur einem Taster ging es noch). Kann mal jemand gucken was ich falsch mache?

      on({id: getState("shelly.0.SHSW-1#93B982#1.Relay0.Input").val || getState("shelly.0.SHSW-1#98CDAC2DBD7C#1.Relay0.Input").val, val: true}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        setState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.mode"/*Modus*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
        setState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.mode"/*Modus*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
        setState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.mode"/*Modus*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
        setState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.mode"/*mode*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
        setState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.mode"/*Modus*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
      });
      
      

      2022-02-26_114426.jpg

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      wrote on last edited by
      #2

      @uhu01 sagte in Oder Schaltung für Taster funktioniert nicht:

      Hallo zusammen,

      ich will ein paar Lampen über 2 Taster schalten (Die Taster hängen an Shelly1). Scheine aber die "oder" Funktion irgendwie nicht zu begreifen (mit nur einem Taster ging es noch). Kann mal jemand gucken was ich falsch mache?

      on({id: getState("shelly.0.SHSW-1#93B982#1.Relay0.Input").val || getState("shelly.0.SHSW-1#98CDAC2DBD7C#1.Relay0.Input").val, val: true}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        setState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.mode"/*Modus*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
        setState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.mode"/*Modus*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
        setState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.mode"/*Modus*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
        setState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.mode"/*mode*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
        setState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.mode"/*Modus*/, 'White');
        getState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.Switch", function (err, state) {
            setState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.Switch"/*Switch*/, state ? !state.val : true);
        });
      });
      
      

      2022-02-26_114426.jpg

      Das kann nicht gehen.

      Der Trigger erwartet einen Datenpunkt, keine Logik.

      So wird ein Schuh draus:
      Screen Shot 2022-02-26 at 11.55.05 .png

      Wobei ich das triggern auf "ist wahr" fraglich finde - dazu müsste aber mehr über die gewünschte Logik bekannt sein.

      A.

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      UHU01U 1 Reply Last reply
      0
      • AsgothianA Asgothian

        @uhu01 sagte in Oder Schaltung für Taster funktioniert nicht:

        Hallo zusammen,

        ich will ein paar Lampen über 2 Taster schalten (Die Taster hängen an Shelly1). Scheine aber die "oder" Funktion irgendwie nicht zu begreifen (mit nur einem Taster ging es noch). Kann mal jemand gucken was ich falsch mache?

        on({id: getState("shelly.0.SHSW-1#93B982#1.Relay0.Input").val || getState("shelly.0.SHSW-1#98CDAC2DBD7C#1.Relay0.Input").val, val: true}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          setState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.mode"/*Modus*/, 'White');
          getState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.Switch", function (err, state) {
              setState("shelly.0.SHCB-1#98CDAC1E8F42#1.lights.Switch"/*Switch*/, state ? !state.val : true);
          });
          setState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.mode"/*Modus*/, 'White');
          getState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.Switch", function (err, state) {
              setState("shelly.0.SHCB-1#98CDAC1E5505#1.lights.Switch"/*Switch*/, state ? !state.val : true);
          });
          setState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.mode"/*Modus*/, 'White');
          getState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.Switch", function (err, state) {
              setState("shelly.0.SHCB-1#98CDAC1E96F6#1.lights.Switch"/*Switch*/, state ? !state.val : true);
          });
          setState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.mode"/*mode*/, 'White');
          getState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.Switch", function (err, state) {
              setState("shelly.0.SHCB-1#98CDAC1E36E6#1.lights.Switch"/*Switch*/, state ? !state.val : true);
          });
          setState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.mode"/*Modus*/, 'White');
          getState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.Switch", function (err, state) {
              setState("shelly.0.SHCB-1#98CDAC1F625A#1.lights.Switch"/*Switch*/, state ? !state.val : true);
          });
        });
        
        

        2022-02-26_114426.jpg

        Das kann nicht gehen.

        Der Trigger erwartet einen Datenpunkt, keine Logik.

        So wird ein Schuh draus:
        Screen Shot 2022-02-26 at 11.55.05 .png

        Wobei ich das triggern auf "ist wahr" fraglich finde - dazu müsste aber mehr über die gewünschte Logik bekannt sein.

        A.

        UHU01U Offline
        UHU01U Offline
        UHU01
        wrote on last edited by UHU01
        #3

        @asgothian Danke für die promte Aufklärung!

        Die Logik ist im Prinzip wie bei einer Wechselschaltung. Egal welcher der beiden Taster gedrückt wird, es soll immer die Lampe(n) geschaltet werden. Deshalb hatte ich an die "oder" Logik gedacht.

        Der Status "True" steht in dem Objekt. Da kann ich aber sicherlich auch "geändert" nutzen. Am Liebsten wäre mit tatsächlich das Event des Shelly auszuwerten, in dem dann ein Text ala "Short(1x)" steht. das wollte ich mir aber lieber für später aufheben, wenn ich ein wenig mehr Durchblick habe.

        Wie bekomme ich denn an den "IF-Block" die 2. Eingangsbedingung? Einen Block wo schon 2 dran sind finde ich nicht.

        AsgothianA 1 Reply Last reply
        0
        • UHU01U UHU01

          @asgothian Danke für die promte Aufklärung!

          Die Logik ist im Prinzip wie bei einer Wechselschaltung. Egal welcher der beiden Taster gedrückt wird, es soll immer die Lampe(n) geschaltet werden. Deshalb hatte ich an die "oder" Logik gedacht.

          Der Status "True" steht in dem Objekt. Da kann ich aber sicherlich auch "geändert" nutzen. Am Liebsten wäre mit tatsächlich das Event des Shelly auszuwerten, in dem dann ein Text ala "Short(1x)" steht. das wollte ich mir aber lieber für später aufheben, wenn ich ein wenig mehr Durchblick habe.

          Wie bekomme ich denn an den "IF-Block" die 2. Eingangsbedingung? Einen Block wo schon 2 dran sind finde ich nicht.

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          wrote on last edited by
          #4

          @uhu01

          Ein if brauchst du nicht. Sofern die Shelly dp normal falsch sind und nur bei der Bestätigung auf wahr gehen reicht ein Trigger auf ist grösser als vorher um nur beim Wechseln falsch auf wahr zu triggern.

          Der Block den ich gepostet habe hat originär nur 1 Objekt angelegt. Durch das Zahnrad auf blauem Grund kannst du das erweitern auf mehrere. Der enthaltene code wird ausgeführt egal welcher der beiden Datenpunkte die Triggerbedingung erfüllt.

          A.

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          UHU01U 1 Reply Last reply
          1
          • AsgothianA Asgothian

            @uhu01

            Ein if brauchst du nicht. Sofern die Shelly dp normal falsch sind und nur bei der Bestätigung auf wahr gehen reicht ein Trigger auf ist grösser als vorher um nur beim Wechseln falsch auf wahr zu triggern.

            Der Block den ich gepostet habe hat originär nur 1 Objekt angelegt. Durch das Zahnrad auf blauem Grund kannst du das erweitern auf mehrere. Der enthaltene code wird ausgeführt egal welcher der beiden Datenpunkte die Triggerbedingung erfüllt.

            A.

            UHU01U Offline
            UHU01U Offline
            UHU01
            wrote on last edited by
            #5

            @asgothian
            Funktioniert. Danke!

            J 1 Reply Last reply
            0
            • UHU01U UHU01

              @asgothian
              Funktioniert. Danke!

              J Offline
              J Offline
              Jan1
              wrote on last edited by Jan1
              #6

              @uhu01
              Kann die Shelly FW kein Websend? Mit Tasmota machst so was ganz ohne Script über Websend und ner Rule. Geht das mit der original FW nicht?

              Sieht dann so aus:

              Rule1 on Power1#State=1 do websend [192.168.100.35:80,admin:joker] POWER1 ON endon on Power1#State=0 do websend [192.168.100.35:80,admin:joker] POWER1 OFF endon
              

              Also recht übersichtliche und das bei jede Schalter mit jeweils der IP eines andern Schalter der im Verbund arbeiten soll.
              Läuft bei mir seit Jahren stabil.

              UHU01U 1 Reply Last reply
              0
              • J Jan1

                @uhu01
                Kann die Shelly FW kein Websend? Mit Tasmota machst so was ganz ohne Script über Websend und ner Rule. Geht das mit der original FW nicht?

                Sieht dann so aus:

                Rule1 on Power1#State=1 do websend [192.168.100.35:80,admin:joker] POWER1 ON endon on Power1#State=0 do websend [192.168.100.35:80,admin:joker] POWER1 OFF endon
                

                Also recht übersichtliche und das bei jede Schalter mit jeweils der IP eines andern Schalter der im Verbund arbeiten soll.
                Läuft bei mir seit Jahren stabil.

                UHU01U Offline
                UHU01U Offline
                UHU01
                wrote on last edited by UHU01
                #7

                @jan1 said in Oder Schaltung für Taster funktioniert nicht:

                @uhu01
                Kann die Shelly FW kein Websend? Mit Tasmota machst so was ganz ohne Script über Websend und ner Rule. Geht das mit der original FW nicht?

                Sieht dann so aus:

                Rule1 on Power1#State=1 do websend [192.168.100.35:80,admin:joker] POWER1 ON endon on Power1#State=0 do websend [192.168.100.35:80,admin:joker] POWER1 OFF endon
                

                Also recht übersichtliche und das bei jede Schalter mit jeweils der IP eines andern Schalter der im Verbund arbeiten soll.
                Läuft bei mir seit Jahren stabil.

                Es gibt "Webhooks". Ich vermute mal, dass das das gleiche ist. Die erste Generation, welche ich noch viel im Einsatz habe kann aber nur 5 je Aktor. Da ich 5 Leuchten dran habe wären die also alle schon für an/aus aufgebraucht. Da wollte ich lieber gleich die langfristiger Lösung nutzen. Davon ab sind das RGBW Leuchtmittel und ich will dann noch verschiedene andere Spielereien damit umsetzen, die dann wahrscheinlich nicht mehr so leicht per Webhook funktionieren.

                Habe jetzt beispielsweise auch eine Xiaomi-Leuchte über die Longpress Aktion des Shelly mit dazugenommen. Denke das geht mit Bordmitteln nur bedingt.

                J 1 Reply Last reply
                0
                • UHU01U UHU01

                  @jan1 said in Oder Schaltung für Taster funktioniert nicht:

                  @uhu01
                  Kann die Shelly FW kein Websend? Mit Tasmota machst so was ganz ohne Script über Websend und ner Rule. Geht das mit der original FW nicht?

                  Sieht dann so aus:

                  Rule1 on Power1#State=1 do websend [192.168.100.35:80,admin:joker] POWER1 ON endon on Power1#State=0 do websend [192.168.100.35:80,admin:joker] POWER1 OFF endon
                  

                  Also recht übersichtliche und das bei jede Schalter mit jeweils der IP eines andern Schalter der im Verbund arbeiten soll.
                  Läuft bei mir seit Jahren stabil.

                  Es gibt "Webhooks". Ich vermute mal, dass das das gleiche ist. Die erste Generation, welche ich noch viel im Einsatz habe kann aber nur 5 je Aktor. Da ich 5 Leuchten dran habe wären die also alle schon für an/aus aufgebraucht. Da wollte ich lieber gleich die langfristiger Lösung nutzen. Davon ab sind das RGBW Leuchtmittel und ich will dann noch verschiedene andere Spielereien damit umsetzen, die dann wahrscheinlich nicht mehr so leicht per Webhook funktionieren.

                  Habe jetzt beispielsweise auch eine Xiaomi-Leuchte über die Longpress Aktion des Shelly mit dazugenommen. Denke das geht mit Bordmitteln nur bedingt.

                  J Offline
                  J Offline
                  Jan1
                  wrote on last edited by
                  #8

                  @uhu01
                  War auch nur eine Idee ;)

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  933

                  Online

                  32.4k

                  Users

                  81.5k

                  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