hcanweb - hcanIngo/openHCAN GitHub Wiki
hcanweb - Client/Server-Webinterface für HCAN
Einleitung
Was wäre eine Homeautomation ohne Visualisierung oder Fernbedienbarkeit?
Das Userpanel bietet zwar schon gute Möglichkeiten der Bedienung der Anlage und liefert bei entsprechender Konfiguration auch ausreichende Informationen über den Zustand von Licht, Fenstern, Heizung usw., ist aber doch wegen seiner zwei Zeilen etwas eingeschränkt.
Mit der hier vorgestellten Lösung wird die HCAN-Homeautomation um ein Webinterface erweitert, so dass sich der Benutzer mit Hilfe eines Internet Browsers oder Android-Smartphones schnell einen Überblick über die Zustände seiner Anlage verschaffen und Schaltbefehle ausführen kann.
[Verwendbar mit jedem Smartphone, Tablet und jedem PC](Verwendbar mit jedem Smartphone, Tablet und jedem PC) - Bitte die Kompatibilität prüfen und eintragen.
Voraussetzung
- Für den Client: HTML5
- Für den C1612-Server: C1612-Board + ENC28J60-Mini-3-3V-5V-Ethernet-Module (Anbieterbeispiel)
Download
- hcanweb.apk für ein Anroid-Smartphone hcanweb-1.1b.apk.zip oder
- app.zip um für z.B. einen HTML5 fähigen Internetbrowser app_1.1b.zip und
- C1612-Server-Firmware c1612server_atmega466.hex.zip
Einrichten des C1612-Server
Nach Verdrahtung des ENC28J60-Mini-3-3V-5V-Ethernet-Module an das C1612-Board ([Verdrahtung des C1612-Server](Verdrahtung des C1612-Server)) wird der ATmega644 wie ein anderes C1612-Board geflasht (daher zuerst der Bootloader und dann die C1612-Firmeware über CAN) und per LAN-Leitung an das heimische Netzwerk (z.B. den DSL-Router) angeschlossen. Der C1612-Server bezieht nach Hochlauf automatisch seine IP-Adresse. Diese IP im Router-Interface in Erfahrung bringen und im hcanweb-Client in den Einstellungen eintragen. Hier ein paar Beispielabfragen auf dem C1612-Server.
Installation des hcanweb-Client
- hcanweb.apk kann z.B. per QR-Code
heruntergeladen und installiert werden (getestet auf dem Galaxy S2 mit CM 10.2) - Alternative: app.zip nach dem Herunterladen entpacken und die index.html mit einem HTML5-fähigen Browser öffnen
Einrichten des hcanweb-Client
- C1612-Server-IP in den Einstellungen eintragen
- installation.xml laden (enthält den Teil eurer Anlage, der über die App bedienbar sein soll)
- ggf. Filter festlegen (z.B. EG,OG,--, wobei -- nicht filtert und EG nach Erdgeschoß)

Die Konfiguration eurer Anlage (installation.xml) liegt lokal auf dem Smartphone. So ist es z.B. möglich auf unterschiedlichen Geräten angepasste/reduzierte Konfigurationen zu betreiben. Mit dem Zurückpfeil, in der oberen linken Ecke werden die Einstellungen übernommen und zur jeweiligen Device-Seite zurückgekehrt.
Verwendung des hcanweb-Client (hcanweb.apk)
Die Navigation zwischen den Seiten erfolgt über Klick auf einen Seitenbutton im Fußteil der jeweiligen Seite oder per Wischen nach rechts oder links. Zur Einstellungsseite gelangen wir über das Symbol in der rechten oberen Ecke.


Die Symbole links vor dem jeweiligen Device zeigen den Istzustand an (z.B. Licht ist eingeschaltet). Mit Anklicken der Devices werden alle angezeigten Zustände der Seite aktualisiert (vom Server und CAN-Bus abgerufen). In den Seiten Licht und Sonstige wird mit Klick auf das Symbol abhängig vom Zustand ein- oder ausgeschaltet. Zur Filterung, z.B. nach Gebäudestockwerken steht im Header eine Selektionsbox zur Verfügung. Diese zeigt auf der jeweiligen Seite immer nur Filter an, welche mindestens zur Auflistung eines Devices führen.


Die Temperaturen links vor den Devices zeigen die Solltemperatur für den jeweiligen Raum an. Mit Veränderung des Schiebereglers wird die neu eingestellte Temperatur als Solltemperatur vorgegeben. Mit 'Therm' wird für drei Stunden 19°C als Solltemperatur vorgegeben. Mit '*' wird für drei Stunden 10°C als Frostschutz vorgegeben. Nach Zeitablauf geht die Anlage wieder in Automatik. Das kann auch sofort mit 'Auto' erreicht werden. Mit 'Aus' wird die Automatik deaktiviert.

Wie auf allen Deviceseiten können die aktuellen Zustände explizit durch Wechsel der Devicemarkierung für alle Devices aktualisiert werden. Eine automatische Aktualisierung ist nicht vorgesehen. Wenn man mit dem Slider eine neue Position für einen Rolladen auswählt, springt der Slider dennoch zuerst wieder auf die aktuelle Position. Der Rolladen bewegt sich aber und eine manuelle Aktualisierung zeigt dann auch die aktuelle Rolladenposition an.

Entwicklung
Zur Weiterentwicklung von hcanweb werden hier Hinweise zur Verwendung der Projektstruktur gegeben.
Hinweise
-
Werden links vor den Devicenamen keine Zustände (abhängig von der aktuellen Seite Icons oder Werte) angezeigt, dann konnten diese nicht vom C1612-Server bezogen werden. Ursache kann das fehlen der CAN-Verbindung zum C1612-Server sein.
-
Unterschiede zwischen der installation.xml und den tatsächlichen Controller-Konfigurationen können dazu führen, dass Funktionen nur teilweise oder gar nicht funktionieren.
-
Kann zwischen den Devices nicht gewählt werden und auch zwischen den Seiten nicht navigiert werden kann die Ursache eine fehlende Netzwerkverbindung im des Smartphone zum heimischen Netz, oder die falsche Einstellung der IP-Adresse zum C1612-Server sein. Zur Beseitigung des Problems muss zur Einstellungsseite gewechselt werden.
-
Mit CM11 (Android 4.4.2) geht mit der hcanweb.apk Wischen-Rechts/Links für den Seitenwechsel nur unzureichend und HTML5 für das Öffnen der lokalen installation.xml nicht (siehe hier: [Verwendbar mit jedem Smartphone, Tablet und jedem PC](Verwendbar mit jedem Smartphone, Tablet und jedem PC)).