Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Sandmanyz @Stratos Gkrekidis last edited by

      @Stratos-Gkrekidis
      Bei läuft es seit einigen Tagen perfekt, keine Abweichungen. Mit ESPEasy war das nicht zu machen...ständig Abweichungen bei der Zählung.

      Danke nochmal!

      1 Reply Last reply Reply Quote 1
      • Q
        quorle last edited by

        @Lenny-CB

        Wie sieht es mit deiner Konfiguration aus? Bist du schon weiter?

        1 Reply Last reply Reply Quote 0
        • schroed99
          schroed99 @Lenny.CB last edited by

          @lenny-cb Hi, hätte auch Interesse daran wie du das berechnen direkt mit Tasmota umgesetzt hast. Mühe mich gerade per Script die Daten im ioBroker zu berechnen. Aber dein Ansatz / Script würde mich sehr interessieren. Viele Grüße

          Lenny.CB 1 Reply Last reply Reply Quote 0
          • Lenny.CB
            Lenny.CB Most Active @schroed99 last edited by

            @schroed99 das ist eine Version von Tasmota in der Scripting aktiviert ist. Damit kann man dann Scripte direkt am Aktor ausführen lassen.

            1 Reply Last reply Reply Quote 0
            • oberfragger
              oberfragger @Lenny.CB last edited by

              @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!" 😁

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

              Lenny.CB Ralf Schrade 2 Replies Last reply Reply Quote 0
              • Lenny.CB
                Lenny.CB Most Active @oberfragger last edited by

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

                oberfragger M F 3 Replies Last reply Reply Quote 1
                • oberfragger
                  oberfragger @Lenny.CB last edited by

                  @lenny-cb
                  Danke!

                  Ja mittlerweile bin ich "Profi" beim Tasmota kompilieren. Hab einiges dazugelernt, da ich mir mal mehrere AM2320 I2C Sensoren gekauft habe. Deshalb muss ich immer die Treiber einkompilieren und kann nix fertiges nehmen. Würde ich nicht mehr tun. BMEs werden viiiel besser unterstützt.

                  Aktuell BME680 in der Lüftungsanlage und dann noch nebenbei den Reedkontakt auslesen 😉 Deshalb die Bitte nach dem Script.

                  1 Reply Last reply Reply Quote 0
                  • M
                    milanissimo @Lenny.CB last edited by

                    @lenny-cb

                    hey vielen Dank für das Skript. Funktioniert soweit alles wie es soll (Teste aktuell noch mit ein Magnet)

                    Wie ich das lese hat du den Debounce hier mit konfiguriert richtig?

                    +1,14,c,1,-25,GAS1

                    muss man jetzt extra nochmal in der Konsole eingeben?

                    CounterDebounce 1000
                    CounterDebounceLow 500
                    CounterDebounceHigh 500

                    Und dann suche ich noch eine Möglichkeit wo man den Anfangszählerstand eintragen kann, sodass quasi wie beim Strom man den aktuellen Zählerstand sieht (auch zur Kontrolle, das der Reedkontakt richtig zählt).

                    Vielen Dank schonmal für den Skript!

                    Lenny.CB 1 Reply Last reply Reply Quote 0
                    • Lenny.CB
                      Lenny.CB Most Active @milanissimo last edited by Lenny.CB

                      muss man jetzt extra nochmal in der Konsole eingeben?

                      CounterDebounce 1000
                      CounterDebounceLow 500
                      CounterDebounceHigh 500

                      jupp, habe ich so gemacht.
                      Wobei CounterDebounceHigh/CounterDebounceLow von der Hardware-Beschaltung abhängig ist. Beides einzutragen ist nicht kontraproduktiv.

                      Und dann suche ich noch eine Möglichkeit wo man den Anfangszählerstand eintragen kann, sodass quasi wie beim Strom man den aktuellen Zählerstand sieht (auch zur Kontrolle, das der Reedkontakt richtig zählt).

                      gib mal in die Konsole ein:

                      Sensor53 c1 1234567
                      

                      bedeutet, dass der erste Counter auf diesen Wert gesetzt wird (muss man aber nach jedem Neustart machen)
                      Beispiel: 1234567 = 12345,67

                      M P 2 Replies Last reply Reply Quote 0
                      • M
                        milanissimo @Lenny.CB last edited by

                        @lenny-cb

                        Muss nochmal blöd fragen, in der Konsole vom tasmota oder? Kommt bei mir immer unknown Command…:/

                        Lenny.CB 1 Reply Last reply Reply Quote 0
                        • Lenny.CB
                          Lenny.CB Most Active @milanissimo last edited by

                          Muss nochmal blöd fragen, in der Konsole vom tasmota oder?

                          jupp.

                          Kommt bei mir immer unknown Command…:/

                          das ist komisch. Das Script läuft aber?

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            milanissimo @Lenny.CB last edited by

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

                            Lenny.CB T 2 Replies Last reply Reply Quote 0
                            • Lenny.CB
                              Lenny.CB Most Active @milanissimo last edited by

                              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 1 Reply Last reply Reply Quote 0
                              • M
                                milanissimo @Lenny.CB last edited by

                                @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.CB 1 Reply Last reply Reply Quote 0
                                • Lenny.CB
                                  Lenny.CB Most Active @milanissimo last edited by

                                  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 Reply Last reply Reply Quote 0
                                  • M
                                    milanissimo @Lenny.CB last edited by

                                    >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.CB M 2 Replies Last reply Reply Quote 0
                                    • Lenny.CB
                                      Lenny.CB Most Active @milanissimo last edited by

                                      @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 Reply Last reply Reply Quote 0
                                      • Ralf Schrade
                                        Ralf Schrade @oberfragger last edited by

                                        @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 Reply Last reply Reply Quote 0
                                        • M
                                          Marty56 @Ralf Schrade last edited by

                                          Bei welchem Wert laufen die Counter eigentlich über?

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            Marty56 @Stratos Gkrekidis last edited by

                                            @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 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            963
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            mqtt reedkontakt tasmota wemos
                                            33
                                            92
                                            27658
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo