Auch wenn der Thread schon etwas älter ist..möchte ich mich thematisch einmal "dranhängen".
Ich bin aktuell immer noch dabei mein "Homematic" System aufzubauen. Eine für mich wichtige Komponente ist ein Anzeigeterminal, welches ich über ein Tablet-PC bereits realisiert habe.
Zielstellung: [periodische] Abfrage der Zustände aller Aktoren/Sensoren für eine visuelle Darstellung sowie das Setzen von Zuständen einzelner Aktoren aus der grafischen Bedienoberfläche heraus .
Die Abfrage der Actoren habe ich über die RPC-XML Schnittstelle und ein eigenes .NET Programm realisiert. Die Abfrage der Komponenten klappt prinzipiell (anfangs) auch ganz gut ...leider nur für eine gewisse Zeit. Momentan frage ich die CCU im Intervall von 2 Sekunden auf den Status von 12 Aktoren (Schalter /Dimmer) ab. Nach etwa 20..30 Minuten bekomme ich statt der Statuswerte nur noch den "Fault-Code" -1 zurückgeliefert (laut Doku ein "allgemeiner" Fehler). Sobald dieser Zustand eintritt, laufen auch die Programme in der CCU nicht mehr ab. (Hier habe ich Beispielsweise eine eine Zeitbegrenzung für das Treppenhauslicht eingestellt). Periodische Abfragen scheint also die CCU auf Dauer nicht zu mögen....
Eine Alternative wäre dazu ein RPC Server, welcher eventbezogen Informationen zu Statusänderungen der Aktoren geliefert bekommt. Dazu habe ich testweise in meinem .NET Programm einen TCP-Server implementiert ..und der CCU per RPC XML ein "INIIT"-Kommando übermittelt. Soweit....Sogut...verbindet sich auch die CCU auf die vorgegebene IP-Adresse + Port. Der TCP-Server bekommt eine Verbindung, ein erster Status-Datensatz wird erfolgreich übermittelt. (meist mein Kombisensor EC3 mit einer Temperaturänderung).
Danach passiert absolut nichts mehr...es werden keine Statusänderungen an den TCP-Server mehr übertragen...und auch eine remote Steuerung der Aktoren über die Web-Oberfläche der CCU ist nicht mehr möglich.
Sobald ich mein .NET Programm jedoch beende, reagiert die Web-Oberfläche der CCU wieder..es werden sogar alle zuvor dort abgesetzten Befehl brav nacheinander abgearbeitet !
Es sieht also irgendwie danach aus, als würde die CCU bei der Verbindung mit einem remoten Server nach jeder abgesetzen Information eine Art "Quittung" erwarten, bevor hier "weitergearbeitet wird "..und bis dahin ist die gesamte CCU irgendwie blockiert ??
Leider finde ich in der RPC Schnittstellenbeschreibung auch nicht so wirklich für mich verwertbare Informationen, um hier wirklich weiterzukommen.
Daher meine Bitte / Frage an die Community: Gibt es hier bereits Lösungsansätze ( im Umfeld .NET & RPC XML) ... oder möglicherweise völlig andere Lösungsansätze (andere Schnittstelle ?..Addon ?) um mein gesetztes Ziel zu erreichen ?.
Danke für Eure Unterstützung !!