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.
    • B
      berndsolar13 @Ralla66 last edited by

      @ralla66

      Der ESP läuft mit der angepassten Firmware.
      Die Auswertung der Reedkontakte läuft.
      Bin jetzt am Briefkasten, hab mir überlegt das mit einem Counter zu machen,
      Jedesmal wenn sich der Status ändert, zählt das Script intern + 1.

      Wenn der Wert dann > 0 ist, bedeutet es, der Briefkasten wurde geöffnet 🙂
      Hab dazu dein Script angepasst

      if sw5>0
      then
      BKT="OFFEN"
      else
      BKT="ZU"
      briefcount=briefcount+1
      endif
      

      ne halbe Sekunde kontakt reicht schon aus, um den internen Zähler auf +1 zu setzen.
      Jetzt muss ich nur jedentag um sagen wir "Stunde 5" den Counter auf 0 setzen.

      Oder hat jemand ne bessere Idee für die Briefkasten Auswertung 🙂

      1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            801
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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