Ich habe jetzt doch mal ein Homecontrol-Backend für Misterhouse geschrieben.
Installation:
eibPC-Homecontrol V1.4.1 in Misterhouse-Installation (benutzt habe ich svn-Stand, 2.105 sollte auch gehen) unter web/homecontrol auspacken.
Dann entweder mhdiff.zip auspacken und den enthaltenen Patch anwenden oder (wenn ihr mir vertraut
) mhhc.zip in web/homecontrol auspacken. Die Datei comet.pm ins code-Verzeichnis kopieren (oder symbolischer Link).
Jetzt noch leider eine kleine einzige Änderung in Misterhouse: lib/http_server.pl. Die Datei aus mhhttp.zip auspacken und lib/http_server.pl damit ersetzen.
Dann im Browser:
eingeben (unter der Annahme an 8888 lauscht Misterhouse) und ihr könnt Homecontrol mit MH benutzen.
Technischer Hintergrund: In comet.pm ist eine Verwaltungsklasse für comet-Anforderungen (also Ajax-Calls die endlos festgehalten werden und über die der aktuelle Status übermittelt wird). Ein Homecontrol-Client im Webbrowser öffnet eine Comet-Verbindung und erhält eine Comet-Id (hier einfach den Hash des Verwaltungsobjekts). Über diese Id kann der Client nun der Verwaltungsklasse sagen an welchen Ereignissen er interessiert ist. Als Ereignisquellen ist alles was von Generic_Item abgeleitet ist erlaubt (also auch X10 und FS20 und wasauchimmer). Immer wenn sich ein Item ändert, wird über die offene Verbindung eine Info zurück geliefert. Ebenso wenn ein Item abonniert wird. Somit hat man von Start an immer einen aktuellen Status.
An Misterhouse müsste dazu eigentlich nichts geändert werden, d.h. das ganze Paket kann einfach so zu Misterhouse dazu kopiert werden, wenn das mit dem Offen halten der Verbindung klappen würde. Daher die lib/http_server.pl.
Auch an dem Original-Homecontrol muss nur eine Kleinigkeit geändert werden (lib/mh/mh-ui.js) ansonsten ist der Rest nur dazukopiert.
Homecontrol bitte nur mit floating=false verwenden oder neue jquery-ui-xxx.custom.js erstellen (Version > 1.8.1).
Bitte nur positives Feedback
Mike
Installation:
eibPC-Homecontrol V1.4.1 in Misterhouse-Installation (benutzt habe ich svn-Stand, 2.105 sollte auch gehen) unter web/homecontrol auspacken.
Dann entweder mhdiff.zip auspacken und den enthaltenen Patch anwenden oder (wenn ihr mir vertraut

Jetzt noch leider eine kleine einzige Änderung in Misterhouse: lib/http_server.pl. Die Datei aus mhhttp.zip auspacken und lib/http_server.pl damit ersetzen.
Dann im Browser:
Code:
http://localhost:8888/homecontrol/eibPC-HCWeb.html?floating=false
Technischer Hintergrund: In comet.pm ist eine Verwaltungsklasse für comet-Anforderungen (also Ajax-Calls die endlos festgehalten werden und über die der aktuelle Status übermittelt wird). Ein Homecontrol-Client im Webbrowser öffnet eine Comet-Verbindung und erhält eine Comet-Id (hier einfach den Hash des Verwaltungsobjekts). Über diese Id kann der Client nun der Verwaltungsklasse sagen an welchen Ereignissen er interessiert ist. Als Ereignisquellen ist alles was von Generic_Item abgeleitet ist erlaubt (also auch X10 und FS20 und wasauchimmer). Immer wenn sich ein Item ändert, wird über die offene Verbindung eine Info zurück geliefert. Ebenso wenn ein Item abonniert wird. Somit hat man von Start an immer einen aktuellen Status.
An Misterhouse müsste dazu eigentlich nichts geändert werden, d.h. das ganze Paket kann einfach so zu Misterhouse dazu kopiert werden, wenn das mit dem Offen halten der Verbindung klappen würde. Daher die lib/http_server.pl.
Auch an dem Original-Homecontrol muss nur eine Kleinigkeit geändert werden (lib/mh/mh-ui.js) ansonsten ist der Rest nur dazukopiert.
Homecontrol bitte nur mit floating=false verwenden oder neue jquery-ui-xxx.custom.js erstellen (Version > 1.8.1).
Bitte nur positives Feedback

Mike
Kommentar