Da ich vor einiger Zeit auf openHAB (openhab - empowering the smart home - Google Project Hosting) umgestiegen bin, habe mich mal daran gemacht das CometVisu Protokoll in openHAB zu implementieren, damit ich das als Backend nutzen kann und somit auch die bisherige Beschränkung der CometVisu auf KNX zu umgehen.
Die Änderungen für die CometVisu liegen bereits im SVN Rev.#1108. Auf openHAB Seite muss man das REST-Plugin tauschen mit der JAR-Datei aus dem Anhang (einfach die pdf Dateiendung entfernen).
Wer sich an dieser Stelle fragt wie man das REST-Plugin denn austauscht sollte am besten garnicht weiter lesen, denn dies ist im jetzigen Stadium nur was für Leute die wissen was sie tun.
Ausserdem muss man die aktuelle Revision der CV in den Webapps Ordner von openHAB packen (den Ordner dort nicht cv nennen, da dies der Pfad des Backends ist und somit vermutlich zu einem Konflikt führen wird).
Zum Schluss muss man natürlich noch seine Config anpassen. Im Wesentlichen muss man hier die address Einträge ändern. z.B.
Das Prinzip sollte klar sein, transform erhält den Namespace OH: und dann den Typ des Items (kleingeschrieben, z.B: dimmer, switch, number, string, usw.). Light_Bedroom ist in dem Fall der Name des Items in openHAB.
Zuguterletzt muss man in der Config noch festlegen, dass openHAB als Backend benutzt werden soll mit
Und dann sollte das laufen.
Folgende Probleme sind bereits bekannt:
Problem 1) Die Rückmeldung nachdem man eine Aktion ausgeführt hat ist langsamer als beim nativen Backend, d.h. wenn man eine Lampe einschalten, dann wird dies zwar sofoert ausgeführt, aber es dauert etwas bis sich der Status der Lampe in der Visu ändert.
Ich habe leider viel zu wenig Ahnung von dem in openHAB genutzten Atmosphere Geschichte. Da lässt sich sicher vieles optimieren. Ich habe es z.B. erst über Websockets probiert und da kann die Geschwindigkeit dem nativen Backend gleichziehen (ich habs jetzt nicht gemessen, aber gefühlt war es genauso schnell). Nur habe ich bei Websockets mehrere andere Probleme gehabt und keine Ahnung wie ich die lösen sollte. Die beiden Hauptprobleme dabei waren:
1.1. scheinbar konnte sich nur ein Client gleichzeitig verbinden, d.h. wenn man in einem Browser schaltet, wird dem anderen Browser die Statusänderung nicht angezeigt
1.2. der Websocket reagiert allergisch auf ein Reload der Seite oder Neustart des Backends danach halt manchmal nur noch den kompletten Browser neu zu starten
Beides sicherlich lösbar wenn man sich damit auskennt. Sourcen findet Ihr in meinem openHAB clone tbraeutigam-openhab - CUPS-Binding, MaryTTS, Pulseaudio-Binding, Cometvisu Backend - Google Project Hosting
Problem 2) bis jetzt funktionieren nur die grundlegenden Dinge + das Diagramm Plugin. Mehr hab ich noch nicht getestet. Es handelt sich hier also um eine absolute Alpha-Version.
So das wärs fürs erste. Ich hab mir gedacht, das die Ankündigung hier am besten aufgehoben ist, da sich ja hier sowohl openHAB als auch CometVisu Leute tummeln. Ob ich jetzt besser im openHAB Unterforum gepostet hätte anstatt hier, mag vielleicht sein aber für eins musste ich mich ja entscheiden
Dann viel Spass beim probieren und ich bin für jeden Experten-Tipp/Patch zum Sourcecode dankbar.
Gruß
Tobias
Die Änderungen für die CometVisu liegen bereits im SVN Rev.#1108. Auf openHAB Seite muss man das REST-Plugin tauschen mit der JAR-Datei aus dem Anhang (einfach die pdf Dateiendung entfernen).
Wer sich an dieser Stelle fragt wie man das REST-Plugin denn austauscht sollte am besten garnicht weiter lesen, denn dies ist im jetzigen Stadium nur was für Leute die wissen was sie tun.
Ausserdem muss man die aktuelle Revision der CV in den Webapps Ordner von openHAB packen (den Ordner dort nicht cv nennen, da dies der Pfad des Backends ist und somit vermutlich zu einem Konflikt führen wird).
Zum Schluss muss man natürlich noch seine Config anpassen. Im Wesentlichen muss man hier die address Einträge ändern. z.B.
Code:
<address transform="OH:dimmer" variant="">Light_Bedroom</address>
Zuguterletzt muss man in der Config noch festlegen, dass openHAB als Backend benutzt werden soll mit
Code:
<pages...backend="oh">
Folgende Probleme sind bereits bekannt:
Problem 1) Die Rückmeldung nachdem man eine Aktion ausgeführt hat ist langsamer als beim nativen Backend, d.h. wenn man eine Lampe einschalten, dann wird dies zwar sofoert ausgeführt, aber es dauert etwas bis sich der Status der Lampe in der Visu ändert.
Ich habe leider viel zu wenig Ahnung von dem in openHAB genutzten Atmosphere Geschichte. Da lässt sich sicher vieles optimieren. Ich habe es z.B. erst über Websockets probiert und da kann die Geschwindigkeit dem nativen Backend gleichziehen (ich habs jetzt nicht gemessen, aber gefühlt war es genauso schnell). Nur habe ich bei Websockets mehrere andere Probleme gehabt und keine Ahnung wie ich die lösen sollte. Die beiden Hauptprobleme dabei waren:
1.1. scheinbar konnte sich nur ein Client gleichzeitig verbinden, d.h. wenn man in einem Browser schaltet, wird dem anderen Browser die Statusänderung nicht angezeigt
1.2. der Websocket reagiert allergisch auf ein Reload der Seite oder Neustart des Backends danach halt manchmal nur noch den kompletten Browser neu zu starten
Beides sicherlich lösbar wenn man sich damit auskennt. Sourcen findet Ihr in meinem openHAB clone tbraeutigam-openhab - CUPS-Binding, MaryTTS, Pulseaudio-Binding, Cometvisu Backend - Google Project Hosting
Problem 2) bis jetzt funktionieren nur die grundlegenden Dinge + das Diagramm Plugin. Mehr hab ich noch nicht getestet. Es handelt sich hier also um eine absolute Alpha-Version.
So das wärs fürs erste. Ich hab mir gedacht, das die Ankündigung hier am besten aufgehoben ist, da sich ja hier sowohl openHAB als auch CometVisu Leute tummeln. Ob ich jetzt besser im openHAB Unterforum gepostet hätte anstatt hier, mag vielleicht sein aber für eins musste ich mich ja entscheiden

Dann viel Spass beim probieren und ich bin für jeden Experten-Tipp/Patch zum Sourcecode dankbar.
Gruß
Tobias
Kommentar