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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                        • M
                                          Marty56 @Marty56 last edited by 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 1 Reply Last reply Reply Quote 0
                                          • D
                                            danzlrobert @Stratos Gkrekidis last edited by

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

                                            @Sandmanyz

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

                                            Dann habe ich in der Konsole eingegeben:

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

                                            Ein reboot und fertig.

                                            im iobroker findest du noch ein POWER und ein counter state

                                            Grüße aus Griechenland.

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

                                            1 Reply Last reply 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

                                            357
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            mqtt reedkontakt tasmota wemos
                                            33
                                            92
                                            27928
                                            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