Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. FritzBox WLAN Passwort ändern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    FritzBox WLAN Passwort ändern

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jwerlsdf @Glasfaser last edited by

      @Glasfaser
      ja habe ich gemacht
      5853bbc1-a2f8-4e78-87f4-b022bf077449-grafik.png

      Glasfaser 1 Reply Last reply Reply Quote 0
      • Glasfaser
        Glasfaser @jwerlsdf last edited by

        @jwerlsdf

        Zeige mal dein Script !

        hier reinpacken !!

        1.JPG

        J 1 Reply Last reply Reply Quote 0
        • J
          jwerlsdf @Glasfaser last edited by Negalein

          @Glasfaser

          // https://www.npmjs.com/package/qr-image
          
          var MySSID          = "MTL Gastzugang";  //  SSID Name
          var MyCrypt         = "WPA2";                //  [WEP|WPA|WPA2]
          var MyVisibility    = "n";                   //  Hidden SSID? 
          
          var cronStr         = "* 1 * * *";           // Script wird jeden Tag um 03:01 Ausgeführt
          
          var idQRZiel = "javascript.0.QR-Code.Gast";  // Zieldatenpunkt für QR-Code
          var IdGPasswd = "tr-064-community.0.states.wlanGuestPassword"; /*wlanGuestPassword*/
          
          if(MyVisibility == "y") {
              var MyHidden="H:true";
          } 
          else {
              MyHidden="";
          } 
          
          createState(idQRZiel, "", {
               name: 'QR-Code für Gastpasswort',
               desc: 'QR-Code für Gastpasswort',
               type: 'string',
               role: 'info'
          });
          
          createQRcode();
          
          function createQRcode() {
              var qr = require('qr-image');
             var pass = getState(IdGPasswd).val;     
                   var svg_string = qr.imageSync('WIFI:S:'+MySSID+';T:'+MyCrypt+';P:'+pass+';'+MyHidden+';', { type: 'svg' });
              setState(idQRZiel, svg_string);
               log(svg_string);
              setState(IdGPasswd, NewPasswd);
          }
          
          // regelmässige Wiederholungen
          schedule(cronStr, createQRcode);
          
          sigi234 Glasfaser 2 Replies Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @jwerlsdf last edited by

            @jwerlsdf

            Bitte benutzt die Code Tags Funktion -> </>
            Hier gehts zur Hilfe.

            1 Reply Last reply Reply Quote 0
            • Glasfaser
              Glasfaser @jwerlsdf last edited by

              @jwerlsdf

              Du hast ein paar Fehler eingebaut .

              Nimm das :

              var MySSID          = "MTL Gastzugang";           //  SSID Name
              
              var MyCrypt         = "WPA2";                //  [WEP|WPA|WPA2]
              
              var MyVisibility    = "n";                  //  Hidden SSID? 
              
              var cronStr         = "3 1 * * *"           // Script wird jeden Tag um 01:03 Ausgeführt
              
              
              
              var idQRZiel = "javascript.0.QR-Code.Gast"; // Zieldatenpunkt für QR-Code
              
              var IdGPasswd = "tr-064-community.0.states.wlanGuestPassword"; /*wlanGuestPassword*/
              
              
              
              if(MyVisibility == "y") {
              
                 var MyHidden="H:true";
              
              } 
              
              else {
              
                 MyHidden="";
              
              } 
              
              
              
              createState(idQRZiel, "", {
              
              
              
                  name: 'QR-Code für Gastpasswort',
              
                  desc: 'QR-Code für Gastpasswort',
              
                  type: 'string',
              
                  role: 'value'
              
              });
              
              
              
              function randomString(length) {         // Methode zur Erstellung eines Random-Passworts kann angepasst werden
              
              
              
                 return Math.round((Math.pow(36, length + 1) - Math.random() * Math.pow(36, length))).toString(36).slice(1);
              
              
              
              }
              
              
              
              function createQRcode() {
              
              
              
                 var qr = require('qr-image');
              
                 var NewPasswd = randomString(16);       // 16 Stelliges Passwort
              
                 var svg_string = qr.imageSync('WIFI:S:'+MySSID+';T:'+MyCrypt+';P:'+NewPasswd+';'+MyHidden+';', { type: 'svg' });
              
                      
              
                 setState(idQRZiel, svg_string);
                 setState(IdGPasswd, NewPasswd);
                 console.log('+++ Wlan Gast QR-Code neu erstellt +++');
              }
              
              
              
              
              // regelmässige Wiederholungen
              
              schedule(cronStr, createQRcode);
              

              1 Reply Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @jwerlsdf last edited by

                @jwerlsdf sagte in FritzBox WLAN Passwort ändern:

                Bei "Objekte" -- "tr-064-community.0" --> "States" --> "wlanGuestPassword" dort auf bearbeiten geklickt und bei "Nativ" "func" das passwort aus der Fritzbox hinterlegt.
                Bei "Objekte" -- "tr-064-community.0" --> "States" --> "wlanGuest" dort auf bearbeiten geklickt und bei "Nativ" "func" den SSID Name hinterlegt.

                Hast du die Objekteeigenschaften geändert , dort bitte nichts verändern !??

                Lösche bitte diese beiden Datenpunkte sicherheitshalber und lasse sie vom tr.064 Adapter neu anlegen .

                J 1 Reply Last reply Reply Quote 0
                • J
                  jwerlsdf @Glasfaser last edited by

                  @Glasfaser Oh großer Meister!!!! Vielen, vielen Dank!!! Es geht nun!!!! 🙂

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

                    Sorry ... erledigt

                    Glasfaser 1 Reply Last reply Reply Quote 0
                    • Glasfaser
                      Glasfaser @GuLi69 last edited by

                      @GuLi69

                      Nimm mal das …

                      [{"tpl":"tplValueStringRaw","data":{"hm_id":"80101","digits":"","factor":1,"min":0,"max":1,"step":0.01,"visibility-cond":"==","visibility-val":1,"oid":"javascript.0.QR-Code.Gast","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-groups-action":"hide","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"156px","top":"640px","width":"125px","height":"125px","border":"2px solid rgb(255, 255, 255)","border-radius":"5px","z-index":"44","color":"","background":"#ffffff","font-family":"Jura-DemiBold"},"widgetSet":"basic"}]
                      

                      GuLi69 1 Reply Last reply Reply Quote 0
                      • GuLi69
                        GuLi69 @Glasfaser last edited by

                        @Glasfaser
                        Sorry wo würde ich diesen Code einfügen?

                        Glasfaser 1 Reply Last reply Reply Quote 0
                        • Glasfaser
                          Glasfaser @GuLi69 last edited by

                          @GuLi69
                          1.JPG

                          GuLi69 1 Reply Last reply Reply Quote 0
                          • GuLi69
                            GuLi69 @Glasfaser last edited by

                            @Glasfaser
                            PERFEKT !!!
                            VIELEN DANK Glasfaser !!!

                            VG
                            Günter

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

                              Hi, habe hier was kurioses gefunden, nichts tragisches 😉

                              Nutze das Script seit langem und lasse alle 24h das WLAN Passwort für Gast ändern.
                              Nur bei einem Neustart des Raspi zickt das Script etwas.

                              Das Passwort steht wie gehabt als Wert im Objekt "tr-064.0.states.wlanGuestPassword".
                              Wenn dann das Script per cronjob ein neues Passwort generiert, wird der Wert gelöscht und erst nach dem nächsten Durchlauf (bei mir also 24h) wieder eingetragen. Dann funktioniert alles wieder so wie es soll und alle 24h wird ein neues Passwort generiert und als Wert dort eingetragen.
                              Im Log sehe ich kein Fehler oder Hinweis warum dieser Wert gelöscht wird.

                              Das ist nichts tragisches, da der QR-Code immer richtig erstellt wird. Benutze den Wert zur Kontrolle und für Gäste die den QR nicht scannen können.

                              Frage: Kann das jemand nachvollziehen?
                              Evtl. liegt es an der Fritz Labor Version. Diese benötige ich dringend wegen der SMB2+3 Unterstützung.

                              Meine derzeitige Konfiguration:

                              • Raspberry Pi 4 (BCM2835) mit Linux Kernel 4.19.118
                              • ioBroker.admin 4.1.1
                              • Node.js: v12.18.1
                              • NPM: 6.14.5
                              • TR-064 Adapter 4.0.8
                              • FitzBox 7490 mit Labor Version: 07.19-79773
                              // Quelle:
                              // https://www.npmjs.com/package/qr-image
                              // https://forum.iobroker.net/topic/4574/fritzbox-wlan-passwort-%C3%A4ndern/49
                              
                              var MySSID          = "Gast24h";                            // SSID Name
                              var MyCrypt         = "WPA2 + WPA3";                        // [WEP|WPA|WPA2|WPA3]
                              var MyVisibility    = "n";                                  // Hidden SSID? 
                              var cronStr         = "* 2 * * *"                           // Script wird jeden Tag um 2 Uhr ausgeführt
                              //var cronStr         = "* * * * *"                        // jede Minute, nur zum Testen!
                              
                              
                              var idQRZiel = "javascript.0.QR-Code.Gast";                       // Zieldatenpunkt für QR-Code
                              var IdGPasswd = "tr-064.0.states.wlanGuestPassword";              // wlanGuestPassword
                              
                              if(MyVisibility == "y") {
                                 var MyHidden="H:true";
                              } 
                              else {
                                 MyHidden="";
                              } 
                              
                              createState(idQRZiel, "", {
                                  name: 'QR-Code für Gastpasswort',
                                  desc: 'QR-Code für Gastpasswort',
                                  type: 'string',
                                  role: 'value'
                              });
                              
                              // Methode zur Erstellung eines Random-Passworts kann angepasst werden
                              function randomString(length) {
                                 return Math.round((Math.pow(36, length + 1) - Math.random() * Math.pow(36, length))).toString(36).slice(1);
                              }
                              
                              function createQRcode() {
                                 var qr = require('qr-image');
                                 var NewPasswd = randomString(10);   // 10 Stelliges Passwort
                                 var svg_string = qr.imageSync('WIFI:S:'+MySSID+';T:'+MyCrypt+';P:'+NewPasswd+';'+MyHidden+';', { type: 'svg' });
                                 setState(IdGPasswd, NewPasswd);
                                 setState(idQRZiel, svg_string);
                                 console.log('WLAN Gast QR-Code neu erstellt: ' + NewPasswd);
                              }
                               
                              // regelmässige Wiederholungen
                              schedule(cronStr, createQRcode);
                              

                              jolic

                              C 1 Reply Last reply Reply Quote 0
                              • C
                                Chrunchy @jolic last edited by

                                @jolic Ich vermute es liegt hier beim Neustart ein Timing-Problem vor.

                                Ich hatte ähnliches bei einem Script, was mir beim Neustart vom iobrkoer Lichter eingeschaltet hat.
                                Ich habe es dadurch gelöst, dass ich dem Script einen Timeout von 1 Minute voran gestellt habe, welcher nur beim ersten durchlauf, also beim Starten des Scripts greift.

                                Damit hatten dann alle Adapter die Chance sauber zu laufen, bevor der Javascript-Adapter die ganzen Scripte ausgeführt hat.

                                Vielleicht hilft es ja auch bei dir.

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

                                  @Chrunchy: Danke für deinen Hinweis. Tipps und Hinweise sind immer willkommen.

                                  Denke nicht das es ein Timeout Problem ist. Sorry, vielleicht habe ich mich etwas unklar ausgedrückt.

                                  • Script wird genau nach Plan ausgeführt (habe auch andere Zeiten probiert)
                                  • zur Kontrolle logge ich den Wert (wurde korrekt generiert), steht aber erst am 2ten Tag in "tr-064.0.states.wlanGuestPassword" als Wert
                                  • die Fritz nimmt immer das neue Passwort an und der QR-Code stimmt auch immer ab dem ersten Tag (so wie es sein soll)

                                  Das rennt Wochen lang so, bis ich ein Kernel Update mache und den Raspi neu starte (sudo restart). Sonst wäre mir das nicht aufgefallen.

                                  Siehe Bild, der Wert wurde um 9 Uhr von "javascript.0/admin" ab dem 2 Tag korrekt eingetragen
                                  wlanGuestPassword_klein.jpg

                                  Wie schon erwähnt, nichts tragisches, kann damit gut leben. Würde mich dennoch interessieren was da falsch rennt.
                                  Werde das weiter beobachten... 👁

                                  jolic

                                  jolic 1 Reply Last reply Reply Quote 0
                                  • jolic
                                    jolic @jolic last edited by jolic

                                    Hi, hier ein Update. Ist noch nicht gelöst aber der Verusacher ist der TR-064 Adapter.
                                    Diese Sache passiert immer einmalig bei einem Neustart des Adapters (keine Meldung im error log).

                                    Jetzige Konfiguration (nutze neuen Raspi mit SSD):

                                    • Raspberry Pi 4 (BCM2711) mit Linux Kernel 5.10.17
                                    • ioBroker.admin 4.2.1
                                    • Node.js: v12.22.1
                                    • NPM: 6.14.12
                                    • TR-064 Adapter 4.2.12
                                    • FitzBox 7490 Version: 07.27

                                    Kann das evtl. jemand bestätigen oder hat eine Idee wie ich das "Problemchen" lösen kann?

                                    jolic

                                    A 1 Reply Last reply Reply Quote 0
                                    • V
                                      Vickes last edited by

                                      Hello,

                                      ich würde diesen thread gerne noch einmal wiederbeleben:
                                      Wäre es mit den o.g. Scripts (die hervorragend funktiponieren) möglich das ganze auch unter der lovelace vis anzeigen zu lassen? Mithilfe der direkten Einbindung in einer 'Picture' bzw 'Picture Element' Karte hatte ich bisher keinen Erfolg.

                                      Any possible Ideas? 😰

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        Aushilfsarnie @jolic last edited by Aushilfsarnie

                                        Hallo zusammen,
                                        grundsätzlich habe ich die Einrichtung hinbekommen. Leider wird das Passwort nicht an meine Fritzbox 6590 Cable übertragen. Alle anderen Funktionen des Adatpers funktionieren. Hat jemand eine Idee dazu? Vielen Dank im Voraus!

                                        jolic 1 Reply Last reply Reply Quote 0
                                        • jolic
                                          jolic @Aushilfsarnie last edited by jolic

                                          Hallo, nach über zwei Jahren habe ich mich nochmal mit dem Thema beschäftigt, einige Optimierungen vorgenommen und den nervigen Fehler endlich behoben. Vielleicht ist das ja auch für jemand anderen nützlich. Viel Spaß damit!

                                          Danke an das Team von ioBroker und einen guten Rutsch ins neue Jahr!

                                          // QR-Image V24.12.008 -> ein paar Optimierungen und ein lästiger Fehler behoben.
                                          // Nach jedem Neustart des TR-064 Adapter und ersten Start des Skripts war der DP "wlanGuestPassword" leer.
                                          // Der Fehler war ein Timing-Problem. Das Passwort wurde gesetzt, aber der TR-064 Adapter verarbeitete es zu langsam.
                                          // Durch den setState-Callback wird sichergestellt, dass der QR-Code erst nach erfolgreichem Speichern des Passworts generiert wird.
                                          //
                                          // Quelle:
                                          // https://www.npmjs.com/package/qr-image
                                          // https://forum.iobroker.net/topic/4574/fritzbox-wlan-passwort-%C3%A4ndern/49
                                          // Das Modul 'qr-image' muss in den JS Adapter (Instanzen) eingetragen werden!
                                          //
                                          // Der ioBroker TR-064 Adapter bietet keine Möglichkeit, die Verschlüsselungsmethode des Gast-WLANs (z. B. "WPA2" oder "WPA2 + WPA3") zu ändern.
                                          // Die Konfiguration der Verschlüsselung erfolgt über die Weboberfläche der FRITZ!Box.
                                          
                                          var MySSID = "HalloGast";                            // SSID Name
                                          var MyVisibility = "n";                              // Hidden SSID?
                                          var cronStr = "1 4 * * *";                           // Script wird jeden Tag um 04:01 ausgeführt
                                          // var cronStr = "1 4 * * 1";                       // Einmal je Woche  um 04:01 | 1 = Montag (0 = Sonntag, 6 = Samstag)
                                          // var cronStr = "1 4 1 * *";                       // Am 1. Tag jedes Monats um 04:01
                                          
                                          var idQRZiel = "javascript.0.QR-Code.Gast";          // Zieldatenpunkt für QR-Code
                                          var IdGPasswd = "tr-064.0.states.wlanGuestPassword"; // Datenpunkt für WLAN-Gastpasswort
                                          var passwordLength = 20;                             // Länge des Passworts (mind. 8 Zeichen!)
                                          
                                          if (MyVisibility === "y") {
                                              var MyHidden = "H:true";
                                          } else {
                                              MyHidden = "";
                                          }
                                          
                                          // Erstelle den Datenpunkt für den QR-Code, falls nicht vorhanden
                                          createState(idQRZiel, "", {
                                              name: 'QR-Code für Gastpasswort',
                                              desc: 'QR-Code für Gastpasswort',
                                              type: 'string',
                                              role: 'value'
                                          });
                                          
                                          // Methode zur Erstellung eines zufälligen Passworts (keine Sonderzeichen am Anfang oder Ende)
                                          function randomString(length) {
                                              var result = '';
                                              var lowerChars = 'abcdefghijklmnopqrstuvwxyz';
                                              var upperChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
                                              var digits = '0123456789';
                                              var specialChars = '!?._-';
                                              var allChars = lowerChars + upperChars + digits + specialChars;
                                          
                                              // Ersten und letzten Charakter setzen (keine Sonderzeichen)
                                              result += lowerChars.charAt(Math.floor(Math.random() * lowerChars.length)); // Kleinbuchstabe am Anfang
                                          
                                              // Mittelteil auffüllen (inkl. Sonderzeichen)
                                              for (var i = 1; i < length - 1; i++) {
                                                  var char = allChars.charAt(Math.floor(Math.random() * allChars.length));
                                                  result += char;
                                              }
                                          
                                              // Letztes Zeichen (keine Sonderzeichen, aber Klein-/Großbuchstabe oder Zahl)
                                              result += lowerChars.concat(upperChars, digits).charAt(Math.floor(Math.random() * (lowerChars.length + upperChars.length + digits.length)));
                                          
                                              // Stelle sicher, dass mindestens ein Sonderzeichen enthalten ist (außer am Anfang und Ende)
                                              var specialIndex = Math.floor(Math.random() * (length - 2)) + 1;  // Position zwischen 1 und length-2
                                              var specialChar = specialChars.charAt(Math.floor(Math.random() * specialChars.length));
                                              result = result.substring(0, specialIndex) + specialChar + result.substring(specialIndex + 1);
                                          
                                              return result;
                                          }
                                          
                                          // Methode zur Erstellung des QR-Codes
                                          var qr;
                                          try {
                                              qr = require('qr-image');
                                          } catch (err) {
                                              log('Modul qr-image konnte nicht geladen werden: ' + err);
                                          }
                                          
                                          function createQRcode() {
                                              if (!qr) return; // Abbrechen, falls qr-image nicht geladen werden konnte
                                              var NewPasswd = randomString(passwordLength); // Passwortlänge dynamisch anpassbar
                                              setState(IdGPasswd, NewPasswd, false, function(err) {
                                                  if (err) {
                                                      log('Fehler beim Setzen des Passworts: ' + err);
                                                  } else {
                                                      setTimeout(function() {
                                                          setState(IdGPasswd, NewPasswd, true);  // Nach 2 Sekunden bestätigen
                                                      }, 2000);
                                                      var svg_string = qr.imageSync('WIFI:S:' + MySSID + ';T:WPA2;P:' + NewPasswd + ';' + MyHidden + ';', { type: 'svg' });
                                                      setState(idQRZiel, svg_string, true);
                                                  }
                                              });
                                          }
                                          
                                          // Erstelle den QR-Code einmalig beim ersten Start des Scripts
                                          createQRcode();
                                          
                                          // Planmäßige Wiederholungen der Erstellung des QR-Codes
                                          schedule(cronStr, createQRcode);
                                          
                                          
                                          M 1 Reply Last reply Reply Quote 3
                                          • mcm1957
                                            mcm1957 @simpixo last edited by mcm1957

                                            deleted da Unsinn
                                            Der Thread ist ja aus der Gruft gehiben worden ...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            976
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            61
                                            9256
                                            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