Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. Reedkontakt, Umzug von ESP Easy nach Tasmota

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Reedkontakt, Umzug von ESP Easy nach Tasmota

    This topic has been deleted. Only users with topic management privileges can see it.
    • Cephalopod
      Cephalopod last edited by

      Ich habe meinen Gaszähler die letzten zwei Jahre mit einem Reedkontakt und einem 8266 mit ESP Easy ausgelesen.

      Da inzwischen ein Smart Meter dazu gekommen ist, den ich mit Tasmota erfolgreich auslese, möchte ich den Reedkontakt zusätzlich an diesen 8266 anschließen.

      Mit diesen Einstellungen funktioniert der Reedkontakt bestens:

      4c53af57-df1c-4888-99ed-dc984efd7360-image.png

      Wie kann ich diese Einstellungen in Tasmota realisieren?

      B 1 Reply Last reply Reply Quote 0
      • B
        berndsolar13 @Cephalopod last edited by berndsolar13

        @cephalopod

        genau dazu hab ich auch mal einen Beitrag vor paar Monaten gestartet, da sind viele Infos.
        Suche gerade den Link

        https://forum.iobroker.net/topic/71153/alte-fenstersensoren-smart-machen/

        Cephalopod 1 Reply Last reply Reply Quote 0
        • Cephalopod
          Cephalopod @berndsolar13 last edited by Cephalopod

          Sorry Leute, ich benötige doch noch eure Hilfe.

          Am ESP hängen bereits ein DS18B20 Temperaturfühler und ein Smart-Meter Lesekopf.
          Das Script sieht derzeit so aus:

          >D
          >B
          =>sensor53 r
          >M 1
          +1,3,s,0,9600,MT631
          1,77070100010800ff@1000,Gesamtverbrauch,kWh,Total_in,2
          
          1,77070100100700ff@1,Aktueller Verbrauch,W,Power_cur,0
          #
          

          Wie muss ich es ändern bzw. ergänzen, wenn ich einen Reedkontakt an GPIO-14(D5) anschließe?
          Als "Switch" einstellen?
          Wie wird der "Pull-Up" aktiviert?
          Und die Entprellung?

          1 Reply Last reply Reply Quote 0
          • MartinP
            MartinP last edited by MartinP

            @cephalopod Bei meinem Gaszähler reicht ein Reed-Kontakt nicht, weil das im Gaszähler rotierende Metallstück nicht magnetisch ist ...

            Prinzipiell funktioniert das mit dem induktiven Schalter den ich nutze ähnlich da auch Impulse am ESP ankommen, die gezählt werden müssen ...

            Ich habe die Logik aber im ioBroker gemacht, also der in Tasmota nur grob "debouncete" Impuls wird von iobroker direkt als Datenpunkt ausgewertet ...

            https://forum.iobroker.net/topic/71112/indukt-näherungsschalter-und-gaszählerauswertung

            Cephalopod 1 Reply Last reply Reply Quote 0
            • Cephalopod
              Cephalopod @MartinP last edited by Cephalopod

              @martinp
              Es geht mir nicht darum, OB es funktioniert, ich WEISS, dass es geht, weil ich es schon seit Jahren mit einem ESP laufen habe.

              Das ist mein Java Script dafür:
              8cc6a7c8-cb8c-407c-a685-0f3ec2852f90-image.png

              Wegen meines neuen Stromzählers (Smart) musste ich auf dem 8266 das bisherige "ESP Easy" auf "Tasmota" umflashen.
              Ich raffe einfach das Tasmota Script nicht, das ist alles.

              Hier mein Dashboard des Gasverbrauchs:

              5c25b692-3b8c-42b3-bc1f-7b124480cf4f-image.png

              MartinP 1 Reply Last reply Reply Quote 0
              • MartinP
                MartinP @Cephalopod last edited by

                @cephalopod Steht doch alles im Link - mit Screenshots und Allem...

                Ich nutze auch Tasmota.
                Wieso willst Du das alles in einem Tasmota Script machen? Puls in Datenpunkt. Rest über Blockly. Keine Zeile Tasmota Script....

                Cephalopod 1 Reply Last reply Reply Quote 0
                • Cephalopod
                  Cephalopod @MartinP last edited by

                  @martinp
                  Nein, ich will nicht unbedingt ein "Script" in Tasmota machen.
                  Mir reicht es völlig den Impuls in den ioBroker zu bekommen, daran hapert es lediglich.

                  Was muss ich denn sonst machen, außer den Reedkontakt an D5 und GND anzuschließen und den GPIO14 auf "Switch" zu schalten?
                  Wir der Impuls dann sofort per MQTT übertragen?

                  Wie kann ich dann im ioBroker der Pull-Up Widerstand im 8266 einschalten?
                  Kann ich dort dann die 10 ms Entprellung einstellen?

                  Cephalopod MartinP 2 Replies Last reply Reply Quote 0
                  • Cephalopod
                    Cephalopod @Cephalopod last edited by Cephalopod

                    Ich bin etwas weiter.
                    Das hat geholfen:

                    https://www.smarthomejetzt.de/gaszaehler-mit-wemos-d1-mini-mit-reed-kontakt-pullup-widerstand-und-tasmota-smart-machen/

                    Der Trick war nicht "Switch" zu verwenden, sondern "Counter".

                    Habe auch schon einen Alias dazu angelegt und werde damit das schon bestehende Java Script verwenden:

                    e327944b-290e-407b-bf14-f0cee6c48ff5-image.png

                    Den Pull-Up werde ich Hardwaremäßig mit einem Widerstand lösen und die Entprellung wird mit

                    CounterDebounce 500
                    

                    direkt eingestellt.

                    Frage:
                    Bleibt dieser Wert beim reboot des 8266 eigentlich eingestellt oder muss er immer wider neu gesetzt werden?

                    1 Reply Last reply Reply Quote 0
                    • MartinP
                      MartinP @Cephalopod last edited by

                      Bei mir ist der Impulsgeber an D4 angeschlossen - den Pull-Up habe ich nicht aktiviert ...

                      @cephalopod 719c04ef-04d4-464c-9c30-a585fde38c12-grafik.png

                      Dann habe ich noch in der Tasmota-Konsole

                      buttondebounce 50 
                      

                      eingegeben (ist aber eigentlich default)

                      Da ich den Stromzähler mit dem gleichen Modul auslese, und das Auseinanderpflücken des JSON im Sonoff Adapter entfällt, habe ich das Ding im Sonoff eingebunden ...

                      Der Status kommt bei mir in

                      sonoff.0.Stromzaehler_B5F63F.Switch1
                      

                      Im Blockly wird auf einen Puls in 10 Sekunden limitiert

                      bd6c2c16-d9b0-4cee-99f1-efff251bbf6d-grafik.png

                      Was bei Dir passt, hängt von der Kesselleistung und der Liter / Puls Konfiguration des Zählers ab...

                      Bei mir 10 Liter Gas / Puls ( ca 0,11 kWh) und Gas - Verbraucher mit ca 20 kW thermischer Leistung.

                      Heißt also, maximal 20 / 0,11 = 200 Pulse pro Stunde, oder minimal 18 Sekunde Abstand zwischen den Pulsen - da sind 10 Sekunden o. k.

                      1 Reply Last reply Reply Quote 0
                      • Cephalopod
                        Cephalopod last edited by Cephalopod

                        @martinp

                        24 h sind um.
                        Es funktioniert mit Tasmota leider nicht, was mit ESP Easy Jahrelang funktioniert hat 😕

                        Es werden zu wenige Impulse gezählt.

                        • Der Reedkontakt wurde nicht angefasst, er sitzt immer noch an der selben Stelle
                        • Es wird der gleiche GPIO-14(D5) verwendet
                        • Es wird die gleiche Debounce Time von 10 mSec eingestellt
                        • Es wird auch der interne PullUp verwendet (durch Counter anstatt Counter_n)
                        • Es wird alle 10 Sekunden ein Datenpaket gesendet.
                        • Die Blockly Auswertung im ioBroker ist die selbe

                        Wobei letzteres keine Rolle spielt, der Counter in Tasmota zählt einfach nicht hoch.

                        MartinP 1 Reply Last reply Reply Quote 0
                        • Cephalopod
                          Cephalopod last edited by Cephalopod

                          Gelöscht...

                          1 Reply Last reply Reply Quote 0
                          • MartinP
                            MartinP @Cephalopod last edited by

                            @cephalopod said in Reedkontakt, Umzug von ESP Easy nach Tasmota:

                            Wobei letzteres keine Rolle spielt, der Counter in Tasmota zählt einfach nicht hoch.

                            Zählt er GAR NICHT, oder fehlen Impulse?

                            Cephalopod 1 Reply Last reply Reply Quote 0
                            • Cephalopod
                              Cephalopod @MartinP last edited by

                              @martinp sagte in Reedkontakt, Umzug von ESP Easy nach Tasmota:

                              @cephalopod said in Reedkontakt, Umzug von ESP Easy nach Tasmota:

                              Wobei letzteres keine Rolle spielt, der Counter in Tasmota zählt einfach nicht hoch.

                              Zählt er GAR NICHT, oder fehlen Impulse?

                              Es fehlen jede Menge Impulse.
                              Wenn ich es mit einem Pinnwandmagneten simuliere klappt es, wenn das Zählwerk des Gaszählers sich bewegt werden nur sporadisch Impulse erfasst. Eine Logik dahinter konnte ich noch nicht ermitteln.

                              Es MUSS an der Software/Firmware (Tasmota / ESP Easy) liegen, weil mit der identischen Hardware (Reedkontakt bzw. ESP 8266) lief es über ein Jahr so zuverlässig, dass ich nur alle paar Wochen die zweite Nachkommastelle gelegentlich von Hand korrigieren musste.

                              1 Reply Last reply Reply Quote 0
                              • MartinP
                                MartinP last edited by MartinP

                                @cephalopod Dein Script ist mit Ecken und Kanten...

                                script

                                Egal, wie viele Pulse in der Zeit vom Tasmota Device hereinkommen, Du inkrementierst immer um 0.01 ...

                                Entweder berücksichtigst Du, was da vom Tasmota-Device an Zählerstand-Veränderung kommt, gehst auf einen "Button" der meldet stante pede, wenn er verändert wird - da passt dann das Inkrementieren um 0.01 , oder Du modifizierst im Tasmota-Device das Update interval (TelePeriod)...

                                31f119f1-1265-490e-a41b-42c7f87b8497-grafik.png

                                (alternativ mit consol-Kommando, z. B. für 10 Sekunden Update:

                                TelePeriod 10
                                

                                )

                                Cephalopod 1 Reply Last reply Reply Quote 0
                                • Cephalopod
                                  Cephalopod @MartinP last edited by Cephalopod

                                  @martinp sagte in Reedkontakt, Umzug von ESP Easy nach Tasmota:

                                  Egal, wie viele Pulse in der Zeit vom Tasmota Device hereinkommen, Du inkrementierst immer um 0.01 ...

                                  Ja, so hat es auch bisher immer funktioniert.
                                  DAS ist auch nicht das Problem, Tasmota erkennt die Impulse nicht zuverlässig!
                                  Ist der ESP vielleicht zu beschäftigt, gleichzeitig den Lesekopf des Stromzählers seriell auszulesen?

                                  @martinp sagte in Reedkontakt, Umzug von ESP Easy nach Tasmota:

                                  gehst auf einen "Button" der meldet stante pede, wenn er verändert wird -

                                  Ich habe aktuell "Switch" eingestellt, da scheint es auch so zu passieren.

                                  @martinp sagte in Reedkontakt, Umzug von ESP Easy nach Tasmota:

                                  (alternativ mit consol-Kommando, z. B. für 10 Sekunden Update:

                                  Steht bereits auf 10 Sekunden

                                  MartinP 1 Reply Last reply Reply Quote 0
                                  • MartinP
                                    MartinP @Cephalopod last edited by

                                    @cephalopod

                                    Ich habe aktuell "Switch" eingestellt, da scheint es auch so zu passieren.

                                    Das ist wirklich merkwürdig - solche Probleme habe ich mit meiner Hardware nicht - Node-MCU mit einem IR-Lesekopf für den Stromzähler und den Gaszähler mit dem Impulsausgang von Näherungssensor ... wenn der Reed-Kontakt nicht doch verrutscht ist, bin ich ratlos ...

                                    MartinP 1 Reply Last reply Reply Quote 0
                                    • MartinP
                                      MartinP @MartinP last edited by MartinP

                                      Habe noch einmal in meine Tasmota Konfiguration geschaut - hier die verschiedenen Settings

                                      6cf461d8-ef09-4884-ba47-96a9ed2b0a00-grafik.png

                                      Und das sind Console Settings (Abfrage durch Absetzen ohne Parameter, z.B. SwitchMode):

                                      https://tasmota.github.io/docs/Buttons-and-Switches/#switchmode

                                      SwitchMode 15 (Das könnte der Übeltäter sein!)

                                      Send only MQTT message on switch change. This will stop the switch from controlling power outputs.

                                      tele/tasmota/SENSOR = {"Time":"2021-01-01T00:00:00","Switch1":"OFF"}
                                      tele/tasmota/SENSOR = {"Time":"2021-01-01T00:00:00","Switch1":"ON"}


                                      https://tasmota.github.io/docs/Commands/#setoptions

                                      SetOption114 off

                                      Detach switches from relays and send MQTT messages instead
                                      0 = disable (default)
                                      1 = enable
                                      Example result: {"Switch1":{"Action":"ON"}}


                                      SetOption73 off

                                      Detach buttons from relays and send multi-press and hold MQTT messages instead
                                      0 = disable (default)
                                      1 = enable
                                      Example message: {"Button1":{"Action":"SINGLE"}}


                                      SetOption74 off

                                      Enable internal pullup for single DS18x20 sensor
                                      0 = disable (default)
                                      1 = internal pullup enabled This only affects ESP8266 ESP32 always needs external pullup

                                      Cephalopod 1 Reply Last reply Reply Quote 0
                                      • Cephalopod
                                        Cephalopod @MartinP last edited by

                                        @martinp

                                        Habe jetzt mal 24 h meinen Gaszähler mit Tasmota überwachen lassen.

                                        Realverbrauch: 0,59 m³
                                        also 59 Impulse hätten kommen müssen.

                                        Tasmota: 0,35 m³
                                        also 35 Impulse 👎

                                        Ich klemme jetzt wieder meinen alten ESP-Easy 8266 dran und lasse ihn auch mal 24 h zählen.

                                        MartinP 1 Reply Last reply Reply Quote 0
                                        • MartinP
                                          MartinP @Cephalopod last edited by

                                          @cephalopod Hast Du in der Tasmota Console "SwitchMode 15" probiert?

                                          Cephalopod 1 Reply Last reply Reply Quote 0
                                          • Cephalopod
                                            Cephalopod @MartinP last edited by Cephalopod

                                            @martinp sagte in Reedkontakt, Umzug von ESP Easy nach Tasmota:

                                            @cephalopod Hast Du in der Tasmota Console "SwitchMode 15" probiert?

                                            Nein, komme nur Abends zum "spielen".
                                            Was soll das ändern?
                                            Was mir auch nicht gefällt, dass jeder Durchlauf des Zählrades zwei "Switch"-Ereignisse Auslöst. Einmal wenn der Magnet den Reed öffnet, das zweite wenn er wieder geschlossen wird.
                                            Ich habe daher in meinem Blockly-Script immer nur 0,005 m³ addiert.

                                            Das ist mit ESP-Easy deutlich besser gelöst:

                                            https://espeasy.readthedocs.io/en/latest/Plugin/P003.html

                                            MartinP 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            922
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            21
                                            1213
                                            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