Gestern habe ich mich in die Untiefen von Unix und Perl vergraben. Nach ein paar Stunden habe ich es doch glatt hinbekommen, die FS20-Dimmer mit dem iPhone steuern zu können.
Aber der Reihe nach.
Mein Ziel ist, das gesamte Kino mit dem iPhone und einem Mac G4 Cube (als Server) steuern zu können. Als da wären:
* Licht - FS20 (Funk)
* Maskierung - Infrarot
* Beamer - Infrarot
* Receiver - Infrarot
* PS3 - Bluetooth
* Sat-Receiver - Infrarot
* Heizung - FHT80b (Funk)
Alle Infrarot-Geräte waren relativ einfach zu erledigen: iRed2 und IRTrans (siehe auch anderen Fred hier).
Bei der PS3 hat es eine superbillige IR-Fernbedienung getan. USB-Dongle rein, IR-Sender drangeklebt, fertig. Bluetooth geht natürlich immer noch am PS3-Controller.
Das schwierige waren die Dimmer und die Heizung. Für FS20 und FHTgibt es ein PC-Interface namens FHZ1000PC. Das kann FS20-Befehle senden und empfangen, ebenso für die Heizungssteuerung. Es wird am USB-Port angeschlossen. Leider ist nur Windows-Software dabei. Allerdings gibt es einen Linux/Unix-Treiber, auch in Mac OS X Version. Mit dem Treiber kann man das FHZ1000PC schon mal mit Telnet-Kommandos betreiben.
Viel bequemer geht es aber mit einer freien Software namens FHEM. Das ist ein Perl-Script, mit dem man die verschiedenen FS20/FHT-Geräte konfigurieren und über ein Web-Interface steuern kann.
Die Installation war nicht so einfach. Das größte Problem war, dass beim FHEM-Installer ein Perl-Modul fehlt (Device::SerialPort), was man erst woanders her besorgen und richtig installieren muss. Dann muss man alle Dimmer und auch die Fernbedienung (FS20 S20-3) neu einlernen. Die Fernbedienung steuert jetzt nicht mehr die Dimmer direkt, sondern über den Umweg FHEM. Vorteil: ich kann mit jedem beliebigen Button beliebige Aktionen in FHEM ausführen (also z.B. mehrere Dimmer gleichzeitig bedienen, aber auch beliebige Shell Scripts ausführen). Außerdem wird der aktuelle Zustand im Web Interface angezeigt.
Außerdem kann man FHEM mit Shell-Kommandos Befehle senden. Und genau das mache ich jetzt in iRed2 mittels eines AppleScripts. Das sieht dann in etwa so aus:
do shell script "perl FHEM.pl \"set buehne_oben on\""
Für die Lichtsteuerung habe ich mir in iRed2 eine virtuelle Fernbedienung mit folgenden Kommandos definiert:
* Stage Upper: off / on
macht die Spots über der LW aus/an
* Stage Lower: off / on
macht die Spots unter der LW aus/an
* Speakers: off / on
macht die Lautsprecherbeleuchtung hinter der LW aus/an
* Spots: off / on
macht die Spots in den Deckenfriesen aus/an
* Ropelights: off / on
macht die roten Lichtschläuche (indirektes Licht an Wand und Decke) aus/an
* All Off
macht alles aus
* All On
macht alles an (bis auf die Lautsprecherbeleuchtung)
* Show Speakers
macht alles aus, stellt den Beamer auf "Blank", dimmt dann die Lautsprecherbeleuchtung hoch
* Done
macht die Lautsprecherbeleuchtung wieder aus; Beamer wieder auf normales Bild
Die letzteren zwei Buttons sind für den Fall, wenn jemand fragt "Wo sind denn da die Lautsprecher vorne?"
Was noch nicht geht, ist die Heizung - es kommt nur ein "unknown code" an - FHEM kann den Code nicht erkennen. Muss ich wohl mal den Autor anschreiben, denn eigentlich sollte es funktionieren.
Demnächst kommen Bilder und evtl. ein Video...
Aber der Reihe nach.
Mein Ziel ist, das gesamte Kino mit dem iPhone und einem Mac G4 Cube (als Server) steuern zu können. Als da wären:
* Licht - FS20 (Funk)
* Maskierung - Infrarot
* Beamer - Infrarot
* Receiver - Infrarot
* PS3 - Bluetooth
* Sat-Receiver - Infrarot
* Heizung - FHT80b (Funk)
Alle Infrarot-Geräte waren relativ einfach zu erledigen: iRed2 und IRTrans (siehe auch anderen Fred hier).
Bei der PS3 hat es eine superbillige IR-Fernbedienung getan. USB-Dongle rein, IR-Sender drangeklebt, fertig. Bluetooth geht natürlich immer noch am PS3-Controller.
Das schwierige waren die Dimmer und die Heizung. Für FS20 und FHTgibt es ein PC-Interface namens FHZ1000PC. Das kann FS20-Befehle senden und empfangen, ebenso für die Heizungssteuerung. Es wird am USB-Port angeschlossen. Leider ist nur Windows-Software dabei. Allerdings gibt es einen Linux/Unix-Treiber, auch in Mac OS X Version. Mit dem Treiber kann man das FHZ1000PC schon mal mit Telnet-Kommandos betreiben.
Viel bequemer geht es aber mit einer freien Software namens FHEM. Das ist ein Perl-Script, mit dem man die verschiedenen FS20/FHT-Geräte konfigurieren und über ein Web-Interface steuern kann.
Die Installation war nicht so einfach. Das größte Problem war, dass beim FHEM-Installer ein Perl-Modul fehlt (Device::SerialPort), was man erst woanders her besorgen und richtig installieren muss. Dann muss man alle Dimmer und auch die Fernbedienung (FS20 S20-3) neu einlernen. Die Fernbedienung steuert jetzt nicht mehr die Dimmer direkt, sondern über den Umweg FHEM. Vorteil: ich kann mit jedem beliebigen Button beliebige Aktionen in FHEM ausführen (also z.B. mehrere Dimmer gleichzeitig bedienen, aber auch beliebige Shell Scripts ausführen). Außerdem wird der aktuelle Zustand im Web Interface angezeigt.
Außerdem kann man FHEM mit Shell-Kommandos Befehle senden. Und genau das mache ich jetzt in iRed2 mittels eines AppleScripts. Das sieht dann in etwa so aus:
do shell script "perl FHEM.pl \"set buehne_oben on\""
Für die Lichtsteuerung habe ich mir in iRed2 eine virtuelle Fernbedienung mit folgenden Kommandos definiert:
* Stage Upper: off / on
macht die Spots über der LW aus/an
* Stage Lower: off / on
macht die Spots unter der LW aus/an
* Speakers: off / on
macht die Lautsprecherbeleuchtung hinter der LW aus/an
* Spots: off / on
macht die Spots in den Deckenfriesen aus/an
* Ropelights: off / on
macht die roten Lichtschläuche (indirektes Licht an Wand und Decke) aus/an
* All Off
macht alles aus
* All On
macht alles an (bis auf die Lautsprecherbeleuchtung)
* Show Speakers
macht alles aus, stellt den Beamer auf "Blank", dimmt dann die Lautsprecherbeleuchtung hoch
* Done
macht die Lautsprecherbeleuchtung wieder aus; Beamer wieder auf normales Bild
Die letzteren zwei Buttons sind für den Fall, wenn jemand fragt "Wo sind denn da die Lautsprecher vorne?"
Was noch nicht geht, ist die Heizung - es kommt nur ein "unknown code" an - FHEM kann den Code nicht erkennen. Muss ich wohl mal den Autor anschreiben, denn eigentlich sollte es funktionieren.
Demnächst kommen Bilder und evtl. ein Video...