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. ioBroker Allgemein
  4. [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    515

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

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

[gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?

Scheduled Pinned Locked Moved ioBroker Allgemein
tasmotawemosmqttreedkontakt
92 Posts 33 Posters 35.9k Views 32 Watching
  • 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.
  • Ralf SchradeR Ralf Schrade

    @oberfragger
    Könntest Du mir wohl das Script für deinen Zähler zur Vrefügung stellen, ich bastel da schon seit Tagen herum, bekomme es aber einfach nicht hin. Scripting Tasmota ist vorhanden, der Counter läuft, allerdings aktualisiert der
    Verbrauchszählerstand nicht
    Schon mal besten Dank

    Ralf

    M Offline
    M Offline
    Marty56
    wrote on last edited by
    #29

    Bei welchem Wert laufen die Counter eigentlich über?

    HW:NUC (16 GB Ram)
    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

    1 Reply Last reply
    0
    • Stratos GkrekidisS Stratos Gkrekidis

      @Sandmanyz

      Mein Sensor ist mit dem D1-Pin auf meiner WEMOS verbunden und als Switch1 konfiguriert. dann wird Counter1 auf einem anderen, nicht verwendeten Pin ausgewählt [in meinem Fall: D5] - es ist nur ein Platzhalter für Zahlen.

      Dann habe ich in der Konsole eingegeben:

      switchmode1 1
      counter1 <Geben Sie hier den Anfangszählerwert ein>
      rule1 on switch1#state=0 do Counter1 +1 endon
      rule1 5
      rule1 1
      

      Ein reboot und fertig.

      im iobroker findest du noch ein POWER und ein counter state

      Grüße aus Griechenland.

      M Offline
      M Offline
      Marty56
      wrote on last edited by
      #30

      @stratos-gkrekidis
      Hallo,

      Ich habe dein Script übernommen. Es funktioniert, aber erzeugt bei meine Zähler relativ viele MQTT Botschaften, weil der S0 Bus sehr oft triggert.

      Ist es möglich, die MQTT Botschaften zu reduzieren und nur jeden 10 Impuls als Counterwert zu übertragen?

      HW:NUC (16 GB Ram)
      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

      M 1 Reply Last reply
      0
      • M Marty56

        @stratos-gkrekidis
        Hallo,

        Ich habe dein Script übernommen. Es funktioniert, aber erzeugt bei meine Zähler relativ viele MQTT Botschaften, weil der S0 Bus sehr oft triggert.

        Ist es möglich, die MQTT Botschaften zu reduzieren und nur jeden 10 Impuls als Counterwert zu übertragen?

        M Offline
        M Offline
        Marty56
        wrote on last edited by Marty56
        #31

        @stratos-gkrekidis Du nimmst einen Switch, um damit einen Counter hochzuzählen.
        Ich habe versucht, direkt den Counter an den GPIO Pin zu konfigurieren und das führt dazu, dass der Counter mehr Pulse zählt als tatsächlich vorhanden sind.
        Es scheint, dass durch die Konfigurierung der Trigger verändert wird.

        Stimmt das? ich habe dazu nichts gefunden. Könntest Du mir da einen Tipp geben.

        HW:NUC (16 GB Ram)
        OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

        M 1 Reply Last reply
        0
        • Stratos GkrekidisS Stratos Gkrekidis

          @Sandmanyz

          Mein Sensor ist mit dem D1-Pin auf meiner WEMOS verbunden und als Switch1 konfiguriert. dann wird Counter1 auf einem anderen, nicht verwendeten Pin ausgewählt [in meinem Fall: D5] - es ist nur ein Platzhalter für Zahlen.

          Dann habe ich in der Konsole eingegeben:

          switchmode1 1
          counter1 <Geben Sie hier den Anfangszählerwert ein>
          rule1 on switch1#state=0 do Counter1 +1 endon
          rule1 5
          rule1 1
          

          Ein reboot und fertig.

          im iobroker findest du noch ein POWER und ein counter state

          Grüße aus Griechenland.

          D Offline
          D Offline
          danzlrobert
          wrote on last edited by
          #32

          @stratos-gkrekidis said in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:

          @Sandmanyz

          Mein Sensor ist mit dem D1-Pin auf meiner WEMOS verbunden und als Switch1 konfiguriert. dann wird Counter1 auf einem anderen, nicht verwendeten Pin ausgewählt [in meinem Fall: D5] - es ist nur ein Platzhalter für Zahlen.

          Dann habe ich in der Konsole eingegeben:

          switchmode1 1
          counter1 <Geben Sie hier den Anfangszählerwert ein>
          rule1 on switch1#state=0 do Counter1 +1 endon
          rule1 5
          rule1 1
          

          Ein reboot und fertig.

          im iobroker findest du noch ein POWER und ein counter state

          Grüße aus Griechenland.

          Hallo,
          das ganze klingt sehr einfach, versteh nicht ganz wie du das ganze verkabelst und einstellst. Hättest du bitte eine Anschlußzeichnung des Kontaktes und wie du die GPIO eingestellt hast. Würde gerne einen Relaisekontakt auswerten.
          Vielen vielen Dank für deine Hilfe!

          1 Reply Last reply
          0
          • M milanissimo

            @lenny-cb

            Jetzt gehts, irgendwie hat das mit den Handy Probleme gemacht. Mit Laptop ging es.

            Als Pullup Widerstand habe ich jetzt ein 10k zwischen gpio und vcc (5v) ist das so korrekt?

            Den ReedKontakt bring ich so an das er unter den letzten Zahlenrad am Gaszähler Sitz oder?

            T Offline
            T Offline
            Takahara
            wrote on last edited by Takahara
            #33
            This post is deleted!
            1 Reply Last reply
            0
            • Lenny.CBL Lenny.CB

              @Sandmanyz @quorle Den Pullup, so wie @chaot geschrieben hat, sollte/musst dran.
              Debounce ist m.E., grad bei so Geschichten wo Prellen eine Rolle spielt, schon wichtig.

              Mein Gas-Zähler-Projekt hatte auch so angefangen. Ich hatte, damit auch über Tage hinweg die Nachkommastellen stimmten, folgendes in der Konsole eingestellt.

              CounterDebounce 1000
              CounterDebounceLow 500
              CounterDebounceHigh 500
              

              Wobei CounterDebounceHigh/CounterDebounceLow von der Hardware-Beschaltung abhängig ist. Beides einzutragen ist nicht kontraproduktiv.

              Ich teste grad einen anderen Ansatz, bei dem man die Sachen die man so sehen will, schon auf den Wemos berechnen kann.
              Schaut grad aktuell so aus:
              a8bfdbab-4966-4450-b860-1021f166fa88-image.png
              Die Impluse kommen in der Testphase noch von einem Taster. (Also nicht denken "man hat der nen Gasverbrauch!" :grin:

              T Offline
              T Offline
              truderinger
              wrote on last edited by
              #34

              @lenny-cb

              Guten Morgen,

              ich bin gerade dabei mich in Tasmota einzuarbeiten und fand obig genannte Scriptlösung für mein Projekt mit Reed-Kontakt-Wasserdurchlaufuhr. Wäre es vielleicht möglich, auch mir das Script zukommen zu lassen? Eine Anleitung zum ganzen Vorgang gibt es zufälligerweise nicht?

              Wäre toll.

              Danke vorab und schönes WE.

              1 Reply Last reply
              0
              • M Marty56

                @stratos-gkrekidis Du nimmst einen Switch, um damit einen Counter hochzuzählen.
                Ich habe versucht, direkt den Counter an den GPIO Pin zu konfigurieren und das führt dazu, dass der Counter mehr Pulse zählt als tatsächlich vorhanden sind.
                Es scheint, dass durch die Konfigurierung der Trigger verändert wird.

                Stimmt das? ich habe dazu nichts gefunden. Könntest Du mir da einen Tipp geben.

                M Offline
                M Offline
                marhal
                wrote on last edited by
                #35

                Hallo alle zusammen,

                Das ist ja echt eine Supersache und ich wollte das gleich auf mein ESP32-Eth01 mit Tasmota auch ausprobieren. Habe am GPIO 2 mein Reedkontakt.
                Aber wenn ich versuche das Script auszuführen bekomme ich nur folgende Fehler. Kann mir da jemand auf die Sprünge helfen ? bin da nicht so firm drin.

                Screenshot 2022-09-20 073039.jpg

                Danke für eure Hilfe

                Gruß
                Marhal

                bahnuhrB 1 Reply Last reply
                0
                • M marhal

                  Hallo alle zusammen,

                  Das ist ja echt eine Supersache und ich wollte das gleich auf mein ESP32-Eth01 mit Tasmota auch ausprobieren. Habe am GPIO 2 mein Reedkontakt.
                  Aber wenn ich versuche das Script auszuführen bekomme ich nur folgende Fehler. Kann mir da jemand auf die Sprünge helfen ? bin da nicht so firm drin.

                  Screenshot 2022-09-20 073039.jpg

                  Danke für eure Hilfe

                  Gruß
                  Marhal

                  bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  wrote on last edited by
                  #36

                  @marhal

                  Screenshot unleserlich.


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  M 1 Reply Last reply
                  0
                  • bahnuhrB bahnuhr

                    @marhal

                    Screenshot unleserlich.

                    M Offline
                    M Offline
                    marhal
                    wrote on last edited by
                    #37

                    @bahnuhr Danke für den Hinweis....

                    Die Fehler Meldung lautet: BRY: Exeption> 'syntaxerror' - input:1: unexpected symbol near '>'

                    Vielleich ist das so besser.

                    Gruß
                    Marhal

                    1 Reply Last reply
                    0
                    • Stratos GkrekidisS Stratos Gkrekidis

                      @Sandmanyz

                      Mein Sensor ist mit dem D1-Pin auf meiner WEMOS verbunden und als Switch1 konfiguriert. dann wird Counter1 auf einem anderen, nicht verwendeten Pin ausgewählt [in meinem Fall: D5] - es ist nur ein Platzhalter für Zahlen.

                      Dann habe ich in der Konsole eingegeben:

                      switchmode1 1
                      counter1 <Geben Sie hier den Anfangszählerwert ein>
                      rule1 on switch1#state=0 do Counter1 +1 endon
                      rule1 5
                      rule1 1
                      

                      Ein reboot und fertig.

                      im iobroker findest du noch ein POWER und ein counter state

                      Grüße aus Griechenland.

                      M Offline
                      M Offline
                      MikeCC
                      wrote on last edited by MikeCC
                      #38

                      @stratos-gkrekidis
                      Dein Lösung funktioniert super.
                      Ich habe nun zusätzlich an meinen D1 mini einen IR-Lesekopf für meinen Stromzähler angeschlossen.
                      Dadurch musste ich Tasmota mit SML selber kompilieren. Für SML muss jedoch Scripting Languages genutzt werden. Die Rules kann man dann wohl nicht mehr verwenden.

                      Weißt du oder jemand anderes hier, wie meine deine Lösung als Tasmota Script abbilden kann?

                      1 Reply Last reply
                      0
                      • M milanissimo
                        >D
                        p:m1=0
                        p:m2=0
                        s1=0
                        s2=0
                        g1=0
                        g2=0
                        h1=0
                        h2=0
                        hkw1=0
                        hkw2=0
                        gkw1=0
                        gkw2=0
                        skw1=0
                        skw2=0
                        sspr=0.095
                        ysgp=0.411
                        yspr=0
                        yapp=0
                        p:smsec=0
                        smseb=0
                        ssms=0
                        
                         
                        hr=0
                        mi=0
                        sec=0
                        zu=0.9290
                        br=11.237
                        farbe1="#008000"
                        farbe2="#f00000"
                        farbe3="#00fdfd"
                         
                        >B
                        ->sensor53 r
                        tper=10
                         
                        >S
                        h1=s1-m1
                        h2=s2-m2
                        hkw1=h1*br*zu
                        hkw2=h2*br*zu
                        gkw1=g1*br*zu
                        gkw2=g2*br*zu
                        skw1=s1*br*zu
                        skw2=s2*br*zu
                         
                        hr=hours
                        if chg[hr]>0
                         and hr==0
                          then
                           m1=s1
                           m2=s2
                           g1=h1
                           g2=h2
                           svars
                        endif
                        
                        ;Minutenverbrauch
                        sec=secs
                        if chg[sec]>0
                        and sec==0
                        then
                        smsec=s1
                        smseb=ssms
                        svars
                        endif
                        if upsecs%tper==0
                        then
                        ssms=s1-smsec
                        endif
                        
                        
                        ;Kosten
                        yspr=hkw1*sspr+ysgp
                        yapp= gkw1*sspr+ysgp
                        endif
                        
                         
                        if upsecs%tper==0{
                        =>Publish tele/%topic%/SENSOR {"Haus1":{"Verbrauch heute kWh":%2hkw1%}}
                        =>Publish tele/%topic%/SENSOR {"Haus1":{"Verbrauch gestern kWh":%2gkw1%}}
                        }
                         
                        >T
                        s1=GAS1#Stand_Haus1
                         
                        >W
                        Zustandszahl: {m} %zu%
                        Brennwert: {m} %br% kWh/m³
                        Kosten heute/ gestern: {m} %2yspr% €  | %2yapp% €
                        =========================
                        Haus 1:
                        Verbrauch Minute: {m} %2ssms% kWh
                        Verbrauch MinuteZusammen: {m} %2smseb% kWh
                        Verbrauch heute: {m} %2h1% m³ | %2hkw1% kWh
                        Verbrauch gestern: {m} %2g1% m³ | %2gkw1% kWh
                        Verbrauch gesamt: {m} %2s1% m³ | %2skw1% kWh
                        =========================
                         
                        >M 2
                        +1,0,c,1,-25,GAS1
                        1,1-0:1.8.0*255(@100,Zählerstand Haus1,m³,Stand_Haus1,18
                        2,=h=========================
                        #
                        
                        M Offline
                        M Offline
                        Mike71
                        wrote on last edited by
                        #39

                        @milanissimo
                        Hi, ich hätte auch Interese an dem Script mit funktionierender Kostenrechnung.

                        Hab soweit alles hinbekommen Firmware Compilierung mit Script aktivierung.
                        Reed Kontak mit Wemos D1 Mini am Gaszähler zählt und erscheint in TasmotaWeb.
                        Nur bei dem Scripten hab ich nen knoten im Kopf lese schon seit Tagen die Scripting Language auf und ab auf Github ... denke ich werd einfach zu alt ;-),
                        daher wäre ich für die Hilfe bzw. fürs bereitstellen eines funktionierenden Scriptes sehr Dankbar.

                        1 Reply Last reply
                        0
                        • Stratos GkrekidisS Stratos Gkrekidis

                          @Sandmanyz

                          Mein Sensor ist mit dem D1-Pin auf meiner WEMOS verbunden und als Switch1 konfiguriert. dann wird Counter1 auf einem anderen, nicht verwendeten Pin ausgewählt [in meinem Fall: D5] - es ist nur ein Platzhalter für Zahlen.

                          Dann habe ich in der Konsole eingegeben:

                          switchmode1 1
                          counter1 <Geben Sie hier den Anfangszählerwert ein>
                          rule1 on switch1#state=0 do Counter1 +1 endon
                          rule1 5
                          rule1 1
                          

                          Ein reboot und fertig.

                          im iobroker findest du noch ein POWER und ein counter state

                          Grüße aus Griechenland.

                          lemonbiterL Offline
                          lemonbiterL Offline
                          lemonbiter
                          wrote on last edited by lemonbiter
                          #40

                          @Stratos-Gkrekidis und
                          @Sandmanyz

                          ich habe leider nicht verstanden, was genau ihr macht. Und da es bei mir mit dem Zählen noch nicht läuft, will ich gerne auch Eure Lösung "einbauen" / bzw nachbauen.

                          In meinem Fall ist der Zähler am D1Mini an D7 angeschlossen als Zähler. (mit 10 kOhm gegen 3,3V) Module Parameter /ModuleType von Tasmota ist Generic0 und GPIO 13 ist auf Counter, 1 gestellt
                          e2f368eb-cfbd-408b-b9b4-99f5144f0e3c-image.png

                          Könntet Ihr so nett sein und mir für DUMMIES erklären, was ich also noch machen soll, das was Stratos schreibt scheint ja einigen geholfen zu haben, aber ich verstehe es nicht :-)
                          Vielleicht könntet Ihr so nett sein, mir ein paar Screens Eurer Tasmota Einstellungen hier einstellen und dann den Rest in Worte, die ich als nicht so erfahrener User verstehe, packen??

                          Danke
                          LEM

                          @stratos-gkrekidis sagte in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:

                          @Sandmanyz

                          Mein Sensor ist mit dem D1-Pin auf meiner WEMOS verbunden und als Switch1 konfiguriert. dann wird Counter1 auf einem anderen, nicht verwendeten Pin ausgewählt [in meinem Fall: D5] - es ist nur ein Platzhalter für Zahlen.

                          Dann habe ich in der Konsole eingegeben:

                          switchmode1 1
                          counter1 <Geben Sie hier den Anfangszählerwert ein>
                          rule1 on switch1#state=0 do Counter1 +1 endon
                          rule1 5
                          rule1 1
                          

                          Ein reboot und fertig.

                          im iobroker findest du noch ein POWER und ein counter state

                          Grüße aus Griechenland.

                          R 1 Reply Last reply
                          0
                          • lemonbiterL lemonbiter

                            @Stratos-Gkrekidis und
                            @Sandmanyz

                            ich habe leider nicht verstanden, was genau ihr macht. Und da es bei mir mit dem Zählen noch nicht läuft, will ich gerne auch Eure Lösung "einbauen" / bzw nachbauen.

                            In meinem Fall ist der Zähler am D1Mini an D7 angeschlossen als Zähler. (mit 10 kOhm gegen 3,3V) Module Parameter /ModuleType von Tasmota ist Generic0 und GPIO 13 ist auf Counter, 1 gestellt
                            e2f368eb-cfbd-408b-b9b4-99f5144f0e3c-image.png

                            Könntet Ihr so nett sein und mir für DUMMIES erklären, was ich also noch machen soll, das was Stratos schreibt scheint ja einigen geholfen zu haben, aber ich verstehe es nicht :-)
                            Vielleicht könntet Ihr so nett sein, mir ein paar Screens Eurer Tasmota Einstellungen hier einstellen und dann den Rest in Worte, die ich als nicht so erfahrener User verstehe, packen??

                            Danke
                            LEM

                            @stratos-gkrekidis sagte in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:

                            @Sandmanyz

                            Mein Sensor ist mit dem D1-Pin auf meiner WEMOS verbunden und als Switch1 konfiguriert. dann wird Counter1 auf einem anderen, nicht verwendeten Pin ausgewählt [in meinem Fall: D5] - es ist nur ein Platzhalter für Zahlen.

                            Dann habe ich in der Konsole eingegeben:

                            switchmode1 1
                            counter1 <Geben Sie hier den Anfangszählerwert ein>
                            rule1 on switch1#state=0 do Counter1 +1 endon
                            rule1 5
                            rule1 1
                            

                            Ein reboot und fertig.

                            im iobroker findest du noch ein POWER und ein counter state

                            Grüße aus Griechenland.

                            R Offline
                            R Offline
                            Rattenfänger
                            wrote on last edited by Rattenfänger
                            #41

                            @Lenny-CB

                            Wie hast du das ganze gemacht ich habe heute mein D1 Mini Tasmota geflasht mit scripting funktion
                            und habe dein script mal rein gemacht aber der zeigt mir immer noch auf der main seite Zähler 50

                            bevor ich es vergesse habe Tasmota 12 drauf

                            Lenny.CBL 1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              Spencer
                              wrote on last edited by Spencer
                              #42

                              Hallo zusammen,

                              ich habe es nun auch so realisiert. Funktioniert gut an einem ESP8266 D4 GPIO2.
                              @Lenny-CB vielen Dank für das Skript, es hat mir sehr geholfen :)
                              Ich hätte da ein paar Fragen zum code:

                                1. Was bedeutet die 2 vor den Variablen?
                              %2hkw1%
                              
                                1. Was bedeutet die 2 nach dem M?
                              >M 2
                              
                                1. Was bedeutet diese Zeile?
                              2,=h=========================
                              
                                1. Wie kann ich die Nachkommastellen anpassen?

                              Das Skript habe ich abgeändert, ein Haushalt inklusive Kostenrechnung.
                              -Mit gp=10.65 lässt sich der Gaspreis anpassen.
                              -Den MQTT Part habe ich auch etwas 'optimiert'. Der Zählerstand lässt sich nun direkt abgeifen über "value".
                              -Optional habe ich einen Websend direkt an cuxd für Homematic falls man kein MQTT verwenden möchte.

                              >D
                              p:m1=0
                              s1=0
                              p:g1=0
                              h1=0
                              hkw1=0
                              gkw1=0
                              skw1=0
                              hgp=0
                              ggp=0
                              
                               
                              hr=0
                              mi=0
                              zu=0.9617
                              br=11.233
                              gp=10.65
                              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
                              
                               
                              hr=hours
                              if chg[hr]>0
                               and hr==0
                                then
                                 m1=s1
                                 g1=h1
                                 svars
                              endif
                               
                              if upsecs%tper==0{
                              =>Publish keller/%topic%/main/td_m3 %2h1%
                              =>Publish keller/%topic%/main/td_kwh %2hkw1%
                              =>Publish keller/%topic%/main/yd_m3 %2g1%
                              =>Publish keller/%topic%/main/yd_kwh %2gkw1%
                              =>Publish keller/%topic%/main/value %2s1%
                              =>Publish keller/%topic%/main/json {"value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"}
                              
                              ;Senden an Homematic Variable xxxxxxxx
                              ;=>websend [ip-adresse_ccu:8181] /cuxd.exe?Status=dom.GetObject('xxxxxxxx').State(%2s1%)
                              
                              }
                              
                              >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% €
                              
                              >M 1
                              +1,2,c,1,-25,GAS1
                              1,1-0:1.8.0*255(@100,Zählerstand,m³,Stand_Haus1,18
                              #
                              

                              Die MQTT Ausgabe ist:

                              mqtt_ausgabe_gaszaehler.png

                              Lenny.CBL 1 Reply Last reply
                              0
                              • S Spencer

                                Hallo zusammen,

                                ich habe es nun auch so realisiert. Funktioniert gut an einem ESP8266 D4 GPIO2.
                                @Lenny-CB vielen Dank für das Skript, es hat mir sehr geholfen :)
                                Ich hätte da ein paar Fragen zum code:

                                  1. Was bedeutet die 2 vor den Variablen?
                                %2hkw1%
                                
                                  1. Was bedeutet die 2 nach dem M?
                                >M 2
                                
                                  1. Was bedeutet diese Zeile?
                                2,=h=========================
                                
                                  1. Wie kann ich die Nachkommastellen anpassen?

                                Das Skript habe ich abgeändert, ein Haushalt inklusive Kostenrechnung.
                                -Mit gp=10.65 lässt sich der Gaspreis anpassen.
                                -Den MQTT Part habe ich auch etwas 'optimiert'. Der Zählerstand lässt sich nun direkt abgeifen über "value".
                                -Optional habe ich einen Websend direkt an cuxd für Homematic falls man kein MQTT verwenden möchte.

                                >D
                                p:m1=0
                                s1=0
                                p:g1=0
                                h1=0
                                hkw1=0
                                gkw1=0
                                skw1=0
                                hgp=0
                                ggp=0
                                
                                 
                                hr=0
                                mi=0
                                zu=0.9617
                                br=11.233
                                gp=10.65
                                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
                                
                                 
                                hr=hours
                                if chg[hr]>0
                                 and hr==0
                                  then
                                   m1=s1
                                   g1=h1
                                   svars
                                endif
                                 
                                if upsecs%tper==0{
                                =>Publish keller/%topic%/main/td_m3 %2h1%
                                =>Publish keller/%topic%/main/td_kwh %2hkw1%
                                =>Publish keller/%topic%/main/yd_m3 %2g1%
                                =>Publish keller/%topic%/main/yd_kwh %2gkw1%
                                =>Publish keller/%topic%/main/value %2s1%
                                =>Publish keller/%topic%/main/json {"value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"}
                                
                                ;Senden an Homematic Variable xxxxxxxx
                                ;=>websend [ip-adresse_ccu:8181] /cuxd.exe?Status=dom.GetObject('xxxxxxxx').State(%2s1%)
                                
                                }
                                
                                >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% €
                                
                                >M 1
                                +1,2,c,1,-25,GAS1
                                1,1-0:1.8.0*255(@100,Zählerstand,m³,Stand_Haus1,18
                                #
                                

                                Die MQTT Ausgabe ist:

                                mqtt_ausgabe_gaszaehler.png

                                Lenny.CBL Offline
                                Lenny.CBL Offline
                                Lenny.CB
                                Most Active
                                wrote on last edited by
                                #43

                                Oha, da ist lange her. Versuche es mal aus dem Kalten heraus.

                                  1. Was bedeutet die 2 vor den Variablen?
                                    %2hkw1%

                                Anzahl der Nachkommastellen

                                  1. Was bedeutet die 2 nach dem M?
                                    M 2

                                2 Counter

                                  1. Was bedeutet diese Zeile?
                                    2,=h=========================

                                Sollte mal eine Linie erzeugen, tuts aber nicht mehr. k.A. vielleicht wurde was bei Tasmota Scripting geändert.
                                Also weg, ist unnütz.

                                  1. Wie kann ich die Nachkommastellen anpassen?

                                siehe oben

                                Diese Seite ist sehr zu empfehlen falls du noch tiefer einsteigen willst.
                                https://tasmota.github.io/docs/Scripting-Language/#script-sections

                                1 Reply Last reply
                                1
                                • R Rattenfänger

                                  @Lenny-CB

                                  Wie hast du das ganze gemacht ich habe heute mein D1 Mini Tasmota geflasht mit scripting funktion
                                  und habe dein script mal rein gemacht aber der zeigt mir immer noch auf der main seite Zähler 50

                                  bevor ich es vergesse habe Tasmota 12 drauf

                                  Lenny.CBL Offline
                                  Lenny.CBL Offline
                                  Lenny.CB
                                  Most Active
                                  wrote on last edited by
                                  #44

                                  @rattenfänger sagte in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:

                                  zeigt mir immer noch auf der main seite Zähler 50

                                  ??? Mach mal ein Bild.

                                  S 1 Reply Last reply
                                  0
                                  • Lenny.CBL Lenny.CB

                                    @rattenfänger sagte in [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?:

                                    zeigt mir immer noch auf der main seite Zähler 50

                                    ??? Mach mal ein Bild.

                                    S Offline
                                    S Offline
                                    Spencer
                                    wrote on last edited by Spencer
                                    #45

                                    @lenny-cb

                                    Vielen Dank für die Erklärung ;) tasmota.github.io war bereits meine erste Anlaufstelle, hat mir sehr geholfen, aber ich habe im Netz nach fertigen Skripten gesucht und bin dann auf diese Seite gestoßen.

                                    @rattenfänger
                                    Ich vermute dass du einen Counter auf einen GPIO gelegt hast (Einstellungen->Gerätekonfiguration), deswegen wird dir Zähler 50 angezeigt.
                                    Der Zähler wird nicht benötigt, du kannst den GPIO auf 'none' lassen.

                                    Die Firmware muss richtig kompiliert sein.

                                    1. Smart Meter Interface
                                    #ifndef USE_SCRIPT
                                    #define USE_SCRIPT
                                    #endif
                                    #ifndef USE_SML_M
                                    #define USE_SML_M
                                    #endif
                                    #ifdef USE_RULES
                                    #undef USE_RULES
                                    #endif
                                    
                                    1. !!!und ganz wichtig:
                                    #ifndef USE_SCRIPT_WEB_DISPLAY
                                    #ifndef USE_SCRIPT_WEB_DISPLAY
                                    #endif
                                    

                                    Sonst erscheint keine Textausgabe auf der Tasmota Seite ;)

                                    Anbei die kompilierte Firmware:

                                    ESP8266
                                    tasmota_12.02_smart_meter_web_display.bin

                                    ESP32
                                    tasmota32_12.02_smart_meter_web_display.bin

                                    Gruß
                                    Sven

                                    S P 2 Replies Last reply
                                    0
                                    • Lenny.CBL Lenny.CB

                                      @oberfragger ich hatte da zwischenzeitlich wieder dran "rumgebastelt" Die Kostenberechnung ist erst einmal wieder raus, dafür kam der zweite Gas-Zähler dazu. Das Script ist auch in der Länge begrenzt wenn man die Standard-Konfigurationen nutzt.

                                      Hier mein Script:

                                      >D
                                      p:m1=0
                                      p:m2=0
                                      s1=0
                                      s2=0
                                      g1=0
                                      g2=0
                                      h1=0
                                      h2=0
                                      hkw1=0
                                      hkw2=0
                                      gkw1=0
                                      gkw2=0
                                      skw1=0
                                      skw2=0
                                      
                                      hr=0
                                      mi=0
                                      zu=0.9617
                                      br=11.233
                                      farbe1="#008000"
                                      farbe2="#f00000"
                                      farbe3="#00fdfd"
                                      
                                      >B
                                      ->sensor53 r
                                      tper=10
                                      
                                      >S
                                      h1=s1-m1
                                      h2=s2-m2
                                      hkw1=h1*br*zu
                                      hkw2=h2*br*zu
                                      gkw1=g1*br*zu
                                      gkw2=g2*br*zu
                                      skw1=s1*br*zu
                                      skw2=s2*br*zu
                                      
                                      hr=hours
                                      if chg[hr]>0
                                       and hr==0
                                        then
                                         m1=s1
                                         m2=s2
                                         g1=h1
                                         g2=h2
                                         svars
                                      endif
                                      
                                      if upsecs%tper==0{
                                      =>Publish tele/%topic%/SENSOR {"Haus1":{"Verbrauch heute m³":%2h1%}}
                                      =>Publish tele/%topic%/SENSOR {"Haus1":{"Verbrauch gestern m³":%2g1%}}
                                      =>Publish tele/%topic%/SENSOR {"Haus1":{"Verbrauch heute kWh":%2hkw1%}}
                                      =>Publish tele/%topic%/SENSOR {"Haus1":{"Verbrauch gestern kWh":%2gkw1%}}
                                      =>Publish tele/%topic%/SENSOR {"Haus1":{"Verbrauch gesamt kWh":%2skw1%}}
                                      
                                      =>Publish tele/%topic%/SENSOR {"Haus2":{"Verbrauch heute m³":%2h2%}}
                                      =>Publish tele/%topic%/SENSOR {"Haus2":{"Verbrauch gestern m³":%2g2%}}
                                      =>Publish tele/%topic%/SENSOR {"Haus2":{"Verbrauch heute kWh":%2hkw2%}}
                                      =>Publish tele/%topic%/SENSOR {"Haus2":{"Verbrauch gestern kWh":%2gkw2%}}
                                      =>Publish tele/%topic%/SENSOR {"Haus2":{"Verbrauch gesamt kWh":%2skw2%}}
                                      }
                                      
                                      >T
                                      s1=GAS1#Stand_Haus1
                                      s2=GAS2#Stand_Haus2
                                      
                                      >W
                                      Zustandszahl: {m} %zu%
                                      Brennwert: {m} %br% kWh/m³
                                      =========================
                                      Haus 1:
                                      Verbrauch heute: {m} %2h1% m³ | %2hkw1% kWh
                                      Verbrauch gestern: {m} %2g1% m³ | %2gkw1% kWh
                                      Verbrauch gesamt: {m} %2s1% m³ | %2skw1% kWh
                                      =========================
                                      Haus 2:
                                      Verbrauch heute: {m} %2h2% m³ | %2hkw2% kWh
                                      Verbrauch gestern: {m} %2g2% m³ | %2gkw2% kWh
                                      Verbrauch gesamt: {m} %2s2% m³ | %2skw2% kWh
                                      =========================
                                      
                                      >M 2
                                      +1,14,c,1,-25,GAS1
                                      +2,4,c,1,-25,GAS2
                                      1,1-0:1.8.0*255(@100,Zählerstand Haus1,m³,Stand_Haus1,18
                                      2,1-0:1.8.0*255(@100,Zählerstand Haus2,m³,Stand_Haus2,18
                                      2,=h=========================
                                      #
                                      

                                      Der Zauber geht aber nur wenn du dir eine Tasmota-Build kompilierst, indem Scripting aktiviert ist.

                                      F Offline
                                      F Offline
                                      frackel
                                      wrote on last edited by
                                      #46

                                      @lenny-cb Hallo habe dein script verwendet und ich habe folgendes Problem, entweder wird der verbrauch gestern angezeigt und der verbrauch heute steht auf null oder nach neustart zeigt er den verbrauch heute an und der verbrauch gestern geht auf null.......für Hilfe und tips wäre ich dankbar.....habe das image aus diesem Forum verwendet. und Tasmota 12.2 auf den wemos d1 mini geflasht.....

                                      1 Reply Last reply
                                      0
                                      • S Spencer

                                        @lenny-cb

                                        Vielen Dank für die Erklärung ;) tasmota.github.io war bereits meine erste Anlaufstelle, hat mir sehr geholfen, aber ich habe im Netz nach fertigen Skripten gesucht und bin dann auf diese Seite gestoßen.

                                        @rattenfänger
                                        Ich vermute dass du einen Counter auf einen GPIO gelegt hast (Einstellungen->Gerätekonfiguration), deswegen wird dir Zähler 50 angezeigt.
                                        Der Zähler wird nicht benötigt, du kannst den GPIO auf 'none' lassen.

                                        Die Firmware muss richtig kompiliert sein.

                                        1. Smart Meter Interface
                                        #ifndef USE_SCRIPT
                                        #define USE_SCRIPT
                                        #endif
                                        #ifndef USE_SML_M
                                        #define USE_SML_M
                                        #endif
                                        #ifdef USE_RULES
                                        #undef USE_RULES
                                        #endif
                                        
                                        1. !!!und ganz wichtig:
                                        #ifndef USE_SCRIPT_WEB_DISPLAY
                                        #ifndef USE_SCRIPT_WEB_DISPLAY
                                        #endif
                                        

                                        Sonst erscheint keine Textausgabe auf der Tasmota Seite ;)

                                        Anbei die kompilierte Firmware:

                                        ESP8266
                                        tasmota_12.02_smart_meter_web_display.bin

                                        ESP32
                                        tasmota32_12.02_smart_meter_web_display.bin

                                        Gruß
                                        Sven

                                        S Offline
                                        S Offline
                                        Sven05
                                        wrote on last edited by
                                        #47

                                        @spencer ist es möglich, die für den Verbrauch Heute in m³ und in KWh händisch anzupassen?

                                        1 Reply Last reply
                                        0
                                        • TodaysLostT Offline
                                          TodaysLostT Offline
                                          TodaysLost
                                          wrote on last edited by
                                          #48

                                          Hi zusammen,

                                          Ich verfolge diesen Post schon länger und Versuche Grade die ganzen Zeilen im Skript zu verstehen.

                                          Das was ich nicht rausfinde, ist eine Bedeutung unter >W.

                                          Wofür steht {m} ??

                                          Ich hoffe, jemand kann mir das sagen :)

                                          T 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          651

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          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