2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-05-03 13:45:36 +00:00

HMCCU: added trace function

git-svn-id: https://svn.fhem.de/fhem/trunk@10413 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
fhemzap 2016-01-08 18:17:57 +00:00
parent d6ab1fdd0b
commit 7e4780933a

View File

@ -151,7 +151,7 @@ sub HMCCU_Initialize ($)
$hash->{AttrFn} = "HMCCU_Attr"; $hash->{AttrFn} = "HMCCU_Attr";
$hash->{ShutdownFn} = "HMCCU_Shutdown"; $hash->{ShutdownFn} = "HMCCU_Shutdown";
$hash->{AttrList} = "stripchar stripnumber:0,1,2 ccureadings:0,1 ccureadingfilter ccureadingformat:name,address rpcinterval:3,5,10 rpcqueue rpcport rpcserver:on,off parfile statedatapoint statevals substitute updatemode:client,both,hmccu loglevel:0,1,2,3,4,5,6 ". $readingFnAttributes; $hash->{AttrList} = "stripchar stripnumber:0,1,2 ccureadings:0,1 ccureadingfilter ccureadingformat:name,address rpcinterval:3,5,10 rpcqueue rpcport rpcserver:on,off parfile statedatapoint statevals substitute updatemode:client,both,hmccu ccutrace loglevel:0,1,2,3,4,5,6 ". $readingFnAttributes;
} }
##################################### #####################################
@ -1095,6 +1095,8 @@ sub HMCCU_GetDeviceInfo ($$)
$hmccu_hash = $hash; $hmccu_hash = $hash;
} }
my $ccutrace = AttrVal ($hmccu_hash->{NAME}, 'ccutrace', '');
my ($int, $add, $chn, $dpt, $nam, $flags) = HMCCU_ParseObject ($device, 0); my ($int, $add, $chn, $dpt, $nam, $flags) = HMCCU_ParseObject ($device, 0);
if ($flags == $HMCCU_FLAG_ADDRESS) { if ($flags == $HMCCU_FLAG_ADDRESS) {
$devname = HMCCU_GetDeviceName ($add, ''); $devname = HMCCU_GetDeviceName ($add, '');
@ -1120,7 +1122,13 @@ foreach (chnid, odev.Channels())
} }
); );
return HMCCU_HMScript ($hmccu_hash->{host}, $script); my $response = HMCCU_HMScript ($hmccu_hash->{host}, $script);
if ($ccutrace ne '' && ($device =~ /$ccutrace/ || $devname =~ /$ccutrace/)) {
Log 1, "HMCCU: Device=$device Devname=$devname";
Log 1, "HMCCU: Script response = ".$response;
Log 1, "HMCCU: Script = ".$script;
}
return $response;
} }
#################################################### ####################################################
@ -1522,6 +1530,8 @@ sub HMCCU_GetDatapoint ($@)
$hmccu_hash = $hash; $hmccu_hash = $hash;
} }
my $ccutrace = AttrVal ($hmccu_hash->{NAME}, 'ccutrace', '');
my $url = 'http://'.$hmccu_hash->{host}.':8181/do.exe?r1=dom.GetObject("'; my $url = 'http://'.$hmccu_hash->{host}.':8181/do.exe?r1=dom.GetObject("';
my ($int, $add, $chn, $dpt, $nam, $flags) = HMCCU_ParseObject ($param, $HMCCU_FLAG_INTERFACE); my ($int, $add, $chn, $dpt, $nam, $flags) = HMCCU_ParseObject ($param, $HMCCU_FLAG_INTERFACE);
if ($flags == $HMCCU_FLAGS_IACD) { if ($flags == $HMCCU_FLAGS_IACD) {
@ -1535,7 +1545,8 @@ sub HMCCU_GetDatapoint ($@)
return (-1, $value); return (-1, $value);
} }
my $response = GetFileFromURL ($url); my $rawresponse = GetFileFromURL ($url);
my $response = $rawresponse;
$response =~ m/<r1>(.*)<\/r1>/; $response =~ m/<r1>(.*)<\/r1>/;
$value = $1; $value = $1;
@ -1564,6 +1575,9 @@ sub HMCCU_GetDatapoint ($@)
} }
else { else {
Log 1,"HMCCU: Error URL = ".$url; Log 1,"HMCCU: Error URL = ".$url;
if ($ccutrace ne '' && $param =~ /$ccutrace/) {
Log 1,"HMCCU: Response = ".$rawresponse;
}
return (-2, ''); return (-2, '');
} }
} }
@ -1681,6 +1695,7 @@ sub HMCCU_GetUpdate ($$)
my $script; my $script;
my $cn = $cl_hash->{NAME}; my $cn = $cl_hash->{NAME};
my $ccutrace = AttrVal ($hmccu_hash->{NAME}, 'ccutrace', '');
my $ccureadings = AttrVal ($cn, 'ccureadings', 1); my $ccureadings = AttrVal ($cn, 'ccureadings', 1);
my $ccureadingfilter = AttrVal ($cn, 'ccureadingfilter', '.*'); my $ccureadingfilter = AttrVal ($cn, 'ccureadingfilter', '.*');
my $readingformat = AttrVal ($cn, 'ccureadingformat', 'name'); my $readingformat = AttrVal ($cn, 'ccureadingformat', 'name');
@ -1727,6 +1742,11 @@ foreach (chnid, odev.Channels())
} }
my $response = HMCCU_HMScript ($hmccu_hash->{host}, $script); my $response = HMCCU_HMScript ($hmccu_hash->{host}, $script);
if ($ccutrace ne '' && ($addr =~ /$ccutrace/ || $nam =~ /$ccutrace/)) {
Log 1, "HMCCU: Addr=$addr Name=$nam";
Log 1, "HMCCU: Script response = ".$response;
Log 1, "HMCCU: Script = ".$script;
}
return -2 if ($response eq ''); return -2 if ($response eq '');
readingsBeginUpdate ($cl_hash) if ($ccureadings); readingsBeginUpdate ($cl_hash) if ($ccureadings);