Windows - FHEM installieren
FHEM unter Windows 7 installieren
Nachdem ich doch trotz der vorhandenen Dokumentation einige Mühe hatte, FHEM mit dem FS20-System unter Windows 7 zum Laufen zu bringen, habe ich die notwendigen Schritte in diesem Dokument aufgeschrieben, damit es andere vielleicht etwas einfacher haben.
Hardware bestellen
Neben den CUL zur Steuerung der Komponenten vom Computer aus benötigt. Ich habe diesen wie im Dokument fhem für Einsteiger genannt bei busware.de bestellt und zwar mit den Optionen
- Abschirmung: ohne
- Antenne: Draht (gemäß busware-FAQ empfohlen)
- Gehäuse: Plastik transparent
- USB-Verlängerung: ohne
Nach wenigen Tagen wurde dieser geliefert. Das „flashen“ erfolgte nach „fhem für Einsteiger“:
- FLIP runterladen (Programm zum flashen des ROMs auf dem CUL) von [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886 http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886]
Habe die Version FLIP 3.4.3 for Windows (requires Java Runtime Environment) runtergeladen und verwendet
- CUL in den Rechner stecken (beim einstecken Mikroschalter gedrückt halten!), dann zum installieren des USB-Treibers: Im Windows Gerätemanager den device ATMEL xxxx anklicken, Eigenschaften, Gerätetreiber aktualisieren, von Festplatte, Verzeichnis c:\Programme\Atmel\Flip 3.4.3\USB auswählen und Treiber installieren lassen.
- CUL-Firmware (Hex) für FHEM runterladen von [http://cvs.berlios.de/cgi-bin/viewvc.cgi/culfw/culfw/Devices/CUL/ http://cvs.berlios.de/cgi-bin/viewvc.cgi/culfw/culfw/Devices/CUL/] (Version passend zur CUL-Hardware-Version auswählen, bei mir CUL-Hardware-Version V3.2, also hex V3)
- Flip starten, unter ‚select device‘ exakt den Chip auswählen, der als Name des CUL im Geräte-Manager angezeigt wird (je nach Modell, zB ATU822U4), danach in der Flip Symbolleiste auf den 2. Button von links klicken (auch wenn der grau sein sollte – funktioniert trotzdem) und ‚USB‘ auswählen. Sollte hier eine Fehlermeldung auftauchen, hat Schritt 2 nicht geklappt oder es wurde der falsche Chip ausgewählt. Dann mittels Menü Datei das bei Schritt 3 geladene hex-file nach Flip einlesen und mit button unten links auf den CUL flashen
- Wenn der CUL nach Abziehen und erneut in den Rechner stecken langsam grün blinkt, hat’s wohl geklappt.
Danach muss noch der Windows-Treiber für den CUL868 installiert werden. Dieser kann von busware heruntergeladen werden und im Windows Gerätemanager installiert werden:
http://www.busware.de/tiki-download_file.php?fileId=8
Perl installieren
Da FHEM Perl benötigt, muss man sich zuerst für ein geeignetes Perl entscheiden.
Derzeit sind unter Windows zwei kostenlose Versionen von Perl verbreitet, die beide gleichermaßen für den Betrieb von FHEM geeignet sind: ActivePerl Community Editon ([1]) und Strawberry Perl ([2]).
Die folgende Anleitung wurde mit Windows 7 / Windows 2008 Server (64-Bit) erstellt und getestet, andere Windows Versionen funktionieren mit geringfügigen Abweichungen bei den Verzeichnisnamen gleich. "C:\Program Files" heißt eventuell "C:\Programme" (Windows XP), oder "C:\Program Files (x64)" (32-Bit Perl auf 64-Bit Windows), und auch der vorgeschlagene Perl Verzeichnisname variiert je nach Version (Perl / Perl64). Auf FHEM hat das keinen Einfluss.
ActivePerl installieren
ActiveState bietet Privatleuten seit Jahren eine kostenlose "Community Edition" seines kommerziellen Perl Interpreters an, der für FHEM völlig ausreicht. Im Moment (11/2014) spricht nichts dagegen, diese Version einzusetzen, da einem weder Werbung auf- noch eine Registrierung abgenötigt wird.
Nach dem Download der Community Edition von ActiveState Perl (ich empfehle derzeit auch für 64-Bit Systeme die 32-Bit Version zu installieren - Details siehe weiter unten) startet man den Installer.
Nach dem Quittieren einer EULA kann man, wenn man möchte, ein wenig Platz sparen und das Perl Installationsverzeichnis Windows-like richtig einsortieren. Der aktuelle Installer (Stand 11/2014, V5.16.3) hat allerdings einen seltsamen Bug: wenn man den Installationspfad anpassen möchte muss man das tun, bevor man eventuell auch noch ein wenig Platz spart und die Dokumentation und die Beispiele abwählt, sobald man eine diese Optionen ändert wird das Eingabefeld für den Installationspfad aus dem Dialog entfernt.
Wer keinen Wert auf Optimierung legt, kann auch alle Dialoge mit den Standardwerten übernehmen, Perl landet dann allerdings wenig Windows-like im Verzeichnis C:\Perl.
Nach Abschluss der Installation kann man Perl kurz testen, indem man sich die Versionsnummer des Interpreters anzeigen lässt. Wichtig ist, dass man die dazu notwendige Kommandozeile erst nach Abschluss der Perl Installation öffnet, dami die aktuellste PATH Variable verwendet wird. Der Befehl zum Auslesen der Perl Version lautet
perl -v
Als letzten Perl Installationsschritt müssen Anwender, die serielle Empfänger (CUL) verwenden, noch den seriellen Treiber herunterladen und installieren, er gehört nicht (mehr) zum Standardlieferumfang von ActivePerl. Der Befehl dazu lautet
ppm install Win32-SerialPort
Strawberry Perl installieren
Wem ActiveState Perl zu kommerziell angehaucht erscheint, der kann statt dessen das quelloffene Strawberry Perl verwenden.
[3:40 früh ... Schluss für heute - coming soon!]
FHEM extrahieren und anpassen
Nach dem Download von FHEM wird dieses mittels 7-Zip auf C:\ extrahiert. Der Download sollte dabei nicht auf ein Benutzerverzeichnis erfolgen, da 7-Zip darauf nicht zugreift (zumindest bei mir). In 7-Zip bis zum Ordner „fhem-51“ durchklicken und erst diesen auf C:\ entpacken.
Da das makefile unter Windows nicht funktioniert, müssen die darin enthaltenen Kopierbefehle zur Installation des Webfrontend PGM2 selbst durchgeführt werden. Ich habe dazu folgende Batchprozedur erstellt:
@Echo makefile fuer Windows @Echo. @Echo Startaufruf: cd c:\fhem-5.1\ xcopy .\webfrontend\pgm2\*.* .\FHEM\ xcopy .\docs\commandref.html .\FHEM\ xcopy .\docs\faq.html .\FHEM\ xcopy .\docs\HOWTO.html .\FHEM\ xcopy .\docs\*.png .\FHEM\ xcopy .\docs\*.jpg .\FHEM\ cd examples for %%f in (*.*) do ( copy %%f "..\FHEM\example.%%f" ) cd.. copy .\examples\sample_pgm2 .\FHEM\fhem.cfg md tmp PAUSE
Danach muss die Datei „fhem.cfg“ noch angepasst werden, so dass diese wie folgt aussieht (nach http://www.russellallen.info/post/FHEM-Setup-on-Windows-Home-Server-Part-2-of-2.aspx):
attr global logfile .\tmp\fhem.log attr global modpath . attr global nofork 1 # "global" keyword at the end of following command allows connection from any host attr global port 7072 global attr global statefile \tmp\fhem.save attr global verbose 5 define CUL CUL com14@9600 1234 # bei com14 den tatsächlichen Port gemäß Gerätemanager angeben define autocreate autocreate define WEB FHEMWEB 8083 global define WEBphone FHEMWEB 8084 global attr WEBphone smallscreen 1 define WEBtablet FHEMWEB 8085 global attr WEBtablet touchpad 1
Außerdem muss noch die leere Log-Datei (z.B. fhem.log) im Ordner tmp bereitgestellt werden (über einen einfachen Editor Datei-Neu und dann Speichern unter).
Danach kann der FHEM-Server gestartet werden mittels
- CMD (Befehlszeile) aufrufen
- ins Verzeichnis C:\FHEM-5.1 wechseln
„perl fhem.pl fhem.cfg“
eingeben
Nun kann FHEM im Browser unter http://localhost:8083/fhem
aufgerufen werden.
Jetzt können die Schalter angelernt und es kann mit dem System gearbeitet werden. Nähere Infos hierzu sind dem bereits mehrfach erwähnten Dokument „fhem für Einsteiger“ zu entnehmen.