fix bug PERL WARNING: Use of uninitialized value within %charHash in
substitution iterator at lib/FHEM/Automation/ShuttersControl/Helper.pm
line 1021 is FHEM startup.
This commit is contained in:
2021-11-14 13:44:35 +01:00
parent 1c1ac77851
commit d6cb059eaf
4 changed files with 10 additions and 29 deletions

View File

@ -775,11 +775,11 @@ sub WriteReadingsShuttersList {
readingsBulkUpdate(
$hash,
'room_'
. makeReadingName( AttrVal( $shuttersDev, 'room', 'unsorted' ) ),
. ::makeReadingName( AttrVal( $shuttersDev, 'room', 'unsorted' ) ),
ReadingsVal(
$name,
'room_'
. makeReadingName(
. ::makeReadingName(
AttrVal( $shuttersDev, 'room', 'unsorted' )
),
''
@ -791,7 +791,7 @@ sub WriteReadingsShuttersList {
ReadingsVal(
$name,
'room_'
. makeReadingName(
. ::makeReadingName(
AttrVal( $shuttersDev, 'room', 'unsorted' )
),
'none'
@ -801,14 +801,14 @@ sub WriteReadingsShuttersList {
readingsBulkUpdate(
$hash,
'room_'
. makeReadingName( AttrVal( $shuttersDev, 'room', 'unsorted' ) ),
. ::makeReadingName( AttrVal( $shuttersDev, 'room', 'unsorted' ) ),
$shuttersDev
)
if (
ReadingsVal(
$name,
'room_'
. makeReadingName(
. ::makeReadingName(
AttrVal( $shuttersDev, 'room', 'unsorted' )
),
'none'

View File

@ -994,25 +994,6 @@ sub IsAfterShuttersManualBlocking {
else { return 1 }
}
sub makeReadingName {
my ($rname) = shift;
my %charHash = (
chr(0xe4) => "ae", # ä
chr(0xc4) => "Ae", # Ä
chr(0xfc) => "ue", # ü
chr(0xdc) => "Ue", # Ü
chr(0xf6) => "oe", # ö
chr(0xd6) => "Oe", # Ö
chr(0xdf) => "ss" # ß
);
my $charHashkeys = join( "", keys(%charHash) );
return $rname if ( $rname =~ m{^\./}xms );
$rname =~ s/([$charHashkeys])/$charHash{$1}/xgi;
$rname =~ s/[^a-z0-9._\-\/]/_/xgi;
return $rname;
}
sub IsWe {
return main::IsWe( shift, shift );
}