Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Oder Schaltung für Taster funktioniert nicht

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Oder Schaltung für Taster funktioniert nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • UHU01
      UHU01 last edited by 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

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @UHU01 last edited by

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

        UHU01 1 Reply Last reply Reply Quote 0
        • UHU01
          UHU01 @Asgothian last edited by 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.

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @UHU01 last edited by

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

            UHU01 1 Reply Last reply Reply Quote 1
            • UHU01
              UHU01 @Asgothian last edited by

              @asgothian
              Funktioniert. Danke!

              J 1 Reply Last reply Reply Quote 0
              • J
                Jan1 @UHU01 last edited by 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.

                UHU01 1 Reply Last reply Reply Quote 0
                • UHU01
                  UHU01 @Jan1 last edited by 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 1 Reply Last reply Reply Quote 0
                  • J
                    Jan1 @UHU01 last edited by

                    @uhu01
                    War auch nur eine Idee 😉

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    636
                    Online

                    31.9k
                    Users

                    80.2k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    175
                    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