mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-09 20:57:11 +00:00
HMCCU: Fixed config commands
git-svn-id: https://svn.fhem.de/fhem/trunk@14113 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
81881e7d58
commit
3d73eb79e4
@ -1,5 +1,6 @@
|
||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||
# Do not insert empty lines here, update check depends on it.
|
||||
- bugfix: 88_HMCCU: fixed config commands
|
||||
- feature: 30_pilight_contact: add battery reading if information is available
|
||||
- update: 88_HMCCU: Homematic firmware download, advanced scripting
|
||||
- feature: 98_TRAFFIC: v1.3.2, stroke styles, warnings reduced, bugfix
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Version 4.0.001
|
||||
# Version 4.0.002
|
||||
#
|
||||
# Module for communication between FHEM and Homematic CCU2.
|
||||
#
|
||||
@ -36,7 +36,7 @@
|
||||
# get <name> dump {devtypes|datapoints} [<filter>]
|
||||
# get <name> dutycycle
|
||||
# get <name> exportdefaults {filename}
|
||||
# get <name> firmware [list]
|
||||
# get <name> firmware
|
||||
# get <name> parfile [<parfile>]
|
||||
# get <name> rpcevents
|
||||
# get <name> rpcstate
|
||||
@ -105,7 +105,7 @@ my %HMCCU_CUST_CHN_DEFAULTS;
|
||||
my %HMCCU_CUST_DEV_DEFAULTS;
|
||||
|
||||
# HMCCU version
|
||||
my $HMCCU_VERSION = '4.0.001';
|
||||
my $HMCCU_VERSION = '4.0.002';
|
||||
|
||||
# RPC Ports and URL extensions
|
||||
my $HMCCU_RPC_PORT_DEFAULT = 2001;
|
||||
@ -4589,17 +4589,18 @@ sub HMCCU_GetVariables ($$)
|
||||
|
||||
my $ccureadings = AttrVal ($hash->{NAME}, 'ccureadings', 1);
|
||||
|
||||
my $script = qq(
|
||||
object osysvar;
|
||||
string ssysvarid;
|
||||
foreach (ssysvarid, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedIDs())
|
||||
{
|
||||
osysvar = dom.GetObject(ssysvarid);
|
||||
WriteLine (osysvar.Name() # "=" # osysvar.Variable() # "=" # osysvar.Value());
|
||||
}
|
||||
);
|
||||
|
||||
my $response = HMCCU_HMScript ($hash, $script);
|
||||
# my $script = qq(
|
||||
# object osysvar;
|
||||
# string ssysvarid;
|
||||
# foreach (ssysvarid, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedIDs())
|
||||
# {
|
||||
# osysvar = dom.GetObject(ssysvarid);
|
||||
# WriteLine (osysvar.Name() # "=" # osysvar.Variable() # "=" # osysvar.Value());
|
||||
# }
|
||||
# );
|
||||
#
|
||||
# my $response = HMCCU_HMScript ($hash, $script);
|
||||
my $response = HMCCU_HMScriptExt ($hash, "!GetVariables", undef);
|
||||
return (-2, $result) if ($response eq '');
|
||||
|
||||
readingsBeginUpdate ($hash) if ($ccureadings);
|
||||
@ -4894,21 +4895,22 @@ sub HMCCU_RPCGetConfig ($$$$)
|
||||
HMCCU_Trace ($hash, 2, "HMCCU: $fnc: Method=$method Addr=$addr Port=$port", $ccuflags);
|
||||
$res = HMCCURPC_SendBinRequest ($defs{$rpcdev}, $port, $method, $BINRPC_STRING, $addr,
|
||||
$BINRPC_STRING, "MASTER");
|
||||
if ($ccuflags =~ /trace/ && defined ($res)) {
|
||||
Log3 $name, 2, "HMCCU: $fnc: Dump of binary RPC request $method $addr:";
|
||||
Log3 $name, 2, HMCCU_RefToString ($res);
|
||||
}
|
||||
}
|
||||
else {
|
||||
my $url = "http://".$hmccu_hash->{host}.":".$port."/";
|
||||
$url .= $HMCCU_RPC_URL{$port} if (exists ($HMCCU_RPC_URL{$port}));
|
||||
HMCCU_Trace ($hash, 2, "HMCCU: $fnc: Method=$method Addr=$addr Port=$port", $ccuflags);
|
||||
my $client = RPC::XML::Client->new ($url);
|
||||
my $res = $client->simple_request ($method, $addr, "MASTER");
|
||||
$res = $client->simple_request ($method, $addr, "MASTER");
|
||||
}
|
||||
|
||||
|
||||
return (-5, "Function not available") if (!defined ($res));
|
||||
|
||||
if ($ccuflags =~ /trace/ && defined ($res)) {
|
||||
Log3 $name, 2, "HMCCU: $fnc: Dump of RPC request $method $addr. Result type=".ref($res);
|
||||
Log3 $name, 2, HMCCU_RefToString ($res);
|
||||
}
|
||||
|
||||
if (ref ($res) eq 'HASH') {
|
||||
my $parcount = scalar (keys %$res);
|
||||
if (exists ($res->{faultString})) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Version 4.0.001
|
||||
# Version 4.0.002
|
||||
#
|
||||
# Configuration parameters for HomeMatic devices.
|
||||
#
|
||||
@ -713,7 +713,7 @@ object oSV = dom.GetObject("\$name");
|
||||
if (!oSV){
|
||||
object oSysVars = dom.GetObject(ID_SYSTEM_VARIABLES);
|
||||
oSV = dom.CreateObject(OT_VARDP);
|
||||
oSysVars.Add(svObj.ID());
|
||||
oSysVars.Add(oSV.ID());
|
||||
oSV.Name("\$name");
|
||||
oSV.ValueType(ivtString);
|
||||
oSV.ValueSubType(istChar8859);
|
||||
@ -738,7 +738,7 @@ object oSV = dom.GetObject("\$name");
|
||||
if (!oSV){
|
||||
object oSysVars = dom.GetObject(ID_SYSTEM_VARIABLES);
|
||||
oSV = dom.CreateObject(OT_VARDP);
|
||||
oSysVars.Add(svObj.ID());
|
||||
oSysVars.Add(oSV.ID());
|
||||
oSV.Name("\$name");
|
||||
oSV.ValueType(ivtFloat);
|
||||
oSV.ValueSubType(istGeneric);
|
||||
@ -765,7 +765,7 @@ object oSV = dom.GetObject("\$name");
|
||||
if (!oSV){
|
||||
object oSysVars = dom.GetObject(ID_SYSTEM_VARIABLES);
|
||||
oSV = dom.CreateObject(OT_VARDP);
|
||||
oSysVars.Add(svObj.ID());
|
||||
oSysVars.Add(oSV.ID());
|
||||
oSV.Name("\$name");
|
||||
oSV.ValueType(ivtBinary);
|
||||
oSV.ValueSubType(istBool);
|
||||
@ -789,7 +789,7 @@ object oSV = dom.GetObject("p2");
|
||||
if (!oSV){
|
||||
object oSysVars = dom.GetObject(ID_SYSTEM_VARIABLES);
|
||||
oSV = dom.CreateObject(OT_VARDP);
|
||||
oSysVars.Add(svObj.ID());
|
||||
oSysVars.Add(oSV.ID());
|
||||
oSV.Name("\$name");
|
||||
oSV.ValueType(ivtInteger);
|
||||
oSV.ValueSubType(istEnum);
|
||||
|
Loading…
x
Reference in New Issue
Block a user