XML-RPC PHP Server listMethods / event / Problem
Verfasst: 27.11.2015, 14:52
Hey ihr,
Bin dabei für meine Wohnung eine Webbasierte Oberfläche zu bauen. Bis jetzt läuft es eigentlich sehr gut nur bin ich im Log von der CCU 2 auf 2 Probleme gestoßen.
Problem 1: homematic-ccu2 user.err rfd: XmlRpc fault calling system.listMethods({"100300"}) on http://192.xxx.xxx.xxx:80/home/xmlrpc/server.php:[faultCode:3,faultString:"Incorrect parameters passed to method: No method signature matches number of parameters"]
Problem 2:
Nov 27 14:30:01 homematic-ccu2 user.err rfd: XmlRpcClient error calling event({[methodName:"event",params:{"100300","KEQ0231057:1","LEVEL",0.000000}],[methodName:"event",params:{"100300","KEQ0211057:1","WORKING",false}],[methodName:"event",params:{"100300","KE40201057:1","DI
Nov 27 14:30:01 homematic-ccu2 user.err rfd: XmlRpc transport error
Alle events kommen auch an, Problem ist einfach nur das sich der Server nach x Minuten einfach abmeldet, laut Forum weil zu viele errors stattfinden... Gibt offensichtlich workarrounds aber auf die wollte ich gerne verzichten. Es scheint ja tatsächlich ein Problem zu sein.
Vielleicht hat ja einer von euch schon einen PHP XmlRpc Server am laufen und kann mir helfen![Smile :)](./images/smilies/icon_smile.gif)
Bin dabei für meine Wohnung eine Webbasierte Oberfläche zu bauen. Bis jetzt läuft es eigentlich sehr gut nur bin ich im Log von der CCU 2 auf 2 Probleme gestoßen.
Problem 1: homematic-ccu2 user.err rfd: XmlRpc fault calling system.listMethods({"100300"}) on http://192.xxx.xxx.xxx:80/home/xmlrpc/server.php:[faultCode:3,faultString:"Incorrect parameters passed to method: No method signature matches number of parameters"]
Code: Alles auswählen
function event ($xmlrpcmsg) {
$meth = $xmlrpcmsg->method();
$par1 = $xmlrpcmsg->getParam(1);
$par2 = $xmlrpcmsg->getParam(2);
$par3 = $xmlrpcmsg->getParam(3);
//DeviceID
$deviceID = $par1->scalarval();
$type = $par2->scalarval();
// Wert der geändert wurde
$wert = $par3->scalarval();
$dbhandler = new db();
if($type == "ACTUAL_TEMPERATURE") {
$dbhandler->insertLog($deviceID,$wert,0);
}
if($type == "LEVEL"){
$dbhandler->insertLog($deviceID,$wert,1);
}
if( $type == "STATE"){
$dbhandler->insertLog($deviceID,$wert,2);
}
if( $type == "SET_TEMPERATURE"){
$dbhandler->insertLog($deviceID,$wert,3);
}
return new xmlrpcresp(new xmlrpcval("", "string"));
}
function systemlistMethods ($xmlrpcmsg) {
return new xmlrpcresp(new xmlrpcval("event", "string"));
}
/**
* Init XML-RPC Server
*/
$s = new xmlrpc_server(
array(
"event" => array(
"function" => "event"
),
"init" => array(
"function" => "init"
),
"listDevices" => array(
"function" => "listDevices"
),
"multiCall" => array(
"function" => "multiCall"
),
"listMethods" => array(
"function" => "listMethods"
),
"system.listMethods" => array(
"function" => "systemlistMethods"
),
"newDevices" => array(
"function" => "newDevices"
),
"newDevice" => array(
"function" => "newDevice"
)
));
Nov 27 14:30:01 homematic-ccu2 user.err rfd: XmlRpcClient error calling event({[methodName:"event",params:{"100300","KEQ0231057:1","LEVEL",0.000000}],[methodName:"event",params:{"100300","KEQ0211057:1","WORKING",false}],[methodName:"event",params:{"100300","KE40201057:1","DI
Nov 27 14:30:01 homematic-ccu2 user.err rfd: XmlRpc transport error
Alle events kommen auch an, Problem ist einfach nur das sich der Server nach x Minuten einfach abmeldet, laut Forum weil zu viele errors stattfinden... Gibt offensichtlich workarrounds aber auf die wollte ich gerne verzichten. Es scheint ja tatsächlich ein Problem zu sein.
Vielleicht hat ja einer von euch schon einen PHP XmlRpc Server am laufen und kann mir helfen
![Smile :)](./images/smilies/icon_smile.gif)