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. 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

Geplant Angeheftet Gesperrt Verschoben Blockly
8 Beiträge 3 Kommentatoren 198 Aufrufe 3 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.
  • UHU01U Offline
    UHU01U Offline
    UHU01
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #5

            @asgothian
            Funktioniert. Danke!

            J 1 Antwort Letzte Antwort
            0
            • UHU01U UHU01

              @asgothian
              Funktioniert. Danke!

              J Offline
              J Offline
              Jan1
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #8

                  @uhu01
                  War auch nur eine Idee ;)

                  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

                  978

                  Online

                  32.4k

                  Benutzer

                  81.5k

                  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