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