diff --git a/fhem/FHEM/10_RESIDENTS.pm b/fhem/FHEM/10_RESIDENTS.pm index cec6d2ac5..58b024f62 100644 --- a/fhem/FHEM/10_RESIDENTS.pm +++ b/fhem/FHEM/10_RESIDENTS.pm @@ -65,7 +65,7 @@ sub RESIDENTS_Define($$) { $hash->{TYPE} = "RESIDENTS"; # set default settings on first define - if ($init_done) { + if ( $init_done && !defined( $hash->{OLDDEF} ) ) { $attr{$name}{alias} = "Residents"; $attr{$name}{devStateIcon} = '.*home:status_available:absent .*absent:status_away_1:home .*gone:status_standby:home .*none:control_building_empty .*gotosleep:status_night:asleep .*asleep:status_night:awoken .*awoken:status_available:home .*:user_unknown:home'; diff --git a/fhem/FHEM/20_GUEST.pm b/fhem/FHEM/20_GUEST.pm index bf70192e5..c53e903ea 100644 --- a/fhem/FHEM/20_GUEST.pm +++ b/fhem/FHEM/20_GUEST.pm @@ -126,7 +126,7 @@ sub GUEST_Define($$) { readingsBeginUpdate($hash); # set default settings on first define - if ($init_done) { + if ( $init_done && !defined( $hash->{OLDDEF} ) ) { my $aliasname = $name; $aliasname =~ s/^rg_//; $attr{$name}{alias} = $aliasname; diff --git a/fhem/FHEM/20_ROOMMATE.pm b/fhem/FHEM/20_ROOMMATE.pm index e39fd7ecc..8da0beb74 100644 --- a/fhem/FHEM/20_ROOMMATE.pm +++ b/fhem/FHEM/20_ROOMMATE.pm @@ -127,7 +127,7 @@ sub ROOMMATE_Define($$) { readingsBeginUpdate($hash); # set default settings on first define - if ($init_done) { + if ( $init_done && !defined( $hash->{OLDDEF} ) ) { my $groupname = $name; $groupname =~ s/^rr_//; $attr{$name}{group} = $groupname; diff --git a/fhem/FHEM/70_ENIGMA2.pm b/fhem/FHEM/70_ENIGMA2.pm index 5622a1978..a73de9aec 100644 --- a/fhem/FHEM/70_ENIGMA2.pm +++ b/fhem/FHEM/70_ENIGMA2.pm @@ -815,7 +815,7 @@ sub ENIGMA2_Define($$) { $hash->{helper}{PASSWORD} = $http_passwd if $http_passwd; # set default settings on first define - if ($init_done) { + if ( $init_done && !defined( $hash->{OLDDEF} ) ) { # use http-method POST for FritzBox environment as GET does not seem to # work properly. Might restrict use to newer diff --git a/fhem/FHEM/70_ONKYO_AVR.pm b/fhem/FHEM/70_ONKYO_AVR.pm index b142eff6d..138d80617 100644 --- a/fhem/FHEM/70_ONKYO_AVR.pm +++ b/fhem/FHEM/70_ONKYO_AVR.pm @@ -167,19 +167,13 @@ sub ONKYO_AVR_Define($$$) { } # set default settings on first define - if ($init_done) { - fhem 'attr ' . $name . ' stateFormat stateAV' - if ( !AttrVal( $name, "stateFormat", 0 ) ); - fhem 'attr ' - . $name - . ' cmdIcon muteT:rc_MUTE previous:rc_PREVIOUS next:rc_NEXT play:rc_PLAY pause:rc_PAUSE stop:rc_STOP shuffleT:rc_SHUFFLE repeatT:rc_REPEAT' - if ( !AttrVal( $name, "cmdIcon", 0 ) ); - fhem 'attr ' . $name . ' webCmd volume:muteT:input:previous:next' - if ( !AttrVal( $name, "webCmd", 0 ) ); - fhem 'attr ' - . $name - . ' devStateIcon on:rc_GREEN@green:off off:rc_STOP:on absent:rc_RED playing:rc_PLAY@green:pause paused:rc_PAUSE@green:play muted:rc_MUTE@green:muteT fast-rewind:rc_REW@green:play fast-forward:rc_FF@green:play interrupted:rc_PAUSE@yellow:play' - if ( !AttrVal( $name, "devStateIcon", 0 ) ); + if ( $init_done && !defined( $hash->{OLDDEF} ) ) { + fhem 'attr ' . $name . ' stateFormat stateAV'; + fhem 'attr ' . $name + . ' cmdIcon muteT:rc_MUTE previous:rc_PREVIOUS next:rc_NEXT play:rc_PLAY pause:rc_PAUSE stop:rc_STOP shuffleT:rc_SHUFFLE repeatT:rc_REPEAT'; + fhem 'attr ' . $name . ' webCmd volume:muteT:input:previous:next'; + fhem 'attr ' . $name + . ' devStateIcon on:rc_GREEN@green:off off:rc_STOP:on absent:rc_RED playing:rc_PLAY@green:pause paused:rc_PAUSE@green:play muted:rc_MUTE@green:muteT fast-rewind:rc_REW@green:play fast-forward:rc_FF@green:play interrupted:rc_PAUSE@yellow:play'; } $hash->{helper}{receiver}{device}{zonelist}{zone}{1}{name} = "Main"; $hash->{helper}{receiver}{device}{zonelist}{zone}{1}{value} = "1"; diff --git a/fhem/FHEM/70_PHTV.pm b/fhem/FHEM/70_PHTV.pm index 68755b828..11b1a989d 100644 --- a/fhem/FHEM/70_PHTV.pm +++ b/fhem/FHEM/70_PHTV.pm @@ -1544,7 +1544,7 @@ sub PHTV_Define($$) { if ( defined( $hash->{READINGS}{softwareversion}{VAL} ) ); # set default settings on first define - if ($init_done) { + if ( $init_done && !defined( $hash->{OLDDEF} ) ) { $attr{$name}{webCmd} = 'volume:input:rgb'; $attr{$name}{devStateIcon} = 'on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on'; @@ -3234,8 +3234,7 @@ sub PHTV_GetStateAV($) { elsif ( ReadingsVal( $name, "mute", "off" ) eq "on" ) { return "muted"; } - elsif ( ReadingsVal( $name, "playStatus", "stopped" ) ne "stopped" ) - { + elsif ( ReadingsVal( $name, "playStatus", "stopped" ) ne "stopped" ) { return ReadingsVal( $name, "playStatus", "stopped" ); } else { diff --git a/fhem/FHEM/71_ONKYO_AVR_ZONE.pm b/fhem/FHEM/71_ONKYO_AVR_ZONE.pm index a311aea1d..9e3311d69 100644 --- a/fhem/FHEM/71_ONKYO_AVR_ZONE.pm +++ b/fhem/FHEM/71_ONKYO_AVR_ZONE.pm @@ -129,28 +129,19 @@ sub ONKYO_AVR_ZONE_Define($$$) { $modules{ONKYO_AVR_ZONE}{defptr}{$IOname}{$zone} = $hash; # set default settings on first define - if ($init_done) { - fhem 'attr ' . $name . ' stateFormat stateAV' - if ( !AttrVal( $name, "stateFormat", 0 ) ); - fhem 'attr ' - . $name - . ' cmdIcon muteT:rc_MUTE previous:rc_PREVIOUS next:rc_NEXT play:rc_PLAY pause:rc_PAUSE stop:rc_STOP shuffleT:rc_SHUFFLE repeatT:rc_REPEAT' - if ( !AttrVal( $name, "cmdIcon", 0 ) ); - fhem 'attr ' . $name . ' webCmd volume:muteT:input:previous:next' - if ( !AttrVal( $name, "webCmd", 0 ) ); - fhem 'attr ' - . $name - . ' devStateIcon on:rc_GREEN@green:off off:rc_STOP:on absent:rc_RED playing:rc_PLAY@green:pause paused:rc_PAUSE@green:play muted:rc_MUTE@green:muteT fast-rewind:rc_REW@green:play fast-forward:rc_FF@green:play interrupted:rc_PAUSE@yellow:play' - if ( !AttrVal( $name, "devStateIcon", 0 ) ); + if ( $init_done && !defined( $hash->{OLDDEF} ) ) { + fhem 'attr ' . $name . ' stateFormat stateAV'; + fhem 'attr ' . $name + . ' cmdIcon muteT:rc_MUTE previous:rc_PREVIOUS next:rc_NEXT play:rc_PLAY pause:rc_PAUSE stop:rc_STOP shuffleT:rc_SHUFFLE repeatT:rc_REPEAT'; + fhem 'attr ' . $name . ' webCmd volume:muteT:input:previous:next'; + fhem 'attr ' . $name + . ' devStateIcon on:rc_GREEN@green:off off:rc_STOP:on absent:rc_RED playing:rc_PLAY@green:pause paused:rc_PAUSE@green:play muted:rc_MUTE@green:muteT fast-rewind:rc_REW@green:play fast-forward:rc_FF@green:play interrupted:rc_PAUSE@yellow:play'; fhem 'attr ' . $name . ' inputs ' . AttrVal( $IOname, "inputs", "" ) - if (!AttrVal( $name, "inputs", 0 ) - && AttrVal( $IOname, "inputs", "" ) ne "" ); + if ( AttrVal( $IOname, "inputs", "" ) ne "" ); fhem 'attr ' . $name . ' room ' . AttrVal( $IOname, "room", "" ) - if (!AttrVal( $name, "room", 0 ) - && AttrVal( $IOname, "room", "" ) ne "" ); + if ( AttrVal( $IOname, "room", "" ) ne "" ); fhem 'attr ' . $name . ' group ' . AttrVal( $IOname, "group", "" ) - if (!AttrVal( $name, "group", 0 ) - && AttrVal( $IOname, "group", "" ) ne "" ); + if ( AttrVal( $IOname, "group", "" ) ne "" ); } # Input alias handling diff --git a/fhem/FHEM/75_msgConfig.pm b/fhem/FHEM/75_msgConfig.pm index 077c30e55..9aa3208be 100755 --- a/fhem/FHEM/75_msgConfig.pm +++ b/fhem/FHEM/75_msgConfig.pm @@ -151,7 +151,7 @@ sub msgConfig_Define($$) { $modules{msgConfig}{defptr} = $hash; # set default settings on first define - if ($init_done) { + if ( $init_done && !defined( $hash->{OLDDEF} ) ) { my $group = AttrVal( "global", "group", "Global" ); my $room = AttrVal( "global", "room", "" ); my $verbose = AttrVal( "global", "verbose", 3 );