Windows - FHEM installieren

Aus FHEMWiki

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“:

  1. 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

  1. 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.
  2. 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)
  3. 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
  4. 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 konfigurieren

Da FHEM Perl benötigt, muss man sich zuerst für ein geeignetes Perl entscheiden. Aufgrund guter Kritiken habe ich mich für das ActivePerl entschieden, das einfach zu installieren ist.

ACHTUNG! Bei manchen Usern der 64-Bit-Version hat das Einbinden des CUL in FHEM zu Problemen geführt. Solltet ihr Fehler wie "Cannot init COMXX, ignoring it" bekommen oder der CUL in FHEM auf "get"-Befehle mit "no answer" antwortet - nehmt die 32-Bit-Version von ActivePerl.

Danach muss noch der Serial-Port-Treiber unter Perl installiert werden.

Die Installation erfolgt so:

  • CMD öffnen
  • Ins Verzeichnis C:\perl64\lib\Win32-SerialPort-0.22 wechseln (bzw. C:\Perl\lib\Win32-SerialPort-0.22 bei 32-bit Systemen)
  • „cpan Win32::SerialPort“ eingeben
  • Installation abwarten
  • „perl Makefile.PL TESTPORT=14“ eingeben (für 14 die Nummer des Ports gemäß Gerätemanager einsetzen und korrekte Gross-/Kleinschreibung beachten)
  • „perl nomake_test“ eingeben – von evtl. Fehlermeldungen nicht abschrecken lassen
  • „perl nomake_install“ eingeben

(Bekommt man bei „cpan Win32::SerialPort“ einen Fehler, muss noch das Modul von folgender Seite heruntergeladen werden: http://search.cpan.org/~bbirth/Win32-SerialPort-0.22/lib/Win32/SerialPort.pm Das Entpacken erfolgt mittels 7-Zip. Der Download sollte dabei nicht auf ein Benutzerverzeichnis erfolgen, da 7-Zip darauf nicht zugreift (zumindest bei mir). In 7-Zip bis zum Ordner „Win32-SerialPort-0.22“ durchklicken und erst diesen auf C:\perl64\lib\ (bzw. C:\perl\lib) entpacken.)

Ausgabe lautete bei mir:

Installing C:\Perl64\html\lib\site\Win32\SerialPort.html
Installing C:\Perl64\html\lib\site\Win32API\CommPort.html
Installing C:\Perl64\site\lib\Win32\SerialPort.pm
Installing C:\Perl64\site\lib\Win32API\CommPort.pm
Writing C:\Perl64\site\lib/auto/Win32/SerialPort/.packlist

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.