Qnap NAS: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „= Installation von FHEM auf einem QNAP NAS = Diese Anleitung beschreibt detailiert, wie FHEM auf einer QNAP Turbo Station TS-109 II pro installiert werden kann…“) |
Maista (Diskussion | Beiträge) |
||
(10 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Randnotiz|RNTyp=Info|RNText=Ergänzungen und Aktualisierungen in {{Link2Forum|Topic=60300}} bitte beachten!}} | |||
= Installation von FHEM auf einem QNAP NAS = | = Installation von FHEM auf einem QNAP NAS = | ||
Diese Anleitung beschreibt detailiert, wie FHEM auf einer | Diese Anleitung beschreibt detailiert, wie FHEM auf einer | ||
Zeile 21: | Zeile 22: | ||
Über die NAS Web-Administration kann das Optware IPKG Paket | Über die NAS Web-Administration kann das Optware IPKG Paket | ||
Optware_0.99.163_arm-x09.qpkg Installiert werden. | Optware_0.99.163_arm-x09.qpkg Installiert werden. | ||
In dem Paket für die TS-109 sind leider einige Fehler enthalten, | In dem Paket für die TS-109 sind leider einige Fehler enthalten, die | ||
im folgenden korrigiert werden. Diese und alle weiteren Eingaben | im folgenden korrigiert werden. Diese und alle weiteren Eingaben | ||
sind auf der [[Kommandozeilentools]] durchzuführen. | sind auf der [[Kommandozeilentools|Kommandozeile]] durchzuführen. | ||
== Anpassen der ipkg Konfiguration == | == Anpassen der ipkg Konfiguration == | ||
=== Namen der Konfigurationsfiles korrigieren === | === Namen der Konfigurationsfiles korrigieren === | ||
<nowiki># cd /share/HDA_DATA/.qpkg/Optware/etc/ipkg | <nowiki># cd /share/HDA_DATA/.qpkg/Optware/etc/ipkg | ||
# mv tsx19-kmod.conf tsx09-kmod.conf | # mv tsx19-kmod.conf tsx09-kmod.conf | ||
# mv tsx19.conf tsx09.conf</nowiki> | # mv tsx19.conf tsx09.conf</nowiki> | ||
=== Repository für ipkg Pakete korrigieren === | === Repository für ipkg Pakete korrigieren === | ||
<nowiki># vi tsx09-kmod.conf | <nowiki># vi tsx09-kmod.conf | ||
Ändern von | Ändern von | ||
src tsx19 http://ipkg.nslu2-linux.org/feeds/optware/tsx19/cross/unstable | src tsx19 http://ipkg.nslu2-linux.org/feeds/optware/tsx19/cross/unstable | ||
in | in | ||
src tsx09 http://ipkg.nslu2-linux.org/feeds/optware/tsx09/cross/stable</nowiki> | src tsx09 http://ipkg.nslu2-linux.org/feeds/optware/tsx09/cross/stable</nowiki> | ||
=== Repository für die ipkg Kernel Module korrigieren === | === Repository für die ipkg Kernel Module korrigieren === | ||
<nowiki># vi tsx09.conf | <nowiki># vi tsx09.conf | ||
Ändern von | Ändern von | ||
src cs08q1armel http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable | src cs08q1armel http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable | ||
in | in | ||
src cs05q3armel http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/unstable</nowiki> | src cs05q3armel http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/unstable</nowiki> | ||
=== Zusätzliches Installationsziel für ipkg in die Config aufnehmen === | === Zusätzliches Installationsziel für ipkg in die Config aufnehmen === | ||
Die Kernel Module werden sonst nach /lib/modules installiert, und das wird bei jedem reboot überschrieben. Also müssen sie explizit nach /opt/lib/modules installiert werden. | Die Kernel Module werden sonst nach /lib/modules installiert, und das wird bei jedem reboot überschrieben. Also müssen sie explizit nach /opt/lib/modules installiert werden. | ||
<nowiki># cd /share/HDA_DATA/.qpkg/Optware/etc | <nowiki># cd /share/HDA_DATA/.qpkg/Optware/etc | ||
# vi ipkg.conf | # vi ipkg.conf | ||
Hinzufügen von | Hinzufügen von | ||
dest opt /opt</nowiki> | dest opt /opt</nowiki> | ||
=== Anpassen des Paketnamens === | === Anpassen des Paketnamens === | ||
Es muss überall Optware-ipkg heissen. | Es muss überall Optware-ipkg heissen. | ||
<nowiki># cd /share/HDA_DATA/.qpkg/Optware | <nowiki># cd /share/HDA_DATA/.qpkg/Optware | ||
# mv Optware.sh Optware-ipkg.sh | # mv Optware.sh Optware-ipkg.sh | ||
# vi Optware-ipkg.sh | # vi Optware-ipkg.sh | ||
Ändern von | Ändern von | ||
QPKG_NAME=“Optware“ | QPKG_NAME=“Optware“ | ||
in | in | ||
QPKG_NAME=“Optware-ipkg“</nowiki> | QPKG_NAME=“Optware-ipkg“</nowiki> | ||
=== Optware „mounten“ === | === Optware „mounten“ === | ||
<nowiki># /share/HDA_DATA/.qpkg/Optware/Optware-ipkg.sh restart</nowiki> | <nowiki># /share/HDA_DATA/.qpkg/Optware/Optware-ipkg.sh restart</nowiki> | ||
= Zusätzliche Software installieren = | = Zusätzliche Software installieren = | ||
Nun können die für FHEM benötigten Pakete per ipkg installiert werden. | Nun können die für FHEM benötigten Pakete per ipkg installiert werden. | ||
Zeile 79: | Zeile 81: | ||
<nowiki># ipkg -d opt install ts209-kernel-module-usbserial | <nowiki># ipkg -d opt install ts209-kernel-module-usbserial | ||
# ipkg install -d opt ts209-kernel-module-ftdi-sio | # ipkg install -d opt ts209-kernel-module-ftdi-sio | ||
# ipkg install -d opt ts209-kernel-module-pl2303 | # ipkg install -d opt ts209-kernel-module-pl2303 | ||
# ipkg install libusb</nowiki> | # ipkg install libusb</nowiki> | ||
=== Kernel Module linken === | === Kernel Module linken === | ||
<nowiki># ln -s /opt/lib/modules/2.6.12.6-arm1/kernel /lib/modules</nowiki> | <nowiki># ln -s /opt/lib/modules/2.6.12.6-arm1/kernel /lib/modules</nowiki> | ||
=== Module laden mit Vendor und Product ID für CUL === | === Module laden mit Vendor und Product ID für CUL === | ||
<nowiki># insmod /lib/modules/kernel/drivers/usb/serial/usbserial.ko vendor=0x03eb product=0x204b | <nowiki># insmod /lib/modules/kernel/drivers/usb/serial/usbserial.ko vendor=0x03eb product=0x204b | ||
# insmod /lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko | # insmod /lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko | ||
# insmod /lib/modules/kernel/drivers/usb/serial/pl2303.ko</nowiki> | # insmod /lib/modules/kernel/drivers/usb/serial/pl2303.ko</nowiki> | ||
Nun kann man den CUL anstöpseln und prüfen, ob er erkannt wurde | Nun kann man den CUL anstöpseln und prüfen, ob er erkannt wurde | ||
<nowiki># cd /usr/local/share # hier liegt usb.ids | <nowiki># cd /usr/local/share # hier liegt usb.ids | ||
# lsusb | # lsusb | ||
Sollte u.A. folgendes ausgeben ... | Sollte u.A. folgendes ausgeben ... | ||
ID 03eb:204b Atmel Corp. | ID 03eb:204b Atmel Corp. | ||
# dmesg | # dmesg | ||
Sollte folgendes ausgeben ... | Sollte folgendes ausgeben ... | ||
usbserial_generic 2-1.4:1.1 Generic converter detected | usbserial_generic 2-1.4:1.1 Generic converter detected | ||
usb 2-1.4: Generic converter now attached to ttyUSB0</nowiki> | usb 2-1.4: Generic converter now attached to ttyUSB0</nowiki> | ||
== Benötigte Pakete für | == Benötigte Pakete für FHEM installieren == | ||
<nowiki># ipkg install perl perl-device-serialport | <nowiki># ipkg install perl perl-device-serialport | ||
# ipkg install make # für die fhem Installation | # ipkg install make # für die fhem Installation | ||
# ipkg install gcc # richtige libgcc für perl | # ipkg install gcc # richtige libgcc für perl | ||
# ipkg install gnuplot # optional, falls lediglich plotmode SVG verwendet</nowiki> | # ipkg install gnuplot # optional, falls lediglich plotmode SVG verwendet</nowiki> | ||
= FHEM | = FHEM installieren = | ||
FHEM am PC downloaden und in ein QNAP Public Verzeichnis auspacken z.B. | |||
<nowiki>/share/HDA_DATA/Public/TS109/fhem-4.8</nowiki> | <nowiki>/share/HDA_DATA/Public/TS109/fhem-4.8</nowiki> | ||
== Ins Download | == Ins Download Verzeichnis wechseln == | ||
<nowiki># cd /share/HDA_DATA/Public/TS109/fhem-4.8</nowiki> | <nowiki># cd /share/HDA_DATA/Public/TS109/fhem-4.8</nowiki> | ||
== Pfade im Makefile auf /opt/ .... ändern == | == Pfade im Makefile auf /opt/ .... ändern == | ||
<nowiki># vi Makefile | <nowiki># vi Makefile | ||
BINDIR=/opt/bin | BINDIR=/opt/bin | ||
MODDIR=/opt/lib | MODDIR=/opt/lib | ||
VARDIR=/opt/var/log/fhem</nowiki> | VARDIR=/opt/var/log/fhem</nowiki> | ||
== | == Logverzeichnis anlegen == | ||
Dieses | Dieses Verzeichnis wird später auf einen Speicherstick ausgelagert. | ||
<nowiki># mkdir -p /opt/var/log/fhem</nowiki> | <nowiki># mkdir -p /opt/var/log/fhem</nowiki> | ||
== Installieren == | == Installieren == | ||
<nowiki># make install-pgm2</nowiki> | <nowiki># make install-pgm2</nowiki> | ||
== Pfad von | == Pfad von Perl in fhem.pl anpassen == | ||
<nowiki># vi /opt/bin/fhem.pl | <nowiki># vi /opt/bin/fhem.pl | ||
#!/opt/bin/perl</nowiki> | #!/opt/bin/perl</nowiki> | ||
== | == Configfile nach /opt/etc kopieren und editieren == | ||
<nowiki># cp /opt/var/log/fhem/fhem.cfg /opt/etc/fhem.cfg | <nowiki># cp /opt/var/log/fhem/fhem.cfg /opt/etc/fhem.cfg | ||
#vi /opt/etc/fhem.cfg | #vi /opt/etc/fhem.cfg | ||
attr global logfile /opt/var/log/fhem/fhem-%Y-%V.log | attr global logfile /opt/var/log/fhem/fhem-%Y-%V.log | ||
attr global statefile /opt/var/log/fhem/fhem.savestate | attr global statefile /opt/var/log/fhem/fhem.savestate | ||
define CUL CUL /dev/usb/ttyUSB0 <Hauscode></nowiki> | define CUL CUL /dev/usb/ttyUSB0 <Hauscode></nowiki> | ||
== Probeweise starten == | == Probeweise starten == | ||
<nowiki># /opt/bin/fhem.pl /opt/etc/fhem.cfg</nowiki> | <nowiki># /opt/bin/fhem.pl /opt/etc/fhem.cfg</nowiki> | ||
Zeile 134: | Zeile 136: | ||
<nowiki># killall fhem.pl</nowiki> | <nowiki># killall fhem.pl</nowiki> | ||
= Logfiles auf USB-Stick auslagern = | = Logfiles auf USB-Stick auslagern = | ||
== Stick | == Stick einstecken und prüfen, wo er gemounted wurde == | ||
<nowiki># mount|grep vfat | <nowiki># mount|grep vfat | ||
/dev/sdu on /share/external/sdu type vfat</nowiki> | /dev/sdu on /share/external/sdu type vfat</nowiki> | ||
== Lokale Logfiles verschieben und verlinken == | == Lokale Logfiles verschieben und verlinken == | ||
<nowiki># cd /opt/var/log | <nowiki># cd /opt/var/log | ||
# cp -r fhem /share/external/sdu | # cp -r fhem /share/external/sdu | ||
# mv fhem fhem.local | # mv fhem fhem.local | ||
# ln -s /share/external/sdu/fhem</nowiki> | # ln -s /share/external/sdu/fhem</nowiki> | ||
= Autostart und Stop einrichten = | = Autostart und Stop einrichten = | ||
== Startskript anlegen == | == Startskript anlegen == | ||
# vi /share/HDA_DATA/.qpkg/Optware/optstart.sh | |||
< | |||
<pre>#!/bin/sh | |||
# wait for optware init | # wait for optware init | ||
while ( test -z "$(grep /opt/bin /etc/profile)" ); do sleep 10; done | while ( test -z "$(grep /opt/bin /etc/profile)" ); do sleep 10; done | ||
Zeile 170: | Zeile 173: | ||
 ;; |  ;; | ||
