2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-10 09:16:53 +00:00

Unit.pm: error handling in case reading value is not a number

git-svn-id: https://svn.fhem.de/fhem/trunk@13892 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
jpawlowski 2017-04-04 14:03:34 +00:00
parent 47d8430ff0
commit 730a668eb1

View File

@ -4381,7 +4381,7 @@ sub Unit_DbLog_split($$) {
# general event handling
if ( !defined($value)
&& $event =~
/^(.+): +[\D]*(\d+\.?\d*)[\s\u202F\u00A0]*[\[\{\(]?[\s\u202F\u00A0]*([\w\°\%\^\/\\]*).*/
m/^(.+): +[\D]*(\d+\.?\d*)[\s\u202F\u00A0]*[\[\{\(]?[\s\u202F\u00A0]*([\w\°\%\^\/\\]*).*/
&& defined($1)
&& defined($2) )
{
@ -4390,10 +4390,10 @@ sub Unit_DbLog_split($$) {
$unit = defined($3) ? $3 : "";
}
unless ( defined($value) && looks_like_number($value) ) {
if ( !defined($value) || !looks_like_number($value) ) {
Unit_Log3( $name, $reading, undef, 10,
"Unit_DbLog_split $name: Ignoring event $event: value $value does not look like a number"
);
) if ( defined($value) );
return undef;
}
@ -4458,7 +4458,7 @@ sub CommandSetReadingDesc($@) {
my @rets;
my $last;
foreach my $name ( devspec2array( $a->[0], $cl ) ) {
if ( !defined( $defs{$name} ) ) {
unless ( Unit_IsDevice($name) ) {
push @rets, "Please define $name first";
next;
}
@ -4524,7 +4524,7 @@ sub CommandDeleteReadingDesc($@) {
my @rets;
my $last;
foreach my $name ( devspec2array( $a->[0], $cl ) ) {
if ( !defined( $defs{$name} ) ) {
unless ( Unit_IsDevice($name) ) {
push @rets, "Please define $name first";
next;
}
@ -4549,4 +4549,22 @@ sub CommandDeleteReadingDesc($@) {
return join( "\n", @rets );
}
sub Unit_IsDevice($;$) {
my $devname = shift;
my $devtype = shift;
return 1
if ( defined($devname)
&& defined( $defs{$devname} )
&& ( !$devtype || $devtype eq "" ) );
return 1
if ( defined($devname)
&& defined( $defs{$devname} )
&& defined( $defs{$devname}{TYPE} )
&& $defs{$devname}{TYPE} =~ m/^$devtype$/ );
return 0;
}
1;