XMLRPC - Invalid XML

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Moderator: Co-Administratoren

Antworten
Kuehmi
Beiträge: 2
Registriert: 21.01.2020, 19:59

XMLRPC - Invalid XML

Beitrag von Kuehmi » 21.01.2020, 20:29

Hallo alle zusammen hier im Forum.

Nach dem ich nun 3 Tage am Stück nicht weiter kam hoffe ich hier ein paar Hinweise zu bekommen.

Kurze Übersicht
- Bisher nutze ich einen Pi3 der mittels XMLRPC mit einer Homegear-Instanz kommuniziert --> funktioniert alles wie durch die XMLRPC API von eQ3 beschreiben, hier funktioniert auch das Tool HomeMatic Konfigurator
- Nach dem ich auf RaspberryMatic aufmerksam geworden bin und damit auch HM IP Geräte anzusteuern sind möchte ich gerne auf RaspberryMatic wechseln

Wovon bin ich ausgegangen bin:
- ich denke gelesen zu haben dass das XML-RPC Interface gleich ist zwischen Homegear (die nutzen die XMLRPC API Beschreibung von eQ3) und RaspberryMatic gleich ist

Problem:
- ich kann mit meiner SW nicht die RaspberryMatic ansprechen bzw. bekomme die Fehlermeldung invalid XML zurück --> diese nutzt XMLRPC 1.33xxx
- ich habe darauf hin versucht mich mittels HomeMatic Konfigurator zu verbinden - dieser friert komplett ein (Port 2010)
- in der RaspberryMatic habe ich testweise die Authentifizierung ab und alles auf Vollzugriff geschaltet --> kein Erfolg
- ich bin dann in die Konsole gegangen und spreche nun mit dem Tool xmlrpc (XMLRPC_TRACE_XML Modus) zum Vergleich Homegear RaspberryMatic an -> hier sehe ich erheblich unterschiede - an einem Beispiel exemplarisch gezeigt

Zugriff auf Homegear
pi@HCM:/ $ xmlrpc http://192.168.178.32:2001 logLevel
XML-RPC CALL:

<?xml version="1.0" encoding="UTF-8"?>\r\n
<methodCall>\r\n
<methodName>logLevel</methodName>\r\n
<params>\r\n
</params>\r\n
</methodCall>\r\n

XML-RPC RESPONSE:

<?xml version="1.0"?><methodResponse><params><param><value><i4>3</i4></value></param></params></methodResponse>\r\n

Result:
Integer: 3


Zugriff auf RaspberryMatic
pi@HCM: $ xmlrpc http://192.168.178.154:2010 logLevel
XML-RPC CALL:

<?xml version="1.0" encoding="UTF-8"?>\r\n
<methodCall>\r\n
<methodName>logLevel</methodName>\r\n
<params>\r\n
</params>\r\n
</methodCall>\r\n

XML-RPC RESPONSE:


Failed. Call failed. Unable to make sense of XML-RPC response from server. Not valid XML. no element found. Use XMLRPC_TRACE_XML to see for yourself. (XML-RPC fault code -503)

Hier habe ich es auch mit n/ (void) versucht. Mit gleichen Erfolg. Sobald ich einen Parameter i/3 z.B. übergebe geht es in beiden Fällen.
Der Aufruf listDevices ohne Parameter wiederrum funktioniert. Der Versuch eine Beschreibung bei der RaspberryMatic abzufragen scheitert ebenfalls - diese Methode (system.methodSignature) wird zwar angezeigt, ist aber laut Log nicht implementiert (wird aber durch system.listMethods als vorhanden angezeigt).

Meine erste Vermutung ist, dass es ggf. eine andere XMLRPC Api gibt, aber ich habe keine gefunden.

Das die xmlrpc mit der RaspberryMatic gehen sollte zeigen andere SW-Lösungen ja bereits. In einem anderen Forum habe ich gelesen, dass alle "Nicht Argumente" mit leeren arrays anzugeben snid konnte ich bisher nicht testen (xmlrpc aus der Konsole scheint dies nicht zu unterstützen und kodiert den Parameterstring 1:1).

Ich bin für alle Hinweise, Anregungen oder auch Fragen zu diesem Thema dankbar.


Grüße
Kühmi

Kuehmi
Beiträge: 2
Registriert: 21.01.2020, 19:59

Re: XMLRPC - Invalid XML

Beitrag von Kuehmi » 22.01.2020, 19:29

Thema hat sich erledigt. Ich habe gerade die API für IP gefunden.

https://www.homematic-ip.com/downloads/ ... dendum.pdf

Das einfrieren von Homatic Konfiguration ist damit aber immer noch unklar.

Schönen Abend noch

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“