Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. Tasmota Rules?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Tasmota Rules?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Ralla66
      Ralla66 Most Active @BertDerKleine last edited by Ralla66

      @bertderkleine sagte in Tasmota MQTT Werte erhalten:

      "sende sofort, wenn sich Wert geändert hat"

      das kann per Rule oder Scripting ausgeführt werden.

      Rules
      Scripting

      Bsp Rule :
      ON Trigger xy DO publish xy ENDON

      BertDerKleine 1 Reply Last reply Reply Quote 0
      • BertDerKleine
        BertDerKleine @Ralla66 last edited by BertDerKleine

        @ralla66 sagte in Tasmota MQTT Werte erhalten:

        @bertderkleine sagte in Tasmota MQTT Werte erhalten:

        "sende sofort, wenn sich Wert geändert hat"

        das kann per Rule oder Scripting ausgeführt werden.

        Rules
        Scripting

        Bsp Rule :
        ON Trigger xy DO publish xy ENDON

        Klasse, 👍 ich glaube das mit den rules geht tatsächlich so, wie ich das gerne hätte. Leider kann ich aber die Doku nicht richtig lesen.
        Ich habe in der Konsole mal den Befehl "Status 8" abgesetzt, der erwähnt wird. Raus kommt z.B.:

        stat/tasmota_CO2/STATUS8 = {"StatusSNS":{"Time":"2024-03-17T14:23:26","MHZ19B":{"Model":"B","CarbonDioxide":732,"Temperature":21.0},"TempUnit":"C"}}
        
        

        Mir ist nicht klar, wie ich jetzt daraus einen Trigger machen soll, wenn ich auf eine Änderung von "CarbonDioxide" mit einem Senden der Daten reagieren will.

        In der Doku liest es sich so simpel:

        DS18B20#Temperature whenever the temperature of sensor DS18B20 updates (also unchanged)

        Der Sensor ist eigentlich der MHZ19B. Aber diese JSON Darstellung mit all den Klammern verwirrt mich.

        Weisst Du, wie es nun richtig lauten würde? So?

        MHZ19B#CarbonDioxide
        
        Ralla66 2 Replies Last reply Reply Quote 0
        • Ralla66
          Ralla66 Most Active @BertDerKleine last edited by Ralla66

          @bertderkleine sagte in Tasmota MQTT Werte erhalten:

          MHZ19B#CarbonDioxide

          keine Ahnung ob der mit Tasmota Rules unterstützt wird,
          wenn wäre der Anfang
          On MHZ19B#CarbonDioxide>0 do Publish xy Endon
          also jedesmal getriggert wenn der Wert größer 0 ist.
          Zum testen kann ja bei do erst einmal ein Relay mit Power geschaltet werden.
          Sowas halt:
          ON MHZ19B#CarbonDioxide>0 DO Power1 1 ENDON

          wenn das mit Rules nicht geht dann mit scripting schnitzen,
          mit =>websend [192.168.2.xxx] /cm?cmnd=status 10 Abfrage an den ESP selbst,
          auswerten des JSON nach Wert mit
          mit >E
          ;Executed when a Tasmota MQTT RESULT message is received
          Wert=WebQuery#StatusSNS#MHZ19B#CarbonDioxide
          danach das publish

          1 Reply Last reply Reply Quote 0
          • Ralla66
            Ralla66 Most Active @BertDerKleine last edited by Ralla66

            @bertderkleine

            kannst ja mal testen mit Tasmota Scripting, IP ersetzt du mit der ESP IP,
            Datenpunkt wird in Mqtt erstellt ( nach reboot )
            Debug Infos stehen in der Tasmota Konsole,

            >D
            
            Timer=0
            Wert=0
            
            >BS
            +>subscribe EA, cmnd/Sensor/MHZ19B
            
            >S
            
            Timer+=1
            
            if Timer>2
            then
            =>websend [192.168.2.xxx] /cm?cmnd=status 10
            print ----- Websend Status 10 -----
            endif
            
            if Timer>2
            then
            +>publish Sensor/MHZ19B %Wert%
            print ----- publish %Wert% -----
            Timer=0
            endif
            
            >E
            Wert=WebQuery#StatusSNS#MHZ19B#CarbonDioxide
            
            >W
            
            MHZ19B_CarbonDioxideist{m} %0Wert%
            
            #
            
            BertDerKleine 1 Reply Last reply Reply Quote 1
            • BertDerKleine
              BertDerKleine @Ralla66 last edited by

              @ralla66 sagte in Tasmota MQTT Werte erhalten:

              @bertderkleine

              kannst ja mal testen mit Tasmota Scripting, IP ersetzt du mit der ESP IP,
              Datenpunkt wird in Mqtt erstellt ( nach reboot )
              Debug Infos stehen in der Tasmota Konsole,

              >D
              
              Timer=0
              Wert=0
              
              >BS
              +>subscribe EA, cmnd/Sensor/MHZ19B
              
              >S
              
              Timer+=1
              
              if Timer>2
              then
              =>websend [192.168.2.xxx] /cm?cmnd=status 10
              print ----- Websend Status 10 -----
              endif
              
              if Timer>2
              then
              +>publish Sensor/MHZ19B %Wert%
              print ----- publish %Wert% -----
              Timer=0
              endif
              
              mit >E
              Wert=WebQuery#StatusSNS#MHZ19B#CarbonDioxide
              
              >W
              
              MHZ19B_CarbonDioxideist{m} %0Wert%
              
              #
              

              Danke Dir! Praktisch kann ich das leider aktuell nicht umsetzen, da der ESP32 ein tasmota drauf hat nur mit Konsole und Berry Scripting Konsole.
              Das mit dem Firmware selbst basteln muss ich mir irgendwann erst mal reinziehen. Das ist für mich noch ein dickes Brett.

              Ralla66 mickym 2 Replies Last reply Reply Quote 0
              • Ralla66
                Ralla66 Most Active @BertDerKleine last edited by

                @bertderkleine

                ok 🙂
                nur mal so, Wemos unter 5 Euro

                1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @BertDerKleine last edited by mickym

                  @bertderkleine Hast Du Dir schon mal den tasmota device manager angeschaut und versucht rules zu basteln?

                  Ich habs zwar noch nie gemacht - aber zumindest hast Du da auch eine Oberfläche:
                  d6b57f98-3155-4f66-8a3f-40ad4043f7f1-image.png

                  Musst halt mal stöbern zumindest hat der einen Rules Editor: https://github.com/jziolkowski/tdm/wiki/Screenshots#rules-editor

                  1 Reply Last reply Reply Quote 0
                  • BertDerKleine
                    BertDerKleine last edited by

                    So, ich habe jetzt mal

                    rule1 ON MHZ19B#CarbonDioxide DO publish tele/tasmota_CO2/SENSOR/ %value% ENDON
                    rule1 1
                    

                    benutzt.
                    Das geht grundsätzlich in die richtige Richtung. Es sendet jetzt alle paar Sekunden ein Update raus.
                    Defekte sind noch
                    a) das Update wird eben alle paar Sekunden gesendet, auch wenn sich der CO2 Wert selbst nicht verändert hat. Noch verstehe ich nicht, was es triggert. Vielleicht findet eine Messung öfters statt, aber ergibt keinen neuen Zahlenwert und wird das triggert dann trotzdem.
                    b) der CO2-Wert wird über das eigentliche JSON geklatscht, welches ja mehr als nur die eine Zahl beinhaltete. Zwischenzeitlich erscheint das "richtige" JSON immer wieder aufgrund des normalen zyklischen Sendens (habe ich auf 60 Sek gestellt). Hier ist also die Frage, wie ich innerhlab des JSON Pakets nur das eine Feld überschreibe.

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @BertDerKleine last edited by mickym

                      @bertderkleine Normale Status kannst du unter stat abfragen - tele gibt Dir immer periodisch eine Ausgabe - das ist überflüssig. Der tele Ast wird immer von tasmota selbst getriggert. Wie gesagt mach Dir einen entsprechenden DP unter stat. Allerdings habe ich auch die Standardordnung in Tasmota geändert - weil ich prefixes lieber unter den Geräten habe. Sowas geht natürlich nicht mit dem Sonoff Adapter sondern nur mit MQTT.

                      BertDerKleine 1 Reply Last reply Reply Quote 0
                      • BertDerKleine
                        BertDerKleine @mickym last edited by

                        @mickym Ich nutze auch den MQTT Adapter. Der Wert unter "stat" ist aber wertlos für mich, da er aktuell z.B. zwei Stunden alt ist.
                        Das mit dem tele passt also hier schon.

                        Ralla66 1 Reply Last reply Reply Quote 0
                        • Ralla66
                          Ralla66 Most Active @BertDerKleine last edited by Ralla66

                          @bertderkleine

                          Teste mal so mit cmnd:
                          Der Ordner in Mqtt muß da sein MHZ19B/CarbonDioxide

                          bla bla .....................DO publish cmnd/MHZ19B/CarbonDioxide %value% ENDON

                          Trigger, Wert in eine Var schreiben, wenn neuer Wert ist >x oder <x der Var dann führe Rule aus.

                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

                            Was hat das denn noch mit dem Threadtitel und der Kategorie Projektvorstellung zu tun?

                            Homoran 1 Reply Last reply Reply Quote 0
                            • flkontakt
                              flkontakt @haselchen last edited by

                              @haselchen Hallo, ich hoffe du hast einen Tipp für mich. Ich habe mittlerweile 6x ESP8266 mit Tasmota über den Sonoff-Adapter eingebunden, in den jeweiligen Konsolen den Befehl Teleperiod 10 eingetragen. Bei einem ESP scheint das aber nicht zu funktionieren, dieser sendet sekündlich seine Werte, siehe auch Bild. Mit Teleperiod 1 habe ich zurückgesetzt, danach Teleperiod 10 neu eingegeben, dennoch werden die Werte sekündlich gesendet.

                              Ich freue mich auf deine Rückmeldung, vielen Dank!

                              01.JPG

                              haselchen 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @Homoran last edited by

                                @homoran sagte in Tasmota Rules?:

                                Was hat das denn noch mit dem Threadtitel und der Kategorie Projektvorstellung zu tun?

                                Ich hab das jetzt mal abgetrennt und verschoben!
                                @BertDerKleine bitte den provisorischen Threadtitel anpassen.

                                1 Reply Last reply Reply Quote 0
                                • haselchen
                                  haselchen Most Active @flkontakt last edited by haselchen

                                  @flkontakt

                                  Puh, da stellst Du ja ne Frage 🙂
                                  Auf Anhieb keine Idee.
                                  Aber man kann sich ja ranarbeiten.
                                  Welche Tasmota Version?

                                  Edit1:
                                  Hier sind noch nützliche Commands mit Erklärungen
                                  https://tasmota.github.io/docs/Commands/

                                  Edit2:

                                  Für ESP8266
                                  https://tasmota.github.io/docs/Configuration-Procedure-for-New-Devices/

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  926
                                  Online

                                  31.7k
                                  Users

                                  79.7k
                                  Topics

                                  1.3m
                                  Posts

                                  6
                                  17
                                  1354
                                  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