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

  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Microcontroller
  5. Schaltproblem mit Sonoff TX Ultimate

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Schaltproblem mit Sonoff TX Ultimate

Geplant Angeheftet Gesperrt Verschoben Microcontroller
37 Beiträge 4 Kommentatoren 3.3k Aufrufe 2 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.
  • S Stefan341

    @ralla66 said in Schaltproblem mit Sonoff TX Ultimate:

    @stefan341

    schön das du dies erzählst, nutzt aber nichts bei der Hilfe.

    Das ist mir klar. Du erwähntest allerdings das es nur mit verbundenem NQTT geht. Ich wollte auch mal was schlaues beitragen, damit es nicht so einseitig bleibt ;)

    Wie ist der Text.

    IMG_3780.jpeg

    Welcher Chip verbaut ist, schaue ich später. Dazu muss ich ja erstmal wieder alles auseinander bauen :anguished:

    Ralla66R Offline
    Ralla66R Offline
    Ralla66
    Most Active
    schrieb am zuletzt editiert von
    #21

    @stefan341

    welche .bin haste denn draufgebügelt.
    Wenn du was schlaues beitragen möchtes lies mal gute Beiträge erstellen. :-)

    S 1 Antwort Letzte Antwort
    0
    • Ralla66R Ralla66

      @stefan341

      welche .bin haste denn draufgebügelt.
      Wenn du was schlaues beitragen möchtes lies mal gute Beiträge erstellen. :-)

      S Online
      S Online
      Stefan341
      schrieb am zuletzt editiert von Stefan341
      #22

      @ralla66 said in Schaltproblem mit Sonoff TX Ultimate:

      @stefan341

      welche .bin haste denn draufgebügelt.

      Tasmota32 in der deutschen Version.

      Wenn du was schlaues beitragen möchtes lies mal gute Beiträge erstellen. :-)

      Gute Beiträge im Sinn von ausführlichen Beiträgen in grammatisch korrekter Schreibweise? Da habe ich mich angepasst und zb an diesem

      @ralla66 said in Schaltproblem mit Sonoff TX Ultimate:

      @stefan341

      Panel Driver

      orientiert ;)

      1 Antwort Letzte Antwort
      0
      • Ralla66R Ralla66

        @stefan341

        schön das du dies erzählst, nutzt aber nichts bei der Hilfe.
        Wie ist der Text.
        Dann teste mit einem Multimeter ob der GPIO wirklich geschaltet wird.
        Eventuell kannst du auch mit einer Generic.bin versuchen die Relais aus der GUI zu schalten.
        Damit weißt du dann das die .bin die Relais steuern kann. Mit hoher Wahrscheinlichkeit
        kommendie Daten vom Touchpanel übers IC im ESP an. Sonst wären keine Meldungen da.
        Dann bleibt nur noch die seriellen Daten fürs Relais sind falsch oder die Tasmota.bin passt
        nicht zum ESP. Welcher ESP geflasht wird siehst du beim beginn des Flashvorganges oder
        ließt das am ESP selbst ab.
        Ein Hinweiß über die Version des Mainboards sowie die Panell ID,der verbaute IC, sowie vom
        ESP ist nie verkehrt.

        S Online
        S Online
        Stefan341
        schrieb am zuletzt editiert von
        #23

        @ralla66
        Folgenden Screenshot hatte ich noch versprochen

        IMG_3782.jpeg

        S 1 Antwort Letzte Antwort
        0
        • S Stefan341

          @ralla66
          Folgenden Screenshot hatte ich noch versprochen

          IMG_3782.jpeg

          S Online
          S Online
          Stefan341
          schrieb am zuletzt editiert von
          #24

          Da der Fehler ja scheinbar nicht so einfach zu lokalisieren ist und die Betätigung des Touch ja in der Konsole zu sehen und das Relais ja über den Datenpunkt geschaltet werden kann, habe ich mir überlegt, ob es nicht eine Möglichkeit wäre, das Ganze über ein Script zu schalten. Also wenn der Touch betätigt wird, dass ein Script den jeweiligen Datenpunkt und damit das Relais schaltet. Den Datenpunkt per Schrift schalten bekomme ich hin. Mein Problem ist dann nur die Abfrage des Triggers (also wenn der Touch betätigt wird).

          Hat dazu jemand eine Idee?

          @Codierknecht oder @Dieter_P vielleicht?

          CodierknechtC D 2 Antworten Letzte Antwort
          0
          • S Stefan341

            Da der Fehler ja scheinbar nicht so einfach zu lokalisieren ist und die Betätigung des Touch ja in der Konsole zu sehen und das Relais ja über den Datenpunkt geschaltet werden kann, habe ich mir überlegt, ob es nicht eine Möglichkeit wäre, das Ganze über ein Script zu schalten. Also wenn der Touch betätigt wird, dass ein Script den jeweiligen Datenpunkt und damit das Relais schaltet. Den Datenpunkt per Schrift schalten bekomme ich hin. Mein Problem ist dann nur die Abfrage des Triggers (also wenn der Touch betätigt wird).

            Hat dazu jemand eine Idee?

            @Codierknecht oder @Dieter_P vielleicht?

            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #25

            @stefan341
            Mangels passender Hardware muss ich passen :-(

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.0.18 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            1 Antwort Letzte Antwort
            0
            • S Stefan341

              Da der Fehler ja scheinbar nicht so einfach zu lokalisieren ist und die Betätigung des Touch ja in der Konsole zu sehen und das Relais ja über den Datenpunkt geschaltet werden kann, habe ich mir überlegt, ob es nicht eine Möglichkeit wäre, das Ganze über ein Script zu schalten. Also wenn der Touch betätigt wird, dass ein Script den jeweiligen Datenpunkt und damit das Relais schaltet. Den Datenpunkt per Schrift schalten bekomme ich hin. Mein Problem ist dann nur die Abfrage des Triggers (also wenn der Touch betätigt wird).

              Hat dazu jemand eine Idee?

              @Codierknecht oder @Dieter_P vielleicht?

              D Offline
              D Offline
              Dieter_P
              schrieb am zuletzt editiert von Dieter_P
              #26

              @stefan341
              Wenn ich das im schnellen Überflug richtig verstehe, dann funktioniert das bei Dir schon recht gut/weit.

              Was Du aber noch nicht gemacht hast ist die individuelle Anpassung was mit den erkannten Zuständen (zB Touch, Short und Long-Press) gemacht werden soll. Das ist individuell per Rule in Tasmota anzulegen. Wie hier als Beispiel auf der Templateseite beschrieben:

              f9e77df3-d0cf-4506-a15d-8db005f3e4cd-grafik.png

              Die Regeln zB "bei Longpress schalte Relay 1", gilt es noch in Tasmota einzutragen bzw. vorher nach Deinen Wünschen zu erstellen.

              Ohne die Regeln für die Aktionen passiert genau das beschriebene. Tasmota erkennt den Tastendruck aber macht damit nix.

              Edit: Bei den Tasmota Regeln muß ich mir das auch eher ausknobeln, würde aber mal so testen:

              rule1 on TXultimate#Action=Short#channel=1 do Power1 2 endon
              
              

              danach noch die Regel aktivieren mit

              Rule1 1
              

              Und was sagt Relay 1 mit Taste 1 dazu?

              S 1 Antwort Letzte Antwort
              0
              • D Dieter_P

                @stefan341
                Wenn ich das im schnellen Überflug richtig verstehe, dann funktioniert das bei Dir schon recht gut/weit.

                Was Du aber noch nicht gemacht hast ist die individuelle Anpassung was mit den erkannten Zuständen (zB Touch, Short und Long-Press) gemacht werden soll. Das ist individuell per Rule in Tasmota anzulegen. Wie hier als Beispiel auf der Templateseite beschrieben:

                f9e77df3-d0cf-4506-a15d-8db005f3e4cd-grafik.png

                Die Regeln zB "bei Longpress schalte Relay 1", gilt es noch in Tasmota einzutragen bzw. vorher nach Deinen Wünschen zu erstellen.

                Ohne die Regeln für die Aktionen passiert genau das beschriebene. Tasmota erkennt den Tastendruck aber macht damit nix.

                Edit: Bei den Tasmota Regeln muß ich mir das auch eher ausknobeln, würde aber mal so testen:

                rule1 on TXultimate#Action=Short#channel=1 do Power1 2 endon
                
                

                danach noch die Regel aktivieren mit

                Rule1 1
                

                Und was sagt Relay 1 mit Taste 1 dazu?

                S Online
                S Online
                Stefan341
                schrieb am zuletzt editiert von
                #27

                @dieter_p
                Jetzt wo du es sagst.... Die ausführliche Beschreibung gibt es ja leider nur bei der Anleitung für den 1Ch. Das kann logischerweise nicht mit dem 3Ch funktionieren. Genau die Regel hatte ich genommen. :confused:

                Aber: beim 2Ch hatte ich auch die Regel von der Anleitung des 1Ch genommen. Da funktioniert es.

                Ich habe jetzt mal deine Regel versucht.

                Bildschirmfoto 2024-03-07 um 22.24.49.png

                Bildschirmfoto 2024-03-07 um 22.20.21.png

                Schalten funktioniert leider immernoch nicht.

                D 2 Antworten Letzte Antwort
                0
                • S Stefan341

                  @dieter_p
                  Jetzt wo du es sagst.... Die ausführliche Beschreibung gibt es ja leider nur bei der Anleitung für den 1Ch. Das kann logischerweise nicht mit dem 3Ch funktionieren. Genau die Regel hatte ich genommen. :confused:

                  Aber: beim 2Ch hatte ich auch die Regel von der Anleitung des 1Ch genommen. Da funktioniert es.

                  Ich habe jetzt mal deine Regel versucht.

                  Bildschirmfoto 2024-03-07 um 22.24.49.png

                  Bildschirmfoto 2024-03-07 um 22.20.21.png

                  Schalten funktioniert leider immernoch nicht.

                  D Offline
                  D Offline
                  Dieter_P
                  schrieb am zuletzt editiert von
                  #28

                  @stefan341

                  Mmh, Tasmota und Regeln ist nicht meins. Vielleicht kommt da noch ein Hinweis.

                  Worum es ja aktuell geht ist die Schalter den Relais zuzuweisen. Dafür gilt es in der Regel Schalter 1,2,3 zu unterscheiden. Wenn ich es richtig sehe aus deinen Logs ist das dann aber nicht Channel 1,2,3 sondern Channel 1,5,10.

                  Mein Beispielversuch oben war als Trigger für Channel 1 und funktioniert dennoch nicht. Also stimmt wohl was mit der Schreibweise nicht.

                  Hoffe jemand kann dir helfen.

                  Wenn es gar nicht klappt, bleibt die Lösung über IOBroker. Dort solltest du per Mqtt die Änderung des Schalters bekommen. Daraus kann man ja wieder als Blockly das Relay auslösen lassen. Finde ich nicht ideal sowas quer durchs Netzwerk zu jagen, das macht es nur langsam und verringert die Verfügbarkeit aber besser als keine Lösung.

                  1 Antwort Letzte Antwort
                  0
                  • S Stefan341

                    @dieter_p
                    Jetzt wo du es sagst.... Die ausführliche Beschreibung gibt es ja leider nur bei der Anleitung für den 1Ch. Das kann logischerweise nicht mit dem 3Ch funktionieren. Genau die Regel hatte ich genommen. :confused:

                    Aber: beim 2Ch hatte ich auch die Regel von der Anleitung des 1Ch genommen. Da funktioniert es.

                    Ich habe jetzt mal deine Regel versucht.

                    Bildschirmfoto 2024-03-07 um 22.24.49.png

                    Bildschirmfoto 2024-03-07 um 22.20.21.png

                    Schalten funktioniert leider immernoch nicht.

                    D Offline
                    D Offline
                    Dieter_P
                    schrieb am zuletzt editiert von
                    #29

                    @stefan341 said in Schaltproblem mit Sonoff TX Ultimate:

                    Aber: beim 2Ch hatte ich auch die Regel von der Anleitung des 1Ch genommen. Da funktioniert es.

                    Ah, guter Hinweis und hier steht wie es geht: https://templates.blakadder.com/sonoff_T5-2C-86.html

                    rule2 On TXultimate#Action$!Touch do break
                      rule2 + On TXUltimate#Channel=1 do power1 toggle endon
                      rule2 + On TXUltimate#Channel=5 do power2 toggle endon
                      rule2 + On TXUltimate#Channel=10 do power3 toggle endon
                    
                    rule2 1
                    
                    S 1 Antwort Letzte Antwort
                    0
                    • D Dieter_P

                      @stefan341 said in Schaltproblem mit Sonoff TX Ultimate:

                      Aber: beim 2Ch hatte ich auch die Regel von der Anleitung des 1Ch genommen. Da funktioniert es.

                      Ah, guter Hinweis und hier steht wie es geht: https://templates.blakadder.com/sonoff_T5-2C-86.html

                      rule2 On TXultimate#Action$!Touch do break
                        rule2 + On TXUltimate#Channel=1 do power1 toggle endon
                        rule2 + On TXUltimate#Channel=5 do power2 toggle endon
                        rule2 + On TXUltimate#Channel=10 do power3 toggle endon
                      
                      rule2 1
                      
                      S Online
                      S Online
                      Stefan341
                      schrieb am zuletzt editiert von
                      #30

                      @dieter_p said in Schaltproblem mit Sonoff TX Ultimate:

                      rule2 On TXultimate#Action$!Touch do break
                        rule2 + On TXUltimate#Channel=1 do power1 toggle endon
                        rule2 + On TXUltimate#Channel=5 do power2 toggle endon
                        rule2 + On TXUltimate#Channel=10 do power3 toggle endon
                      
                      rule2 1
                      

                      Super. das funktioniert...

                      Bei den Backlights Effects steht

                        rule3 On Power1#state do Backlog Fade 0; Speed 1; scheme3 13; Delay 60; Color 040300 endon
                        rule3 + On Power2#state do Backlog Fade 0; Speed 1; scheme3 10; Delay 60; Color 040300 endon
                      
                      

                      Das müsste ich jetzt noch für Power3 haben. Das einzige was sich ändert ist ja die Angabe bei scheme3. Aber was müsste da bei dem dritten Schalter angegeben werden?

                      D 1 Antwort Letzte Antwort
                      0
                      • S Stefan341

                        @dieter_p said in Schaltproblem mit Sonoff TX Ultimate:

                        rule2 On TXultimate#Action$!Touch do break
                          rule2 + On TXUltimate#Channel=1 do power1 toggle endon
                          rule2 + On TXUltimate#Channel=5 do power2 toggle endon
                          rule2 + On TXUltimate#Channel=10 do power3 toggle endon
                        
                        rule2 1
                        

                        Super. das funktioniert...

                        Bei den Backlights Effects steht

                          rule3 On Power1#state do Backlog Fade 0; Speed 1; scheme3 13; Delay 60; Color 040300 endon
                          rule3 + On Power2#state do Backlog Fade 0; Speed 1; scheme3 10; Delay 60; Color 040300 endon
                        
                        

                        Das müsste ich jetzt noch für Power3 haben. Das einzige was sich ändert ist ja die Angabe bei scheme3. Aber was müsste da bei dem dritten Schalter angegeben werden?

                        D Offline
                        D Offline
                        Dieter_P
                        schrieb am zuletzt editiert von
                        #31

                        @stefan341 said in Schaltproblem mit Sonoff TX Ultimate:

                        Das müsste ich jetzt noch für Power3 haben. Das einzige was sich ändert ist ja die Angabe bei scheme3. Aber was müsste da bei dem dritten Schalter angegeben werden?

                        Gute Frage. Ich sehe noch nirgendwo wie scheme3 definiert ist und was scheme3 13 oder scheme3 10 überhaupt macht.

                        Wenn relay 1 geschaltet wird geht licht an und wenn relay2 dazu kommt geht licht aus?

                        S 1 Antwort Letzte Antwort
                        0
                        • D Dieter_P

                          @stefan341 said in Schaltproblem mit Sonoff TX Ultimate:

                          Das müsste ich jetzt noch für Power3 haben. Das einzige was sich ändert ist ja die Angabe bei scheme3. Aber was müsste da bei dem dritten Schalter angegeben werden?

                          Gute Frage. Ich sehe noch nirgendwo wie scheme3 definiert ist und was scheme3 13 oder scheme3 10 überhaupt macht.

                          Wenn relay 1 geschaltet wird geht licht an und wenn relay2 dazu kommt geht licht aus?

                          S Online
                          S Online
                          Stefan341
                          schrieb am zuletzt editiert von Stefan341
                          #32

                          @dieter_p said in Schaltproblem mit Sonoff TX Ultimate:

                          Gute Frage. Ich sehe noch nirgendwo wie scheme3 definiert ist und was scheme3 13 oder scheme3 10 überhaupt macht.

                          Wenn ich einen Schaltet betätige, läuft für ein paar Sekunden ein Lauflicht um den Schalter. Beim linken Schalter in rot, beim rechten in blau. Könnte es sein, dass mit scheme die Farbe des Lichtes festgelegt wird, also zb für „Farbschema“ steht?

                          Wenn relay 1 geschaltet wird geht licht an und wenn relay2 dazu kommt geht licht aus?

                          Gute Frage, wenn Schalter 1 Relais 1 schaltet und Schalter 2, Relais 2, dann nicht.
                          Beide werden unabhängig voneinander mit dem jeweiligen Touch geschaltet.

                          Ralla66R 1 Antwort Letzte Antwort
                          0
                          • S Stefan341

                            @dieter_p said in Schaltproblem mit Sonoff TX Ultimate:

                            Gute Frage. Ich sehe noch nirgendwo wie scheme3 definiert ist und was scheme3 13 oder scheme3 10 überhaupt macht.

                            Wenn ich einen Schaltet betätige, läuft für ein paar Sekunden ein Lauflicht um den Schalter. Beim linken Schalter in rot, beim rechten in blau. Könnte es sein, dass mit scheme die Farbe des Lichtes festgelegt wird, also zb für „Farbschema“ steht?

                            Wenn relay 1 geschaltet wird geht licht an und wenn relay2 dazu kommt geht licht aus?

                            Gute Frage, wenn Schalter 1 Relais 1 schaltet und Schalter 2, Relais 2, dann nicht.
                            Beide werden unabhängig voneinander mit dem jeweiligen Touch geschaltet.

                            Ralla66R Offline
                            Ralla66R Offline
                            Ralla66
                            Most Active
                            schrieb am zuletzt editiert von Ralla66
                            #33

                            @stefan341

                            Light

                            @Dieter_P

                            der zweite Wert ist beim ESP32 eigentlich der GPIO
                            Scheme3 13 ist dann Scheme3 und GPIO 13.
                            3 = cycle down through colors using Speed option
                            Nach Template ist GPIO 13 -> WS2812 1
                            und 10 ist GPIO 10 -> None

                            • Fade 0 = do not use fade (default)
                            • Speed 1..40 = set fade speed from fast 1 to very slow 40
                              The Speed value represents the time in 0.5s to fade from 0 to 100%
                            • Channel<x> 0..100 = set PWM channel dimmer value from 0 to 100%
                            • Scheme Light effects
                              3 = cycle down through colors using Speed option
                            • Color<x>
                              <value>
                              #RRGGBB = set hex color value for RGB lights

                            Color 040300 dürfte Black sein

                            D 1 Antwort Letzte Antwort
                            0
                            • Ralla66R Ralla66

                              @stefan341

                              Light

                              @Dieter_P

                              der zweite Wert ist beim ESP32 eigentlich der GPIO
                              Scheme3 13 ist dann Scheme3 und GPIO 13.
                              3 = cycle down through colors using Speed option
                              Nach Template ist GPIO 13 -> WS2812 1
                              und 10 ist GPIO 10 -> None

                              • Fade 0 = do not use fade (default)
                              • Speed 1..40 = set fade speed from fast 1 to very slow 40
                                The Speed value represents the time in 0.5s to fade from 0 to 100%
                              • Channel<x> 0..100 = set PWM channel dimmer value from 0 to 100%
                              • Scheme Light effects
                                3 = cycle down through colors using Speed option
                              • Color<x>
                                <value>
                                #RRGGBB = set hex color value for RGB lights

                              Color 040300 dürfte Black sein

                              D Offline
                              D Offline
                              Dieter_P
                              schrieb am zuletzt editiert von
                              #34

                              @ralla66 said in Schaltproblem mit Sonoff TX Ultimate:

                              @stefan341

                              Light

                              @Dieter_P

                              der zweite Wert ist beim ESP32 eigentlich der GPIO
                              Scheme3 13 ist dann Scheme3 und GPIO 13.
                              3 = cycle down through colors using Speed option
                              Nach Template ist GPIO 13 -> WS2812 1
                              und 10 ist GPIO 10 -> None

                              Danke. Bei allen XT Ultimate (1,2,3-Gang) ist nur eine adressierbare W2812 am GPIO 13 angeschlossen. Was macht dann die 2te Zeile GPIO 10für einen Sinn aus der Beschreibung? Ich verstehe diese Vorlage der Regel nicht.

                              Ralla66R 1 Antwort Letzte Antwort
                              0
                              • D Dieter_P

                                @ralla66 said in Schaltproblem mit Sonoff TX Ultimate:

                                @stefan341

                                Light

                                @Dieter_P

                                der zweite Wert ist beim ESP32 eigentlich der GPIO
                                Scheme3 13 ist dann Scheme3 und GPIO 13.
                                3 = cycle down through colors using Speed option
                                Nach Template ist GPIO 13 -> WS2812 1
                                und 10 ist GPIO 10 -> None

                                Danke. Bei allen XT Ultimate (1,2,3-Gang) ist nur eine adressierbare W2812 am GPIO 13 angeschlossen. Was macht dann die 2te Zeile GPIO 10für einen Sinn aus der Beschreibung? Ich verstehe diese Vorlage der Regel nicht.

                                Ralla66R Offline
                                Ralla66R Offline
                                Ralla66
                                Most Active
                                schrieb am zuletzt editiert von Ralla66
                                #35

                                @dieter_p

                                keine Ahnung, teilweise schaltet man in Tasmota virtuell, um Werte zu übergeben.
                                eventuell schalte Power 1 mit den Parametern, Power 2 mache nix.

                                S 1 Antwort Letzte Antwort
                                1
                                • Ralla66R Ralla66

                                  @dieter_p

                                  keine Ahnung, teilweise schaltet man in Tasmota virtuell, um Werte zu übergeben.
                                  eventuell schalte Power 1 mit den Parametern, Power 2 mache nix.

                                  S Online
                                  S Online
                                  Stefan341
                                  schrieb am zuletzt editiert von
                                  #36

                                  Folgendes Problem habe ich noch:
                                  Ich steuere das Backlight über folgendes Skript, nämlich so, dass das Backlight nur an ist, wenn es dunkel ist.

                                  Bildschirmfoto 2024-03-08 um 21.58.45.png
                                  (nicht wundern, ich habe momentan zwei von den Schaltern, darum zwei Datenpunkte)

                                  Seitdem ich jetzt diese "Lauflichtbestätigung" habe wenn ein Schalter betätigt wird, wird nach dem Lauflicht das Backlight wieder angeschaltet (obwohl es durch das vorherige Skript eigentlich aus ist, es ist also Tag und hell draußen)

                                  Ich habe mir gedacht, ok, dann schreibe ich eben noch ein Skript, was das Backlight eben wieder ausschaltet wenn das Lauflicht fertig ist. Herausgekommen ist folgendes:
                                  Bildschirmfoto 2024-03-08 um 22.00.54.png
                                  (der Timeout ist die Dauer des Lauflichts nach Betätigung der Schalter. Die Trigger sind die Schalter, da es ein 2Ch ist, also zwei Trigger. Unten der DP Set ist der DP für das Backlight).

                                  Das kuriose ist, habe ich die beiden Skripte aktiv und drücke einen Schalter, lasse das Licht schalten, warte aber nicht ab bis das Lauflicht fertig ist und drücke während das Lauflicht noch läuft den zweiten Schalter, bekomme ich eine Dauerschleife.

                                  Ist das letzte Skript nicht aktiv, und ich mache das Szenario nochmal, schalten beide Schalter normal, das erste Lauflicht läuft ganz normal zu Ende und das zweite folgt. So wie es sein sollte.

                                  Lange Rede kurzer Sinn, wenn der Schalter nach den Lauflichtern nicht grundsätzlich das Backlight an machen würde, wäre das Problem gelöst und ich hätte ein Skript gespart... oder habe ich einen Fehler in den Skripten?

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • S Stefan341

                                    Folgendes Problem habe ich noch:
                                    Ich steuere das Backlight über folgendes Skript, nämlich so, dass das Backlight nur an ist, wenn es dunkel ist.

                                    Bildschirmfoto 2024-03-08 um 21.58.45.png
                                    (nicht wundern, ich habe momentan zwei von den Schaltern, darum zwei Datenpunkte)

                                    Seitdem ich jetzt diese "Lauflichtbestätigung" habe wenn ein Schalter betätigt wird, wird nach dem Lauflicht das Backlight wieder angeschaltet (obwohl es durch das vorherige Skript eigentlich aus ist, es ist also Tag und hell draußen)

                                    Ich habe mir gedacht, ok, dann schreibe ich eben noch ein Skript, was das Backlight eben wieder ausschaltet wenn das Lauflicht fertig ist. Herausgekommen ist folgendes:
                                    Bildschirmfoto 2024-03-08 um 22.00.54.png
                                    (der Timeout ist die Dauer des Lauflichts nach Betätigung der Schalter. Die Trigger sind die Schalter, da es ein 2Ch ist, also zwei Trigger. Unten der DP Set ist der DP für das Backlight).

                                    Das kuriose ist, habe ich die beiden Skripte aktiv und drücke einen Schalter, lasse das Licht schalten, warte aber nicht ab bis das Lauflicht fertig ist und drücke während das Lauflicht noch läuft den zweiten Schalter, bekomme ich eine Dauerschleife.

                                    Ist das letzte Skript nicht aktiv, und ich mache das Szenario nochmal, schalten beide Schalter normal, das erste Lauflicht läuft ganz normal zu Ende und das zweite folgt. So wie es sein sollte.

                                    Lange Rede kurzer Sinn, wenn der Schalter nach den Lauflichtern nicht grundsätzlich das Backlight an machen würde, wäre das Problem gelöst und ich hätte ein Skript gespart... oder habe ich einen Fehler in den Skripten?

                                    S Online
                                    S Online
                                    Stefan341
                                    schrieb am zuletzt editiert von Stefan341
                                    #37

                                    Nochmal zusammengefasst:

                                    zuerst setzt man das Template.
                                    Für einen 1Ch

                                    {"NAME":"TX Ultimate 1","GPIO":[0,0,7808,0,7840,3872,0,0,0,1376,0,7776,0,0,224,3232,0,480,3200,0,0,0,3840,0,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1,"CMND":"Backlog Pixels 28"}
                                    

                                    2Ch

                                    {"NAME":"TX Ultimate 2","GPIO":[0,0,7808,0,7840,3872,0,0,0,1376,0,7776,0,225,224,3232,0,480,3200,0,0,0,3840,0,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1,"CMND":"Backlog Pixels 28"}
                                    

                                    3Ch

                                    {"NAME":"TX Ultimate 3","GPIO":[0,0,7808,0,7840,3872,0,0,0,1376,0,7776,0,225,224,3232,0,480,3200,0,0,0,3840,226,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1,"CMND":"Backlog Pixels 28"}
                                    

                                    4Ch

                                    {"NAME":"TX Ultimate 4","GPIO":[0,0,7808,0,7840,3872,0,0,0,1376,0,7776,0,225,224,3232,0,480,3200,227,0,0,3840,226,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1,"CMND":"Backlog Pixels 28"}
                                    

                                    Danach erstelle ich unter Werkzeuge -> Dateisystem verwalten eine Datei mit dem Namen txultimate.be mit folgendem Inhalt:

                                    class TXUltimate : Driver
                                      static header = bytes('AA55') 
                                    
                                      var ser  # create serial port object
                                           
                                      # intialize the serial port, if unspecified Tx/Rx are GPIO 16/17
                                      def init(tx, rx)
                                        if !tx   tx = 19 end
                                        if !rx   rx = 22 end
                                        self.ser = serial(rx, tx, 115200, serial.SERIAL_8N1)
                                        tasmota.add_driver(self)
                                      end
                                    
                                      def split_55(b)
                                        var ret = []
                                        var s = size(b)   
                                        var i = s-2   # start from last-1
                                        while i > 0
                                          if b[i] == 0xAA && b[i+1] == 0x55           
                                            ret.push(b[i..s-1]) # push last msg to list
                                            b = b[(0..i-1)]   # write the rest back to b
                                          end
                                          i -= 1
                                        end
                                        ret.push(b)
                                        return ret
                                      end
                                    
                                      def crc16(data, poly)
                                        if !poly  poly = 0x1021 end
                                        # CRC-16/CCITT-FALSE HASHING ALGORITHM
                                        var crc = 0xFFFF
                                        for i:0..size(data)-1
                                          crc = crc ^ data[i] << 8
                                          for j:0..7
                                            if crc & 0x8000
                                              crc = (crc << 1) ^ poly
                                            else
                                              crc = crc << 1
                                            end
                                          end
                                        end
                                        return crc & 0xFFFF
                                      end
                                    
                                      def encode(payload)
                                        var msg_crc = self.crc16(bytes(payload)) # calc crc
                                        var b = bytes('AA55') # add header
                                        b += bytes(payload) # add payload
                                        b.add(msg_crc, -2)   # add calculated crc 2 bytes, big endian
                                        return b
                                      end
                                    
                                      
                                      # send a string payload (needs to be a valid json string)
                                      def send(payload)
                                        print("TXU: Sent =", payload)
                                        var payload_bin = self.encode(payload)
                                        self.ser.write(payload_bin)
                                        log("TXU: Sent = " + str(payload_bin), 2)
                                      end
                                    
                                      # read serial port
                                      def every_50ms()
                                        if self.ser.available() > 0
                                        var msg = self.ser.read()   # read bytes from serial as bytes
                                        import string
                                          if size(msg) > 0
                                            # print("TXU: Raw =", msg)
                                            if msg[0..1] == self.header
                                              var lst = self.split_55(msg)
                                              for i:0..size(lst)-1
                                                msg = lst[i]
                                                print(msg)
                                                var event = ""
                                                var params = ""
                                                if msg[3] == 0x02 # 02 signifies a touch event
                                                    # print('Touch event')
                                                    if msg[4] == 0x01 # data lenght 1 is a press
                                                        if   msg[5] < 0x0B 
                                                          event = "Short"
                                                          params = ',"Channel":' + str(msg[5])
                                                          print('Short press zone:', msg[5])
                                                        elif msg[5] == 0x0B 
                                                          event = "Multi"
                                                          print('Multi press')
                                                        elif msg[5] > 0x0B 
                                                          event = "Long"
                                                          params = ',"Channel":' + str(msg[5]-16)
                                                          print('Long press zone:', msg[5])         
                                                        end
                                                    elif msg[4] == 0x02 # data length 3 is a release
                                                        event = "Touch"
                                                        params = ',"Channel":' + str(msg[6])
                                                        print('Touch event:', msg[5], 'pos:', msg[6])
                                                        if msg[5] != 0x00
                                                          event = "Dash"
                                                          params = ',"From":' + str(msg[6]) + ',"To":' + str(msg[5])
                                                          print('Mini swipe channel', msg[5], '->', msg[6])
                                                        end
                                                        elif msg[4] == 0x03 # data lenght 1 is a swipe
                                                        if msg[5] == 0x0C                     
                                                            event = "Swipe right"
                                                            params = ',"From":' + str(msg[6]) + ',"To":' + str(msg[7])
                                                            print('Swipe left-right', msg[6], '->', msg[7])
                                                        elif msg[5] == 0x0D 
                                                            event = "Swipe left"
                                                            params = ',"From":' + str(msg[6]) + ',"To":' + str(msg[7])
                                                            print('Swipe right-left', msg[6], '->', msg[7])
                                                        end
                                                  end
                                                var jm = string.format("{\"TXUltimate\":{\"Action\":\"%s\"%s}}",event,params)
                                                tasmota.publish_result(jm, "RESULT") 
                                                end
                                              end
                                            end
                                          end      
                                        end
                                      end
                                    end
                                    
                                    txu=TXUltimate()
                                    

                                    und damit diese Datei auch beim Start geladen wird, noch eine weitere Datei mit dem Namen autoexec.be mit dem Inhalt

                                    load("txultimate.be")
                                    

                                    Dann geht es weiter mit den Rules. Ich lasse ganz bewusst Rule1 von dieser Seite weg, da sie bei mir ziemliches Chaos verursacht. Bei Mehrchannelschaltern werden z.b. die Channel wild durcheinander geschaltet. Außerdem habe ich bei mir das Backlight per Script geschaltet. Es schaltet sich abends an und morgens aus. Das funktioniert mit der Rule auch nicht, da es sich dann bei jedem Tastendruck an- bzw ausschaltet.

                                    Damit der Touch die Relais schaltet, benutze ich folgende Rule von @Dieter_P

                                    rule2 On TXultimate#Action$!Touch do break
                                      rule2 + On TXUltimate#Channel=1 do power1 toggle endon
                                      rule2 + On TXUltimate#Channel=<xxx> do power1 toggle endon
                                      rule2 + On TXUltimate#Channel=5 do power2 toggle endon
                                      rule2 + On TXUltimate#Channel=<xxx> do power2 toggle endon
                                      rule2 + On TXUltimate#Channel=10 do power3 toggle endon
                                      rule2 + On TXUltimate#Channel=<xxx> do power3 toggle endon
                                    

                                    Hier im Beispiel für einen 3Ch-Schalter. Wobei ich aber nicht einfach die Channel übernehme, sondern sie selber austeste. Da man sowieso in der Konsole ist, muss man hier nur auf das Touch an der gewünschten Stelle drücken und die Konsole gibt den Channel aus. Den übernehme ich dann in die Rule, hier gekennzeichnet mit dem <xxx>.

                                    Das wars eigentlich auch schon. Der Schalter sollte nun funktionieren.

                                    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

                                    288

                                    Online

                                    32.4k

                                    Benutzer

                                    81.4k

                                    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