diff --git a/fhem/FHEM/11_FHT.pm b/fhem/FHEM/11_FHT.pm index 03e849447..6c1257d80 100755 --- a/fhem/FHEM/11_FHT.pm +++ b/fhem/FHEM/11_FHT.pm @@ -185,6 +185,7 @@ FHT_Initialize($) $hash->{DefFn} = "FHT_Define"; $hash->{UndefFn} = "FHT_Undef"; $hash->{ParseFn} = "FHT_Parse"; + $hash->{StateFn} = "FHT_State"; $hash->{AttrList} = "IODev do_not_notify:1,0 model:fht80b dummy:1,0 " . "showtime:1,0 retrycount " . "minfhtbuffer lazy tmpcorr ignore:1,0 ". @@ -566,7 +567,7 @@ FHT_Parse($$) Log3 $name, 4, "FHT $name windowsensor: $valSensor"; } - $cmd = "FHZ:$cmd" if(substr($msg,24,1) eq "7"); + $cmd = "FHZ_$cmd" if(substr($msg,24,1) eq "7"); readingsBulkUpdate($def, $cmd, $val); if($cmd eq "measured-temp") { @@ -704,6 +705,21 @@ getFhtBuffer($) } } +##################################### +# Remap the old FHZ: readingnames to FHZ_ +sub +FHT_State($$$$) +{ + my ($hash, $tim, $rname, $rval) = @_; + + return undef if($rname !~ m/^FHZ:/); + + my $newname = $rname; + $newname =~ s/:/_/g; + setReadingsVal($hash, $newname, $rval, $tim); + return "FHT: renamed reading $rname to $newname for $hash->{NAME}"; +} + 1; =pod diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 72f222ec7..5dfc5892b 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -2548,6 +2548,10 @@ CommandSetstate($$) next; } + Log3 $d, 3, "WARNING: unsupported character in reading $sname ". + "(not A-Za-z\\d_\\.-), notify the $d->{TYPE} module maintainer." + if($sname !~ m/^[A-Za-z\d_\.-]+$/); + if(!defined($d->{READINGS}{$sname}) || !defined($d->{READINGS}{$sname}{TIME}) || $d->{READINGS}{$sname}{TIME} lt $tim) { @@ -3796,6 +3800,12 @@ readingsBeginUpdate($) my ($hash)= @_; my $name = $hash->{NAME}; + if(!$name) { + Log 1, "ERROR: empty name in readingsBeginUpdate"; + stacktrace(); + return; + } + # get timestamp my $now = gettimeofday(); my $fmtDateTime = FmtDateTime($now);