Navigation

    Logo
    • Registrieren
    • Anmelden
    • Suche
    • Aktuell
    • Tags
    • Ungelesen
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe
    1. Übersicht
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst]Tasmota auf WEMOS Mini mit Reedkontakt - Probleme?

    NEWS

    • Update NodeJS best practise, supported 14, 16 und 18!

    • Update js-controller 4.0.24 (Stable)

    • Fehler 25, 217 oder "ENOTEMPTY" bei Adapter-Install/Update

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

    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • S
      Sandmanyz zuletzt editiert von Sandmanyz

      Hallo

      Ich habe vor mir einen Wemos Mini liegen, auf welchem Tasmota ist (v9.2.0). An GND und GPIO 7 steckt ein Reedkontakt, welcher grundsätzlich auch funktioniert. Mit dem Reedkontakt möchte ich später am Gaszähler den Verbrauch zählen.
      Ich muss erwähnen, dass Tasmota Neuland für mich ist 😕 .

      Probleme:

      1. In der Tasmota Oberfläche erhöht sich der Zähler beim Anziehen des Kontaktes nur sporadisch, verzögert oder gar nicht. Für mich nicht richtig nachvollziehbar. Vermutlich habe ich was falsch konfiguriert?
      2. Ich vermisse im ioBroker ein Objekt welches den Status des Reedkontaktes zeigt.

      Folgend einige Screenshots meiner Konfiguration....

      MQTT-Einstellungen:
      ff6e12d3-d205-4430-8a32-047d1cf2d8e2-grafik.png

      Sonstige Einstellungen:
      de82cbf6-14a2-4cc3-a654-305ad02f2f6c-grafik.png

      Geräte-Einstellungen:
      fca2f6e6-6e1f-4370-9b76-88e177dd0f39-grafik.png

      Informationen:
      2d253bea-7203-4f28-887d-408ebc0157c0-grafik.png

      Tasmota Console:

      11:12:53 MQT: tele/STATE = {"Time":"2020-12-31T11:12:53","Uptime":"0T00:00:41","UptimeSec":41,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":25,"MqttCount":1,"Wifi":{"AP":1,"SSId":"XXXX","BSSId":"XX:B0:14:XX:7B:XX","Channel":8,"RSSI":100,"Signal":-29,"LinkCount":1,"Downtime":"0T00:00:05"}}
      11:12:53 MQT: tele/SENSOR = {"Time":"2020-12-31T11:12:53","COUNTER":{"C1":787}}
      11:13:03 MQT: tele/STATE = {"Time":"2020-12-31T11:13:03","Uptime":"0T00:00:51","UptimeSec":51,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"XXXX","BSSId":"XX:B0:14:XX:7B:XX","Channel":8,"RSSI":100,"Signal":-28,"LinkCount":1,"Downtime":"0T00:00:05"}}
      11:13:03 MQT: tele/SENSOR = {"Time":"2020-12-31T11:13:03","COUNTER":{"C1":787}}
      11:13:13 MQT: tele/STATE = {"Time":"2020-12-31T11:13:13","Uptime":"0T00:01:01","UptimeSec":61,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"XXXX","BSSId":"XX:B0:14:XX:7B:XX","Channel":8,"RSSI":100,"Signal":-31,"LinkCount":1,"Downtime":"0T00:00:05"}}
      11:13:13 MQT: tele/SENSOR = {"Time":"2020-12-31T11:13:13","COUNTER":{"C1":787}}
      11:13:23 MQT: tele/STATE = {"Time":"2020-12-31T11:13:23","Uptime":"0T00:01:11","UptimeSec":71,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"XXXX","BSSId":"XX:B0:14:XX:7B:XX","Channel":8,"RSSI":100,"Signal":-30,"LinkCount":1,"Downtime":"0T00:00:05"}}
      11:13:23 MQT: tele/SENSOR = {"Time":"2020-12-31T11:13:23","COUNTER":{"C1":787}}
      

      ioBroker Log (Nach Neustart des WEMOS (Tasmota)):

      mqtt.0	2020-12-31 11:40:27.739	info	(21997) Client [DVES_7E9F20] unsubscribes on unknown topic "homeassistant/status"
      mqtt.0	2020-12-31 11:40:27.715	info	(21997) Client [DVES_7E9F20] publishOnSubscribe send all known states
      mqtt.0	2020-12-31 11:40:27.713	info	(21997) Client [DVES_7E9F20] subscribes on "cmnd/#" with regex /^mqtt\.0\.cmnd\..*/
      mqtt.0	2020-12-31 11:40:27.711	info	(21997) Client [DVES_7E9F20] subscribes on "cmnd/#" with regex /^cmnd\..*/
      mqtt.0	2020-12-31 11:40:27.633	info	(21997) Client [DVES_7E9F20] connected with secret 1609411227631_2412
      mqtt.0	2020-12-31 11:40:21.702	info	(21997) Client [DVES_7E9F20] connection closed: closed
      

      ioBroker MQTT-Adapter:
      e93d784d-e412-4ff2-bceb-842fb42b8e86-grafik.png

      Chaot Lenny.CB 2 Antworten Letzte Antwort Antworten Zitieren 1
      • Chaot
        Chaot @Sandmanyz zuletzt editiert von

        @Sandmanyz Ich würde zunächst mal den GPIO 7 mit einem Pullup Widersatnd versehen.
        Die Reedkontakte machen bei mir auch Probleme wenn ich sie nicht hochlege.

        Christof.Kac 1 Antwort Letzte Antwort Antworten Zitieren 0
        • Christof.Kac
          Christof.Kac @Chaot zuletzt editiert von

          Eine ganz andere Frage: Für meine 8 Tasmota Devices nutze ich den Sonoff-Adapter, nicht MQTT. Dieser dekodiert schon automatisch die Infos der Tasmota-SW aus den JSON infos.
          Auch das Schalten ist damit auch einfacher, da direkt die entsprechenden States erstellt werden.

          Nicht vom Namen "Sonoff" verwirren lassen, dies war der Original-Name der Tasmota SW.

          Hoffentlich hilft es.
          Christof

          1 Antwort Letzte Antwort Antworten Zitieren 0
          • Q
            quorle zuletzt editiert von

            Nutze auch den Sonoff-Adapter.
            Habe selbigen Aufbau, Wemos mit Tasmota mit Reedkontakt für Gaszählerabfrage.

            Habe den Wemos als Sonoff-Basic konfiguriert und den Reedkontakt zwischen GND und einem GPIO angehängt. Debounce für den switch eingestellt und gut ist es 😉

            1 Antwort Letzte Antwort Antworten Zitieren 0
            • Lenny.CB
              Lenny.CB Most Active @Sandmanyz zuletzt editiert von

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

              Q S schroed99 oberfragger T 5 Antworten Letzte Antwort Antworten Zitieren 1
              • Q
                quorle @Lenny.CB zuletzt editiert von

                @Lenny-CB

                Kann man doch den internen Pullup nutzen 😅

                Wenn dein Projekt fertig ist, hätte ich Interesse daran 😎🤭

                1 Antwort Letzte Antwort Antworten Zitieren 0
                • S
                  Sandmanyz @Lenny.CB zuletzt editiert von

                  Danke für eure Antworten. Das hat mir weitergeholfen. Ich brauche allerdings mehr Details 😊

                  Habe den Sonoff-Adapter installiert und die MQTT-Einstellungen auf dem WEMOS entsprechend angepasst. Konfiguriere ich den GPIO als "Switch" geht im ioBroker das Objekt "POWER" auf true/false. Konfiguriere ich den GPIO jedoch als "Counter" (folgender Screenshot), kommt im ioBroker nichts an. Wie bekomme ich den Zähler/Counter in den ioBroker?

                  e0587690-929a-497f-b877-a2f24d59fe30-grafik.png

                  810d2ea2-ef4d-4445-bec2-94fd08a81f95-grafik.png

                  Stratos Gkrekidis 1 Antwort Letzte Antwort Antworten Zitieren 0
                  • Stratos Gkrekidis
                    Stratos Gkrekidis @Sandmanyz zuletzt editiert von

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

                    S M D M lemonbiter 5 Antworten Letzte Antwort Antworten Zitieren 0
                    • S
                      Sandmanyz @Stratos Gkrekidis zuletzt editiert von

                      @Stratos-Gkrekidis

                      Du bist der Beste! Jetzt rennte die Karre :-).
                      Werde jetzt mal beobachten wie genau das ist. Wie sind deine Erfahrungswerte?

                      Stratos Gkrekidis 1 Antwort Letzte Antwort Antworten Zitieren 0
                      • Stratos Gkrekidis
                        Stratos Gkrekidis @Sandmanyz zuletzt editiert von

                        @Sandmanyz
                        Bei mir läuft es seit paar jahre ohne probleme.

                        S 1 Antwort Letzte Antwort Antworten Zitieren 0
                        • S
                          Sandmanyz @Stratos Gkrekidis zuletzt editiert von

                          @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 Antwort Letzte Antwort Antworten Zitieren 1
                          • Q
                            quorle zuletzt editiert von

                            @Lenny-CB

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

                            1 Antwort Letzte Antwort Antworten Zitieren 0
                            • schroed99
                              schroed99 @Lenny.CB zuletzt editiert von

                              @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 Antwort Letzte Antwort Antworten Zitieren 0
                              • Lenny.CB
                                Lenny.CB Most Active @schroed99 zuletzt editiert von

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

                                1 Antwort Letzte Antwort Antworten Zitieren 0
                                • oberfragger
                                  oberfragger @Lenny.CB zuletzt editiert von

                                  @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 Antworten Letzte Antwort Antworten Zitieren 0
                                  • Lenny.CB
                                    Lenny.CB Most Active @oberfragger zuletzt editiert von

                                    @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 Antworten Letzte Antwort Antworten Zitieren 1
                                    • oberfragger
                                      oberfragger @Lenny.CB zuletzt editiert von

                                      @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 Antwort Letzte Antwort Antworten Zitieren 0
                                      • M
                                        milanissimo @Lenny.CB zuletzt editiert von

                                        @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 Antwort Letzte Antwort Antworten Zitieren 0
                                        • Lenny.CB
                                          Lenny.CB Most Active @milanissimo zuletzt editiert von 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 Antworten Letzte Antwort Antworten Zitieren 0
                                          • M
                                            milanissimo @Lenny.CB zuletzt editiert von

                                            @lenny-cb

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

                                            Lenny.CB 1 Antwort Letzte Antwort Antworten Zitieren 0
                                            • Erster Beitrag
                                              Letzter Beitrag

                                            Support us

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

                                            1.2k
                                            Online

                                            29.2k
                                            Benutzer

                                            63.3k
                                            Themen

                                            967.5k
                                            Beiträge

                                            mqtt reedkontakt tasmota wemos
                                            30
                                            86
                                            10508
                                            Lade mehr Beiträge
                                            • Älteste zuerst
                                            • Neuste zuerst
                                            • Meiste Stimmen
                                            Antworten
                                            • In einem neuen Thema antworten
                                            Anmelden zum Antworten
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2021
                                            logo