XML-RPC Interface-Beschreibung

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

Moderator: Co-Administratoren

Benutzeravatar
Monty1979
Beiträge: 854
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: XML-RPC Interface-Beschreibung

Beitrag von Monty1979 » 19.11.2013, 11:57

Hallo Thilo,

ja ist Java. Ich habe einfache den hier android-xmlrpc genommen.

Gruß Monty

Thisoft
Beiträge: 71
Registriert: 26.10.2013, 00:51
Wohnort: Erzgebirge

Re: XML-RPC Interface-Beschreibung

Beitrag von Thisoft » 21.11.2013, 05:30

hmm - ich glaube fast ich muss kurz vorm Ziel doch noch aufgeben weil ich zu blöd bin für diese XML-RPC-Geschichte.
Der android-xmlrpc nützt mir halt unter Windows nicht viel... Ich hab's mit dem XML-RPC Server von CookComputing versucht (jetzt schon mehrmals), bin aber immer wieder kläglich gescheitert. Irgendwie hab' ich das Prinzip dahinter noch nicht wirklich verstanden :cry:

Der Rest drumherum ist ja nicht das Problem - egal ob nun aus JAva, C oder wie auch immer...

Gruß Thilo

rz259
Beiträge: 15
Registriert: 28.12.2012, 16:16

Re: XML-RPC Interface-Beschreibung

Beitrag von rz259 » 03.12.2013, 23:16

@Monty:

Ich habe vor einiger Zeit auch mal einen XML-RPC-Server (auf Basis von Apache) angefangen, allerdings kriege ich keinerlei Nachrichten geschickt....

Es klappt wunderbar, irgendwelche Geräte zu steuern (Licht, Steckdosen), aber ich kriege keine Events geschickt.
Evtl. stimmt ja was mit meiner Anmeldung des XML-RPC-Servers via "init" nicht. Wie hast du das denn gemacht?

Mein Code an dieser Stelle sieht folgendermaßen aus:

Code: Alles auswählen

    rpcServer.setup(SERVER_PORT);
    rpcServer.start();
    try
    {
    	String url = "http://localhost:" + SERVER_PORT + "/xmlrpc";
	    result = xmlrpcClient.execute("init", new Object[]{url, "HomeMaticServer"});
	    System.out.println("Result init: " + result);
    }
    catch (XmlRpcException e)
    {
	    e.printStackTrace();
    }

Das Ergebnis von init ist eigentlich immer ein Leerstring... ich erhalte keinen Fehler, aber es funktioniert trotzdem nicht.
WIe habt ihr das gemacht mit dem Aufruf von init()?

Gibt es irgendwelche weiterführende Doku außer der Spezifikation? Hast du irgendwelche weiterführenden Links zu diesem Thema?

Ich benutze übrigens die CCU2 und habe gerade auf deiner HomeDroid-Page gelesen, dass man die XML-RPC-API installieren muss. GIlt das auch für die CCU2?

Ciao,

Rudi

ultrah
Beiträge: 427
Registriert: 08.03.2010, 13:38
Hat sich bedankt: 6 Mal
Danksagung erhalten: 34 Mal

Re: XML-RPC Interface-Beschreibung

Beitrag von ultrah » 04.12.2013, 00:54

Da wirft du grade ein paar Sachen durcheinander :)

HomeDroid ist von mir, Monty entwickelt Home24.

Beide Apps brauchen die XML-API, was mit der XML-RPC Schnittstelle erstmal nicht viel zu tun hat.

Nach dem Init schickt die CCU einige Calls, die alle beantwortet werden müssen, damit Statusupdates kommen.

Doku gibts nicht wiklich,aber guck mal hier: http://homematic-forum.de/forum/viewtop ... 80#p121045

rz259
Beiträge: 15
Registriert: 28.12.2012, 16:16

Re: XML-RPC Interface-Beschreibung

Beitrag von rz259 » 04.12.2013, 19:15

Hallo Ultra,

sorry fürs Durcheinanderwerfen;-)

Vielen Dank für deinen Hinweis. Das Codefragment, auf welches du verweist, habe ich gestern abend auch noch entdeckt - eigentlich dachte ich, dass ich bereits auf diese Calls antworte - aber ich muss mir das ganze noch genau ansehen, ob das wirklich alles stimmt. Womöglich ist da noch der eine oder andere Fehler drin...

Ich habe da schon länger nichts mehr gemacht, aber soviel ich mich erinnern kann, war das Problem, dass ich gar keine Calls bekommen habe, auf die ich hätte antworten können. Da werde ich gleich mal wieder mit den Forschungsarbeiten beginnen...

