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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Reedkontakt, Umzug von ESP Easy nach Tasmota

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                      • MartinP
                                        MartinP @Cephalopod last edited by

                                        @cephalopod Ich habe mir Deinen ersten Post noch einmal durchgelesen, und kann die Motivation, den Gaszähler als "Untermieter" auf den Stromzähler - ESP mit zu integrieren durchaus verstehen...

                                        Ich habe bei mir einiges an Tasmota im Laufe der Zeit angeschafft, und mich in die durchaus umfangreiche Dokumentation zu Tasmota eingefuchst. Mit EspEasy habe ich mich noch nicht groß beschäftigt. Die Ansätze scheinen durchaus an vielen Punkten unterschiedlich zu sein...

                                        Da ist wahrscheinlich die Frage, ob Du Dir das Einlesen in die Tasmota Dokumentation antun willst. Smart-Home ist zwar zwangsläufig Vielfalt, was die Protokolle und Technologien angeht, aber mit jeder Technologie gibt es mehr Wissen, was man für den Betrieb seiner Installation braucht. Muss wahrscheinlich gut überlegt sein ...

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        946
                                        Online

                                        32.0k
                                        Users

                                        80.4k
                                        Topics

                                        1.3m
                                        Posts

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