esac | esac | ||
done</ | done</pre> | ||
=== Startskript ausführbar machen === | === Startskript ausführbar machen === | ||
# chmod a+x optstart.sh | |||
== Und noch einmal als | |||
== Und noch einmal als Stop-Skript mit kleinen Änderungen == | |||
# chmod a+x optstop.sh | # cp optstart.sh optstop.sh | ||
< | # chmod a+x optstop.sh | ||
<pre>#!/bin/sh | |||
# Execute all kill scripts in /opt/etc/init.d | # Execute all kill scripts in /opt/etc/init.d | ||
# executing them in numerical order. | # executing them in numerical order. | ||
Zeile 197: | Zeile 202: | ||
 ;; |  ;; | ||
esac | esac | ||
done</ | done</pre> | ||
== Start- und | |||
== Start- und Stop-Skript aus Optware-ipkg.sh heraus aufrufen == | |||
<nowiki># cd /etc/init.d | <nowiki># cd /etc/init.d | ||
# vi Optware-ipkg.sh | # vi Optware-ipkg.sh | ||
Die Sektion in start/stop folgendermassen anpassen | Die Sektion in start/stop folgendermassen anpassen | ||
case "$1" in | case "$1" in | ||
start) | |||
/bin/echo "Enable Optware/ipkg" | |||
# sym-link $QPKG_DIR to /opt | |||
/bin/rm -rf /opt | |||
/bin/ln -sf $QPKG_DIR /opt | |||
# adding Ipkg apps into system path ... | |||
/bin/cat /etc/profile | /bin/grep "PATH" | /bin/grep "/opt/bin" \ | |||
1>>/dev/null 2>>/dev/null | |||
[ $? -ne 0 ] && /bin/echo "export PATH=$PATH":/opt/bin:/opt/sbin \ | |||
>> /etc/profile | |||
if [ -x /opt/optstart.sh ]; then | |||
/opt/optstart.sh | |||
fi | |||
 ;; | |||
