Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. FritzBox WLAN Passwort ändern

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

FritzBox WLAN Passwort ändern

Scheduled Pinned Locked Moved ioBroker Allgemein
61 Posts 16 Posters 13.5k Views 20 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • GuLi69G Offline
    GuLi69G Offline
    GuLi69
    wrote on last edited by GuLi69
    #46

    Sorry ... erledigt

    GlasfaserG 1 Reply Last reply
    0
    • GuLi69G GuLi69

      Sorry ... erledigt

      GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      wrote on last edited by
      #47

      @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"}]
      

      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

      GuLi69G 1 Reply Last reply
      0
      • GlasfaserG Glasfaser

        @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"}]
        

        GuLi69G Offline
        GuLi69G Offline
        GuLi69
        wrote on last edited by
        #48

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

        GlasfaserG 1 Reply Last reply
        0
        • GuLi69G GuLi69

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

          GlasfaserG Offline
          GlasfaserG Offline
          Glasfaser
          wrote on last edited by
          #49

          @GuLi69
          1.JPG

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          GuLi69G 1 Reply Last reply
          0
          • GlasfaserG Glasfaser

            @GuLi69
            1.JPG

            GuLi69G Offline
            GuLi69G Offline
            GuLi69
            wrote on last edited by
            #50

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

            VG
            Günter

            1 Reply Last reply
            0
            • jolicJ Offline
              jolicJ Offline
              jolic
              wrote on last edited by jolic
              #51

              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
              0
              • jolicJ 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 Offline
                C Offline
                Chrunchy
                wrote on last edited by
                #52

                @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.

                Gruß Chrunchy

                1 Reply Last reply
                0
                • jolicJ Offline
                  jolicJ Offline
                  jolic
                  wrote on last edited by
                  #53

                  @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... :eye:

                  jolic

                  jolicJ 1 Reply Last reply
                  0
                  • jolicJ jolic

                    @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... :eye:

                    jolic

                    jolicJ Offline
                    jolicJ Offline
                    jolic
                    wrote on last edited by jolic
                    #54

                    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
                    0
                    • V Offline
                      V Offline
                      Vickes
                      wrote on last edited by
                      #55

                      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? :cold_sweat:

                      1 Reply Last reply
                      0
                      • jolicJ 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 Offline
                        A Offline
                        Aushilfsarnie
                        wrote on last edited by Aushilfsarnie
                        #56

                        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!

                        jolicJ 1 Reply Last reply
                        0
                        • A 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!

                          jolicJ Offline
                          jolicJ Offline
                          jolic
                          wrote on last edited by jolic
                          #57

                          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
                          2
                          • S simpixo

                            Ich habe mal auf Github den Entwickler gefragt ob er sowas implementieren könnte!?

                            Habe auch erwähnt das du die Möglichkeit für das Passwort/Qr Code entwickelt hast [emoji6]

                            Mal schauen was er dazu sagt

                            Gruß

                            Adrian

                            Gesendet von iPhone mit Tapatalk Pro

                            mcm1957M Online
                            mcm1957M Online
                            mcm1957
                            wrote on last edited by mcm1957
                            #58

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

                            Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                            Support Repositoryverwaltung.

                            Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                            LESEN - gute Forenbeitrage

                            1 Reply Last reply
                            0
                            • jolicJ 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 Offline
                              M Offline
                              MartyBr
                              wrote on last edited by
                              #59

                              @jolic
                              Zuerst mal vielen dank für die Weiterentwicklung!
                              Ich habe aber ein Problem mit dem Script oder evtl. dem TR-06-Adapter. Wenn ich das Script laufen lassen (genauer: per CRON-Starte), dann schreibt er das WLAN-Gast Kennwort in das zentrale WLAN-Passwort. Danach fällt das WLAN logisch aus (da die Geräte ja das neue Kennwort nicht kennen).

                              Zu meiner Technik:
                              Debian 12, ioBroker aktuell aus dem Stable.
                              Fritz!Box 5690 Pro (DSL, wird nicht per Glasfaser betrieben).

                              Hier die Datenpunkte: (Gäste-WLAN hat Kennwort, wird aber nicht ausgelesen)

                              Bildschirmfoto 2025-04-15 um 21.05.18.png

                              Was mir auffällt ist, dass der Adapter kein WLAN-60 kennt. Die 5690 Pro hat ja ein WLAN 6G.

                              Gruß
                              Martin


                              Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                              Raspeberry mit USB Leseköpfen für Smartmeter
                              Homematic und Homematic IP

                              M 1 Reply Last reply
                              0
                              • M MartyBr

                                @jolic
                                Zuerst mal vielen dank für die Weiterentwicklung!
                                Ich habe aber ein Problem mit dem Script oder evtl. dem TR-06-Adapter. Wenn ich das Script laufen lassen (genauer: per CRON-Starte), dann schreibt er das WLAN-Gast Kennwort in das zentrale WLAN-Passwort. Danach fällt das WLAN logisch aus (da die Geräte ja das neue Kennwort nicht kennen).

                                Zu meiner Technik:
                                Debian 12, ioBroker aktuell aus dem Stable.
                                Fritz!Box 5690 Pro (DSL, wird nicht per Glasfaser betrieben).

                                Hier die Datenpunkte: (Gäste-WLAN hat Kennwort, wird aber nicht ausgelesen)

                                Bildschirmfoto 2025-04-15 um 21.05.18.png

                                Was mir auffällt ist, dass der Adapter kein WLAN-60 kennt. Die 5690 Pro hat ja ein WLAN 6G.

                                M Offline
                                M Offline
                                MartyBr
                                wrote on last edited by
                                #60

                                @martybr
                                @jolic
                                Auch wenn ich manuell das Gäste-Wlan setze, dann schreibt der Adapter das Kennwort direkt als mein WLAN-Kennwort in die Fritz!Box. Das Problem scheint daher der TR-06-Adapter zu sein.

                                Gruß
                                Martin


                                Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                Raspeberry mit USB Leseköpfen für Smartmeter
                                Homematic und Homematic IP

                                M 1 Reply Last reply
                                0
                                • M MartyBr

                                  @martybr
                                  @jolic
                                  Auch wenn ich manuell das Gäste-Wlan setze, dann schreibt der Adapter das Kennwort direkt als mein WLAN-Kennwort in die Fritz!Box. Das Problem scheint daher der TR-06-Adapter zu sein.

                                  M Offline
                                  M Offline
                                  MartyBr
                                  wrote on last edited by
                                  #61

                                  @martybr
                                  Ich habe in GitHub TR-06 dazu ein Ticket angelegt.

                                  Gruß
                                  Martin


                                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                  Raspeberry mit USB Leseköpfen für Smartmeter
                                  Homematic und Homematic IP

                                  1 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  Support us

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

                                  640

                                  Online

                                  32.6k

                                  Users

                                  82.3k

                                  Topics

                                  1.3m

                                  Posts
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Home
                                  • Recent
                                  • Tags
                                  • Unread 0
                                  • Categories
                                  • Unreplied
                                  • Popular
                                  • GitHub
                                  • Docu
                                  • Hilfe