XML-RPC Init beenden

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

Moderator: Co-Administratoren

Antworten
Steffen81
Beiträge: 401
Registriert: 03.02.2013, 23:34

XML-RPC Init beenden

Beitrag von Steffen81 » 03.02.2013, 23:39

Hallo

wenn ich mich mit:

Code: Alles auswählen

<?xml version="1.0"?>
<methodCall>
   <methodName>init</methodName>
   <params>
      <param><value><string>http://192.168.2.110:3000/xmlrpc/demo/server/xmlrpc_server.php</string></value></param>
      <param><value><string>haus</string></value></param>
   </params>
</methodCall>
bei der CCU anmelde wie kann ich mich dann wieder abmelden ?

Ich habe schon überall gesucht oder habe ich was übersehn?

honk
Beiträge: 4
Registriert: 02.02.2013, 04:40

Re: XML-RPC Init beenden

Beitrag von honk » 04.02.2013, 08:37

nun das sollte eigentlich mit einem leeren string für die anmelde-ID gehen .In deinem Beispiel ohne "haus".

Code: Alles auswählen

<?xml version="1.0"?>
<methodCall>
   <methodName>init</methodName>
   <params>
      <param><value><string>http://192.168.2.110:3000/xmlrpc/demo/server/xmlrpc_server.php</string></value></param>
      <param><value><string></string></value></param>
   </params>
</methodCall>
56 Kanäle in 14 Geräten:
4x HM-CC-TC, 4x HM-CC-VD, 1x HM-CCU-1, 1x HM-LC-Sw1-FM, 1x HM-OU-LED16, 1x HM-Sec-RHS, 1x HM-WDS40-TH-I, 1x HMW-IO-12-Sw7-DR

Steffen81
Beiträge: 401
Registriert: 03.02.2013, 23:34

Re: XML-RPC Init beenden

Beitrag von Steffen81 » 04.02.2013, 09:36

Danke :) das werde ich mal probieren

Steffen81
Beiträge: 401
Registriert: 03.02.2013, 23:34

Re: XML-RPC Init beenden

Beitrag von Steffen81 » 04.02.2013, 20:27

Ich habe nochmal ein paar Fragen zum init. da ich noch Probleme habe das mir meistens der ReGaHss abstürzt.

Warum oder wodurch kann der ReGaHss bei Init nutzung abstürzen ?

Kann mann das Init mehrmals anwenden (Also zb. auf die Wired ebene und dann halt mit unterschiedlicher Id und Port) ?

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: XML-RPC Init beenden

Beitrag von hobbyquaker » 04.02.2013, 20:44

Hab damit (XML RPC init) keine Erfahrung, kann da nicht wirklich helfen... Aber ein Tipp hab ich trotzdem: beobachte mal /var/log/messages, ich glaub XML RPC Fehler tauchen da recht sprechend auf...

Grüße

ayngush
Beiträge: 345
Registriert: 02.02.2012, 12:05
Danksagung erhalten: 7 Mal

Re: XML-RPC Init beenden

Beitrag von ayngush » 06.02.2013, 19:05

Hallo,

wodurch der Dienst abstürzt kann man so allgemein nicht sagen aber ein häufig auftretender Fehler ist es die Kommunikation nicht wie vorgesehen mit einer "blank Message" zu quittieren, was zu enorm vielen Einträgen im Log führt und letzten Endes zum Absturz der gesamten CCU.
Auch beliebt ist es einen XML-RPC Server zu verwenden, der kein multicall kann. Anmelden kann man den zwar aber sobald die ersten Werte eintreffen läuft wieder das Log voll usw. Inwiefern die Stacks ausgelastet werden, wenn man mehrere Server anmeldet und diese dann einfach abschaltet ohne die bei der CCU abzumelden weiß ich auch nicht aber ich hatte da mal so meine Beobachtungen mit HomeDroid, einen Tablet mit leeren Akku und einer in der Folge "hängenden" CCU... :) Seitdem ist der Update Agent in HomeDroid deaktiviert und ich polle wieder minütlich... Ist schonender für die Nerven.

