NEWS
FritzBox WLAN Passwort ändern
-
Hallo Danke für das klasse Script, ich habe das Problem, dass der qr code nicht erstellt wird.
wenn ich es richtig verstehe kommt doch in den IdGPasswd der Datenpunkt in dem das Passwort steht, bei mir ist es keine Fritzbox allerdings steht hier das Passwort im Klartext drinnen.
Starte ich nun das Script wird wieso auch immer dieser Datenpunkt überschriben.
Im Datenpunkt:
var idQRZiel = "javascript.0.QR-Code.Gast";
wird doch dann der QRCode erstellt, dieser ist bei mir allerdings leer.
An was kann das liegen?
Den teil habe ich danach angepasst damit das Passwort nicht überschrieben wird.
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:'+IdGPasswd+';'+MyHidden+';', { type: 'svg' }); setState(idQRZiel, svg_string); //setState(IdGPasswd, NewPasswd);
-
Bekommst du eine Fehlermeldung/Warnung?
Hast du qr-image als zusätzliches NPM-Module eingebunden?
-
Habe es hinbekommen
// https://www.npmjs.com/package/qr-image var MySSID = "GastNetz"; // 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 = "node-red.0.sophos"; /*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);
Als Widget musste ich aber auchh ein anderes nehmen:
[{"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":"978px","top":"183px","width":"152px","height":"153px","border":"2px solid rgb(255, 255, 255)","border-radius":"5px","z-index":"0","color":"","background":"#ffffff"},"widgetSet":"basic"}]
-
@a200
Hallo,
ich habe noch ein paar Verständnisfragen:
ich habe bereits Javascript als Adapter installiert und dort wie auf dem Bild qr-image hinzugefügt.
Als nächstes soll ich ja das Javascript erstellen. Jetzt kommen meine Fragen:- Wo genau muss ich das Javascript einfügen?
- Muss ich im Javascript noch irgendetwas ersetzen? z.B. MySSID = "Mein GAST WLAN Zugang" --> in die tatsächlich von mir in meiner Fritzbox hinterlegten Namen?
- Ich habe den tr-064-community-Adapter: reicht es, wenn ich im script dann so schreibe? --> IdGPasswd = "tr-064-community.0.states.wlanGuestPassword"; /wlanGuestPassword/
- Bei meiner Frage 3 steht "wlanGuestPassword" --> muss dieses ersetzt werden mit dem WLan2 Passwort, welches in der Fritzbox hinterlegt ist?
Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte
-
@jwerlsdf sagte in FritzBox WLAN Passwort ändern:
@a200
Hallo,
ich habe noch ein paar Verständnisfragen:
ich habe bereits Javascript als Adapter installiert und dort wie auf dem Bild qr-image hinzugefügt.
Als nächstes soll ich ja das Javascript erstellen. Jetzt kommen meine Fragen:- Wo genau muss ich das Javascript einfügen?
Du Brauchst den "Script Engine" Adapter. Dort muss es muss unter Scripte erstellt und gestartet werden.
- Muss ich im Javascript noch irgendetwas ersetzen? z.B. MySSID = "Mein GAST WLAN Zugang" --> in die tatsächlich von mir in meiner Fritzbox hinterlegten Namen?
Ja. Der QR-Code besteht aus den Namen des SSID, den Typ der Verschlüsselung, dem Passwort selbst und noch ein paar anderen Infos. Deshalb musst dort dein SSID-Name eingetragen werden.
- Ich habe den tr-064-community-Adapter: reicht es, wenn ich im script dann so schreibe? --> IdGPasswd = "tr-064-community.0.states.wlanGuestPassword"; /wlanGuestPassword/
Wahrscheinlich ja. Nur nicht vergessen die Funktion in der Zeile 34 auch zu aktivieren:
ist:
//setState(IdGPasswd, NewPasswd);
soll
setState(IdGPasswd, NewPasswd);
- Bei meiner Frage 3 steht "wlanGuestPassword" --> muss dieses ersetzt werden mit dem WLan2 Passwort, welches in der Fritzbox hinterlegt ist?
Ich verstehe deine Frage nicht ganz. "/wlanGuestPassword/" ist nur ein Kommentar. und das davor der Verweis, wo dein Passwort gespeichert ist. Dort musst du nichts ändern.
Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte
Aber bitte doch.
-
@a200 said in FritzBox WLAN Passwort ändern:
tr-064-community.0.states.wlanGuestPassword
Vielen Dank für deine Antwort!
Ich habe jetzt folgendes gemacht:
Javascript; Neues Skript hinzugefügt:
Name: qr-image
Mappe: root-VerzeichnisDas Skript habe ich dann eingefügt mit folgenden Änderungen:
Zeile 3 MySSID --> in den namen meines GastWLans geändert
Zeile 4 var MyCrypt --> WPA2
Zeile 10: var IdGPasswd = "tr-064-community.0.states.wlanGuestPassword"; /wlanGuestPassword/Das wars. Wenn ich das Skript jetzt aktiviere, dann bekomme ich folgenden Fehler:
error javascript.0 (8405) script.js.qr-image: script.js.qr-image:34
error javascript.0 (8405) at createQRcode (script.js.qr-image:34:25)
error javascript.0 (8405) at script.js.qr-image:26:1Bei "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.Aber wie gesagt es geht leider noch nicht...
-
Hier im Adapter Javascript , qr-image eintragen !?
-
@Glasfaser
ja habe ich gemacht
-
-
// 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);
-
-
-
@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 .
-
@Glasfaser Oh großer Meister!!!! Vielen, vielen Dank!!! Es geht nun!!!!
-
Sorry ... erledigt
-
-
@Glasfaser
Sorry wo würde ich diesen Code einfügen? -
-
@Glasfaser
PERFEKT !!!
VIELEN DANK Glasfaser !!!VG
Günter -
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