From 969aca78e2b075dc95d56c9925181778147d984c Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 4 Apr 2017 15:05:24 +0000 Subject: [PATCH] fhem.pl: add IsDevice and GetType (Forum #63709) git-svn-id: https://svn.fhem.de/fhem/trunk@13894 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/fhem.pl | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 8f61576a7..b176589b3 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -63,12 +63,14 @@ sub FmtDateTime($); sub FmtTime($); sub GetLogLevel(@); sub GetTimeSpec($); +sub GetType($;$); sub GlobalAttr($$$$); sub HandleArchiving($;$); sub HandleTimeout(); sub IOWrite($@); sub InternalTimer($$$;$); sub InternalVal($$$); +sub IsDevice($;$); sub IsDisabled($); sub IsDummy($); sub IsIgnored($); @@ -751,6 +753,26 @@ while (1) { #Functions ahead, no more "plain" code ################################################ +sub +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; +} + sub IsDummy($) { @@ -842,6 +864,16 @@ GetVerbose($) } } +sub +GetType($;$) +{ + my $devname = shift; + my $default = shift; + + return $default unless ( IsDevice($devname) && $defs{$devname}{TYPE} ); + return $defs{$devname}{TYPE}; +} + ################################################ # the new Log with integrated loglevel checking