Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. alte Fenstersensoren Smart machen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    alte Fenstersensoren Smart machen

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

      Also ich lese hier schon eine Weile mit ...

      Ich habe das ohne Skripte auf den ESP gelöst, einfach mit dem 08/15 Standard Image von Tasmota.
      Ich schließe meine Reed-Kontakte / Taster / Mikroschalter / Endschalter immer mit einem 4,7kOhm Widerstand an so das die den GPIO entweder auf Masse ziehen (Button_n) oder auf 3,3V (Button_i).
      Dementsprechend konfiguriere ich auch Tasmota:
      d9b929cb-d4ed-4b0e-8762-8b40b4273422-image.png

      Dann entkopple ich die Taster von (nicht vorhandenen) Relais:

      SetOption73 1             => Entkoppelt die Taster (Buttons) von den Relais. Ansonsten müsste für jeden Taster (Button) auch ein Relais vorhanden sein. So wird nur Meldung gemacht
      SetOption13 1             => Die Nachricht die wir in der Konsole sehen unmittelbar senden. Die Meldung ist dadurch immer SINGLE
                                   Wird diese Option wieder auf 0 gesetzt so können SINGLE, DOUBLE, TRIPLE und QUAD ausgewertet werden. Aber er reagiert etwas langsamer
                                   da ja immer erst gewartet werden muss ob es nicht ein Doppelklick werden soll.
                                   Ein langer Tastendruck (>4 Sekunden) kann einen Reset auf Werkseinstellungen hervorrufen
                                   SetOption1 1 soll das Verhalten deaktivieren
                                   Eine genaue Beschreibung von SetOption13 0 findet Ihr hier: https://tasmota.github.io/docs/Buttons-and-Switches/#multi-press-functions
      

      Wenn man dann einen Taster drückt / sich ein Reedkontakt schließt usw. gibt es eine MQTT Meldung:
      2638c993-eb35-4059-a8d4-cd78bd870056-image.png
      Auf die reagiere ich dann innerhalb von ioBroker.

      Man kann das auch mit Fake-Relais lösen, eines pro Taster , dann wechselt jeweils ein POWER1 / POWER2 etc. von ON auf OFF und umgekehrt

      Die Lösung hatte ich mal für ein Bedienfeld mit Display zusammengesucht, seit dem schaue ich mir das dann immer bei mir selbst ab: https://znil.net/index.php?title=ESP8266_Wemos_D1_Mini_mit_Tasmota_und_OLED_Display_I2C_SSH1106_und_4_Taster

      Ohne Display reicht wie geschrieben das Standard-Tasmota.

      Bei meinem Briefkasten+ Paketbox habe ich Fake-Relais eingesetzt:
      f9d49935-d9b4-4e0a-9ebb-e10351a8061b-image.png
      e59bcfae-24de-488b-b182-3d371c82dbc4-image.png
      Die beiden Switch sind Reedkontakte an den Klappen. Die Relais gibt es gar nicht.
      Wird eine Klappe geöffnet springt es im Hauptmenü auf ON, schließt sich die Klappe wieder geht es wieder auf OFF

      Das ganze kommt per MQTT unter stat an:
      f019b229-75ba-4b3b-bea7-197d01d01f50-image.png
      Der POWER ohne Zahl ist noch vom einrichten, die anderen beiden ändern sich dann beim Bewegen der Klappen.

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

        @bananajoe

        Hi bananajoe, wie hast das beim Briefkasten gelöst ?
        Sobald sich die Klappe vom Briefkasten wieder schließt, also der Brief liegt drin, dann ist der Status ja wieder "zu" oder halt 0 oder 1, je nach Einstellung.

        Bei meinen ersten Tests MQTT alle 10 Sekunden, kam es vor, das ich wenn ich sagen wir Öffnen einwerfen schließen, das unter 5 Sekunden schaffe, dann merkt Tasmota nicht, das der Briefkasten geöffnet wurde.

        BananaJoe 1 Reply Last reply Reply Quote 0
        • BananaJoe
          BananaJoe Most Active @berndsolar13 last edited by BananaJoe

          @berndsolar13 wie MQTT alle 10 Sekunden? Die POWER Meldungen (oder auch die Button Varianten) senden immer unmittelbar bei Änderung.

          Es gibt Dinge die Tasmota nur Turnusmäßig mit der Teleperiod sendet, also minimal alle 10 Sekunden. Wenn sich ein Button/Relais ändert sendet er das unter /stat/MQTT-Gerätename/ immer sofort. Schickst du über /cmd/MQTT-Gerätename einen Befehl zum Tasmota siehst dort unter /stat/MQTT-Gerätename/RESULT immer unmittelbar die Antwort.

          Ich muss zugeben das mein Briefkasten etwas langsamer reagiert als der ZigBee Sensor zuvor, das wird aber den 5m Kabel an den Reed-Kontakten geschuldet sein (ESP sitzt im Keller, Sensoren über Datenkabel am Briefkasten). Aber so in einer Sekunde reagiert der. (Ja, eine Sekunde kann lang sein).

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

            @bananajoe

            Ich habe am ESP 12 Reedkontakte (10 Fenster + Haustür+ Briefkasten)
            Also hab ich doch nur 1x Power für 12 Switche ?
            Sobald eines der Kontakte (Fenster sich öffnet) wird sofort Power per MQTT gesendet, ja aber da weiß ich ja nicht, was es ist.

            Ich versendet alle 10 Sekunden quasi an MQTT

            fenster/stube "ZU"
            fenster/schlafzimmer "AUF"

            espswitch.jpg

            BananaJoe Ralla66 2 Replies Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @berndsolar13 last edited by BananaJoe

              @berndsolar13 Dann die Variante von meinem Link, die Sensoren als Buttons konfigurien und entkoppeln. Dann bekommst du unmittelbar bei Änderung eine MQTT Meldung.

              Wenn ich du wäre, würde ich das mit einem 2. ESP Testen, du hast ja bestimmt mehr als einen gekauft.
              Wenn es funktioniert kannst du den ESP dann ja einfach tauschen (alle Kontakte umstecken).
              Das ist jedenfalls meine Vorgehensweise, erst das neue bauen, dann erst das funktionierende tauschen, so hat man keinen Stress.

              Ich muss aber zugeben das ich noch keine 12 Kontakte an einem ESP hatte, ich setze eher pro System einen ein (1x für Briefkasten, 1x für Klingel, 1x für Kühlschranktürüberwachung, 1x für Buzzer "Musik" usw.)

              Mit der Button_n oder Button_i Methode bekommst du maximal 8 Sensoren/Taster gepackt, zumindest kann man im Default-Image nur 1 bis 8 Konfigurieren (am ESP8266)

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

                @bananajoe

                Verstehe ich bekomme dann "theoretisch" bis Power 11 ? also wie in deinem Bild ?
                1a94ca64-2612-4499-bc6f-bfa9655975f1-image.png

                Wenn ja, das wäre natürlich interessant, da dann nur gesendet wird, wenn sich wirklich was tut.
                hab noch 3 ESP32 und 2 ESP8266 hier zum basteln liegen, so mache ich das auch immer.
                Basteln mit dem Ersatz Dingern, wenn klappt, wird aus dem Baselding das echte, und das andere wird zum Bastel 🙂

                Wenn das klappt, bleibt doch trotzdem noch das Problem, das wenn sich beim schließen des Briefkastens der Status weider auf "zu" oder wie im Bild auf "OFF" ändert oder ? Wie sehe ich dann 2h später das er sich mal geöffent hatte ?

                BananaJoe 1 Reply Last reply Reply Quote 0
                • Ralla66
                  Ralla66 Most Active @berndsolar13 last edited by

                  @berndsolar13

                  wenn du schneller 10 sec seien möchtest mach ein publish zum Datenpunkt rein.
                  +>publish stat/%topic%/....................
                  Das else ist nicht so schön, würde ich vermeiden. Ordne das Glasklar zu
                  wenn offen dann
                  wenn zu dann
                  else kann alles außer 1 sein auch Briekasten entwendet 🙂

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

                    @ralla66

                    nö, bei den Fenster ist es ja quasi egal
                    Die 10 Sekunden waren mir nur wichtig wegen des Briefkastens.
                    Das hab ich mit dem Counter gelöst,

                    @ralla66 sagte in alte Fenstersensoren Smart machen:

                    else kann alles außer 1 sein auch Briekasten entwendet

                    Die Säcke 😄

                    Hab versucht um 21:00 den Counter auf 0 zu setzen, oder besser ich hab mir das zusammen gereimt

                    hr=hours
                    if chg[hr]==21
                    then
                    print reset couter
                    briefcount=0
                    endif
                    

                    klappte aber nicht, was hab ich falsch gemacht ?
                    Das print war nur zur Kontrolle (Debug) damit ich es in der Konsole sehe

                    Ralla66 1 Reply Last reply Reply Quote 0
                    • Ralla66
                      Ralla66 Most Active @berndsolar13 last edited by Ralla66

                      @berndsolar13

                      keine Ahnung, musste nicht hr unter >D deklarieren ? hr=0

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

                        @ralla66

                        siehste, das hab ich vergessen, teste es jetzt 22 uhr, dann sollte es hoffentlich wieder auf 0 = Briefkasten Leer geändert werden

                        Ralla66 1 Reply Last reply Reply Quote 0
                        • Ralla66
                          Ralla66 Most Active @berndsolar13 last edited by

                          @berndsolar13

                          musste lesen ob die Var Number ist, sonst hr=""

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

                            @ralla66

                            es ist die Uhrzeit also die Stunde bestehend aus 2 Zahlen.

                            Mal ne Andere Idee, man könnte doch deine Idee und die von Bananajoe verbinden.
                            Also aktuell steht ja im Script alle 10 Sekunden MQTT Publish
                            Könnte ich nicht im Script als Trigger einfach den Wert Power nehmen.
                            Immer wenn sich dieser Ändert, aktualisiere MQTT ?

                            Auf der Tasmota Scripting Seite steht dazu

                            SCRIPT_POWER_SECTION	enable >P section (execute on power changes)
                            
                            Ralla66 1 Reply Last reply Reply Quote 0
                            • Ralla66
                              Ralla66 Most Active @berndsolar13 last edited by

                              @berndsolar13

                              geht vermutlich, ich vermeide immer setoption oder rules.
                              Ist der ESP nach 6 Monaten mal defekt weißte ja nicht mehr was damals gesetzt wurde.

                              B BananaJoe 2 Replies Last reply Reply Quote 0
                              • B
                                berndsolar13 @Ralla66 last edited by

                                @ralla66

                                so hat funktioniert, hier der Code falls es jemand auch nutzen will

                                hr=hours
                                if chg[hr]>0
                                and hr==22
                                then
                                print reset couter
                                briefcount=0
                                endif
                                

                                Debug aus der Konsole

                                22:00:00.975 reset couter
                                

                                Also wenn man statt 22 halt 5 einrägt, dann wird der Briefkasten um 5 Uhr auf 0 gesetzt.
                                Denke damit sind nun alle Probleme gelöst.

                                Wenn nicht melde ich mich wieder
                                Nochmals danke an alle die geholfen haben 🙂

                                Ralla66 1 Reply Last reply Reply Quote 0
                                • Ralla66
                                  Ralla66 Most Active @berndsolar13 last edited by

                                  @berndsolar13

                                  ?? reicht nicht
                                  if hr==22

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

                                    @ralla66

                                    so wie ich es verstanden habe, bewirkt das

                                    if chg[hr]>0
                                    

                                    nur eine Ausführung bei jeder vollen Stunde. mit der eweiterten Bedinung also genau 1x um dann 05:00:00 und dann erst wieder in 24h

                                    ein

                                    if hr==22
                                    

                                    Alleine müsste ja von 22:00 bis 22:59 jedes mal ein "wahr" bewirken, und das Script wird bei alle 10 Sekunden = 360x ausgeführt werden.
                                    Wäre aber auch nicht tragisch, da dann bei 5 Uhr als Bedingung eh niemand bis 05:59 was rein wirft 😉

                                    Ralla66 1 Reply Last reply Reply Quote 0
                                    • Ralla66
                                      Ralla66 Most Active @berndsolar13 last edited by

                                      @berndsolar13

                                      wieder was gelernt 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • BananaJoe
                                        BananaJoe Most Active @berndsolar13 last edited by BananaJoe

                                        @berndsolar13 sagte in alte Fenstersensoren Smart machen:

                                        Wenn das klappt, bleibt doch trotzdem noch das Problem, das wenn sich beim schließen des Briefkastens der Status weider auf "zu" oder wie im Bild auf "OFF" ändert oder ? Wie sehe ich dann 2h später das er sich mal geöffent hatte ?

                                        Naja, in ioBroker läuft ein Skript welches auf "ON" reagiert, egal ob das für 0,01 Sekunden war oder 1h, also einfach ein Trigger auf den Wert.
                                        Bei mir passiert dann noch mehr - auf 2 Tablets wird eine Meldung eingeblendet, zwei Außenkameras machen ein Bild und sendet mir die auf mein Handy, und ein ePaper Tag am Schlüsselbrett über dem Briefkastenschlüssel blendet einen Brief, ein Paket oder beides ein. Am Briefkastenschlüssel ist ein Shelly-Button (ZigBee-Button würde auch gehen) der den Status wieder zurück setzt. Ich zähle nicht wie oft die Klappen betätigt wurden, nur das die betätigt wurden.

                                        1 Reply Last reply Reply Quote 0
                                        • BananaJoe
                                          BananaJoe Most Active @Ralla66 last edited by

                                          @ralla66 sagte in alte Fenstersensoren Smart machen:

                                          Ist der ESP nach 6 Monaten mal defekt weißte ja nicht mehr was damals gesetzt wurde.

                                          Weshalb ich natürlich auch ein automatisiertes Backup habe:
                                          7f33661e-6d56-4b83-9d7f-679c7a0e7713-image.png
                                          Nennt sich TasmoBackup: https://github.com/danmed/TasmoBackupV1
                                          Ich habe da im Moment 120 Tasmota-Geräte drin. Und mir sind schon einige Geräte gestorben, ich hatte da mal eine schlechte Charge Shellys ...
                                          Neuen flashen, mit dem AP der Ersteinrichtung verbinden und die Backupdatei wieder einspielen - fertig.
                                          Ok, bei Geräten mit Strommessung einmal neu Kalibrieren und ich meine die Zählerstände muss man von Hand neu setzen (aber die Schreibt ioBroker ja mit).

                                          Man kann auch Händisch auf der Oberfläche ein Backup erstellen.

                                          Ralla66 1 Reply Last reply Reply Quote 0
                                          • Ralla66
                                            Ralla66 Most Active @BananaJoe last edited by

                                            @bananajoe

                                            muß ich mal testen, der dump geht ja nur auf dem selben Esp.

                                            Danke für den Tipp

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            935
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            134
                                            9217
                                            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