Man kann problemlos mehrere Server an die CCU anmelden, natürlich unterschiedliche Server (mehrere Ports oder im Falle eines PHP-Servers mehrere Server-Scripte) mit unterschiedlichen IDs, sollte jedoch dabei immer die Spielregeln beachten:
* Der Server sollte in der Regel immer verfügbar sein (kein Standby).
* Wenn man den Server abschaltet, sollte man ihn vorher mit init(server,<leerer String als ID>) abmelden.
* Einen XML-RPC Server einsetzen, der multicall beherrscht und der mehrere Instanzen verkraftet.
* Jeden Call immer mit einer leeren XML-RPC Message quittieren.
* Alle angeforderten Methoden bereit stellen, mindestens "listDevices", "event", "multiCall", "newDevices" & "newDevice"

Im Systemprotokoll (oder eben /var/log/messages) dürfen bei korrekter Verwendung logischerweise keine Fehler auftreten.

Grüße

Steffen81
Beiträge: 401
Registriert: 03.02.2013, 23:34

Re: XML-RPC Init beenden

Beitrag von Steffen81 » 07.02.2013, 09:24

ayngush hat geschrieben:Hallo,

wodurch der Dienst abstürzt kann man so allgemein nicht sagen aber ein häufig auftretender Fehler ist es die Kommunikation nicht wie vorgesehen mit einer "blank Message" zu quittieren, was zu enorm vielen Einträgen im Log führt und letzten Endes zum Absturz der gesamten CCU.
Auch beliebt ist es einen XML-RPC Server zu verwenden, der kein multicall kann. Anmelden kann man den zwar aber sobald die ersten Werte eintreffen läuft wieder das Log voll usw. Inwiefern die Stacks ausgelastet werden, wenn man mehrere Server anmeldet und diese dann einfach abschaltet ohne die bei der CCU abzumelden weiß ich auch nicht aber ich hatte da mal so meine Beobachtungen mit HomeDroid, einen Tablet mit leeren Akku und einer in der Folge "hängenden" CCU... :) Seitdem ist der Update Agent in HomeDroid deaktiviert und ich polle wieder minütlich... Ist schonender für die Nerven.

Man kann problemlos mehrere Server an die CCU anmelden, natürlich unterschiedliche Server (mehrere Ports oder im Falle eines PHP-Servers mehrere Server-Scripte) mit unterschiedlichen IDs, sollte jedoch dabei immer die Spielregeln beachten:
* Der Server sollte in der Regel immer verfügbar sein (kein Standby).
* Wenn man den Server abschaltet, sollte man ihn vorher mit init(server,<leerer String als ID>) abmelden.
* Einen XML-RPC Server einsetzen, der multicall beherrscht und der mehrere Instanzen verkraftet.
* Jeden Call immer mit einer leeren XML-RPC Message quittieren.
* Alle angeforderten Methoden bereit stellen, mindestens "listDevices", "event", "multiCall", "newDevices" & "newDevice"

Im Systemprotokoll (oder eben /var/log/messages) dürfen bei korrekter Verwendung logischerweise keine Fehler auftreten.

Grüße
Ja das bestätigt meine befürchtungen :roll:

dazu nochmal die frage:

Muss ich auf einen System.multicall anders antworten als auf einen normalen call ? ich antworte jetzt immer mit

Code: Alles auswählen

<?xml version="1.0"?>
<methodResponse>
   <params>
      <param><value></value></param>
   </params>
</methodResponse>
egal was ich bekomme.

Mein Problem ist das ich keinen lauffähigen XML-RPC Server für Labview finde und ich ihn mir daher versuche selber zu bauen.

Und was meinst du mit mehreren Instanzen. Es kann doch nur ein call pro Port zur gleichen Zeit reinkommen oder ? ( Ich wollte drei Server für die drei Schichten der CCU aufbauen die dann auf unterschiedlichen Ports laufen.

Steffen81
Beiträge: 401
Registriert: 03.02.2013, 23:34

Re: XML-RPC Init beenden

Beitrag von Steffen81 » 07.02.2013, 16:01

So aufgrund der unterschiedlichsten Probleme die Init mit sich bring, werde ich da drauf verzichten und mehr mit dem XML-API arbeiten :!:

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“