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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    808

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Tasmota Rules?

Geplant Angeheftet Gesperrt Verschoben Microcontroller
17 Beiträge 6 Kommentatoren 2.4k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      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 Online
        BertDerKleineB Online
        BertDerKleine
        schrieb am zuletzt editiert von
        #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 Antworten Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #8

          @bertderkleine

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

          1 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            0
            • BertDerKleineB Online
              BertDerKleineB Online
              BertDerKleine
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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 Online
                  BertDerKleineB Online
                  BertDerKleine
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    0
                    • HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

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

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 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

                            626

                            Online

                            32.6k

                            Benutzer

                            81.9k

                            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