Passwort für Velux KLF200 vergessen

Begonnen von Olli.R, 28 April 2022, 10:31:09

Vorheriges Thema - Nächstes Thema

Olli.R

Hi,

ich hab grad folgendes Problem: Ich hab das Passwort für das KLF200 von Velux vergessen und benötige das nun, weil ich Fhem auf neuer Hardware frisch installieren möchte.
Vor langer Zeit habe ich das KLF200 mal eingerichtet und habe wohl vergessen das Passwort zu notieren :-\ .
Wo werden in fhem die Passwörter gespeichert? In der fhem.config ist davon nichts zu finden.

Wäre schön, wenn man das Passwort irgendwo auslesen könnte, ich möchte mir ersparen das KLF200 zurückzusetzen und darauf alles neu zu programmieren.
Schon mal herzlichen Dank für Eure Hilfe!

Gruß
Olli

DetlefR

Hallo Oli,

sieh mal in
/opt/fhem/FHEM/FhemUtils/uniqueID
nach

Gruß Detlef

Olli.R

Hallo Detlef,

herzlichen Dank für die Hilfe.
In der "uniqueID" finde ich auch alle gespeicherten Zugangsdaten.
Die Daten z.B. meiner Shellys kann ich lesen und die ergeben auch einen Sinn.
Für das KLF200 scheint das Passwort irgendwie verschlüsselt zu sein, da es nur aus Zahlen/Buchstaben besteht und auch beim Test nicht funktioniert.

KLF200_192.168.250.171_passwd:0b7a070603111b065550 (passwd wurde zur Darstellung hier geändert)

Ich glaube mich zu erinnern hier ein "sprechendes" Passwort vergeben zu haben.
Hat Jemand eine Idee?

Gruß
Olli

MadMax-FHEM

Mach ein Backup von fhem (backup) oder den Ordner komplett sichern (tar) und dann ein Restore (per tar), dann wandert der Ordner samt Inhalt und Besitzrechten etz. mit...

Funktioniert seit Jahren mit PWs diverser Module...

Ansonsten musst du im Code schauen wie das abgelegt wurde und ob/wie das "rückrechenbar" geht...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Olli.R

Hallo Joachim,

danke für den Tipp.
Wie schon geschrieben, wollte ich eigentlich eine saubere Neuinstallation machen, ohne irgendwelche bestehende Daten zu übernehmen.
Das System hatte ich schon einmal per Backup/Restore neu installiert, leider gab es danach immer wieder mal Merkwürdigkeiten im System.
Ich versuche dabei auch gleich ein paar "Altlasten" loszuwerden.
Außerdem ist es ja denkbar schlecht, wenn man das Passwort für die Zukunft nicht weiss.
Ja klar, meine eigene Schuld  :( , aber man lernt ja nie aus.  ;)

Gruß
Olli

yersinia

Du könntest auch nur den KLF200 Teil aus der alten fhem.cfg und den zugehörigen eintrag aus der uniqueId übernehmen; händisch, versteht sich, und nachdem du das neue FHEM System aufgesetzt und kein Backup eingespielt hast.
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

DetlefR

#6
Hallo Olli,

Du könntest auch in den Code für das Modul gehen, die Stelle suchen wo das Passwort entschlüsselt wird und mit "Log1, ..." in die Logdatei schreiben.
So würde ich es machen.  ;D


PS: Was auch gehen könnte. attr global showInternalValues 1. Möglicherweise ist das Passwort in einem verstecktem Reading gespeichert.

Gruß Detlef

Olli.R

Hi,

danke für eure tolle Hilfbereitschaft.  :)

Das mit den showInternalValues zeigt zwar zwei weitere Attribute an, aber leider nicht das Passwort- aber ist wohl auch so gewollt, der Sicherheit wegen.  ;)

@Wolle02: Bei deinem Link lande ich leider nur auf der Hauptseite des Forums  ???

Ich werde gleich nochmal gucken ob ich, wie Detlef beschrieben hat, eine Stelle im Code zu finden ist. Allerdings habe ich da noch nie mit rumhantiert, mal sehen was ich da rumfrickeln kann  :o

Gruß
Olli

Olli.R

Jippiii, der Tipp mit dem Einbau eines Logeintrags war Gold wert!  ;D

Jetzt habe ich das Passwort im Log stehen.
Es wurde ein Hash gebildet un der in der uniqueID gespeichert.

Im Modul gibt es einen Abschnitt KLF200_login, dort folgendes ergänzen (hier):

sub KLF200_login($$) {
  my ($hash,$password) = @_;
  my $name = $hash->{NAME}; <<<<<<<<<<<<---hier

  if ((not defined($password)) or ($password eq "")) {
    $password = KLF200_ReadPassword($hash);
    Log3($name, 1, "KLF200 ($name) - Login with Password $password"); <<<<<<<<-hier
    if (not defined($password)) {
      readingsSingleUpdate($hash, "state", "Login with password requiered", 1);
      return;
    }
  }
  else {
    KLF200_StorePassword($hash,$password);
  }
  KLF200_GW_PASSWORD_ENTER_REQ($hash,$password);
  return;
}


Nicht vergessen hinterher wieder rauszunehmen!  ;)

Herzlichen Dank, ihr habt mir den Tag gerettet!  :) :) :)

Gruß
olli

Prof. Dr. Peter Henning

ZitatJetzt habe ich das Passwort im Log stehen.
Es wurde ein Hash gebildet un der in der uniqueID gespeichert.

Das ist eine Nebelkerze. Dass im Perl-Code "$hash" steht, hat nichts mit einem Hash des Passworts zu tun. Der Witz eines Hash-Wertes ist nämlich, dass man aus ihm das Klartext-Passwort _nicht_ rekonstruieren kann.

LG

pah