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.
  • J Offline
    J Offline
    Jan1
    schrieb am zuletzt editiert von
    #2

    Die werden einfach alle im DP "sonoff.0.Sonoff-RF-Bridge.RfReceived_Data" mit ihrem spezifischen Code auftauchen und den wertest einfach mit nem Script aus. Damit kannst dann DPs erstellten.

    1 Antwort Letzte Antwort
    0
    • tcjT Offline
      tcjT Offline
      tcj
      schrieb am zuletzt editiert von
      #3

      Das ist mir soweit natürlich klar

      Aber ich bekäme es nur mühsam einzeln hin

      Ich hoffe auf z. B. eine Scriptvorlage, die mir etwas Arbeit annimmt

      LG
      Thomas

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

      1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        Jan1
        schrieb am zuletzt editiert von
        #4

        Was ist denn da mühsam sich für jeden Code was zu basteln? Zur Not baut man sich ne Funktion selber zusammen und verwendet die mehrfach.

        1 Antwort Letzte Antwort
        0
        • 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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          539

                                          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