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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    928

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.4k

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

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
tasmotawemosmqttreedkontakt
92 Beiträge 33 Kommentatoren 33.7k Aufrufe 32 Watching
  • Ä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.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • bahnuhrB bahnuhr

        @marhal

        Screenshot unleserlich.

        M Offline
        M Offline
        marhal
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Spencer
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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 Online
                    Lenny.CBL Online
                    Lenny.CB
                    Most Active
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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 Online
                      Lenny.CBL Online
                      Lenny.CB
                      Most Active
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #47

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

                            1 Antwort Letzte Antwort
                            0
                            • TodaysLostT Offline
                              TodaysLostT Offline
                              TodaysLost
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • TodaysLostT TodaysLost

                                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 Offline
                                T Offline
                                thgorjup
                                schrieb am zuletzt editiert von
                                #49

                                @todayslost

                                W bedeutet Text-Ausgabe auf der Tasmota Startseite.
                                Dazu benötigst du aber #define USE_SCRIPT_WEB_DISPLAY beim kompilieren.
                                das {m} steht für eine Einrückung/TAB

                                T TodaysLostT 2 Antworten Letzte Antwort
                                0
                                • T thgorjup

                                  @todayslost

                                  W bedeutet Text-Ausgabe auf der Tasmota Startseite.
                                  Dazu benötigst du aber #define USE_SCRIPT_WEB_DISPLAY beim kompilieren.
                                  das {m} steht für eine Einrückung/TAB

                                  T Offline
                                  T Offline
                                  thgorjup
                                  schrieb am zuletzt editiert von thgorjup
                                  #50

                                  Ich habe eine Frage zu den GPIO. Ich habe einen D1-Wemos Mini und der Reed-Kontakt ist auf D7 GPIO13 und GND gesetzt. Nach meinem Verständnis müsste doch die Zeile unter >M 1 folgendermaßen aussehen, oder?

                                  >M 1
                                  +1,13,c,1,-25,GAS
                                  

                                  Die 13 steht doch für GPIO13 oder nicht? Allerdings wird nichts augegeben wenn ich 13 verwende.
                                  Bei Verwednung jeder anderen Zahl, wie z.B. 14 erscheint eine Ausgabe.

                                  Weiterhin habe ich das Problem, dass genau diese Ausgabe nicht geupdatet wird wenn der Counter1 sich ändert.
                                  Erst beim erneuten speichern des Scripts wird der Wert wieder richtig gesetzt. Wo ist hier mein Fehler?
                                  Hier mein komplettes Script:

                                  >D
                                  p:m1=0
                                  c1=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=17.956
                                  farbe1="#008000"
                                  farbe2="#f00000"
                                  farbe3="#00fdfd"
                                  gasinit=5952.06
                                  gastotal=0
                                  
                                  >B
                                  =>sensor53 r
                                  =>sensor53 12
                                  
                                  >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 tele/%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/value %2s1%
                                  =>Publish tele/%topic%/main/gastotal %2gastotal%
                                  =>Publish tele/%topic%/main/json {"gastotal": "%2gastotal%", "value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"}
                                  }
                                  
                                  >T
                                  s1=GAS#Stand
                                  c1=Counter#C1
                                  gastotal=(c1/100)+gasinit
                                  
                                  >W
                                  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} %2ggp% €
                                  
                                  >M 1
                                  +1,14,c,1,-25,GAS
                                  1,1-0:1.8.0*255(@1000,gezählt,m³,Stand,3)
                                  #
                                  
                                  TodaysLostT P 2 Antworten Letzte Antwort
                                  0
                                  • T thgorjup

                                    @todayslost

                                    W bedeutet Text-Ausgabe auf der Tasmota Startseite.
                                    Dazu benötigst du aber #define USE_SCRIPT_WEB_DISPLAY beim kompilieren.
                                    das {m} steht für eine Einrückung/TAB

                                    TodaysLostT Offline
                                    TodaysLostT Offline
                                    TodaysLost
                                    schrieb am zuletzt editiert von
                                    #51

                                    @thgorjup

                                    Danke für die Info. >W warmir bekannt, funktioniert auch alles. Wollte nur verstehen, was {m} bedeutet (Dank dir, weis ich es jetzt). Wo kann man das denn nachlesen? Auf der Tasmota Seite konnte ich nichts dazu finden...

                                    1 Antwort Letzte Antwort
                                    0
                                    • T thgorjup

                                      Ich habe eine Frage zu den GPIO. Ich habe einen D1-Wemos Mini und der Reed-Kontakt ist auf D7 GPIO13 und GND gesetzt. Nach meinem Verständnis müsste doch die Zeile unter >M 1 folgendermaßen aussehen, oder?

                                      >M 1
                                      +1,13,c,1,-25,GAS
                                      

                                      Die 13 steht doch für GPIO13 oder nicht? Allerdings wird nichts augegeben wenn ich 13 verwende.
                                      Bei Verwednung jeder anderen Zahl, wie z.B. 14 erscheint eine Ausgabe.

                                      Weiterhin habe ich das Problem, dass genau diese Ausgabe nicht geupdatet wird wenn der Counter1 sich ändert.
                                      Erst beim erneuten speichern des Scripts wird der Wert wieder richtig gesetzt. Wo ist hier mein Fehler?
                                      Hier mein komplettes Script:

                                      >D
                                      p:m1=0
                                      c1=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=17.956
                                      farbe1="#008000"
                                      farbe2="#f00000"
                                      farbe3="#00fdfd"
                                      gasinit=5952.06
                                      gastotal=0
                                      
                                      >B
                                      =>sensor53 r
                                      =>sensor53 12
                                      
                                      >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 tele/%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/value %2s1%
                                      =>Publish tele/%topic%/main/gastotal %2gastotal%
                                      =>Publish tele/%topic%/main/json {"gastotal": "%2gastotal%", "value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"}
                                      }
                                      
                                      >T
                                      s1=GAS#Stand
                                      c1=Counter#C1
                                      gastotal=(c1/100)+gasinit
                                      
                                      >W
                                      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} %2ggp% €
                                      
                                      >M 1
                                      +1,14,c,1,-25,GAS
                                      1,1-0:1.8.0*255(@1000,gezählt,m³,Stand,3)
                                      #
                                      
                                      TodaysLostT Offline
                                      TodaysLostT Offline
                                      TodaysLost
                                      schrieb am zuletzt editiert von TodaysLost
                                      #52

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

                                      =>sensor53 r
                                      =>sensor53 12 <-- wozu diese Zeile?! Könnte es eventuell daran liegen?

                                      Wenn du damit die Board LED ansteuern willst, müsste dort sensor53 l2 hin

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • TodaysLostT TodaysLost

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

                                        =>sensor53 r
                                        =>sensor53 12 <-- wozu diese Zeile?! Könnte es eventuell daran liegen?

                                        Wenn du damit die Board LED ansteuern willst, müsste dort sensor53 l2 hin

                                        T Offline
                                        T Offline
                                        thgorjup
                                        schrieb am zuletzt editiert von
                                        #53

                                        @todayslost
                                        Laut Doku ist das die LED beim D1 Wemos Mini die angesprochene wird.

                                        For example you can use sensor53 l2 for the onboard LED on a Wemos D1-mini

                                        Aber ich sehe gerade, dass es keine 12 ist, sondern l2
                                        Ich ändere das mal.

                                        1 Antwort Letzte Antwort
                                        0
                                        • T thgorjup

                                          Ich habe eine Frage zu den GPIO. Ich habe einen D1-Wemos Mini und der Reed-Kontakt ist auf D7 GPIO13 und GND gesetzt. Nach meinem Verständnis müsste doch die Zeile unter >M 1 folgendermaßen aussehen, oder?

                                          >M 1
                                          +1,13,c,1,-25,GAS
                                          

                                          Die 13 steht doch für GPIO13 oder nicht? Allerdings wird nichts augegeben wenn ich 13 verwende.
                                          Bei Verwednung jeder anderen Zahl, wie z.B. 14 erscheint eine Ausgabe.

                                          Weiterhin habe ich das Problem, dass genau diese Ausgabe nicht geupdatet wird wenn der Counter1 sich ändert.
                                          Erst beim erneuten speichern des Scripts wird der Wert wieder richtig gesetzt. Wo ist hier mein Fehler?
                                          Hier mein komplettes Script:

                                          >D
                                          p:m1=0
                                          c1=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=17.956
                                          farbe1="#008000"
                                          farbe2="#f00000"
                                          farbe3="#00fdfd"
                                          gasinit=5952.06
                                          gastotal=0
                                          
                                          >B
                                          =>sensor53 r
                                          =>sensor53 12
                                          
                                          >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 tele/%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/value %2s1%
                                          =>Publish tele/%topic%/main/gastotal %2gastotal%
                                          =>Publish tele/%topic%/main/json {"gastotal": "%2gastotal%", "value": "%2s1%", "today_m3": "%2h1%", "today_kwh": "%2hkw1%", "yesterday_m3": "%2g1%", "yesterday_kwh": "%2gkw1%"}
                                          }
                                          
                                          >T
                                          s1=GAS#Stand
                                          c1=Counter#C1
                                          gastotal=(c1/100)+gasinit
                                          
                                          >W
                                          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} %2ggp% €
                                          
                                          >M 1
                                          +1,14,c,1,-25,GAS
                                          1,1-0:1.8.0*255(@1000,gezählt,m³,Stand,3)
                                          #
                                          
                                          P Offline
                                          P Offline
                                          Pausentee
                                          schrieb am zuletzt editiert von Pausentee
                                          #54

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

                                          Ich habe eine Frage zu den GPIO. Ich habe einen D1-Wemos Mini und der Reed-Kontakt ist auf D7 GPIO13 und GND gesetzt. Nach meinem Verständnis müsste doch die Zeile unter >M 1 folgendermaßen aussehen, oder?

                                          >M 1
                                          +1,13,c,1,-25,GAS
                                          

                                          Die 13 steht doch für GPIO13 oder nicht? Allerdings wird nichts augegeben wenn ich 13 verwende.
                                          Bei Verwednung jeder anderen Zahl, wie z.B. 14 erscheint eine Ausgabe.

                                          Weiterhin habe ich das Problem, dass genau diese Ausgabe nicht geupdatet wird wenn der Counter1 sich ändert.
                                          Erst beim erneuten speichern des Scripts wird der Wert wieder richtig gesetzt. Wo ist hier mein Fehler?

                                          Das Problem hatte ich auch gerade....

                                          Deswegen habe ich jetzt mal GPIO14 angeschlossen und das geht.

                                          RPi 4 DietPi Bullseye
                                          ioBroker 6.3.5
                                          JS-Controller 5.0.19
                                          Nodejs 18.17.1
                                          npm 9.6.7

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

                                          785

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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