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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
43 Beiträge 11 Kommentatoren 7.9k Aufrufe
  • Ä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.
  • SmarthomeMFS Offline
    SmarthomeMFS Offline
    SmarthomeMF
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • rantanplanR Online
      rantanplanR Online
      rantanplan
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • BBTownB Online
        BBTownB Online
        BBTown
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • lobomauL Offline
          lobomauL Offline
          lobomau
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • BBTownB Online
            BBTownB Online
            BBTown
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • lobomauL Offline
              lobomauL Offline
              lobomau
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                danielis
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • rantanplanR Online
                  rantanplanR Online
                  rantanplan
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    danielis
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • rantanplanR Online
                      rantanplanR Online
                      rantanplan
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          danielis
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            MA72
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • J Offline
                              J Offline
                              Jan1
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • SmarthomeMFS Offline
                                SmarthomeMFS Offline
                                SmarthomeMF
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • rantanplanR Online
                                  rantanplanR Online
                                  rantanplan
                                  schrieb am zuletzt editiert von
                                  #21

                                  Hatte ich schon mal weiter oben beschrieben.
                                  147_beispiel.png

                                  Beim Script-Start sollten beide Lampen natürlich den gleichen Zustand haben.

                                  Grüße

                                  Rantanplan

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • WalW Online
                                    WalW Online
                                    Wal
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #22

                                    Hier noch eine Lösung die getestet ist:
                                    2551_schalter.jpg

                                    Gruß
                                    Walter

                                    DoorIO-Adapter
                                    wioBrowser-Adapter und wioBrowser

                                    1 Antwort Letzte Antwort
                                    0
                                    • SmarthomeMFS Offline
                                      SmarthomeMFS Offline
                                      SmarthomeMF
                                      schrieb am zuletzt editiert von
                                      #23

                                      @Wal:

                                      ier noch eine Lösung die getestet ist: `
                                      Danke für die Antwort

                                      Das habe ich auch schon so versucht…

                                      ich erzeuge damit einen ping pong Effekt!!

                                      die blinken nur noch und das ganze lässt sich nicht mehr stoppen!

                                      Mach ich da was falsch?
                                      4668_unbenannt_3.png
                                      4668_unbenannt_4.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 Antwort Letzte Antwort
                                      0
                                      • rantanplanR Online
                                        rantanplanR Online
                                        rantanplan
                                        schrieb am zuletzt editiert von
                                        #24

                                        @SmarthomeMF:

                                        ich erzeuge damit einen ping pong Effekt!!

                                        die blinken nur noch und das ganze lässt sich nicht mehr stoppen!

                                        Mach ich da was falsch? `

                                        Schau Die doch mal Dein Blockly an.

                                        Du schaltest innerhalb des Triggers die Datenpunkte die Du triggerst. :roll:

                                        Ist "POWER" der richtige Datenpunkt?

                                        Bei anderen ist das die Watt-Angabe vom Energieverbrauch.

                                        Mach doch mal von den Datenpunktten einen Screenshot.

                                        Grüße

                                        Rantanplan

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

                                        1 Antwort Letzte Antwort
                                        0
                                        • BBTownB Online
                                          BBTownB Online
                                          BBTown
                                          schrieb am zuletzt editiert von
                                          #25

                                          was stimmt mit diesem Lösungsvorschlag nicht?

                                          http://forum.iobroker.net/viewtopic.php … 47#p116482

                                          und was stimmt mit dem Lösungsvorschlag von rantanplan nicht?

                                          http://forum.iobroker.net/viewtopic.php … 12#p130685

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

                                          766

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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