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 sagte in alte Fenstersensoren Smart machen:

      für CH340 den Driver v3.4 nehmen, Win 11 ersetzt den gerne automatisch mit v 3.8 !
      teste mal die Bastel,bin, weiß grad nicht was drin ist.
      tasmota32.factory.bin
      tasmota32.bin

      meinst du diese ? weil ich per suche mit bastel nix finde 😉

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

        @berndsolar13

        jupp 🙂

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

          @ralla66

          ok, dann leg ich los, berichte dann obs geklappt hat 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            809
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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