NEWS
Umstieg von ccu.io und Einarbeitung - Erste Fragen
-
a) wenn hm-rega die virtuelle Taste triggert, sollte sie nicht dann in hm-rega konfiuriert werden? warum muss hm-rpc diese Taste dann kennen? `
Es kann sein, dass jede hm-rpc Schnittstelle eigene Variable triggern sollte.
@tschombe:b) wenn es kein hm-rega gibt (wie ja auch bei meinem Testsystem zur Zeit) wird quasi alle x Sekunden (check init interval) die Ereignisschnittstelle neu initialisiert.
warum muss die neu initialisiert werden? Beendet sich diese nach einer gewissen Zeit von inaktivität oder wie? `
Wenn PC schlaffen geht, oder Netzwerkverbindung längere Zeit nicht da war und dann wieder hergestellt wurde, oder CCU neu gestartet wurde, dann vergisst CCU die eingegebene Adresse von ioBroker und ioBroker bekommt keine Ereignisse mehr.Wie kennt ihr das Verhalten dieser Schnittstelle, gibt es da von EQ-3 eine Beschreibung dafür oder habt ihr das über reverse-engineering bzw trial & error rausgefunden? `
http://www.eq-3.de/Downloads/PDFs/Dokum … 02__2_.pdf Kapitel 2PS: Der Screenshot ist noch der alte, ich weis nicht ob du die Oberläche wie im Thread oben angedeutet umbenennen willst? `
Ja Ich habe das schon geändert, nur nicht eingecheckt. -
ok, danke für die Info,
dann lese ich jetzt erstmal die Spezifikation.
gibts übrigens in einer neueren Version:
-
Was das triggern der virtuellen taste angeht habe ich das bei ccu.io genau anders herum verstanden.
Damit Rega nicht alle paar Sekunden abgefragt wird (hier werden ja hpts. die Variablen geholt) kann man auf der CCU diese virtuelle taste auslösen, wenn sich eine variable ändert.
Dann kann der wert für das automatische abfragen auf z.B. 15 Minuten gestellt werden.
Das schont die CCU.
Gesendet von meinem Cynus T7 mit Tapatalk
-
Was das triggern der virtuellen taste angeht habe ich das bei ccu.io genau anders herum verstanden.
Damit Rega nicht alle paar Sekunden abgefragt wird (hier werden ja hpts. die Variablen geholt) kann man auf der CCU diese virtuelle taste auslösen, wenn sich eine variable ändert.
Dann kann der wert für das automatische abfragen auf z.B. 15 Minuten gestellt werden.
Das schont die CCU.
Gesendet von meinem Cynus T7 mit Tapatalk `
Das auch. Ich stelle gerade fest, dass diese Feature auch nicht implementiert ist, obwohl in Konfig vorhanden ist. -
Gibt es nicht einen "robusteren" Mechanismus, um z.B. einen Sleep vom PC oder
Verbindungsabbruch zu erkennen und dann das Init neu zu schicken als das
pauschal alle X Sekunden zu tun?
Evtl. können wir da mal jemanden von EQ-3 auf dem Usertreffen fragen?
So richtig hab ich das glaub ich immer noch nicht verstanden :oops:
PS: mir ist aufgefallen, wenn man ioBroker laufen lässt und hm-rdf
KEINE Verbindung zur CCU hat, bekomme ich harte Exceptions im Logfile angezeigt,
weis nicht ob das so gewollt ist:
-
Nein gewollt ist das nicht !
Ich hatte auch schonmal daran gedacht das ccu log auf Fehler mit der ip von iobroker zu überprüfen und dann zu reagieren.
Aber es gibt einfach zuviel zu tun.
Vieleicht magst du das machen.
-
` > Gibt es nicht einen "robusteren" Mechanismus, um z.B. einen Sleep vom PC oder
Verbindungsabbruch zu erkennen und dann das Init neu zu schicken als das
pauschal alle X Sekunden zu tun? `
Wenn das existierte würden wir natürlich das implementieren. Es gibt immer killer-case: CCU macht neustart. Und das kannst du gar nicht erkennen, ausser Ereignisse zu beobachten. -
Ich habe heute mit hq im homematic-chat das Problem mal diskutiert.
Es GIBT eine elegantere Lösung. In dem aktuellsten Schnittstellendokument der XML-API:
http://www.eq-3.de/Downloads/Software/H … pc_API.pdf
gibt es die Funktion "ping" die mit einem "pong" antwortet.
Damit sollte ein Keepalive - Mechanismus realisierbar sein.
Idee ist: Es gibt eine konfigurierte Intervallzeit.
Wenn das letzte Ereignis das empfangen wurde, länger zurückliegt als die Intervallzeit
wird das ping-Kommando gesendet.
Antwortet die CCU nicht korrekt mit einem "pong" innerhalb der Intervallzeit,
wird der init erneut versucht.
Ich würd mal versuchen bei Gelegenheit mir einen gitclone zu ziehen und mir das mal anschauen
-
ich hab jetzt mal versucht, in dem Code etwas durchzusteigen.
Hauptsächlich kämpfe ich eigentlich mit JavaScript / node.js und der
Callback-hell. Ich weis nie genau wann welche Funktion aufgerufen wird :oops:
Eigentlich will ich den Ping/Pong Mechanismus in hm-rpc implementieren wie er in
dem aktuellen XMLRPC-Dokument von eq-3 beschrieben ist und den ganzen init-hack
rausschmeissen, aber ich finde nicht so richtig den Ansatzpunkt.
Kann man sich evtl beim Usertreffen mal ne halbe Stunde bzw Stunde zusammensetzen
und das mal in einer Pair-Progamming session anprogrammieren?
Ich würd mein Notebook mit einer Entwicklungsumgebung mitbringen…
-
Ja. Können wir gerne machen.
-
das wär super!!!!!
Momentan versuch ich mich soweit möglich in den rpc adapter einzuarbeiten und
auch beim ping schon vorzuarbeiten.
Aktuell schiess ich aber immer meine CCU damit ab