Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Microcontroller
  5. Tasmota Rules?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Tasmota Rules?

Scheduled Pinned Locked Moved Microcontroller
17 Posts 6 Posters 2.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • BertDerKleineB 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, :+1: 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
    
    Ralla66R Offline
    Ralla66R Offline
    Ralla66
    Most Active
    wrote on last edited by Ralla66
    #5

    @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
    0
    • BertDerKleineB 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, :+1: 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
      
      Ralla66R Offline
      Ralla66R Offline
      Ralla66
      Most Active
      wrote on last edited by Ralla66
      #6

      @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%
      
      #
      
      BertDerKleineB 1 Reply Last reply
      1
      • Ralla66R 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%
        
        #
        
        BertDerKleineB Offline
        BertDerKleineB Offline
        BertDerKleine
        wrote on last edited by
        #7

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

        Ralla66R mickymM 2 Replies Last reply
        0
        • BertDerKleineB BertDerKleine

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

          Ralla66R Offline
          Ralla66R Offline
          Ralla66
          Most Active
          wrote on last edited by
          #8

          @bertderkleine

          ok :-)
          nur mal so, Wemos unter 5 Euro

          1 Reply Last reply
          0
          • BertDerKleineB BertDerKleine

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

            mickymM Online
            mickymM Online
            mickym
            Most Active
            wrote on last edited by mickym
            #9

            @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

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            1 Reply Last reply
            0
            • BertDerKleineB Offline
              BertDerKleineB Offline
              BertDerKleine
              wrote on last edited by
              #10

              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.

              mickymM 1 Reply Last reply
              0
              • BertDerKleineB BertDerKleine

                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.

                mickymM Online
                mickymM Online
                mickym
                Most Active
                wrote on last edited by mickym
                #11

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

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                BertDerKleineB 1 Reply Last reply
                0
                • mickymM 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.

                  BertDerKleineB Offline
                  BertDerKleineB Offline
                  BertDerKleine
                  wrote on last edited by
                  #12

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

                  Ralla66R 1 Reply Last reply
                  0
                  • BertDerKleineB BertDerKleine

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

                    Ralla66R Offline
                    Ralla66R Offline
                    Ralla66
                    Most Active
                    wrote on last edited by Ralla66
                    #13

                    @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
                    0
                    • HomoranH Do not disturb
                      HomoranH Do not disturb
                      Homoran
                      Global Moderator Administrators
                      wrote on last edited by
                      #14

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

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      HomoranH 1 Reply Last reply
                      0
                      • haselchenH haselchen

                        @bertderkleine

                        Google mal nach PowerDelta ( so meine ich , heißt das)
                        Teleperiod ist10sek das Niedrigste.

                        @tasuanetrukiat

                        Bei Tasmota Geräten nimmt man den Sonoff Adapter.
                        Die sind aufeinander eingespielt und liefern dir fertige Datenpunkte.

                        flkontaktF Online
                        flkontaktF Online
                        flkontakt
                        wrote on last edited by
                        #15

                        @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

                        haselchenH 1 Reply Last reply
                        0
                        • HomoranH Homoran

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

                          HomoranH Do not disturb
                          HomoranH Do not disturb
                          Homoran
                          Global Moderator Administrators
                          wrote on last edited by
                          #16

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

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          1 Reply Last reply
                          0
                          • flkontaktF flkontakt

                            @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

                            haselchenH Offline
                            haselchenH Offline
                            haselchen
                            Most Active
                            wrote on last edited by haselchen
                            #17

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

                            Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            502

                            Online

                            32.6k

                            Users

                            82.2k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe