Dazu benötigt man
1 Socat auf der der CCU
2 Die App "WoLi" auf dem Tablet
3 Eine sh-Datei auf der CCU
4 Eine Scriptzeile, die durch Aufruf obiger Datei ein UDP-Kommando verschickt
1 Socat
socat für CCU1 und CCU2 sind unterschiedlich:
- CCU2: http://homematic-forum.de/forum/viewtop ... 33#p128433
- CCU1: http://homematic-forum.de/forum/viewtop ... 701#p24701
Zum Aufspielen auf die CCU habe ich den FTP vom TotalCommander (TC) verwendet.
Die tar.gz Dateien auf dem Windows Rechner mit dem TC entpackt und dann mit dem FTP Client des TC auf die CCU nach
Code: Alles auswählen
/usr/local/addons
Damit socat ausgeführt werden kann, schadet es nicht, die Dateiattribute der socat-Datei auf 777 zu setzen. Auch das kann der TC (->Dateien -> Dateiattribute ändern).
Achtung: Socat reagiert nicht auf einen einfachen Aufruf von der Konsole (putty) aus. Um Socat zu testen benötigt es noch den zweiten Schritt.
2 Woli
Im Playstore gibt es die App Woli, die ein KNX-Forumsteilnehmer geschrieben und im Playstore hinterlegt hat https://play.google.com/store/apps/deta ... woli&hl=de .
Die Befehle werden dort erläutert: http://knx-user-forum.de/forum/%C3%B6ff ... post559627
Diese App auf das Android-Tablet installieren.
Für den Anfang reicht es erst mal, "use UDP" auf "An" zuschalten. Es wird der UDP Port 6666 vorgeschlagen.
Dann noch rechts oben durch "Start WoLi" aktivieren.
Jetzt kann schon der erste Test erfolgen. Dazu das Display des Tablet ausgehen lassen und mit Telnet, Putty oä. in die Konsole der CCU gehen und folgendes Kommando absetzen (IP Adresse natürlich anpassen):
Code: Alles auswählen
echo 'Wolido:DisplayON' | /usr/local/addons/socat UDP:192.168.1.35:6666,cr –
3 Eine sh-Datei auf der CCU anlegen
Hierzu schreibe ich die Datei auf meinem Windows PC mit Notepad++. Diesen im Unix-Mode betreiben (-> Bearbeiten -> Format Zeilenende ->Konvertiere zu Linux) und kopiere sie dann mit dem FTP des TC auf die CCU
Datei mit Notepad++ im Unix-Mode erstellen
Code: Alles auswählen
# more DispON.sh
# Android-Geraet schaltet Display ein. Display bleibt an.
# Nachdem ein Wolido:DisplayOFF empfangen wurde, geht das Display nach der eingestellten Zeit aus
echo 'Wolido:DisplayON' | /usr/local/addons/socat UDP:192.168.1.35:6666,cr -
#
Code: Alles auswählen
DispON.sh
Code: Alles auswählen
/usr/local/addons
Code: Alles auswählen
/usr/local/addons/DispON.sh
Code: Alles auswählen
# more DispOFF.sh
# Nachdem ein Wolido:DisplayOFF empfangen wurde, geht das Display nach der eingestellten Zeit aus
echo 'Wolido:DisplayOFF' | /usr/local/addons/socat UDP:192.168.1.35:6666,cr -
#
Code: Alles auswählen
DispOFF.sh
Code: Alles auswählen
/usr/local/addons
Code: Alles auswählen
/usr/local/addons/DispOFF.sh
In einem HM-WebUI-Programm, welches das Display anschalten soll, muß folgende Skirptzeile eingefügt werden:
Scriptaufruf (in einer einzigen Zeile):
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/bin/sh /usr/local/addons/DispON.sh")
Scriptaufruf (in einer einzigen Zeile):
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/bin/sh /usr/local/addons/DispOFF.sh")
Durch den zweiten Befehl wird die Sperre (wake lock) aufgehoben und das Display geht nach der in den Android Systemeinstellungen eingestellten Zeit (z.B. 5 Minuten) in den Ruhemodus.
Natürlich muß in den Android-Einstellungen: "WLAN im Ruhemodus aktiviert lassen" eingestellt sein. Zu finden in ->Einstellungen -> WLAN ->Kontextmenue -> Erweitert
Jetzt wäre es noch praktisch, wenn WoLi nach jedem Neustart automatisch starten würde. Und auch das geht:
WoLi: Autostart einschalten.
Dazu im WoLi Menue die WLAN SSID selektieren, die dann grün wird. Anschließend "Autostart WoLi" auf "AN" schalten