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 D1 Mini gerechnete Werte via Mqtt übertragen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Tasmota D1 Mini gerechnete Werte via Mqtt übertragen

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Wuffi26 last edited by

      Hallo Gemeinde, ich hab ein kleines Problem, es fing alles mit einen Gaszähler an, wollte Ihn Smart machen und dacht ich nehme Tasmota, Zähler ist drin und Zählt. Nun habe ich das Problem das die ganzen Datenpunkte fehlen bis auf den Counter. der wird immer aktualisiert. Ich hab ein Scripting Tasmota auf einen D1MINI. Soweit funktioniert alles, bis auf die fehlenden Datenpunkte.Das markierte ist der counter der im IObroker via Mqtt broker angezeigt wird. Ich möchte das die berechneten Werte via MQTT übertragen werden. Oder funktioniert das so nicht was ich da vor habe???

      Bildschirm­foto 2023-03-07 um 19.55.05.png

      Ralla66 Andreas Otten 2 Replies Last reply Reply Quote 0
      • Ralla66
        Ralla66 Most Active @Wuffi26 last edited by

        @wuffi26 sagte in Tasmota D1 Mini gerechnete Werte via Mqtt übertragen:

        Scripting Tasmota

        mal zeigen was drin steht

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

          @ralla66 ```

          D
          p:m1=0
          p:g1=0
          p:g2=0
          p:month1=0
          p:month2=0
          p:month3=0
          p:gesamt=0
          c1=0
          s1=0
          h1=0
          hkw1=0
          gkw1=0
          gkw2=0
          mkw1=0
          mkw2=0
          mkw3=0
          mkwgs=0
          skw1=0
          hgp=0
          g1gp=0
          g2gp=0
          m1gp=0
          m2gp=0
          m3gp=0
          gsgp=0
          hr=0
          dy=0
          zu=0.9617
          br=11.233
          gp=17.956
          gasinit=0.0
          gastotal=0

          B
          =>sensor53 l255

          S
          h1=s1-m1
          hkw1=h1brzu
          hgp=(hkw1gp)/100
          gkw1=g1
          brzu
          gkw2=g2
          brzu
          mkw1=month1
          brzu
          mkw2=month2
          brzu
          mkw3=month3
          brzu
          mkwgs=gesamt
          brzu
          g1gp=(gkw1
          gp)/100
          g2gp=(gkw2gp)/100
          m1gp=(mkw1
          gp)/100
          m2gp=(mkw2gp)/100
          m3gp=(mkw3
          gp)/100
          gsgp=(mkwgsgp)/100
          skw1=s1
          br*zu

          hr=hours
          dy=day
          if chg[hr]>0
          and hr==0
          then
          m1=s1
          g2=g1
          g1=h1
          month1=month1+h1
          gesamt=gesamt+h1
          if chg[dy]<2
          and dy==1
          then
          month3=month2
          month2=month1
          month1=0
          endif
          svars
          endif

          if upsecs%tper==0{
          =>Publish tasmota/%topic%/main/td_m3 %2h1%
          =>Publish tele/%topic%/main/td_kwh %2hkw1%
          =>Publish tele/%topic%/main/yd_m3 %2g1%
          =>Publish tele/%topic%/main/yd_kwh %2gkw1%
          =>Publish tele/%topic%/main/dbyd_m3 %2g2%
          =>Publish tele/%topic%/main/dbyd_kwh %2gkw2%
          =>Publish tele/%topic%/main/value %2s1%
          =>Publish tele/%topic%/main/gastotal %2gastotal%
          =>Publish tele/%topic%/json {"gastotal": "%2gastotal%", "value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%", "db_yesterday_m3": "%2g2%", "db_yesterday_kwh": "%2gkw2%"}
          }

          T
          s1=Counter#C1/100
          c1=Counter#C1
          gastotal=(c1/100)+gasinit

          W
          GAS gezählt: {m} %3s1% m³
          Zählerstand: {m} %gastotal% m³
          ============
          Zustandszahl: {m} %zu%
          Brennwert: {m} %br% kWh/m³
          Gaspreis: {m} %gp% Cent/kWh
          ============
          Verbrauch:


          Heute: {m} %2h1% m³ | %2hkw1% kWh
          Kosten: {m} %2hgp% €

          Gestern: {m} %2g1% m³ | %2gkw1% kWh
          Kosten: {m} %2g1gp% €

          Vorgestern: {m} %2g2% m³ | %2gkw2% kWh
          Kosten: {m} %2g2gp% €

          Aktueller Monat: {m} %2month1% m³ | %2m1gp% €
          Letzter Monat: {m} %2month2% m³ | %2m2gp% €
          Vorletzter Monat: {m} %2month3% m³ | %2m3gp% €
          Gesamt: {m} %2gesamt% m³ | %2gsgp% €

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

            @wuffi26

            deine Telemetrieperiode hat den Wert ?
            mal auf 10 stellen,
            teste mal unter D eine var anlegen mit eigen=365,
            unter T das einfügen,
            =>publish tele/%topic%/Test %eigen%

            dann sollte im Mqtt Adapter unter tele Datenpunkt Test der Wert 365 stehen.

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

              @ralla66 ok danke sehr, werde es gleich mal testen.

              W 1 Reply Last reply Reply Quote 0
              • W
                Wuffi26 @Wuffi26 last edited by

                @Ralla66 habe es mal getestet, er legt kein solchen Datenpunkt an, nutze dem Sonoff Mqtt adapter. liegt es vielleicht an der Tasmota Version oder an den Mqtt server?

                Wal Ralla66 3 Replies Last reply Reply Quote 0
                • Wal
                  Wal Developer @Wuffi26 last edited by Wal

                  @wuffi26 ,
                  in meinen Skripten nehme ich 'stat' nicht tele und RESULT am Ende unter '>T'

                  >T
                  =>publish stat/%topic%/RESULT {"Sensor.Indoor.Temperatur":%1tin%}
                  

                  und im Adapter muss die automatische Erstellung der Datenpunkte aktiviert sein.

                  Edit: Der Datenpunkt wird unter 'sonoff.0.%topic%.Sensor.Indoor.Temperatur' erstellt.
                  Screenshot 2023-03-08 141212.png

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

                    @wuffi26

                    für Sonoff Adapter verwende ich diese Syntax :
                    teste mal unter D eine var anlegen mit
                    eigen=365
                    unter
                    J
                    ,"Test":{"Eigen":%eigen%}
                    einfügen
                    Nach Änderung des Scriptes immer Sonoff Adapter neu starten !
                    Besser Datenpunkte komplett löschen und Neustart.

                    1 Reply Last reply Reply Quote 0
                    • W
                      Wuffi26 @Wal last edited by

                      @wal Ok danke für Deine Antwort, mit dem automatischen Erstellen hab ich eigentlich noch nie Probleme gehabt, die Datenpunkte waren alles bisher da. Ich werde es gleich mal probieren.

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

                        @wuffi26

                        Test Script, damit festgestellt werden kann ob der Weg geht, ESP nach Sonoff Adapter.
                        Tasmota ist Paul 12.4
                        Test eigen.jpg

                        >D 
                        ;Variablen 
                        eigen=365
                        
                        ;Web Gui
                        >W
                        Eigen{m}%eigen% 
                        
                        ;Tasmota Sonoff Adapter
                        >J
                        ,"Test"
                        :{"Eigen":%eigen%}
                        

                        Test Script.jpg

                        Tasmota von hier

                        Tasmota Install.jpg

                        Telemetrie Tasmota auf 10 stellen
                        Nach Änderung des Scriptes immer Sonoff Adapter neu starten !
                        Besser Datenpunkte komplett löschen und Neustart.

                        H 1 Reply Last reply Reply Quote 0
                        • W
                          Wuffi26 @Wuffi26 last edited by

                          @Wal Hallo und Grüße, endlich hab ich es so wie ich mir das gedacht habe, herzlichen Dank, alleine wäre ich NIeeeeee drauf gekommen.

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

                            @wuffi26

                            Prima, passt ja dann.
                            woran lag es nun ?

                            W 2 Replies Last reply Reply Quote 0
                            • W
                              Wuffi26 @Ralla66 last edited by

                              @ralla66 Kann ich leider nicht sagen aber ich denke, das es was mit dem code und der telemetry Übertragung zu tun hat. Wie gesagt , bin nicht so fit mit tasmota, was eigentlich sehr schade ist weil man sehr viel machen kann damit.

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

                                @ralla66 Übrigens habe ich das image genauso wie Du sagtest auf den D1 mini geschrieben.

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

                                  @wuffi26
                                  Telemetrie ist die Erneuerung der Daten / Werte im Sonoff Adapter nach Zeit.
                                  300 bedeutet das es 5 minuten dauert ( 5 x 60 sec) bis die Werte erneuert werden.
                                  Schreibst du das Script um dauert es halt 5 min bis neue Daten kommen.

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

                                    @ralla66 ok Danke sehr, ich habe jetzt eine 60 draus Gemacht damit es nicht so lange dauert

                                    1 Reply Last reply Reply Quote 0
                                    • Andreas Otten
                                      Andreas Otten @Wuffi26 last edited by Andreas Otten

                                      @wuffi26 Darf ich höflich nach dem Script fragen.
                                      Ich habe momentan "Heute und Gestern" in meinem Tasmota Script, aber würde gerne auch Monat, letzter Monat / Gesamt haben.
                                      Wenn ich die snips aus dem Forum nehme fehlt mir immer irgendeine Variable.
                                      Bei mir seiht es im Moment so aus:

                                      >D
                                      p:m1=0
                                      s1=0
                                      p:g1=0
                                      h1=0
                                      hkw1=0
                                      gkw1=0
                                      skw1=0
                                      hgp=0
                                      ggp=0
                                      akw1=0
                                      
                                       
                                      hr=0
                                      mi=0
                                      zu=0.9702
                                      br=9.835
                                      gp=7.26
                                      farbe1="#008000"
                                      farbe2="#f00000"
                                      farbe3="#00fdfd"
                                       
                                      >B
                                      ->sensor53 r
                                      tper=10
                                       
                                      >S
                                      h1=s1-m1
                                      hkw1=h1*br*zu
                                      hgp=(hkw1*gp)/100
                                      gkw1=g1*br*zu
                                      ggp=(gkw1*gp)/100
                                      skw1=s1*br*zu
                                      akw1=(skw1*gp)/100
                                      
                                       
                                       
                                      hr=hours
                                      if chg[hr]>0
                                       and hr==0
                                        then
                                         m1=s1
                                         g1=h1
                                         svars
                                      endif
                                       
                                      >T
                                      s1=GAS1#Stand_Haus1
                                       
                                      >W
                                      ============
                                      Zustandszahl: {m} %zu%
                                      Brennwert: {m} %br% kWh/m³
                                      Gaspreis: {m} %gp% Cent/kWh
                                      ============
                                      Verbrauch:
                                      ---------------------
                                      Heute: {m} %2h1% m³ | %2hkw1% kWh
                                      Kosten: {m} %2hgp% €
                                      ---------------------
                                      Gestern: {m} %2g1% m³ | %2gkw1% kWh
                                      Kosten: {m} %2ggp% €
                                      <p style="color:#00d6e9;">Gas gesamt: {m} <p style="color:#00d6e9;">%2s1% m3 | %2skw1% kWh</p>
                                      <p style="color:#00d6e9;">Kosten: {m} <p style="color:#00d6e9;">%2akw1% €</p>
                                      >M 1
                                      +1,4,c,1,-25,GAS1
                                      1,1-0:1.8.0*255(@100,Zählerstand,m³,Stand_Haus1,18
                                      #
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        heidepower @Ralla66 last edited by

                                        @ralla66 habe es genau wie du es erklärt hast gemacht, leider bekomme ich keinen Datenpunkt im iobroker erstellt!

                                        Woran kann es liegen? Ich habe einen Durchflussmesser. In dem Script wird Liter/min, Liter/h berechnet und auf einem oled ausgegeben. Diesen Wert hätte ich gerne via mqtt übertragen an den iobroker.

                                        Zum Test habe ich dein Beispiel eingefügt. In der Tasmota Oberfläche wird die 365 angezeigt, aber nicht an den iobroker übertragen. Es wird nur der Counter übertragen.

                                        >D
                                        p:pAktuell=0
                                        p:pVorherige=0
                                        p:pDiff=0
                                        p:qLiter_sec=0
                                        p:qLiter_min=0
                                        p:qLiter_h=0
                                        p:qLiter_Total=0
                                        eigen=365
                                        
                                        >S
                                        pVorherige=pAktuell
                                        pAktuell=pc[1]
                                        pDiff=pAktuell-pVorherige
                                        qLiter_sec=(pDiff/450)
                                        qLiter_min=(qLiter_sec*60)
                                        qLiter_h=(qLiter_min*60)
                                        qLiter_Total=(pc[1]/450)
                                        
                                        ->displaytext [zs4x-8y11] %0qLiter_h%[s1x80y38] l/min
                                        ;Rahmen
                                        ;->DisplayText [x0y0r128:64]
                                        
                                        
                                        >W
                                        ;Durchfluss{m}   %qLiter_sec% Liter/s
                                        Durchfluss{m}    %qLiter_min% Liter/min
                                        Durchfluss{m}    %qLiter_h% Liter/h
                                        Total{m}         %qLiter_Total% Liter
                                        Eigen{m}%eigen% 
                                        
                                        ;Tasmota Sonoff Adapter
                                        >J
                                        ,"Test"
                                        
                                        :{"Eigen":%eigen%}
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        980
                                        Online

                                        31.7k
                                        Users

                                        79.7k
                                        Topics

                                        1.3m
                                        Posts

                                        5
                                        18
                                        2042
                                        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