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. [Hilfe] Wechselschalter Skript mit Blockly für zwei Sonoffs

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    490

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

[Hilfe] Wechselschalter Skript mit Blockly für zwei Sonoffs

Scheduled Pinned Locked Moved Skripten / Logik
43 Posts 11 Posters 8.5k Views
  • 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.
  • SmarthomeMFS Offline
    SmarthomeMFS Offline
    SmarthomeMF
    wrote on last edited by
    #1

    Hallo

    Ich wollte mir ein Blockly Skript bauen für eine Wechselschaltung.

    Habe in meinem Technikraum zwei Lampen…

    jede davon ist mit einem Sonoff verbunden.

    Ich kann sie einzeln schalten......

    nun möchte ich sie beide mit einer Wechselschaltung verbinden und mit dem Skript schalten.

    Das Skript ist zwei tage perfekt gelaufen....

    gestern fingen die Lampen im VIS an zu blinken...

    nach einem Neustart des Pi ging es wieder für ca. eine Stunde.

    Danach hat sich mein Raspi immer wieder aufgehängt....

    nach langem Probieren und ca. 1000 Neustartes habe ich herausgefunden das mit dem Skript was nicht stimmt.

    Wenn ich das Skript einschalte bekomme ich immer die Meldung "Zu viele Ereignisse" und der Pi hängt sich dann nach kurzer zeit wieder auf...

    Kann mir mal jemand das Skript ansehen, ob ich da was falsch gemacht habe.

    ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
    ! <block id="bM=oT^CR!v|9X+29c0V" type="on" y="63" x="113"><field name="OID">sonoff.0.Sonoff-B-66-Technikraum-1.POWER</field>
    ! <field name="CONDITION">ne</field>
    ! <statement name="STATEMENT"><block id="/3g!xH;EDnC1}5k+7LtV" type="controls_if"><mutation elseif="1"></mutation>
    ! <value name="IF0"><block id="7O(BYc-XF=%Yxk.8Km.{" type="logic_compare"><field name="OP">EQ</field>
    ! <value name="A"><block id="3MS76#aO=~KBPDFharyU" type="get_value"><field name="ATTR">val</field>
    ! <field name="OID">sonoff.0.Sonoff-B-66-Technikraum-1.POWER</field></block></value>
    ! <value name="B"><block id="RD}K0UsQp}}^9VUt=/q" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block id="TDTHi2T(Tj8DA~jl9Drz" type="control"><mutation delay_input="false"></mutation> ! <field name="OID">sonoff.0.Sonoff-B-67-Technikraum-2.POWER</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block id="}DKJvLF%h^Ph8Hx-;O5J" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></statement> ! <value name="IF1"><block id="lLFtZxo1/H2rSL7Yrx}h" type="logic_compare"><field name="OP">EQ</field> ! <value name="A"><block id=".SONAs[O0Q,?EFN4uf96" type="get_value"><field name="ATTR">val</field> ! <field name="OID">sonoff.0.Sonoff-B-66-Technikraum-1.POWER</field></block></value> ! <value name="B"><block id="hR-l,U_7m]Gzb5a__VB;" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></value> ! <statement name="DO1"><block id="+7wj[XI5Q0zbXB0N6~*I" type="control"><mutation delay_input="false"></mutation> ! <field name="OID">sonoff.0.Sonoff-B-67-Technikraum-2.POWER</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block id="?~g8p/@SC}NA:0:N[16" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block>
    ! <block id="~CRq9O}XyfgQ+F4mCskG" type="on" y="363" x="113"><field name="OID">sonoff.0.Sonoff-B-67-Technikraum-2.POWER</field>
    ! <field name="CONDITION">ne</field>
    ! <statement name="STATEMENT"><block id="
    (Z[i-z7Ue)~wr~=/oT(" type="controls_if"><mutation elseif="1"></mutation>
    ! <value name="IF0"><block id="3l4us:}YN!rZ@Ibhp~bo" type="logic_compare"><field name="OP">EQ</field>
    ! <value name="A"><block id="4l6:T(TgaJdvs(b2Jf.;" type="get_value"><field name="ATTR">val</field>
    ! <field name="OID">sonoff.0.Sonoff-B-67-Technikraum-2.POWER</field></block></value>
    ! <value name="B"><block id="j]@j}?:ayCqHP.c}gp" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block id="[dp7bsY+L.Fp~kf1Hpda" type="control"><mutation delay_input="false"></mutation> ! <field name="OID">sonoff.0.Sonoff-B-66-Technikraum-1.POWER</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block id="^*a30A:-[eLJ/f%nJA(I" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></statement> ! <value name="IF1"><block id="jvDC]m/69s^L:)ep6i54" type="logic_compare"><field name="OP">EQ</field> ! <value name="A"><block id="q@8}SE@PZpz;nU;%!vj(" type="get_value"><field name="ATTR">val</field> ! <field name="OID">sonoff.0.Sonoff-B-67-Technikraum-2.POWER</field></block></value> ! <value name="B"><block id="rg5{,WN@||a`nm{XkEC4" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></value> ! <statement name="DO1"><block id="QM?M^3PPQY!lArNdbso@" type="control"><mutation delay_input="false"></mutation> ! <field name="OID">sonoff.0.Sonoff-B-66-Technikraum-1.POWER</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block id="j~xV:+kj]Y5hmRoL=)La" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block> ! <block id="V6AzqIh:%+F@oh[M-IQ{" type="controls_if" y="1690" x="659"><value name="IF0"><block id="!CYyilZ1svbcZ]Yf=BXd" type="logic_compare"><field name="OP">EQ</field> ! <value name="A"><block id="@Zmti,3QUsDg5gTF6tjC" type="variables_get"><field name="VAR">AnzahlVersuche</field></block></value> ! <value name="B"><block id="x=cs)@yt;A6[ua*T5FE|" type="variables_get"><field name="VAR">maxVersuche</field></block></value></block></value> ! <statement name="DO0"><block id="[d~Z|qEH+C4%5%A*xBTT" type="debug"><field name="Severity">log</field> ! <value name="TEXT"><shadow id="v.9ViGY:H4?EbA+fzjKV" type="text"><field name="TEXT">*****Eingabe gesperrt*****</field></shadow></value> ! <next><block id="[n5ODszO:tuC5u,k(.yG" type="control"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Meine Ausgabe</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block id="Aah@zHIXe2KLJQAJ%3PC" type="text"><field name="TEXT">***Eingabe gesperrt***</field></block></value> ! <next><block id="S6gk!;H4`EkxvBvkA/=Y" type="timeouts_settimeout"><field name="NAME">timeout5</field> ! <field name="DELAY">10000</field> ! <field name="UNIT">ms</field> ! <statement name="STATEMENT"><block id="E@Wpr{/lG~`?QXW7O.fn" type="control"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Meine Ausgabe</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"></value></block></statement> ! <next><block id="(l|4)g2/(/@5-swvVF@2" type="timeouts_settimeout"><field name="NAME">sperren</field> ! <field name="DELAY">10000</field> ! <field name="UNIT">ms</field> ! <statement name="STATEMENT"><block id="U22mj9gD,9P)FU@4%{K~" type="comment"><field name="COMMENT">Nach 10 Sek. wieder frei</field> ! <next><block id="d)*rJF_51+C|Z3NMW9N+" type="variables_set"><field name="VAR">AnzahlVersuche</field> ! <value name="VALUE"><block id="^)c6!p[y)V0zk(9oMl16" type="math_number"><field name="NUM">0</field></block></value> ! <next><block id="SO`ZMoZ)Os7:]]y=T3yE" type="debug"><field name="Severity">log</field> ! <value name="TEXT"><shadow id="5.ubt?0E+m)aiIY`JU" type="text"><field name="TEXT">Eingabe entsperrt</field></shadow></value>
    ! <next><block id="MLL1bpM1SIf/v#Q1O," type="control"><mutation delay_input="false"></mutation>
    ! <field name="OID">javascript.0.Meine Ausgabe</field>
    ! <field name="WITH_DELAY">FALSE</field>
    ! <value name="VALUE"><block id="6SWjw8f,gNu;FhBkmws" type="text"><field name="TEXT">***Eingabe entsperrt***</field></block></value> ! <next><block id=".-eW_1NbM;Yk}N,4+ogb" type="timeouts_settimeout"><field name="NAME">timeout6</field> ! <field name="DELAY">10</field> ! <field name="UNIT">sec</field> ! <statement name="STATEMENT"><block id="2tgtN37_A^o_NY5sg%Vx" type="control"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Meine Ausgabe</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"></value></block></statement></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></statement></block> ! <block id="40+[Zwuc!#w[b}mJ.r6u" type="controls_if" y="1730" x="679"><value name="IF0"><block id="=TduDWZ.=M|l;E
    )He[" type="logic_compare"><field name="OP">EQ</field>
    ! <value name="A"><block id="?]1qvGIq.y4K4W.GCaUe" type="variables_get"><field name="VAR">AnzahlVersuche</field></block></value>
    ! <value name="B"><block id="u,XyE@l!TlZmImssbcJ" type="variables_get"><field name="VAR">maxVersuche</field></block></value></block></value> ! <statement name="DO0"><block id="GRHW1A0JuBkcJGhviB.i" type="debug"><field name="Severity">log</field> ! <value name="TEXT"><shadow id="4d%xEx4u?v4zvjuMeVAn" type="text"><field name="TEXT">*****Eingabe gesperrt*****</field></shadow></value> ! <next><block id="B}jcavaDQ,-}ber^Ld%[" type="control"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Meine Ausgabe</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block id="_J0!gPlOtZ%5HJHQt%4@" type="text"><field name="TEXT">***Eingabe gesperrt***</field></block></value> ! <next><block id="HTIh^fFm7YS:^9w0LoG[" type="timeouts_settimeout"><field name="NAME">timeout7</field> ! <field name="DELAY">10000</field> ! <field name="UNIT">ms</field> ! <statement name="STATEMENT"><block id="8QHP+IpytkKz(cIV12{S" type="control"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Meine Ausgabe</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"></value></block></statement> ! <next><block id="U{*}LKl1,rfyh8d)(7G7" type="timeouts_settimeout"><field name="NAME">sperren2</field> ! <field name="DELAY">10000</field> ! <field name="UNIT">ms</field> ! <statement name="STATEMENT"><block id="46#gs.NO{.M;C-fo..YY" type="comment"><field name="COMMENT">Nach 10 Sek. wieder frei</field> ! <next><block id="1Ms3Quj^O)0d3^T~@+_E" type="variables_set"><field name="VAR">AnzahlVersuche</field> ! <value name="VALUE"><block id="uAG5Cc{V/lydWxVPUW]" type="math_number"><field name="NUM">0</field></block></value>
    ! <next><block id="6JR:E_@6:%yE:4Yg%^2S" type="debug"><field name="Severity">log</field>
    ! <value name="TEXT"><shadow id="z!lqJ?8O!ujEj.Hd-!" type="text"><field name="TEXT">Eingabe entsperrt</field></shadow></value>
    ! <next><block id="@H[FD%{XWsi-h[SGwdXS" type="control"><mutation delay_input="false"></mutation>
    ! <field name="OID">javascript.0.Meine Ausgabe</field>
    ! <field name="WITH_DELAY">FALSE</field>
    ! <value name="VALUE"><block id="9mEbCU.I:wlIs
    gV9fLC" type="text"><field name="TEXT">Eingabe entsperrt</field></block></value>
    ! <next><block id="7AF{wW|_q+^+@@=IcM(9" type="timeouts_settimeout"><field name="NAME">timeout8</field>
    ! <field name="DELAY">10</field>
    ! <field name="UNIT">sec</field>
    ! <statement name="STATEMENT"><block id="kVH^Ppz:,i08O@~]{!^f" type="control"><mutation delay_input="false"></mutation>
    ! <field name="OID">javascript.0.Meine Ausgabe</field>
    ! <field name="WITH_DELAY">FALSE</field>
    ! <value name="VALUE"></value></block></statement></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></statement></block></xml>
    Danke
    4668_unbenannt1.png

    Max

    ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
    Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

    1 Reply Last reply
    0
    • BBTownB Offline
      BBTownB Offline
      BBTown
      wrote on last edited by
      #2

      na ja, du schickst ja auch einen Ping-Pong zwischen den beiden Adaptern hin und her, bis der raspi aufgibt

      ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

      1 Reply Last reply
      0
      • SmarthomeMFS Offline
        SmarthomeMFS Offline
        SmarthomeMF
        wrote on last edited by
        #3

        Und was heißt das?

        Max

        ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
        Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

        1 Reply Last reply
        0
        • BBTownB Offline
          BBTownB Offline
          BBTown
          wrote on last edited by
          #4

          Präzisiere bitte einmal Deine Aufgabenstellung:

          Hast Du 2 Schalter und 2 Lampen und egal welcher Schalter benutzt wird, es sollen immer beide Lampen entweder ein- oder ausgeschaltet werden?

          ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

          1 Reply Last reply
          0
          • rantanplanR Offline
            rantanplanR Offline
            rantanplan
            wrote on last edited by
            #5

            Nun, die beiden Trigger spielen Ping Pong :D

            Das geht nicht lange gut.

            Versuche es mal so.
            147_beispiel.png

            Grüße

            Rantanplan

            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

            1 Reply Last reply
            0
            • SmarthomeMFS Offline
              SmarthomeMFS Offline
              SmarthomeMF
              wrote on last edited by
              #6

              Ja genau

              Eine einfache Wechselschaltung!

              Und ich schaffe es nicht!

              Max

              ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
              Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

              1 Reply Last reply
              0
              • rantanplanR Offline
                rantanplanR Offline
                rantanplan
                wrote on last edited by
                #7

                @SmarthomeMF:

                Und was heißt das? `

                Trigger reagieren auf Ereignisse.

                Du änderst in Trigger EINS einen Status auf den Trigger ZWEI reagiert.

                Und in Trigger ZWEI änderst Du einen Status auf den Trigger EINS reagiert.

                Ping Pong Ping Pong….............

                Rantanplan

                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                1 Reply Last reply
                0
                • BBTownB Offline
                  BBTownB Offline
                  BBTown
                  wrote on last edited by
                  #8

                  versuche es mal so:

                  Nachtrag: sorry, da war ein Fehler enthalten, so ist es besser 8-) 8-)
                  1917_2schalter2lampen.jpg

                  ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                  1 Reply Last reply
                  0
                  • lobomauL Offline
                    lobomauL Offline
                    lobomau
                    wrote on last edited by
                    #9

                    so geht es vielleicht:

                    die beiden "default" sind natürlich die beiden sonoff.power
                    1146_blockly.png

                    Host: NUC8i3 mit Proxmox:

                    • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                    • Slave: Pi4
                    1 Reply Last reply
                    0
                    • BBTownB Offline
                      BBTownB Offline
                      BBTown
                      wrote on last edited by
                      #10

                      @lobomau:

                      so geht es vielleicht:

                      die beiden "default" sind natürlich die beiden sonoff.power ` Hast du auch mit fliegenden Fingern das Beispiel getippt? 8-)

                      "Wenn beide aus sind, dann sollen beide ausgeschaltet werden?" ;)

                      ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                      1 Reply Last reply
                      0
                      • lobomauL Offline
                        lobomauL Offline
                        lobomau
                        wrote on last edited by
                        #11

                        @BBTown:

                        @lobomau:

                        so geht es vielleicht:

                        die beiden "default" sind natürlich die beiden sonoff.power ` Hast du auch mit fliegenden Fingern das Beispiel getippt? 8-)

                        "Wenn beide aus sind, dann sollen beide ausgeschaltet werden?" ;) `
                        Ehrlich gesagt, dachte ich zuerst es wäre richtig. ABer hast Recht es muss natürlich reichen, wenn einer AUS ist, das beide aus gehen.

                        Host: NUC8i3 mit Proxmox:

                        • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                        • Slave: Pi4
                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          danielis
                          wrote on last edited by
                          #12

                          Mit dem letzten Vorschlag gehen die Lampen aus, egal von welchem Schalter ausgeschaltet wurde.

                          Aber gehen sie auch wieder an??

                          Scheint mir nicht so.

                          Habe den selben Fall und auch das Problem, dass es zum Prellen kommen kann. Komischer Weise nur im Zusammenhang mit vis.

                          Ich verwende nicht blockly. Dafür JS und die on Anweisung.

                          Mit zwei einfachen on Anweisungen wird es aber immer so sein, dass der Schalter welcher bedient wird zwei Befehle bekommen wird.

                          Bsp: Beide Schalter sind aus. Einer wird betätigt. Die On Anweiseung bemerkt das und aktiviert den anderen Schalter. Der wiederum - er weiß ja nicht wo der Befehl herkommt - wird seinerseit wiederum den ersten Schalter auch einschalten.

                          Ich habe das so robuster hinbekommen:

                          Immer erst den Status abfragen und ihn nur dann schalten wenn er sich unterscheidet.

                          Außerdem habe ich für jeden Schalter einen Datenpunkt angelegt. Die erste Betätigung setzt diesen Datenpunkt und ich kann dann einfach prüfen ob der Datenpunkt true ist. Wenn er true ist, dann bedeutet das, dass es einen Schaltbefehl gab der von Hand ausgelöst wurde und jetzt der zweite ansteht der ignoriert werden kann.

                          javascript.0.productive.Esszimmer1 unten im Code ist einer der Datenpunkte die ich von Hand angelegt habe und im Skript verwende.

                          Hier mein Code: (es sind zwei Schalter mit 3 Relais, habe den Code gekürzt zum besseren Verständnis)

                          ! ````
                          function Essz(schalter, schalterWert){
                          var varString = '';
                          switch(schalter){
                          case 1:
                          varString = 'javascript.0.productive.Esszimmer1';
                          if (getState(varString).val){
                          setState(varString,false); // hier wurde erkannt, dass ein erster Durchgang durchgelaufen ist und ein zweiter nicht nötig ist
                          } else {
                          setState(varString,true); // hier wurde erkannt, dass der Datenpunkt false ist, also ist es der erste Durchlauf, und für den zweiten wird der Datenpunkt auf true gesetzt
                          if(schalterWert){ // was soll geschaltet werden, true oder false?
                          if (!getState('sonoff.0.DVES_5969DC.POWER1').val) setState('sonoff.0.DVES_5969DC.POWER1', true); // nur schalten wenn der Schalter nicht so steht wie er soll
                          if (!getState('sonoff.0.DVES_538400.POWER1').val) setState('sonoff.0.DVES_538400.POWER1', true);
                          } else {
                          if (getState('sonoff.0.DVES_5969DC.POWER1').val) setState('sonoff.0.DVES_5969DC.POWER1', false);
                          if (getState('sonoff.0.DVES_538400.POWER1').val) setState('sonoff.0.DVES_538400.POWER1', false);
                          }
                          log("Esszimmer1 "+schalterWert);
                          }
                          break;
                          case 2:
                          ...
                          case 3:
                          ...
                          }
                          }
                          ! on({id: 'sonoff.0.DVES_5969DC.POWER1', change: "ne"}, function (obj) {
                          Essz(1,obj.state.val);
                          });
                          ! on({id: 'sonoff.0.DVES_538400.POWER1', change: "ne"}, function (obj) {
                          Essz(1,obj.state.val);
                          });

                          1 Reply Last reply
                          0
                          • rantanplanR Offline
                            rantanplanR Offline
                            rantanplan
                            wrote on last edited by
                            #13

                            Bitte einen Export. Nicht den Sourcecode.

                            Den Export in die Tags "spoiler" und "code" einfügen.

                            Zudem ist dies hier die einfachste Möglichkeit zwischen true/false zu toggeln ;)

                            http://forum.iobroker.net/viewtopic.php … 18#p116476

                            Grüße

                            Rantanplan

                            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              danielis
                              wrote on last edited by
                              #14

                              Mag sein, dass das die einfachste Art ist zu toggeln.

                              Aber damit passt der Zustand sicher nicht mehr zu der Anzeige an den Tastern, zur Relaisstellung und, dass die beiden synchron sind ist auch nicht mehr sicher.

                              Wie ich schon geschrieben haben verwende ich blockly nicht, kann also nur Code anbieten.

                              1 Reply Last reply
                              0
                              • rantanplanR Offline
                                rantanplanR Offline
                                rantanplan
                                wrote on last edited by
                                #15

                                @danielis:

                                Wie ich schon geschrieben haben verwende ich blockly nicht, kann also nur Code anbieten. `

                                Sorry, aber im Titel dieses Threads steht "Blockly".

                                Da bist Du mit dem JS-Code an der falscher Stelle um Hilfe zu bekommen.

                                Grüße

                                Rantanplan

                                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                1 Reply Last reply
                                0
                                • paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by
                                  #16

                                  Vorschlag:
                                  493_blockly_wechsel.jpg
                                  bzw. als JS:

                                  ! ````
                                  const idA = '...';
                                  const idB = '...';
                                  ! var a = getState(idA).val;
                                  var b = getState(idB).val;
                                  ! on(idA, function(dp) {
                                  a = dp.state.val;
                                  if(a != b) setState(idB, a);
                                  });
                                  ! on(idB, function(dp) {
                                  b = dp.state.val;
                                  if(a != b) setState(idA, b);
                                  });

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  1 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    danielis
                                    wrote on last edited by
                                    #17

                                    Ich will keine Hilfe.

                                    Im Gegenteil, habe Hilfe angeboten.

                                    Es ging mir lediglich um das Vorgehen und dafür das Beispiel als JS-Code.

                                    Das kann von jedem einfach auch in Blockly umgesetzt werden.

                                    Sorry falls ich Verwirrung gestiftet habe. Verabschiede mich somit von hier.

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      MA72
                                      wrote on last edited by
                                      #18

                                      Hallo,

                                      bei dem blockly von paul geht bei mir ein Blinken udn permanenten Schalten los, außerdem kommt der Hinweis: Wrong type of sonoff.0.Flurlicht.POWER: "string". Please fix, while deprecated and will not work in next versions.

                                      ioBroker auf Fujitsu Mini PC mit Proxmox, nutze Sonoff (Touch, basic) mit Tasmota, Broadlink Pro, Broadlink Mini, Homematic...

                                      –Status Beginner--

                                      1 Reply Last reply
                                      0
                                      • J Offline
                                        J Offline
                                        Jan1
                                        wrote on last edited by
                                        #19

                                        Entweder ich hab's überlesen, oder die Frage wurde noch nicht beantwortet. Also was ich nicht verstehe, sollen beide Lampen auch noch einzeln zu schalten sein, oder beide immer an und aus und das eben von einem der beiden Schalter?

                                        1 Reply Last reply
                                        0
                                        • SmarthomeMFS Offline
                                          SmarthomeMFS Offline
                                          SmarthomeMF
                                          wrote on last edited by
                                          #20

                                          Hallo zusammen..

                                          wahr leider etwas beschäftigt und konnte hier nicht weiter machen….

                                          aber nun möchte ich die Wechselschaltung machen...

                                          Gibt es nun ein Blockly das funktioniert?

                                          Ich möchte zwei einzelne Lampen mit je einem Sonoff und einem Schalter gemeinsam schalten.

                                          Das heißt wenn ich Schalter eins drücke sollen bei angehen und wenn ich Schalter zwei drücke sollen auch wieder beide aus gehen...

                                          also eine Wechselachltung.

                                          Danke für die Tipps.

                                          Max

                                          ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
                                          Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

                                          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

                                          560

                                          Online

                                          32.7k

                                          Users

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