Ich habe allerdings den XML-RPC-Server selbst implementiert, sondern nutze dafür Apache XML-RPC, da ist auch ein Server dabei, allerdings ist die Benutzung nicht ganz trivial. Ich vermute mal, dass mein Fehler da liegt. Vielleicht ist es einfacher, den XML-RPC-Server selbst zu bauen;-)

Danke,

Rudi

Doener
Beiträge: 16
Registriert: 28.04.2008, 15:00

Re: XML-RPC Interface-Beschreibung

Beitrag von Doener » 10.12.2013, 18:45

@rz259

Hi,
hast du deinen PHP XML-RPC Server schon am laufen? Ich habe gerade so ein änliches "Projekt" vor mir.
Ich strebe ein PHP Skript an, dass mir aus dem Event das ich aus dem Server bekomme einen HTTP POST an eine andere IP mache.

Ich habe leider nur noch keine Ahnung wie ich das anstellen soll :(

Jemand eine Idee?

Mit freundlichen Grüßen

DrFirebird
Beiträge: 14
Registriert: 23.01.2013, 15:40

Re: XML-RPC Interface-Beschreibung

Beitrag von DrFirebird » 04.07.2014, 14:41

Hallo zusammen,

ich bin jetzt seit Tagen am probieren, ich bekomme das mit dem init nicht geregelt.
Schicke ich das init zur CCU, sehe ich noch die Antwort der CCU.
Dann blockiert die CCU und es geht gar nichts mehr.

Ich programmiere unter VB.Net. Ich denke der Fehler ist, dass ich die leere Antwort, die erwartet wird nicht richtig sende.
Hat jemand von euch vielleicht ein xml-rpc Server unter VB-Net ???

Vielen Dank,
Michael

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: XML-RPC Interface-Beschreibung

Beitrag von anli » 05.07.2014, 00:00

Es gibt einen unter C#, der funktionierte m. E., such mal danach. C# und vb.net liegen ja nicht so weit auseinander.
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

DiBi_83
Beiträge: 47
Registriert: 26.04.2011, 22:02

Re: XML-RPC Interface-Beschreibung

Beitrag von DiBi_83 » 08.08.2014, 22:19

Ist das eigentlich das Server-Programm im ersten Post von diesem Link?

http://homematic-forum.de/forum/viewtop ... 25#p163725

Funktioniert bei euch das Programm im Verzeichnis "C:\......\Desktop\HMRemoting\bin\SampleServer.exe" dieser "Loesung.rar" zusammen mit der CCU2?

Gibt es keine konkrete Lösung zum Thema CCU2 und der Eventbenachrichtigung "init"? Es gab ja bereits einige Hilferufe ohne direkte Antwort.
Im obengenannten Link habe ich bereits nach Hilfe gesucht, doch habe bisher keine Antwort erhalten. Die Benachrichtigung wäre für mich ein doch relativ wichtiges Ziel, welches ich gerne erreichen möchte.

Gruss
DiBi_83

McKing2015
Beiträge: 2
Registriert: 13.05.2015, 14:18

Re: XML-RPC Interface-Beschreibung

Beitrag von McKing2015 » 13.05.2015, 14:39

Hallo,
jetzt habe ich auch endlich eine CCU2 und die ersten Aktoren installiert und schlage mich mit der XML Schnittstelle rum.

Mit einem Tool kann ich XML Pakete an die CCU2 schicken, und bekomme auch eine Antwort. listDevices funktioniert super.

Allerdings sobald ich etwas mit Parametern übergeben möchte klemmt es irgendwo.
Also ich schicke:

Code: Alles auswählen

<?xml version="1.0"?>
<methodCall>
    <methodName>getValue</methodName>
    <params>
        <param><value><string>LEQ1317899</string></value></param>
        <param><value><string>VERSION</string></value></param>
    </params>
</methodCall>

und bekomme das zurück:

Code: Alles auswählen

<?xml version="1.0"?>
<methodResponse>
  <fault>
    <value>
      <struct>
        <member>
          <name>faultCode</name>
          <value>
            <i4>-1</i4>
          </value>
        </member>
        <member>
          <name>faultString</name>
          <value>type error</value>
        </member>
      </struct>
    </value>
  </fault>
</methodResponse>
Es handelt sich hier um einen Dimmer, der im Web UI mit der angegebenen Seriennummer gelistet ist.
Habe ich etwas verpasst? Muss ich die Seriennummer mit oder ohne Kanal (:1) angeben?
Wie kann ich den Status (An /Aus) und den Wert abfragen.
Wenn das getValue funktioniert wäre das nächste das setValue, aber ich bin guter Dinge, dass ich das denn alleine herausfinde.

Welche Parameter werden denn von Dimmern oder Rolladenmotoren unterstützt? Kann man das aus der list Device sehen oder mit einem anderen Befehl abfragen?


Vielen Dank für Eure Hilfe

Mathias

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“