Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Fenstersensoren @ Sonoff RF Bridge & Tasmota

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Fenstersensoren @ Sonoff RF Bridge & Tasmota

Geplant Angeheftet Gesperrt Verschoben Hardware
23 Beiträge 6 Kommentatoren 5.1k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • tcjT Offline
    tcjT Offline
    tcj
    schrieb am zuletzt editiert von
    #5

    Ich hatte das Thema zunächst liegen gelassen, weil es andere Prioritäten gab.
    Aber jetzt krame ich es mal wieder hervor, denn im Sommer beziehe ich eine neue Wohnung mit mehr Möglichkeiten und Aufgaben, die ich nun auch "versmarten" will.

    Es gelten immer noch die gleichen Voraussetzungen.
    Und ich bräuchte immer noch etwas Hilfe oder Schubse in die richtige Richtung. ;-)
    Denn ich zwar bin sehr technikaffin, habe (vor 28 Jahren) mal programmieren in heute nicht mehr genutzen Sprachen gelernt und kann auch Code weitgehend lesen - aber eben nicht Java und js "from scratch" schreiben.

    Ich habe also eine Tabelle - bzw. werde sie erstellen - mit den Codes der einzelnen Sensoren und ihrem Einsatzort wie z.b.

    Code
    2BD30 Tür_Wohnung
    1A2B3 Tür_Bad
    12345 Fenster_Bad

    Aber nicht nur drei sondern ca. 25 Zeilen :-(

    Bekannt ist ja auch, dass nach den Codes der Sensoren ein weiteres halbes Byte kommt mit der Bedeutung:
    [Code]E Close
    [Code]A Open
    [Code]6 Battery Low
    [Code]7 Tamper

    Mit diesem Wissen/Tabelle möchte ich ein Script erstellen, das mir zu den 25 Türen/Fenstern je drei Datenpunkte für Open/Close, Battery und Tamper erstellt.
    Notfalls auch mit einer Vorlage für ein paar Zeilen, die ich mit z.B. Excel-Mitteln zusammensetze - lieber wäre mir aber die Definitione eines Arrays/Tabelle, das ich dann per Schleife durchlaufe.

    Wenn diese 75 Datenpunkte dann vorhanden sind, soll ein weiteres Script auf den auf dem DP "sonoff.0.Sonoff-RF-Bridge.RfReceived_Data" empfangenen Code reagieren und den zugehörigen DP des Sensors setzen.
    d.h. den Status auf Open/Close, Battery auf Low oder Tamper auf True
    (Mal sehen, ob und wozu sich Tamper nutzen lässt)

    Wie gesagt, ich weiß genau, was ich will, kann es ohne Hilfe nur nicht selber ohne einen Mausarm vom "zusamenklicken" zu bekommen.
    Wenn das ganze einmal steht, dann können es sicherlich viele andere Anwender gebrauchen, die auch mehrere dieser Sensoren auf einmal an iobroker binden wollen.
    Und bei 25 Sensoren ist es meiner Meinung nicht egal, ob man 3,50 oder 10€ pro Sensor ausgibt (RF433 vs. Zigbee z.B.), wenn man mit den jeweiligen Vor- und Nachteilen leben kann.

    Erbarmt sich jemand meiner? :pray:

    LG
    Thomas

    „Am Ende wird alles gut.
    Wenn es nicht gut wird,
    ist es noch nicht das Ende.“

    1 Antwort Letzte Antwort
    0
    • K Offline
      K Offline
      kamolus
      schrieb am zuletzt editiert von
      #6

      Hallo, hast du schon Hilfe bekommen?

      tcjT 1 Antwort Letzte Antwort
      0
      • K kamolus

        Hallo, hast du schon Hilfe bekommen?

        tcjT Offline
        tcjT Offline
        tcj
        schrieb am zuletzt editiert von tcj
        #7

        @kamolus Nein, konnte mir mittlerweile selber helfen.
        Habe jetzt ein Script, das die Datenpunkte für die Tür/Fenster- und Wassersensoren anlegt und die Messages auswertet.

        nicht schön, aber funktioniert:

        /* 
        
        */
        
        const sensors = [
                {id: '12DC0',   room: 'schlafzimmer',   typ: 'tuer',    name: 'Schlafzimmertür'},
                {id: '129C0',   room: 'schlafzimmer',   typ: 'fenster', name: 'Schlafzimmerfenster'},
                {id: '718B11',  room: 'keller',         typ: 'wasser',  name: 'Wasser im Keller'}
            ];
        
        const dpRFBridge = 'mqtt.0.tasmota.sonoff_rf_bridge_1.tele.RESULT' // Datenpunkt RF Bridge
        const fC = true; // forceCreation für createState
        
        // Ab hier nix mehr ändern ++++++++++++++++++++++
        
        var i;
        var obj;
        var code;
        var index;
        
        function createStates() {
            for (i=0; i<sensors.length; i++) {
                obj = 'javascript.' + instance + '.wohnung.' + sensors[i].room + '.' + sensors[i].typ;
                switch (sensors[i].typ) {
                    case 'tuer':
                        createState(obj + '.open', undefined, fC, {
                            name: sensors[i].name+ ' Offen',
                            desc: 'GS-WDS07 Tür/Fenster Sensor',
                            type: 'boolean',
                            def: false,
                            role: 'sensor.door'
                          //  room: sensors[i].room
                        });
                        createState(obj + '.batterylow', undefined, fC, {
                            name: sensors[i].name + ' Batterie schwach',
                            desc: 'GS-WDS07 Tür/Fenster Batterie schwach',
                            type: 'boolean',
                            def: false,
                            role: 'indicator.lowbat'
                        });
                        createState(obj + '.tamper', undefined, fC, {
                            name: sensors[i].name + ' Tamper',
                            desc: 'GS-WDS07 Tür/Fenster Tamper',
                            type: 'boolean',
                            def: false,
                            role: 'sensor.alarm'
                        });
                        break;
                    case 'fenster': 
                        createState(obj + '.open', undefined, fC, {
                            name: sensors[i].name+ ' Offen',
                            desc: 'GS-WDS07 Tür/Fenster Sensor',
                            type: 'boolean',
                            def: false,
                            role: 'sensor.window'
                          //  room: sensors[i].room
                        });
                        createState(obj + '.batterylow', undefined, fC, {
                            name: sensors[i].name + ' Batterie schwach',
                            desc: 'GS-WDS07 Tür/Fenster Batterie schwach',
                            type: 'boolean',
                            def: false,
                            role: 'indicator.lowbat'
                        });
                        createState(obj + '.tamper', undefined, fC, {
                            name: sensors[i].name + ' Tamper',
                            desc: 'GS-WDS07 Tür/Fenster Tamper',
                            type: 'boolean',
                            def: false,
                            role: 'sensor.alarm'
                        });
                        break;
                    case 'wasser':
                        createState(obj + '.alarm', undefined, fC, {
                            name: sensors[i].name,
                            desc: 'Wasserleck Sensor',
                            type: 'boolean',
                            def: false,
                            role: 'sensor.water'
                        });
                };    
            };    
        };
        
        function findSensorIndex(array, key, value) {
            for (i = 0; i < array.length; i++) {
                switch (array[i].typ) {
                    case 'tuer':
                    case 'fenster':
                        newvalue = value.substr(0,5);
                        break;
                    case 'wasser':
                        newvalue=value;
                };    
                if (array[i].[key] === newvalue) {
                    return i;
                }
            }
            return -1;
        }
        
        // bei Skriptstart erst mal Datenpunkte anlegen
        createStates();
        
        // wenn sich die empfangenen Daten der RFBridge ändern, dann auswerten und Status setzen
        on({id: dpRFBridge, change: 'ne'}, function (obj) {
            code = JSON.parse(obj.state.val).RfReceived.Data; 
            index = findSensorIndex(sensors, 'id', code);
            if (index >= 0 ) {
                switch (sensors[index].typ) {
                    case 'wasser':
                        setState('javascript.' + instance + '.wohnung.'+sensors[index].room+'.wasser.alarm', true);
                        break;
                    case 'tuer':
                    case 'fenster':
                        switch (code.substr(5,1)) {
                            case 'E':
                                setState('javascript.' + instance + '.wohnung.' + sensors[index].room + '.' + sensors[index].typ + '.open', false);
                                break;
                            case 'A':
                                setState('javascript.' + instance + '.wohnung.' + sensors[index].room + '.' + sensors[index].typ + '.open', true);
                                break;
                            case '6':
                                setState('javascript.' + instance + '.wohnung.' + sensors[index].room + '.' + sensors[index].typ + '.batterylow', true);
                                break;
                            case '7':
                                setState('javascript.' + instance + '.wohnung.' + sensors[index].room + '.' + sensors[index].typ + '.tamper', true);
                        }
                }
            }    
        });
        

        LG
        Thomas

        „Am Ende wird alles gut.
        Wenn es nicht gut wird,
        ist es noch nicht das Ende.“

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Matdos
          schrieb am zuletzt editiert von
          #8

          Hallo, habe jetzt auch einen Fensterkontakt und zwei dreifach Taster über die Bridge laufen bzw. möchte ich laufen lassen aktuell ist nur der Fensterkontakt da.

          Als ich mir das zugelegt habe dachte ich die Bridge schreibt einen Wert unter Objekte in zb Key 1 etwas rein bzw ändert den Wert wenn es als Key 1 angelernt wurde bei jedem mal wenn der Senor bzw taste gedrückt wird.
          (So wie bei den Zigbee Tastern der Wert wird einmal kurz auf True gesetzt und geht dann gleich wieder auf false).

          Jetzt ist es aber tatsächlich so das man ja nur den Code der vom Fensterkontakt kommt über ein Script auswerten kann, ich möchte aber das wenn der Code vom Key 1 empfangen wird mir unter Objekte der Wert von Key1 geändert wird und wenn es nur kurz auf true geht das reicht.

          Aktuell steht da da nur "Learnd send" drin mehr nicht, damit ich aber unter Yahka einen Schalter einbinden kann, brauche ich ja unter Objekte ein True oder fals Wert wie kann ich das umsetzten?

          Oder kann ich direkt in Yahka ein Script schreiben damit der "Schalter" den Code direkt auswertet?

          Vielen Dank für euere Hilfe.

          1.png

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Matdos
            schrieb am zuletzt editiert von
            #9

            1.png

            Habe das in einem anderen Forum gefunden, ich werde aber immer noch nicht schlau draus wie ich über den Code der von dem taster gesendet wird, unter Objekte einen neuen Datenpunkt erzeugt bekomme der beim Drücken vom taster "true" ist und ansonsten "false".

            1 Antwort Letzte Antwort
            0
            • Ralla66R Offline
              Ralla66R Offline
              Ralla66
              Most Active
              schrieb am zuletzt editiert von Ralla66
              #10

              Hi,
              RFReceived_Data 9A9389 ist den was bei dir ?
              Fenster auf ?

              Wenn du 9A9389 empfängst möchtst du was machen ?

              RF_22.jpg

              Beispiel von mir:

              RF_23.jpg

              Die RF Key sind ja angelernte Codes die auch gesendet werden können.
              Warum diese verarbeiten ?
              Macht ja bei Fenster auf keinen Sinn.
              Bild oben, brauchste nur mache setze RF Key 1 auf true oder false.
              Binde mal die Dreifachtaster in der Bridge erst einmal ein.

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                Matdos
                schrieb am zuletzt editiert von
                #11

                Hay wenn der Code bei mir kommt ist das wenn ich einen Taster gedrückt habe.

                Wenn ich den Taster gedrückt habe möchte ich nur das der Code nur kurz einen Datenpunkt auf true setzt und dann gleich wieder auf false zurckückgesetzt wird.

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  Matdos
                  schrieb am zuletzt editiert von
                  #12

                  1.png 2.png

                  Habe ein Script gemacht und bereits herausgefunden wie ich einen Datenpukt anlege, hier mal "Test", habe es aber noch nicnt geschafft das wenn der Wert 1FE062 gesendet wird das mir der DatenPunkt auf True gesetzt wird, bzw habe auch schon versucht einen anderen Datenpunkt z.B. von einer Lampe auf True zu setzen, aber bis jetzt noch ohne Erfolg.

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Matdos
                    schrieb am zuletzt editiert von Matdos
                    #13

                    3.png

                    Ah ok ich habe den Fehler jetzt gefunden ich hatte hinten wert vom Objekt ID und dann den Wert hier hast du "nur den Text Baustein" drin jetzt wird mein Test Datenpunkt auf True gesezt aber ich bekomme unten vom Script Fehlermeldungen und das Pause Zeichen ist gelb das hatte ich bis jetzt noch nie.

                    Update von dem Script Fehler, habe ein neues Script erstellt und aus dem Test Script das Script Importiert, das neu erstellte Script ist jetzt grün ohne Fehlermeldung.

                    Habe ich den Datenpunkt Test richtig erstellt? Meine irgendwo hier im Forum gelesen zu haben das man nicht einfach so wie ich es jetzt gemacht habe in bestehende Ordner eigene Datenpunkte erstellen soll?

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      Matdos
                      schrieb am zuletzt editiert von
                      #14

                      Script für Taster (wird nach 500ms auf false Zurückgesezt)

                      4.png

                      Hier setze ich den RFReceived Data Punkt auf 0, weil wenn ich einen Taster 2x betätige mit dem gleichen Code logischerweise, schreibt das Script den True wert nicht noch einmal in den erstellten Datenpunkt.
                      Erst wenn ich den Wert RFReceived ändere und erneut der Code von dem Taster kommt wird der erstellte Datenpunkt wieder auf True gesezt.

                      Ist das bei euch auch so, bzw wie habt Ihr das gelöst?

                      5.png

                      Hier habe ich jetzt in dem Sonoff Ordner mal einen eigen Channel erstellt mit 3 Datenpunkten, passt das so, denke nicht oder, weil wenn ich jetzt einen Taster drücke kommt immer eine Warnmeldung im LOG.
                      6.png
                      7.png

                      1 Antwort Letzte Antwort
                      0
                      • Ralla66R Offline
                        Ralla66R Offline
                        Ralla66
                        Most Active
                        schrieb am zuletzt editiert von Ralla66
                        #15

                        @matdos1gmx-de
                        Angelegte Datenpunkte sollten im falschen Ordner sein.
                        Daher dein not connected Schalter 1.
                        Lege mal RF Schalter 1 in den javascript.0 Ordner so:

                        Datenpunkte_J.jpg

                        Wurde geändert gehe auf wurde aktuallisiert.
                        Sonst wird beim triggern mit dem gleichem Taster das Script nicht ausgeführt.

                        RF_33.jpg

                        1 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          Matdos
                          schrieb am zuletzt editiert von
                          #16

                          Ah Ok probier ich sofort aus.

                          Vielen Dank!!

                          1 Antwort Letzte Antwort
                          0
                          • Ralla66R Offline
                            Ralla66R Offline
                            Ralla66
                            Most Active
                            schrieb am zuletzt editiert von Ralla66
                            #17

                            @matdos1gmx-de
                            Lösche aber RF Schalter 1 im Sonoff Adapter.
                            Schreibe bitte @Ralla66 davor sonst sehe ich nicht ob du geantwortest hast.
                            Danke.

                            M 1 Antwort Letzte Antwort
                            0
                            • Ralla66R Ralla66

                              @matdos1gmx-de
                              Lösche aber RF Schalter 1 im Sonoff Adapter.
                              Schreibe bitte @Ralla66 davor sonst sehe ich nicht ob du geantwortest hast.
                              Danke.

                              M Offline
                              M Offline
                              Matdos
                              schrieb am zuletzt editiert von
                              #18

                              @Ralla66

                              Hab es jetzt so

                              1.png

                              1 Antwort Letzte Antwort
                              0
                              • Ralla66R Offline
                                Ralla66R Offline
                                Ralla66
                                Most Active
                                schrieb am zuletzt editiert von
                                #19

                                @matdos1gmx-de
                                Sollte so passen.

                                M 1 Antwort Letzte Antwort
                                0
                                • Ralla66R Ralla66

                                  @matdos1gmx-de
                                  Sollte so passen.

                                  M Offline
                                  M Offline
                                  Matdos
                                  schrieb am zuletzt editiert von
                                  #20

                                  @Ralla66
                                  Super vielen Dank für die Hilfe, jetzt kommen auch keine Meldungen mehr wenn die neu angelegten Datenpunkte geändert werden!!!

                                  Herzlichen Dank!!

                                  1 Antwort Letzte Antwort
                                  0
                                  • Ralla66R Offline
                                    Ralla66R Offline
                                    Ralla66
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #21

                                    @matdos1gmx-de
                                    Prima, teste eben mal deinen Taster.
                                    Mit aktualisiert sollte jetzt auch klappen.

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • Ralla66R Ralla66

                                      @matdos1gmx-de
                                      Prima, teste eben mal deinen Taster.
                                      Mit aktualisiert sollte jetzt auch klappen.

                                      M Offline
                                      M Offline
                                      Matdos
                                      schrieb am zuletzt editiert von
                                      #22

                                      @Ralla66

                                      Ja das passt, habe es schon vorher schon umgestellt auf "aktualisieren", dadurch benötige ich das Script um den RFRecived Data Punkt zurückzusetzen nicht mehr.
                                      Tip Top!

                                      oberfraggerO 1 Antwort Letzte Antwort
                                      0
                                      • M Matdos

                                        @Ralla66

                                        Ja das passt, habe es schon vorher schon umgestellt auf "aktualisieren", dadurch benötige ich das Script um den RFRecived Data Punkt zurückzusetzen nicht mehr.
                                        Tip Top!

                                        oberfraggerO Offline
                                        oberfraggerO Offline
                                        oberfragger
                                        schrieb am zuletzt editiert von
                                        #23

                                        Moin in die Runde.
                                        Wenn es um "Schalter" on/off geht - könnte m.E. Espurna auch für den einen oder anderen etwas sein.

                                        Solltet Ihr mal testen- da ging recht viel OutOfTheBox und man hat sich dieses ganze gescripte gespart.

                                        Ich bin letzten Endes auch zu Tasmota, da ich aufgrund verschiedener "Handgeräte" im Haus, verschiedene RF-Firmware durchprobiert habe. Das Update der RF-Firmwares habe ich in ESPurna nicht gefunden.

                                        1 Antwort Letzte Antwort
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        292

                                        Online

                                        32.6k

                                        Benutzer

                                        82.3k

                                        Themen

                                        1.3m

                                        Beiträge
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Anmelden

                                        • Du hast noch kein Konto? Registrieren

                                        • Anmelden oder registrieren, um zu suchen
                                        • Erster Beitrag
                                          Letzter Beitrag
                                        0
                                        • Home
                                        • Aktuell
                                        • Tags
                                        • Ungelesen 0
                                        • Kategorien
                                        • Unreplied
                                        • Beliebt
                                        • GitHub
                                        • Docu
                                        • Hilfe