diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 53e550efd..5d951d0b8 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -90,6 +90,7 @@ sub fhz($); sub getAllGets($); sub getAllSets($); sub latin1ToUtf8($); +sub escapeLogLine($); sub readingsBeginUpdate($); sub readingsBulkUpdate($$$@); sub readingsEndUpdate($$); @@ -3148,6 +3149,13 @@ ReadingsVal($$$) return $default; } +sub +ReadingsNum($$$) +{ + my ($d,$n,$default) = @_; + return ReadingsVal($d,$n,$default)+0; +} + sub ReadingsTimestamp($$$) { @@ -3691,6 +3699,23 @@ utf8ToLatin1($) return $s; } +# replaces some common control chars by escape sequences +# in order to make logs more readable +sub escapeLogLine($) { + my ($s)= @_; + + my %escSequences = ( + '\t' => "\\t", + '\n' => "\\n", + '\r' => "\\r", + ); + + foreach my $regex (keys %escSequences) { + $s =~ s/$regex/$escSequences{$regex}/g; + } + return $s; +} + sub Debug($) { my $msg= shift;