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
    22
    1
    986

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    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.
  • Lenny.CBL Lenny.CB

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

    ca5e9e15-b62a-4642-8980-219d7a6a2211-image.png

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

    habs nicht mehr genau im Kopf, aber der Magnet sitzt bei den meisten Gas-Zähler in der 2. Nachkommastelle

    M Offline
    M Offline
    milanissimo
    schrieb am zuletzt editiert von
    #24

    @lenny-cb

    Hat alles prima geklappt, ich danke dir 1000 mal.

    Ich habe weiter oben gesehen du hattest auch mal den Verbrauch pro Stunde. Ich würde gern den Verbrauch pro Minute in meine InfluxDB schreiben und diesen per Graph in Grafana visualisieren.

    ;Minutenverbrauch
    sec=seconds
    if chg[sec]>0
    and sec==0
    then
    smsec=s1
    svars
    endif
    if upsecs%tper==0
    then
    ssms=s1-smsec
    endif
    

    Leider wird wird mir immer nur der aktuelle Zählerstand angezeigt bei "ssms". Hast du ne Idee was ich falsch mache?

    Lenny.CBL 1 Antwort Letzte Antwort
    0
    • M milanissimo

      @lenny-cb

      Hat alles prima geklappt, ich danke dir 1000 mal.

      Ich habe weiter oben gesehen du hattest auch mal den Verbrauch pro Stunde. Ich würde gern den Verbrauch pro Minute in meine InfluxDB schreiben und diesen per Graph in Grafana visualisieren.

      ;Minutenverbrauch
      sec=seconds
      if chg[sec]>0
      and sec==0
      then
      smsec=s1
      svars
      endif
      if upsecs%tper==0
      then
      ssms=s1-smsec
      endif
      

      Leider wird wird mir immer nur der aktuelle Zählerstand angezeigt bei "ssms". Hast du ne Idee was ich falsch mache?

      Lenny.CBL Offline
      Lenny.CBL Offline
      Lenny.CB
      Most Active
      schrieb am zuletzt editiert von
      #25

      Leider wird wird mir immer nur der aktuelle Zählerstand angezeigt bei "ssms". Hast du ne Idee was ich falsch mache?

      zeig mal das ganze Script.

      M 1 Antwort Letzte Antwort
      0
      • Lenny.CBL Lenny.CB

        Leider wird wird mir immer nur der aktuelle Zählerstand angezeigt bei "ssms". Hast du ne Idee was ich falsch mache?

        zeig mal das ganze Script.

        M Offline
        M Offline
        milanissimo
        schrieb am zuletzt editiert von
        #26
        >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=========================
        #
        
        Lenny.CBL M 2 Antworten 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=========================
          #
          
          Lenny.CBL Offline
          Lenny.CBL Offline
          Lenny.CB
          Most Active
          schrieb am zuletzt editiert von
          #27

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

          if upsecs%tper==0

          warum rechnest du nochmal in dem Block?
          Mache alles in dem Block darüber (Minutenverbrauch).

          1 Antwort Letzte Antwort
          0
          • oberfraggerO oberfragger

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

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

            @Lenny-CB : Könntest du uns/ mir bitte dein Script zur Verfügung stellen. Das wäre wirklich sehr nett.

            Ralf SchradeR Offline
            Ralf SchradeR Offline
            Ralf Schrade
            schrieb am zuletzt editiert von
            #28

            @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 1 Antwort Letzte Antwort
            0
            • 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
              schrieb am zuletzt editiert von
              #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 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
                Marty56
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 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.

                    D Offline
                    D Offline
                    danzlrobert
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von Takahara
                      #33
                      Dieser Beitrag wurde gelöscht!
                      1 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          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 Offline
                                          Lenny.CBL Offline
                                          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
                                          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

                                          757

                                          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