Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst]Wechselschaltung

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst]Wechselschaltung

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Jan1 @Dominik F. last edited by

      @dominik-f
      fertig ist Deine Wechselschaltung. Für jeden weiteren Schalter ein Block mehr und nein, es kommt sonst nix dazu.
      3f1d0e09-d6c2-4f83-92c1-b7db2f90697a-grafik.png

      Dominik F. 1 Reply Last reply Reply Quote 0
      • Dominik F.
        Dominik F. @Jan1 last edited by

        @jan1

        Ich danke dir, leider funktioniert das nicht 😕 Wenn ich den einen Schalter auf True schalte, dann geht die Lampe an, der andere Schalter bleibt jedoch auf false. Ich muss den zweiten schalter also erst auf True stellen, um danach die Lampe wieder ausschalten zu können.

        Dominik F. J 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @Dominik F. last edited by paul53

          @dominik-f sagte: Ich habe 2 Schalter (hmip-bsm)

          Sind das zwei normale Schalter, d.h. der Datenpunkt-Wert (false/true) hängt von der Stellung der Schaltwippe ab?
          Dann sollte es so funktionieren:

          Bild_2022-02-21_132119.png

          Erklärung: Wenn bei einem Schalter die Wippenstellung geändert wird, wird getriggert und das Licht umgeschaltet (toggle).

          1 Reply Last reply Reply Quote 0
          • Dominik F.
            Dominik F. @Dominik F. last edited by

            Da ich immer verwirrter werde und das Gefühl habe weniger zu verstehen, beschreibe ich nochmal genauer die Taster.

            So sieht der Schalter aus:

            Unbenannt.PNG

            Die Taster sind von Weksteinstellung so eingestellt, dass der obere Taster immer auf true schaltet, der untere immer auf false.
            Sie können jedoch auch so eingestellt werden, dass jeder Tastendruck den State ändert.

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Dominik F. last edited by paul53

              @dominik-f sagte: Sie können jedoch auch so eingestellt werden, dass jeder Tastendruck den State ändert.

              Das muss dann eingestellt werden.

              Alternativ wertet man alle 4 Tasten aus:

              Bild_2022-02-21_133609.png

              Dominik F. 1 Reply Last reply Reply Quote 0
              • Dominik F.
                Dominik F. @paul53 last edited by

                @paul53

                Das mit dem Auswerten der Tasten funktioniert nicht, wenn ich die Tasten betätige, dann ändert sich der Wert der Tasten nicht.

                Das erste Bild von dir hat teilweise funktioniert. Es klappt irgendwie, aber manchmal geht die Lampe erst nach mehreren Sekunden an, mal geht es gar nicht, mal funktioniert es

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Dominik F. last edited by paul53

                  @dominik-f sagte: wenn ich die Tasten betätige, dann ändert sich der Wert der Tasten nicht.

                  Deshalb muss auf "ist wahr" (s. Bild) oder "wurde aktualisiert" getriggert werden , da "PRESS_SHORT" immer true ist und nur den Zeitstempel aktualisiert.

                  Dominik F. 1 Reply Last reply Reply Quote 0
                  • Dominik F.
                    Dominik F. @paul53 last edited by Dominik F.

                    @paul53

                    Eventuell liegt dort das Problem:

                    Unbenannt.PNG

                    Edit:

                    Der Zeitstempel aktualisiert sich auch nicht. Laut Stempel wurde gestern irgendwann das letzte mal aktualisiert

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Dominik F. last edited by

                      @dominik-f sagte: Eventuell liegt dort das Problem:

                      Die CCU sendet die Tasten nicht an ioBroker. Gibt es ein Dummy-Programm auf der CCU?
                      Sonst versuche mal das Aktivieren der Tasten für jeden der 4 Kanäle mit folgendem Skript:

                      // Dieses Skript einmal für jeden Taster-Kanal ausführen
                      const inst = 'hm-rpc.0'; // Instanz anpassen
                      const channel = '001A5D899A7DDA:1'; // Kanal-Adresse anpassen
                       
                      sendTo(inst, 'reportValueUsage', {ID: channel, paramType: 'PRESS_SHORT', params: 1}, res => {
                          log(JSON.stringify(res));
                      });
                      
                      Dominik F. 2 Replies Last reply Reply Quote 0
                      • Dominik F.
                        Dominik F. @paul53 last edited by

                        @paul53

                        Ich weiß gar nicht was ein Dummy-Programm ist, daher schätze ich nein.

                        Ich melde mich wenn ich das Skript ausgeführt habe

                        frana120500 1 Reply Last reply Reply Quote 0
                        • frana120500
                          frana120500 @Dominik F. last edited by

                          einfach den "umschalten" block nehmen und den trigger auf "wurde aktualisiert"

                          dann ist es wurscht, welche Stellung oder welchen State irgendein Schalter hat

                          Dominik F. 1 Reply Last reply Reply Quote 0
                          • Dominik F.
                            Dominik F. @paul53 last edited by

                            @paul53

                            Ich bekomme folgende Fehlermeldung bei dem Skript:

                            hm-rpc.2
                            2022-02-21 14:25:05.889	error	Cannot call reportValueUsage: XML-RPC fault: Invalid device
                            

                            So hab ich die Daten eingetragen:

                            
                            // Dieses Skript einmal für jeden Taster-Kanal ausführen
                            const inst = 'hm-rpc.2'; // Instanz anpassen
                            const channel = '001A5D899A7DDA.1'; // Kanal-Adresse anpassen
                             
                            sendTo(inst, 'reportValueUsage', {ID: channel, paramType: 'PRESS_SHORT', params: 1}, res => {
                                log(JSON.stringify(res));
                            });
                            
                            
                            paul53 2 Replies Last reply Reply Quote 0
                            • Dominik F.
                              Dominik F. @frana120500 last edited by

                              Ich habe schon so viel getestet, dass ich leider den Wald vor lauter Bäumen nicht mehr sehe

                              @frana120500

                              Wenn ich deinen Post richtig verstehe, habe ich das weiter oben schon getestet?

                              1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Dominik F. last edited by

                                @dominik-f sagte: Fehlermeldung bei dem Skript:

                                Die Instanz "hm-rpc.2" stimmt?
                                Vielleicht funktioniert das Skript nur mit HM classic und nicht mit HmIP?
                                Dann wird eine Dummy-Programm in der CCU benötigt: Auf alle 4 Tasten-Kanäle reagieren, aber nichts ausführen.

                                Dominik F. 1 Reply Last reply Reply Quote 0
                                • Dominik F.
                                  Dominik F. @paul53 last edited by

                                  @paul53

                                  Ja, die HMIP Instanz ist die 2.
                                  Eventuell wäre es dann einfacher, dass ich die Taster auf Toggel stelle und das was du als erstes geschrieben hast ausprobiere

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @Dominik F. last edited by

                                    @dominik-f sagte: Eventuell wäre es dann einfacher, dass ich die Taster auf Toggel stelle und das was du als erstes geschrieben hast ausprobiere

                                    Ja, probiere es aus.

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      Jan1 @Dominik F. last edited by Jan1

                                      @dominik-f
                                      Wenn das nicht funktioniert, hast was falsch eingetragen, denn mit dem Block folgt der eine dem anderen DP und wenn man es in beide Richtungen haben möchte eben überkreuz mit beiden DPs, sehr einfach.
                                      Da hast wahrscheinlich auch den Schalter falsch konfiguriert und wie Paul schon schreibt, wäre toggel hier richtig.
                                      Lief bei mir sehr lange so, bis ich das Tasmota intern mit ner Rule gelöst habe, da noch einfacher.

                                      1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @Dominik F. last edited by paul53

                                        @dominik-f sagte: So hab ich die Daten eingetragen:

                                        In Zeile 4 ist ein Fehler: Doppelpunkt anstelle Punkt eingeben (siehe meinen Post).

                                        const channel = '001A5D899A7DDA:1'; // Kanal-Adresse anpassen
                                        
                                        Dominik F. 1 Reply Last reply Reply Quote 0
                                        • Dominik F.
                                          Dominik F. @paul53 last edited by Dominik F.

                                          @paul53

                                          ich schätze, dass das dann der richtige Output ist?

                                          	script.js.common.test: {"result":true,"error":null}
                                          

                                          Das Skript läuft soweit, ich bekomme nur immer mal wieder Fehlermeldungen und manchmal funktioniert es nicht, da braucht das Licht entweder mehrere Sekunden bis es sich umschaltet oder es schaltet sich gar nicht um.

                                          
                                          hm-rpc.0
                                          2022-02-21 16:30:42.856	error	Cannot call setValue: XML-RPC fault: Failure
                                          
                                          hm-rpc.0
                                          2022-02-21 16:30:42.854	error	xmlrpc -> setValue ["OEQ0213583:1","STATE",false] BOOL
                                          
                                          hm-rpc.2
                                          2022-02-21 16:21:42.618	error	Cannot call setValue: XML-RPC fault: Generic error (TIMEOUT)
                                          
                                          hm-rpc.2
                                          2022-02-21 16:21:42.618	error	xmlrpc -> setValue ["001A5BE9A6542D:8","LEVEL",0] FLOAT
                                          
                                          hm-rpc.2
                                          2022-02-21 16:17:19.370	error	Cannot call setValue: XML-RPC fault: Generic error (TIMEOUT)
                                          
                                          hm-rpc.2
                                          2022-02-21 16:17:19.370	error	xmlrpc -> setValue ["001A5BE9A6542D:8","LEVEL",0] FLOAT
                                          

                                          Edit:

                                          Nachdem ich dein Skript nun ausgeführt habe, scheint diese Variante am besten zu funktionieren nach den ersten Tests:

                                          Unbenannt.PNG

                                          Frage dazu: Wenn ich Aliase zu den Press Short Datenpunkten erstelle, aktualisieren diese sich dann ebenfalls? Oder muss ich dazu was beachten?

                                          paul53 2 Replies Last reply Reply Quote 0
                                          • paul53
                                            paul53 @Dominik F. last edited by

                                            @dominik-f sagte: ich schätze, dass das dann der richtige Output ist?

                                            Ja. Aktualisiert jetzt die Taste bei Betätigung den Zeitstempel von "PRESS_SHORT" und der Wert ist true?

                                            Dominik F. 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            671
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            6
                                            72
                                            3332
                                            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