stop) | |||
/bin/echo "Disable Optware/ipkg" | |||
if [ -x /opt/optstop.sh ]; then | |||
/opt/optstop.sh | |||
fi | |||
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin | |||
/bin/sync | |||
/bin/sleep 1 | |||
 ;;</nowiki> | |||
== FHEM Init-Skript anlegen == | |||
<nowiki># cp /share/HDA_DATA/Public/TS109/fhem-4.8/contrib/init-skripts/fhem.2 \ | |||
/opt/etc/init.s/init_fhem | |||
# vi /opt/etc/init.d/init_fhem | |||
#!/bin/sh | |||
# by Matthias Bauer | |||
case "$1" in | |||
start) | |||
echo "Starting $0" | |||
/opt/bin/fhem.pl /opt/etc/fhem.cfg | |||
 ;; | |||
stop) | |||
echo "Stopping $0" | |||
/opt/bin/fhem.pl 7072 shutdown | |||
 ;; | |||
status) | |||
cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l` | |||
if [ "$cnt" -eq "0" ] ; then | |||
echo "$0 is not running" | |||
else | |||
echo "$0 is running" | |||
fi | fi | ||
 ;; |  ;; | ||
*) | |||
echo "Usage: $0 {start|stop|status}" | |||
exit 1 | |||
esac | |||
exit 0</nowiki> | |||
esac | |||
exit 0</nowiki> | |||
=== Ausführbar machen und Links anlegen === | === Ausführbar machen und Links anlegen === | ||
<nowiki># chmod u+x init_fhem | <nowiki># chmod u+x init_fhem | ||
# ln -s init_fhem S30fhem | # ln -s init_fhem S30fhem | ||
# ln -s init_fhem K10fhem</nowiki> | # ln -s init_fhem K10fhem</nowiki> | ||
== Startskript zum Laden der | == Startskript zum Laden der USB-Serial Kernel Module anlegen == | ||
<nowiki># vi S01kernel-modules | <nowiki># vi S01kernel-modules | ||
#!/bin/sh | #!/bin/sh | ||
ln -s /opt/lib/modules/2.6.12.6-arm1/kernel /lib/modules | ln -s /opt/lib/modules/2.6.12.6-arm1/kernel /lib/modules | ||
insmod /lib/modules/kernel/drivers/usb/serial/usbserial.ko vendor=0x03eb product=0x204b | insmod /lib/modules/kernel/drivers/usb/serial/usbserial.ko vendor=0x03eb product=0x204b | ||
insmod /lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko | insmod /lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko | ||
insmod /lib/modules/kernel/drivers/usb/serial/pl2303.ko</nowiki> | insmod /lib/modules/kernel/drivers/usb/serial/pl2303.ko</nowiki> | ||
=== Ausführbar machen === | === Ausführbar machen === | ||
<nowiki># chmod u+x S01kernel-modules</nowiki> | <nowiki># chmod u+x S01kernel-modules</nowiki> | ||
Zeile 272: | Zeile 278: | ||
TorstenS 06.03.2010 | TorstenS 06.03.2010 | ||
[[Kategorie:HOWTOS]] | |||
[[Kategorie:Server Hardware]] |
Aktuelle Version vom 6. Juni 2021, 21:27 Uhr
Installation von FHEM auf einem QNAP NAS
Diese Anleitung beschreibt detailiert, wie FHEM auf einer QNAP Turbo Station TS-109 II pro installiert werden kann. Im wesentlichen wird die Vorgehensweise auch für weitere QNAP NAS gelten.
Überblick
Die aktuelle QNAP Firmware 3.1.0 Build 0708 unterstützt die Installation von IPKG Paketen. Sämtliche für FHEM benötigte Software ist auf diese Weise verfügbar, so dass die Installation eigentlich sehr einfach vonstatten gehen könnte. Leider hat QNAP an einigen Stellen geschlampt und man muss von Hand etwas nachhelfen. Desweiteren ist Handarbeit gefragt für folgende Zusatzfunktionen
- Auslagerung der FHEM Logfiles auf einen Speicherstick. Somit kann die interne Festplatte weiterhin in den Spin Down gehen.
- Autostart von FHEM bein Booten des NAS
- Geordnetes Runterfahren von FHEM beim Herunterfahren des NAS
Installation des QPKG Paketes Optware IPKG
Über die NAS Web-Administration kann das Optware IPKG Paket Optware_0.99.163_arm-x09.qpkg Installiert werden. In dem Paket für die TS-109 sind leider einige Fehler enthalten, die im folgenden korrigiert werden. Diese und alle weiteren Eingaben sind auf der Kommandozeile durchzuführen.
Anpassen der ipkg Konfiguration
Namen der Konfigurationsfiles korrigieren
# cd /share/HDA_DATA/.qpkg/Optware/etc/ipkg # mv tsx19-kmod.conf tsx09-kmod.conf # mv tsx19.conf tsx09.conf
Repository für ipkg Pakete korrigieren
# vi tsx09-kmod.conf Ändern von src tsx19 http://ipkg.nslu2-linux.org/feeds/optware/tsx19/cross/unstable in src tsx09 http://ipkg.nslu2-linux.org/feeds/optware/tsx09/cross/stable
Repository für die ipkg Kernel Module korrigieren
# vi tsx09.conf Ändern von src cs08q1armel http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable in src cs05q3armel http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/unstable
Zusätzliches Installationsziel für ipkg in die Config aufnehmen
Die Kernel Module werden sonst nach /lib/modules installiert, und das wird bei jedem reboot überschrieben. Also müssen sie explizit nach /opt/lib/modules installiert werden.
# cd /share/HDA_DATA/.qpkg/Optware/etc # vi ipkg.conf Hinzufügen von dest opt /opt
Anpassen des Paketnamens
Es muss überall Optware-ipkg heissen.
# cd /share/HDA_DATA/.qpkg/Optware # mv Optware.sh Optware-ipkg.sh # vi Optware-ipkg.sh Ändern von QPKG_NAME=“Optware“ in QPKG_NAME=“Optware-ipkg“
Optware „mounten“
# /share/HDA_DATA/.qpkg/Optware/Optware-ipkg.sh restart
Zusätzliche Software installieren
Nun können die für FHEM benötigten Pakete per ipkg installiert werden.
Paketliste aktualisieren
# ipkg update
Kernel Module für USB-Serial Hardware
Das usbserial Modul unterstützt diverse USB nach seriell Wandler. Für ein CUL sind keine weiteren Kernel Module nötig. Ein FHT-1000 benötigt zusätzlich des ftdi-sio Modul. Eine Reihe von günstigen USB nach seriell Adapterkabel benutzen den Proliftic PL-2303 Chip. Hierfür ist ebenfalls ein weiteres Modul nötig. Über ein solches Kabel ist dann Beispielsweise ein ELV M232 Modul anzuschliessen. Neben den Kernel Modulen habe ich noch die libusb installiert. Die benötige ich später einmal um einen IOWarrior anzusprechen.
Bei den Kernel Modulen beachten, dass diese nach /opt installiert werden.Sonst sind sie nach dem nächsten Reboot weg.
# ipkg -d opt install ts209-kernel-module-usbserial # ipkg install -d opt ts209-kernel-module-ftdi-sio # ipkg install -d opt ts209-kernel-module-pl2303 # ipkg install libusb
Kernel Module linken
# ln -s /opt/lib/modules/2.6.12.6-arm1/kernel /lib/modules
Module laden mit Vendor und Product ID für CUL
# insmod /lib/modules/kernel/drivers/usb/serial/usbserial.ko vendor=0x03eb product=0x204b # insmod /lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko # insmod /lib/modules/kernel/drivers/usb/serial/pl2303.ko
Nun kann man den CUL anstöpseln und prüfen, ob er erkannt wurde
# cd /usr/local/share # hier liegt usb.ids # lsusb Sollte u.A. folgendes ausgeben ... ID 03eb:204b Atmel Corp. # dmesg Sollte folgendes ausgeben ... usbserial_generic 2-1.4:1.1 Generic converter detected usb 2-1.4: Generic converter now attached to ttyUSB0
Benötigte Pakete für FHEM installieren
# ipkg install perl perl-device-serialport # ipkg install make # für die fhem Installation # ipkg install gcc # richtige libgcc für perl # ipkg install gnuplot # optional, falls lediglich plotmode SVG verwendet
FHEM installieren
FHEM am PC downloaden und in ein QNAP Public Verzeichnis auspacken z.B.
/share/HDA_DATA/Public/TS109/fhem-4.8
Ins Download Verzeichnis wechseln
# cd /share/HDA_DATA/Public/TS109/fhem-4.8
Pfade im Makefile auf /opt/ .... ändern
# vi Makefile BINDIR=/opt/bin MODDIR=/opt/lib VARDIR=/opt/var/log/fhem
Logverzeichnis anlegen
Dieses Verzeichnis wird später auf einen Speicherstick ausgelagert.
# mkdir -p /opt/var/log/fhem
Installieren
# make install-pgm2
Pfad von Perl in fhem.pl anpassen
# vi /opt/bin/fhem.pl #!/opt/bin/perl
Configfile nach /opt/etc kopieren und editieren
# cp /opt/var/log/fhem/fhem.cfg /opt/etc/fhem.cfg #vi /opt/etc/fhem.cfg attr global logfile /opt/var/log/fhem/fhem-%Y-%V.log attr global statefile /opt/var/log/fhem/fhem.savestate define CUL CUL /dev/usb/ttyUSB0 <Hauscode>
Probeweise starten
# /opt/bin/fhem.pl /opt/etc/fhem.cfg
Stoppen
# killall fhem.pl
Logfiles auf USB-Stick auslagern
Stick einstecken und prüfen, wo er gemounted wurde
# mount|grep vfat /dev/sdu on /share/external/sdu type vfat
Lokale Logfiles verschieben und verlinken
# cd /opt/var/log # cp -r fhem /share/external/sdu # mv fhem fhem.local # ln -s /share/external/sdu/fhem
Autostart und Stop einrichten
Startskript anlegen
# vi /share/HDA_DATA/.qpkg/Optware/optstart.sh
#!/bin/sh # wait for optware init while ( test -z "$(grep /opt/bin /etc/profile)" ); do sleep 10; done # get new PATH source /etc/profile # Execute all start scripts in /opt/etc/init.d # executing them in numerical order. # for i in /opt/etc/init.d/S??* ;do # Ignore dangling symlinks (if any). #[ ! -f "$i" ] && continue case "$i" in *.sh) # Source shell script for speed. ( trap - INT QUIT TSTP set start . $i ) ;; *) # No sh extension, so fork subprocess. $i start ;; esac done
Startskript ausführbar machen
# chmod a+x optstart.sh
Und noch einmal als Stop-Skript mit kleinen Änderungen
# cp optstart.sh optstop.sh # chmod a+x optstop.sh
#!/bin/sh # Execute all kill scripts in /opt/etc/init.d # executing them in numerical order. # for i in /opt/etc/init.d/K??* ;do # Ignore dangling symlinks (if any). #[ ! -f "$i" ] && continue case "$i" in *.sh) # Source shell script for speed. ( trap - INT QUIT TSTP set stop . $i ) ;; *) # No sh extension, so fork subprocess. $i stop ;; esac done
Start- und Stop-Skript aus Optware-ipkg.sh heraus aufrufen
# cd /etc/init.d # vi Optware-ipkg.sh Die Sektion in start/stop folgendermassen anpassen case "$1" in start) /bin/echo "Enable Optware/ipkg" # sym-link $QPKG_DIR to /opt /bin/rm -rf /opt /bin/ln -sf $QPKG_DIR /opt # adding Ipkg apps into system path ... /bin/cat /etc/profile | /bin/grep "PATH" | /bin/grep "/opt/bin" \ 1>>/dev/null 2>>/dev/null [ $? -ne 0 ] && /bin/echo "export PATH=$PATH":/opt/bin:/opt/sbin \ >> /etc/profile if [ -x /opt/optstart.sh ]; then /opt/optstart.sh fi ;; stop) /bin/echo "Disable Optware/ipkg" if [ -x /opt/optstop.sh ]; then /opt/optstop.sh fi export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin /bin/sync /bin/sleep 1 ;;
FHEM Init-Skript anlegen
# cp /share/HDA_DATA/Public/TS109/fhem-4.8/contrib/init-skripts/fhem.2 \ /opt/etc/init.s/init_fhem # vi /opt/etc/init.d/init_fhem #!/bin/sh # by Matthias Bauer case "$1" in start) echo "Starting $0" /opt/bin/fhem.pl /opt/etc/fhem.cfg ;; stop) echo "Stopping $0" /opt/bin/fhem.pl 7072 shutdown ;; status) cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l` if [ "$cnt" -eq "0" ] ; then echo "$0 is not running" else echo "$0 is running" fi ;; *) echo "Usage: $0 {start|stop|status}" exit 1 esac exit 0
Ausführbar machen und Links anlegen
# chmod u+x init_fhem # ln -s init_fhem S30fhem # ln -s init_fhem K10fhem
Startskript zum Laden der USB-Serial Kernel Module anlegen
# vi S01kernel-modules #!/bin/sh ln -s /opt/lib/modules/2.6.12.6-arm1/kernel /lib/modules insmod /lib/modules/kernel/drivers/usb/serial/usbserial.ko vendor=0x03eb product=0x204b insmod /lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko insmod /lib/modules/kernel/drivers/usb/serial/pl2303.ko
Ausführbar machen
# chmod u+x S01kernel-modules
Reboot und Test
Viel Spass
TorstenS 06.03.2010