XMLRPC & PHP

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

Moderator: Co-Administratoren

Antworten
Luapos
Beiträge: 40
Registriert: 13.09.2017, 22:14

XMLRPC & PHP

Beitrag von Luapos » 25.02.2021, 20:59

Hallo,
ich versuche mich gerade an der Kommunikation der CCU3 via XML-RPC und PHP.
Dazu nutze ich die Skripte von hier ->
viewtopic.php?t=8070

Über "GetParamset" bekomme ich die benötigten Daten eines WTH2 auch im array.

Code: Alles auswählen

$api = new client_xmlrpc(array('url'=>'http://192.168.178.20:2010'));
$devlist=$api->getParamset("000A97099C19B8:1", "MASTER");
Leider klappt das beschreiben mit PutParamset nicht. Derzeit probiere ich es so:

Code: Alles auswählen

$test = $api->PutParamset("1011", "000A97099C19B8:1", "MASTER", "P1_ENDTIME_MONDAY_1", "980");
Mir ist unklar, wie PutParamset jetzt aufgerufen werden müsste, damit die Daten übergeben werden.

Wenn ich per HM-Skirpt das ganze probiere, funktioniert es.

Code: Alles auswählen

xmlrpc.PutParamset("1011", "000A97099C19B8:1", "MASTER", "P1_ENDTIME_MONDAY_1", "980");

Vllt. kann jemand helfen?

Vielen Dank

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: XMLRPC & PHP

Beitrag von Black » 27.02.2021, 11:56

Bei putparamset benutzt du die Syntax des xmlrpc Namensraumes aus homematik Script. Das ist allerdings nur ein wrapper für den richtigen schnittstellenprozess. Dessen Syntax sieht dann schon anders aus. Die 1011 für die iseid des interface haben da gar nix verloren, das interface beschreibt sich durch den Port der Anfrage.

Black.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Luapos
Beiträge: 40
Registriert: 13.09.2017, 22:14

Re: XMLRPC & PHP

Beitrag von Luapos » 27.02.2021, 14:09

Hey,
danke!
Auch wenn ich die iseid weglasse, passiert leider nichts. Der Rückgabewert ist "NULL".
Habe es auch versucht, wie in einem anderen Beispiel mit array()

$test=$api->PutParamset("000A97099C19B8:1", "MASTER", array("P1_ENDTIME_MONDAY_1"=> "500"));

Ist denn irgendwo beschrieben, wie das paramset set aussehen muss?

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: XMLRPC & PHP

Beitrag von Black » 27.02.2021, 14:30

das muss auch kein array sondern ein Struct sein. und definitv braucht er die angabe des datentypes auf der xmlrpc...

guggst du auch Hier

und auch hier

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Luapos
Beiträge: 40
Registriert: 13.09.2017, 22:14

Re: XMLRPC & PHP

Beitrag von Luapos » 27.02.2021, 21:50

Danke für die Hinweise!

Egal wie ich das Struct gestalte, es werden leider keine Werte übernommen.
Mit

Code: Alles auswählen

__getLastRequest ()
bekomme ich jedoch angezeigt, dass "putParamset" angekommen ist.

Code: Alles auswählen

string(359) " putParamset 000A97099C19B8:1 MASTER {P1_ENDTIME_MONDAY_1 {i4 500}} "
Allerdings scheint es am Aufbau des Structs zu hängen. Egal ob ich Eckige Klammern, geschweifte Klammern, int statt i4 nutze... Es wird nichts geschhrieben :/

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: XMLRPC & PHP

Beitrag von Black » 27.02.2021, 22:09

kann naürlich auch sein, dass deine php API da noch einen Wrapper drüberstülpt.

In IOBroker unter Javascript z.b. sieht die Syntax so aus:

Code: Alles auswählen

sendTo('hm-rpc.0', 'putParamset', {ID: 'OEQ1861203', paramType: 'MASTER', params: {'ENDTIME_FRIDAY_1': 700}}, res => {
    log(JSON.stringify(res));
});
Gruss, Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“