Beim Löschen eines fritzbox-devices wird ein ggf. in FHEM gespeichertes Passwort zu diesem device nicht gelöscht.
Was fuer ein Typ ist dein Fritzbox-Device? Mir sind 3 (bzw. 4, wenn man FBAHA dazuzaehlt) unterschiedliche, mit jeweils unterschiedlichen Maintainer bekannt.
FBAHAHTTP loescht ab sofort das gespeicherte Passwort nach einem delete.
vmtl. ähnliche Konstellation:
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/72_FRITZBOX.pm#L4645
Zitat von: rudolfkoenig am 16 November 2017, 09:07:43
Was fuer ein Typ ist dein Fritzbox-Device?
FRITZBOX, Maintainer tupol
Ich bin Mal verwegen und behaupte das keiner die Passwörter aus dem FHEM Container löscht ;D
Grüße
Wofür gibt es X_Delete?
Wenn man sowas nicht explizit im Kopf behält verliert man das schnell Mal beim coden aus dem Augen.
Zitat von: CoolTux am 16 November 2017, 15:48:02
Ich bin Mal verwegen und behaupte das keiner die Passwörter aus dem FHEM Container löscht
Eine diesbezügliche Wette würdest Du verlieren, wenn Du die Aussage auf alle Module beziehst.
sub GDS_Delete() {
my ($hash, $arg) = @_;
my $name = $hash->{NAME};
setKeyValue($name."_user",undef);
setKeyValue($name."_pass",undef);
setKeyValue($name."_host",undef);
}
Zitat von: betateilchen am 16 November 2017, 20:24:36
Eine diesbezügliche Wette würdest Du verlieren, wenn Du die Aussage auf alle Module beziehst.
sub GDS_Delete() {
my ($hash, $arg) = @_;
my $name = $hash->{NAME};
setKeyValue($name."_user",undef);
setKeyValue($name."_pass",undef);
setKeyValue($name."_host",undef);
}
Streber :P ;D
Zitat von: rudolfkoenig am 16 November 2017, 09:49:41
FBAHAHTTP loescht ab sofort das gespeicherte Passwort nach einem delete.
dito für FB_CALLMONITOR.
fixed für FRITZBOX
Beim Rename geht es nicht, weil der Routine laut wiki kein $hash übergeben wird.
Zitat von: tupol am 19 November 2017, 13:32:20
Beim Rename geht es nicht, weil der Routine laut wiki kein $hash übergeben wird.
Geht durchaus:
sub X_Rename($$)
{
my ($new, $old) = @_;
my $hash = $defs{$new};
...
Macht aber kein Sinn, da die Hash-Referenz die gleiche bleibt. Der Hash wird 1:1 mitgenommen. Zum Zeitpunkt des Aufrufes von der RenameFn existiert $defs{$old} bereits nicht mehr.
Beispielhaft so in deinem Fall:
sub FRITZBOX_Rename($$)
{
my ($new, $old) = @_;
my $old_index = "FRITZBOX_".$old."_passwd";
my $new_index = "FRITZBOX_".$new."_passwd";
my ($err, $old_pwd) = getKeyValue($old_index);
setKeyValue($new_index, $old_pwd);
setKeyValue($old_index, undef);
}
Danke.