Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Sonoff RF Bridge Tasmota und Portisch 433mhz

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Sonoff RF Bridge Tasmota und Portisch 433mhz

    This topic has been deleted. Only users with topic management privileges can see it.
    • sissiwup
      sissiwup @RaspiUser last edited by

      @raspiuser
      Hi,

      das Data nicht kommt, wird daran liegen, dass die Bridge nicht im korrekten Modus ist.
      Hast du mal probiert einfach deinen Code in "transform" zu kopieren und dann auf den Knopf zu drücken?
      Vlt. mußt du im Script dann noch deine RF166 für bestimmte Knöpfe hinterlegen.

      1 Reply Last reply Reply Quote 0
      • RaspiUser
        RaspiUser last edited by

        @sissiwup said in Sonoff RF Bridge Tasmota und Portisch 433mhz:

        nicht im korrekten Modus

        Hallo sissiwup,

        im ioBroker-Adapter bzw. im Tasmota-MQTT sind die Einstellungen überschaubar ...
        SONOFF_EInst.JPG
        Tasmota.JPG

        @sissiwup said in Sonoff RF Bridge Tasmota und Portisch 433mhz:

        "transform"

        ... dieses Objekt finde ich bei mir nirgends !? Und ich benutze ja kein Script mehr.

        SONO.JPG

        Danke für deine Zeit. und Hinweise.

        Murat Aslan 1 Reply Last reply Reply Quote 0
        • Murat Aslan
          Murat Aslan @RaspiUser last edited by

          @raspiuser
          Vielen Dank erstmal für Freigabe des Skripts
          diese haken am (objektbaum erstellen) hat mich 3 tage gekostet 😠 bei mir war es auch gesetzt.
          Also es liegt an dem haken, einfach rausnehmen und im objekte dein bridge löschen, instans
          sonoff neu starten und glücklich sein.

          1 Reply Last reply Reply Quote 0
          • M
            Mike Hellracer @sissiwup last edited by Mike Hellracer

            @sissiwup
            Hi,
            sorry, aber ich habe auf dem Schlauch gestanden. jetzt funktioniert alles wie gewünscht. Ein Frage habe ich noch. Kann ich mit deinem Script so viele Schalter wie ich will anllegen?

            1 Reply Last reply Reply Quote 0
            • K
              kleinfritzchen @sissiwup last edited by

              @sissiwup Hallo, der Script ist gut aber in der Form für mich nicht so ganz passend. Ich möchte gern Fenster oder Tür Sensoren auslesen. Das funktioniert auch mit rfraw 177 soweit, jjedoch bekomme ich als Ergebnis einen Datenstring der selten gleich ist.
              Bildschirmfoto zu 2021-11-23 11-06-41.png
              Die markierten Teile des Datenstrings sind gleich aber halt nicht der gesamte String. Die gelben Werte sind für das schliesen des Kontaktes und die Werte unmittelbar darunter für das öffnen. Es passiert allepaar mal betätigen das der Code auch mal vollständig gleich ist aber das ist leider nicht immer so. Nur der hier ausgewählte Bereich ist passend und würde für eine Auswertung taugen. Kann mir mal jemand helfen den Script um zu schreiben damit das funktioniert ? Ich hab leider noch keine Ahnung von JScript.
              MfG Fritz

              S 1 Reply Last reply Reply Quote 0
              • M
                Mike Hellracer @sissiwup last edited by Mike Hellracer

                @sissiwup
                Hi,
                ich habe noch ein kleines Problem...
                Über ein Gruppe versuche ich 6 Intertechno Steckdosen zu schalten.
                Aber es wird jede 3te nicht ausgelöst.
                Wenn ich die Reihenfolge ändere isind es zwar andere, aber es ist wieder jede 3te.
                Einzeln funktioniert das wunderbar.
                Auch wenn ich 3 Gruppen a 2 Stück mache funktioniert es problemlos.
                Ich habe nun den Verdacht, dass das Script beim Senden ein wenig zu schnell ist.
                Könnte man hier ein Delay für das Abarbeiten der Befehle einbauen?
                Oder gibt es dass schon und ich muss es nur ein wenig erhöhen.
                Dann wäre ich froh, wenn mir einer sagen kann welchen Wert ich anpassen muss.

                1 Reply Last reply Reply Quote 0
                • D
                  dragricola @sissiwup last edited by

                  @sissiwup
                  Vielen Dank für das Skript und die gute Beschreibung. Es hat auf Anhieb recht gut funktioniert. Ich habe nun bereits eine ganze Menge RfRaw-Codes auf einer meiner RF-Bridges angelernt: bisher 61 Codes, weiter sollen folgen. Nun habe ich noch eine zweite RF-Bridge in Betrieb, da ich damit in unserem Haus die Reichweite über mehrere Etagen sicherstellen möchte. Sie sollen beide auf die gleichen Codes reagieren. Da das Anlernen ganz schön zeitaufwändig ist, suche ich eine schnelle Lösung um weitere Bridges einzubinden und dabei das recht aufwendige Anlernen der Codes irgendwie zu sparen. Ich habe deshalb das Skript dupliziert und den Speicherort "bridgename" und den Objektname der Bridge "sonoff" im Script abgeändert. Ein erster Versuch den Objektbaum Code in den neuen Speicherort für die zweite Bridge zu kopieren hat nur den Objektbaum kopiert, nicht aber die Werte. Ich hatte den Objektbaum der ersten Bridge zu diesem Zweck als json-Datei heruntergeladen und in der json-Datei überall den Speicherort aktualisiert und die so abgeänderte json-Datei wieder importiert. Wie kann ich auch die Werte kopieren? Oder können beide Skripte auf den gleichen Speicherort bridgename arbeiten? Oder können überhaupt die beiden Skripte unabhängig voneinander laufen?
                  Über Hinweise zur Lösungsfindung würde ich mich freuen.

                  1 Reply Last reply Reply Quote 0
                  • S
                    Stefan_TR96 @kleinfritzchen last edited by

                    @kleinfritzchen Hast du hierfür bereits eine Lösung gefunden? habe ein ähnliches Problem mit 433mhz Rauchmeldern vom Discounter. Diese sind in "unwichtigeren" Bereichen verbaut und untereinander vernetzt. bei mir sieht der output wie folgt aus:

                    18:04:02 MQT: tele/tasmota_4A04C3/RESULT = {"Time":"2022-07-13T18:04:02","RfRaw":{"Data":"AA B1 04 1FE0 0370 0A96 39EE 3819192929192919292919191919291929291929192929292919 55"}}
                    18:04:03 MQT: tele/tasmota_4A04C3/RESULT = {"Time":"2022-07-13T18:04:03","RfRaw":{"Data":"AA B1 04 1FEA 0366 0A8C 385E 3819192929192919292919191919291929291929192929292919 55"}}
                    18:04:04 MQT: tele/tasmota_4A04C3/RESULT = {"Time":"2022-07-13T18:04:04","RfRaw":{"Data":"AA B1 04 1FF4 035C 0A8C 3840 3819192929192919292919191919291929291929192929292919 55"}}
                    18:04:05 MQT: tele/tasmota_4A04C3/RESULT = {"Time":"2022-07-13T18:04:05","RfRaw":{"Data":"AA B1 04 1FF4 035C 0A8C 3840 3819192929192919292919191919291929291929192929292919 55"}}
                    18:04:06 MQT: tele/tasmota_4A04C3/RESULT = {"Time":"2022-07-13T18:04:06","RfRaw":{"Data":"AA B1 04 1FF4 035C 0A8C 3836 3819192929192919292919191919291929291929192929292919 55"}}
                    18:04:07 MQT: tele/tasmota_4A04C3/RESULT = {"Time":"2022-07-13T18:04:07","RfRaw":{"Data":"AA B1 04 1FF4 0366 0A8C 3840 3819192929192919292919191919291929291929192929292919 55"}}
                    18:04:08 MQT: tele/tasmota_4A04C3/RESULT = {"Time":"2022-07-13T18:04:08","RfRaw":{"Data":"AA B1 04 1FF4 0366 0A8C 387C 3819192929192919292919191919291929291929192929292919 55"}}
                    18:04:08 MQT: tele/tasmota_4A04C3/RESULT = {"Time":"2022-07-13T18:04:08","RfRaw":{"Data":"AA B1 04 1FF4 0366 0A8C 3840 3819192929192919292919191919291929291929192929292919 55"}}
                    

                    Bei der Lernfunktion legt mir das Script gleich mal 10 Datenpunkte an. Wenn ich den mit dem höchsten Counter hernehme und als Trigger nutze funktioniert die Steuerung eines Ereignisses problemlos, ein paar Minuten später wieder nicht mehr. Dann löst plötzlich 2 Minuten später wieder der Trigger aus ohne das einen Rauchalarm gibt. Ist es möglich, dass andere 433mhz Geräte von Nachbarn die Signale verfälschen, bei mir sind nämlich außer den Rauchmeldern keine Sender im Einsatz.
                    Hat irgendjemand eine Idee bzw. einen Lösungsvorschlag?

                    LG
                    S

                    1 Reply Last reply Reply Quote 0
                    • S
                      shgmongo @sissiwup last edited by

                      Im Skript müßt ihr mindestens den Pfad zu RfRaw angeben.
                      Wenn der Datenpunkt bei euch also sonoff.123.myBridge.RfRaw heißt, dann
                      sonoff.123.myBridge. (mit Punkt)

                      //Version 0.9 15.11.2020
                      let bridgename="javascript.0.bridge.";  //speicherort der Variablen
                      let sonoff="sonoff.0.Tasmota_21.";  // wo ist RfRaw und RfRaw_Data
                      
                      createState(bridgename+"learn",false,{type: "boolean", role: "button"});
                      createState(bridgename+"counter",1000,{type: "number", role: "state"});
                      createState(bridgename+"learning","off",{type: "string", role: "state"});
                      createState(bridgename+"lastcode","?",{type: "string", role: "state"});
                      createState(bridgename+"lastdate","?",{type: "string", role: "state"});
                      createState(bridgename+"lastname","?",{type: "string", role: "state"});
                      
                      var counter=getState(bridgename+"counter").val;
                      
                      setState(bridgename+'learn',false);
                      setState(bridgename+'learning',"off");
                      setState(sonoff+'RfRaw',"177");
                      
                      on(bridgename+'learn',function(obj) {
                          if (obj.state.val) {
                              if (getState(bridgename+'learning').val=="off") {
                                  setState(sonoff+'RfRaw',"177");
                                  setState(bridgename+'learning',"on");
                              } else {
                                  setState(bridgename+'learning',"off");
                              }
                          }
                          setState(bridgename+'learn',false);
                      })
                      
                      on(sonoff+'RfReceived_Data',function(obj){
                              console.log(obj.state.val);
                              setState(sonoff+'RfRaw',"177");
                      
                      })
                      
                      function attachListener() {
                          setTimeout(function() { 
                              $('state[id='+bridgename+'code.*.send]').on(function (id, i) {
                                  buttonPress(id);
                              });
                              $('state[id='+bridgename+'code.*.name]').on(function (obj, i) {
                                  nameChanged(obj);
                              });
                          ;}, 2000);
                          setTimeout(function() { 
                              $('state[id='+bridgename+'code.*.send]').on(function (id, i) {
                                  buttonPress(id);
                              });
                              $('state[id='+bridgename+'code.*.name]').on(function (obj, i) {
                                  nameChanged(obj);
                              });
                          ;}, 10000);
                      }
                      
                      function nameChanged(obj) {
                          if (obj.state.val==obj.oldState.val) {
                              console.log("ALT=NEU");
                              return;
                          }
                          var oldnam=obj.id.substr(0,obj.id.length-4);
                          var nam=obj.state.val;
                          var newnam=bridgename+"code."+nam+".";
                          console.log(newnam);
                          console.log(oldnam);
                          console.log(getState(oldnam+"org"));
                          createStates(newnam,nam,getState(oldnam+"org").val,getState(oldnam+"count").val,getState(oldnam+"transform").val);
                          setTimeout(function() {
                              deleteState(oldnam+"send");
                              deleteState(oldnam+"name");
                              deleteState(oldnam+"recieved");
                              deleteState(oldnam+"org");
                              deleteState(oldnam+"count");
                              deleteState(oldnam+"transform");
                              attachListener();
                          },1000);
                      }
                      
                      $('state[id='+bridgename+'code.*.name]').on(function (obj, i) {
                          nameChanged(obj);
                      });
                      
                      function buttonPress(obj) {
                          if (obj.state.val==true) {
                              console.log("Pressed: " + obj.id);
                              setState(obj.id,false);
                              var nam=obj.id.substr(0,obj.id.length-4);
                              var code=getState(nam+"transform").val;
                           //   console.log(code);
                              setState(sonoff+'RfRaw',"177");
                              setState(sonoff+'RfRaw',code);
                              setState(sonoff+'RfRaw',"177");
                          }
                      
                      }
                      
                      var SelectorButtons = $('state[id='+bridgename+'code.*.send]');
                      SelectorButtons.each(function (id, i) {
                              setState(id,false);
                      });
                      
                      var SelectorRecieved = $('state[id='+bridgename+'code.*.org]');
                      SelectorRecieved.each(function (id, i) {
                              console.log("Bekannte Codes:" + getState(id).val);
                      });
                      
                      function createStates(prefix,name,org,count,newcode) {
                          // console.log("New:" + prefix + "-" +name);
                              createState(prefix+"send",false,{type: "boolean", role: "button"});
                              createState(prefix+"name",name,{type: "string", role: "info"});
                              createState(prefix+"recieved", formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss"),{type: "string", role: "state"});
                              createState(prefix+"org",org,{type: "string", role: "state"});
                              createState(prefix+"count",count,{type: "number", role: "state"});
                              createState(prefix+"transform",newcode,{type: "string", role: "state"});
                      }
                      
                      on(sonoff+'RfRaw_Data',function(obj){
                          var code=obj.state.val;
                          setState(bridgename+"lastcode",code);
                          setState(bridgename+"lastdate",formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss"))
                          if (code=="AAA055") return;
                          if (code.length<12) return;
                          var elems=code.split(" ");
                      
                          $('state[id='+bridgename+'code.*.org]').each(function (id, i) {
                              var akt=getState(id).val
                              if (akt!=null) {
                                  akt=akt.split(" ");
                                  if (elems[elems.length-2]==akt[akt.length-2]) {
                                      var nam=id.substr(0,id.length-3);
                                      setState(nam+"count",getState(nam+"count").val+1);
                                      setState(nam+"recieved", formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss"));
                                      var lastname=nam.substr(0,nam.length-1).split(".");
                                      setState(bridgename+"lastname",lastname[lastname.length-1]);
                                      //  return false;
                                  }
                              }
                          });
                      
                          if (getState(bridgename+'learning').val=="on") {
                      //        console.log("Neu  : " + code);
                              $('state[id='+bridgename+'code.*.org]').each(function (id, i) {
                                  var akt=getState(id).val;
                                  if (akt!=null) {
                                      akt=akt.split(" ");
                                      if (elems[elems.length-2]==akt[akt.length-2]) {
                                          console.log("Code bekannt:" + id);
                                          code="";
                                          return false;
                                      }
                                  }
                              });
                              if (code=="") return;
                              console.log("Schreib:" + code);
                             // return;
                              counter=counter+1;
                              setState(bridgename+'counter',counter);
                      
                              var name=bridgename+"code."+String(counter)+".";
                              var laenge=2;
                              var newcode="";
                              for (let i=3;i<elems.length;i++) {
                                  newcode=newcode+" "+elems[i];
                                  laenge=laenge+elems[i].length;
                              }
                              laenge=laenge/2;
                              var newcode=elems[0]+" B0 "+laenge.toString(16)+" "+elems[2]+" 08"+newcode;
                              createStates(name,"unbekannt",obj.state.val,1,newcode);
                              attachListener();
                          } 
                          
                      
                      })
                      
                      attachListener();
                      schedule("*/20 * * * *", function () {
                          setState(sonoff+'RfRaw',"177");
                      });
                      
                      
                      
                      

                      Hallo ich bin neu in der Materie und frage mich, wo muss ich diesen Code eingeben? Und wo im Code muss ich den Pfad ändern?

                      Muss ich ihn in Rfaw eintragen?
                      RFraw.JPG

                      Wenn ich den vorhanden Code mit den oben genannten ersetzte, kann ich nicht mehr speichern drücken
                      Code.JPG

                      Kann mir bitte jemand sagen, wie ich es machen muss?

                      Gruß,
                      Sebastian

                      DJMarc75 1 Reply Last reply Reply Quote 0
                      • DJMarc75
                        DJMarc75 @shgmongo last edited by

                        @shgmongo sagte in Sonoff RF Bridge Tasmota und Portisch 433mhz:

                        wo muss ich diesen Code eingeben?

                        Du musst ein Javaskript im Adapter Javascript erstellen.
                        Dort den kompletten Code einfügen und in Zeile 3 deinen Pfad anpassen.

                        Bitte den Startpost genau lesen, da ist eigentlich alles beschrieben.

                        Grüße

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          shgmongo @DJMarc75 last edited by shgmongo

                          Hab es hin bekommen.

                          Musste unter Skripte.JPG
                          ein Skript erstellen.

                          Dann meinen Pfad auf sonoff.o.Sonoffbridge. ändern und laufen lassen.

                          Wie drücke ich auf "learn" ? Bei mir kein Ordner mit Code angelegt....

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            shgmongo @shgmongo last edited by

                            Ich habe es nach der Anleitung hinbekommen meine Fernbedienungsbefehle auszulesen und meine Rollläden damit fahren zu lassen.

                            Jetzt würde ich gerne Alexa sagen, dass sie dies tun soll.

                            Kann mir jemand sagen oder eine Anleitung nennen, wie ich das machen kann?

                            Sebastian

                            DJMarc75 1 Reply Last reply Reply Quote 0
                            • DJMarc75
                              DJMarc75 @shgmongo last edited by

                              @shgmongo sagte in Sonoff RF Bridge Tasmota und Portisch 433mhz:

                              Kann mir jemand sagen oder eine Anleitung nennen, wie ich das machen kann?

                              Suchfunktion hier im Forum benutzen und falls nicht fündig einen eigenen Beitrag aufmachen weil das hier nicht zum Thema des Beitrages gehört.

                              1 Reply Last reply Reply Quote 0
                              • D
                                DaniX42 @pangaea last edited by

                                @pangaea said in Sonoff RF Bridge Tasmota und Portisch 433mhz:

                                Problem mit ON/OFF auf Einzeltaster - Lampe schaltet ein und gleich wieder aus / Sendezeit zu lange?

                                Ich habe das gleiche Problem bei einer Markise mit Beleuchtung. RAUS, REIN und STOPP funktionieren aber die Licht-Taste ist pro Drücker für AUS/EIN zuständig. Ich verbringe bereits Tage mit dem Script, habe alles versucht, die doppelten EventListener reduziert auf einen aber es scheint tatsächlich an der Sendedauer der RF-Bridge mit Portisch-Firmware zu liegen. Weiß jemand zufällig ob man die Sendedauer beeinflussen kann?

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

                                  @danix42
                                  in dem du den Raw Code verkürzt wenn zu lang und nur einmal sendest.
                                  Gezielt senden geht dann per http raw cmd oder mqtt.
                                  Lesestoff

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Henrik last edited by

                                    Mega, was für ein cooles Script. Habe nach notwendigen Pfadanpassungen meine FB's angelernt.
                                    Habe nun auch endlich meine Dooya DC90 Markisen (Empasa) Fernbedienung im ioBroker und kann jetzt mit Wettersensoren das Teil überwachen.
                                    Super und vielen Dank

                                    H 1 Reply Last reply Reply Quote 0
                                    • H
                                      Henrik @Henrik last edited by

                                      @henrik
                                      Vielleicht bekomme ich ja noch Hilfe.
                                      Wollte nach dem Winter den Sonoff wieder in Betrieb nehmen. Jetzt fehlt mir der DP RfRaw. Versuche mit rfraw 177 bzw. 166 führten nicht zum Erfolg. Meine angelernte FB Befehle funktionieren leider nicht mehr und neu anlernen klappt nicht.

                                      B C 2 Replies Last reply Reply Quote 0
                                      • B
                                        Berti69 @Henrik last edited by

                                        Hallo
                                        Versuche jetzt schon ne ganze Zeit durch Videos und lesen hier im Forum mein Steckdosen von QUIGG und brennenstuhl zu schalten. Leider ohne Erfolg. Habe alles so gemacht wie in der Beschreibung oben. Code kommt an und wird gleich umgewandelt. Aber beim senden über die Konsole mit rfraw geht nichts bzw sehe die rote LED blinken. Steckdose wird nicht geschaltet. Wo liegt mein Fehler. Danke

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

                                          Habe noch ein paar Befehle versucht
                                          rfraw 255.JPG
                                          Vielleicht könnt ihr was damit anfangen

                                          1 Reply Last reply Reply Quote 0
                                          • C
                                            Computerhenne @Henrik last edited by

                                            @henrik
                                            Komme nicht weiter. Ohne DP RFRaw funktioniert nichts.
                                            da56ff0d-f761-491d-b914-9a8f71ddbb50-image.png
                                            Das ist meine Liste an Datenpunkten. Wieso fehlen die wichtigen Datenpunkte auf einmal?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            627
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring scenes
                                            23
                                            44
                                            7137
                                            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