diff --git a/fhem/FHEM/00_FBAHAHTTP.pm b/fhem/FHEM/00_FBAHAHTTP.pm index 8c1cd41d0..9b7612c63 100644 --- a/fhem/FHEM/00_FBAHAHTTP.pm +++ b/fhem/FHEM/00_FBAHAHTTP.pm @@ -18,6 +18,7 @@ FBAHAHTTP_Initialize($) $hash->{SetFn} = "FBAHAHTTP_Set"; $hash->{AttrFn} = "FBAHAHTTP_Attr"; $hash->{ReadyFn} = "FBAHAHTTP_Ready"; + $hash->{RenameFn} = "FBAHAHTTP_RenameFn"; $hash->{AttrList} = "dummy:1,0 fritzbox-user polltime async_delay ". "disable:0,1 disabledForIntervals"; } @@ -89,6 +90,19 @@ FBAHAHTTP_connect($) return undef; } +sub +FBAHAHTTP_RenameFn($$) +{ + my ($new, $old) = @_; + for my $d (devspec2array("TYPE=FBDECT")) { + my $hash = $defs{$d}; + next if(!$hash); + $hash->{DEF} =~ s/^$old:/$new:/; + $attr{$d}{IODev} = $new if(AttrVal($d,"IODev","") eq $old); + } + FBDECT_renameIoDev($new, $old); +} + ##################################### sub FBAHAHTTP_Poll($) diff --git a/fhem/FHEM/10_FBDECT.pm b/fhem/FHEM/10_FBDECT.pm index ea4b2d9f0..18fdefc26 100644 --- a/fhem/FHEM/10_FBDECT.pm +++ b/fhem/FHEM/10_FBDECT.pm @@ -281,6 +281,20 @@ FBDECT_ParseHttp($$$) return $hash->{NAME}; } +sub +FBDECT_renameIoDev($$) # Called from FBAHAHTTP +{ + my ($new, $old) = @_; + my $dp = $modules{FBDECT}{defptr}; + for my $ok (keys %{$dp}) { + my $nk = $ok; + $nk =~ s/^$old:/$new:/; + next if($nk eq $ok); + $dp->{$nk} = $dp->{$ok}; + delete $dp->{$ok}; + } +} + ################################### sub FBDECT_Parse($$@)