FHEM Installation Windows: Unterschied zwischen den Versionen

Aus FHEMWiki
K (→‎Installation Win32::SerialPort: -> WIN32::SerialPort gehört seit 12/18 zu den mitgelieferten Modulen von StrawberryPerl)
K (Akualisierung)
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''{{PAGENAME}}''' beschreibt die Installation von FHEM als portable Software für Windows (keine Eingriffe in die Registrierungsdatenbank). Die Anleitung ist sowohl für die Installation auf einem Wechseldatenträger, zum Beispiel einem USB-Stick, als auch auf einem internen Laufwerk anwendbar. Bei Installation auf einem internen Laufwerk ist die abschließend dargestellte Einrichtung von FHEM als Dienst möglich.
{{Baustelle}}
'''{{PAGENAME}}''' beschreibt die Installation von FHEM als portable Software für Windows (keine Eingriffe in die Registrierungsdatenbank). Die Anleitung ist sowohl für die Installation auf einem Wechseldatenträger, zum Beispiel einem USB-Stick, als auch auf einem internen Laufwerk anwendbar. Nach der Grundinstallation ist FHEM zum Ausprobieren, Experimentieren und/oder den portablen Einsatz eingerichtet. Bei Installation auf einem internen Laufwerk ist die abschließend dargestellte Einrichtung von FHEM als Dienst und damit der dauerhafte Betrieb als Hausautomations-Server unter Windows möglich.


==Grundinstallation==
==Grundinstallation==
===Installation FHEM===
===Installation FHEM===
Das aktuelle [https://fhem.de/#Download fhem-X.Y.zip Paket] (momentan fhem-5.9.zip) herunterladen.
Das aktuelle [https://fhem.de/#Download fhem-X.Y.zip Paket] (momentan fhem-6.4.zip) herunterladen.


Einen neuen Ordner für FHEM anlegen. Für diesen Artikel wurde der Ordner <code>f:\my-fhem</code> angelegt.
Einen neuen Ordner für FHEM anlegen. Für diesen Artikel wurde der Ordner <code>f:\my-fhem</code> angelegt.


Den gesamten Inhalt des Ordners <code>fhem-5.9\fhem-5.9</code> aus dem .zip-Paket nach <code>f:\my-fhem</code> entpacken.  
Den gesamten Inhalt des Ordners <code>fhem-6.4\fhem-6.4</code> aus dem .zip-Paket nach <code>f:\my-fhem</code> entpacken.  


''Zur Kontrolle:'' In <code>f:\my-fhem</code> befindet sich anschließend unter anderem die Datei <code>fhem.pl</code>.
''Zur Kontrolle:'' In <code>f:\my-fhem</code> befindet sich anschließend unter anderem die Datei <code>fhem.pl</code>.
Zeile 14: Zeile 15:
Eine aktuelle [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] herunterladen und im Ordner von FHEM entpacken.  
Eine aktuelle [http://strawberryperl.com/releases.html Strawberry Perl Portable Edition] herunterladen und im Ordner von FHEM entpacken.  


Hier wurde der Inhalt des Pakets "strawberry-perl-5.24.1.1-32bit-portable.zip" nach <code>f:\my-fhem</code> entpackt.  
Hier wurde der Inhalt des Pakets "strawberry-perl-5.42.0.1-64bit-portable.zip" nach <code>f:\my-fhem</code> entpackt.  


''Zur Kontrolle:'' In <code>f:\my-fhem</code> existiert anschließend unter anderem ein zusätzlicher Ordner <code>perl</code>.
''Zur Kontrolle:'' In <code>f:\my-fhem</code> existiert anschließend unter anderem ein zusätzlicher Ordner <code>perl</code>.


===Start von FHEM===
===Start von FHEM===
Eine Eingabeaufforderung (cmd) in Windows öffnen, in den zuvor angelegten Ordner wechseln und FHEM starten:
Eine Eingabeaufforderung (cmd) in Windows öffnen, in den zuvor angelegten Ordner wechseln, portableshell.bat aufrufen und anschließend FHEM starten:


<syntaxhighlight lang="doscon">
<syntaxhighlight lang="doscon">
C:\> cd f:\my-fhem
C:\> cd f:\my-fhem
F:\my-fhem> perl\bin\perl fhem.pl fhem.cfg
F:\my-fhem> portableshell.bat
F:\my-fhem> perl fhem.pl fhem.cfg
</syntaxhighlight>
</syntaxhighlight>


Zeile 61: Zeile 63:


==Installations-Optionen==
==Installations-Optionen==
===Installation Win32::SerialPort===
{{Hinweis|Bei den seit 12/2018 veröffentlichten Strawberry Perl Portable Versionen gehört Win32::SerialPort zu den standardmäßig installierten Modulen (siehe jeweils in Release Notes zu Strawberry Perl - List of distributions installed on top of Perl). Dieser Abschnitt ist bei diesen Versionen überflüssig.}}
Für die meisten USB-Gateways (CUL, Z-Wave, EnOcean,..) wird das Modul Win32::SerialPort benötigt. Das Modul sollte erst nach erfolgreicher Windows-Treiberinstallation für das Gateway installiert werden. Zur Modulinstallation sind folgende Befehle in der Eingabeaufforderung von Windows abzusetzen:
<syntaxhighlight lang="doscon">
F:\my-fhem> PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%
F:\my-fhem> perl\bin\cpan -i Win32::SerialPort
</syntaxhighlight>
===Installation von FHEM als Dienst===
===Installation von FHEM als Dienst===
''Hinweis:'' Die Einrichtung von FHEM als Dienst erfordert einen automatisch im folgenden Installationsprozeß erstellten Eintrag in der Registrierungsdatenbank.
''Hinweis:'' Die Einrichtung von FHEM als Dienst erfordert einen automatisch im folgenden Installationsprozeß erstellten Eintrag in der Registrierungsdatenbank.
Zeile 75: Zeile 68:
FHEM durch Eingabe von <code>shutdown</code> im Befehls-Eingabefeld beenden.  
FHEM durch Eingabe von <code>shutdown</code> im Befehls-Eingabefeld beenden.  


Eine Eingabeaufforderung öffnen und fehlende Perl-Module durch folgende Befehle installieren:
Eine Eingabeaufforderung als Administrator öffnen und die PATH Umgebungsvariable für Perl erweitern, FHEM als Dienst installieren sowie den Dienst starten:
 
<syntaxhighlight lang="doscon">
<syntaxhighlight lang="doscon">
F:\my-fhem> PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%
F:\my-fhem> PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%
F:\my-fhem> perl\bin\cpan -i Win32::Daemon
F:\my-fhem> powershell -NoProfile -Command ^
F:\my-fhem> perl\bin\cpan -i Win32::Console
  "$new = 'C:\my-fhem\perl\site\bin;C:\my-fhem\perl\bin;C:\my-fhem\c\bin';" ^
  "$machine = [Environment]::GetEnvironmentVariable('Path','Machine');" ^
  "if(-not $machine){ $machine = '' };" ^
  "$parts = ($machine.Split(';') | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne '' }) + ($new.Split(';') | ForEach-Object { $_.Trim() });" ^
  "$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;" ^
  "$final = $uniq -join ';';" ^
  "[Environment]::SetEnvironmentVariable('Path',$final,'Machine');" ^
  "Write-Output 'PATH updated';"
F:\my-fhem> perl fhem.pl fhem.cfg -i
F:\my-fhem> net start fhem
</syntaxhighlight>
</syntaxhighlight>
Eine Eingabeaufforderung als Administrator öffnen und FHEM als Dienst einrichten:
<syntaxhighlight lang="doscon">F:\my-fhem> perl\bin\perl fhem.pl fhem.cfg -i</syntaxhighlight>


Im Windows-Verwaltungswerkzeug "Dienste" wird der FHEM-Dienst nach erfolgreicher Einrichtung mit dem Namen "fhem server" aufgeführt. FHEM startet nach Installation als Dienst beim Windows-Start unsichtbar (ohne offene Eingabeaufforderung) im Hintergrund.  
Im Windows-Verwaltungswerkzeug "Dienste" wird der FHEM-Dienst nach erfolgreicher Einrichtung mit dem Namen "fhem server" aufgeführt. FHEM startet nach Installation als Dienst beim Windows-Start unsichtbar (ohne offene Eingabeaufforderung) im Hintergrund.  

Aktuelle Version vom 20. Dezember 2025, 18:22 Uhr


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


FHEM Installation Windows beschreibt die Installation von FHEM als portable Software für Windows (keine Eingriffe in die Registrierungsdatenbank). Die Anleitung ist sowohl für die Installation auf einem Wechseldatenträger, zum Beispiel einem USB-Stick, als auch auf einem internen Laufwerk anwendbar. Nach der Grundinstallation ist FHEM zum Ausprobieren, Experimentieren und/oder den portablen Einsatz eingerichtet. Bei Installation auf einem internen Laufwerk ist die abschließend dargestellte Einrichtung von FHEM als Dienst und damit der dauerhafte Betrieb als Hausautomations-Server unter Windows möglich.

Grundinstallation

Installation FHEM

Das aktuelle fhem-X.Y.zip Paket (momentan fhem-6.4.zip) herunterladen.

Einen neuen Ordner für FHEM anlegen. Für diesen Artikel wurde der Ordner f:\my-fhem angelegt.

Den gesamten Inhalt des Ordners fhem-6.4\fhem-6.4 aus dem .zip-Paket nach f:\my-fhem entpacken.

Zur Kontrolle: In f:\my-fhem befindet sich anschließend unter anderem die Datei fhem.pl.

Installation Perl

Eine aktuelle Strawberry Perl Portable Edition herunterladen und im Ordner von FHEM entpacken.

Hier wurde der Inhalt des Pakets "strawberry-perl-5.42.0.1-64bit-portable.zip" nach f:\my-fhem entpackt.

Zur Kontrolle: In f:\my-fhem existiert anschließend unter anderem ein zusätzlicher Ordner perl.

Start von FHEM

Eine Eingabeaufforderung (cmd) in Windows öffnen, in den zuvor angelegten Ordner wechseln, portableshell.bat aufrufen und anschließend FHEM starten:

C:\> cd f:\my-fhem
F:\my-fhem> portableshell.bat
F:\my-fhem> perl fhem.pl fhem.cfg

Jetzt erscheint ein Windows-Sicherheitshinweis, dass die Windows-Firewall den Perl Interpreter blockiert. Für den Zugriff auf FHEM muss eine Firewall-Ausnahme eingerichtet werden. Hierzu ist der Sicherheitshinweis mit dem Button Zugriff zulassen zu beenden.

Hinweis: In der Eingabeaufforderung erscheint keine Rückmeldung und das Programm beendet sich nicht. Die Eingabeaufforderung darf nicht geschlossen werden, so lange FHEM läuft.

Aufruf des FHEM-Webinterfaces (FHEMWEB)

Einen Browser öffnen (Firefox, Chrome und Safari werden empfohlen) und FHEM unter folgender Adresse aufrufen:

http://localhost:8083/fhem

Es öffnet sich die FHEM-Hauptseite:

ErsteSchritteInFhem01.png

Update von FHEM

FHEM wird kontinuierlich weiterentwickelt. Daher sollte direkt ein Update auf den aktuellen Entwicklungsstand durchgeführt werden.

Im Befehls-Eingabefeld von FHEM, das ist das weiße, rechteckige Texteingabefeld rechts neben dem FHEM-Logo, den Befehl

update

eingeben und mit Enter abschließen.

Es beginnt der Update-Prozeß, der eine Weile dauern kann. Den Fortschritt zeigt FHEM an. Am Ende des Update-Prozesses fordert FHEM zu einem "shutdown restart" auf. Dies bitte ignorieren und im Befehls-Eingabefeld nur

shutdown

gefolgt von Enter zum Beenden von FHEM eingeben.

Nun wieder zum Fenster der Eingabeaufforderung wechseln. Das aktualisierte FHEM erneut starten; beispielsweise durch Pfeil hoch gefolgt von Enter oder erneute Eingabe von

F:\my-fhem> perl\bin\perl fhem.pl fhem.cfg

Hiermit ist die Installation von FHEM bereits grundlegend abgeschlossen und Erste Schritte in FHEM lädt zum Ausprobieren ein.

Installations-Optionen

Installation von FHEM als Dienst

Hinweis: Die Einrichtung von FHEM als Dienst erfordert einen automatisch im folgenden Installationsprozeß erstellten Eintrag in der Registrierungsdatenbank.

FHEM durch Eingabe von shutdown im Befehls-Eingabefeld beenden.

Eine Eingabeaufforderung als Administrator öffnen und die PATH Umgebungsvariable für Perl erweitern, FHEM als Dienst installieren sowie den Dienst starten:

F:\my-fhem> PATH=F:\my-fhem\c\bin;F:\my-fhem\perl\bin;%PATH%
F:\my-fhem> powershell -NoProfile -Command ^
  "$new = 'C:\my-fhem\perl\site\bin;C:\my-fhem\perl\bin;C:\my-fhem\c\bin';" ^
  "$machine = [Environment]::GetEnvironmentVariable('Path','Machine');" ^
  "if(-not $machine){ $machine = '' };" ^
  "$parts = ($machine.Split(';') | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne '' }) + ($new.Split(';') | ForEach-Object { $_.Trim() });" ^
  "$uniq = $parts | Where-Object { $_ } | Select-Object -Unique;" ^
  "$final = $uniq -join ';';" ^
  "[Environment]::SetEnvironmentVariable('Path',$final,'Machine');" ^
  "Write-Output 'PATH updated';"
F:\my-fhem> perl fhem.pl fhem.cfg -i
F:\my-fhem> net start fhem

Im Windows-Verwaltungswerkzeug "Dienste" wird der FHEM-Dienst nach erfolgreicher Einrichtung mit dem Namen "fhem server" aufgeführt. FHEM startet nach Installation als Dienst beim Windows-Start unsichtbar (ohne offene Eingabeaufforderung) im Hintergrund.

Anders als beim Start von FHEM über die Eingabeaufforderung kann bei FHEM als Dienst nach einem update der Befehl shutdown restart erfolgreich ausgeführt werden.

Wie geht es weiter?

Erste Schritte in FHEM