Hallo,
auf der Suche, einen DUOFERNSTICK auf meiner DS zum Laufen zu bekommen, habe ich einiges erstellen/einstellen müssen.
Da ich alles aus unterschiedlichen Quellen zusammensuchen musste, hier eine Zusammenfassung:
erforderliches Perl-Modul "Device::SerialPort":
- hier hat mir der Weg über https://wiki.fhem.de/wiki/Synology_Diskstation (https://wiki.fhem.de/wiki/Synology_Diskstation) mittels iPKGui und anschließendem kopieren der relevanten Dateien in die eigentliche Perl-Installation am besten geholfen.
weitere erforderliche Module:
/lib/modules/usbserial.ko
/lib/modules/ftdi_sio.ko
diese sind bereits auf dem NAS unter /lib/modules/ abgelegt.
ich lasse sie mittels folgendem Start-Script, abgelegt unter "/volume1/@optware/etc/init.d/S99startupUsbserialftdi.sh", laden:
#! /bin/sh
### BEGIN INIT INFO
# Provides: Startup-Script
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: includes modules usbserial.ko and ftdi_sio.ko
# Description: includes modules usbserial.ko and ftdi_sio.ko and changes rights
### END INIT INFO
# Author: no
# Aktionen
case "$1" in
start)
insmod /lib/modules/usbserial.ko
insmod /lib/modules/ftdi_sio.ko
chmod 777 /lib/modules/usbserial.ko
chmod 777 /lib/modules/ftdi_sio.ko
;;
stop)
;;
restart)
;;
esac
exit 0
Damit wird beim Anschluss des USB-Sticks zum Beispiel "/dev/ttyUSB0" angelegt, was DUOFERNSTICK zur Steuerung benötigt.
Hier ist nun noch wichtig, dass der user fhem ausreichende Rechte auf "/dev/ttyUSB0" hat. Das kann man bestimmt irgendwo einstellen,
da meine Linux-Kenntnisse recht mager sind, habe ich einen CronJob "/volume1/FHEM/Scripts/ttyUSBxy.sh" angelegt, der die Rechte setzt, falls notwendig:
#!/bin/bash
#
#
nfile='/dev/ttyUSB0'
#nfile='/dev/ttyS1'
srights='crw-rw-rw-'
nrights='666'
if erg="$(ls -l $nfile)" # existiert etwas mit dem Namen von $file?
then
echo "$nfile existiert"
rights=${erg:0:10}
echo "folgende Rechte: $rights"
if [ "$rights" == "$srights" ]
then
echo "Rechte passen bereits"
else
chmod $nrights $nfile
erg2="$(ls -l $nfile)"
echo "Rechte geändert in: $erg2"
fi
fi
exit 0;
Über eine SSH-Konsole kann man mit folgenden Befehlen alle relevanten Informationen zur Konfiguration des DUOFERNSTICK-Moduls herausfinden:
dmesg | Systemlog beinhaltet die Zuweisung des ttyUSBxy zum USB-Port des NAS |
lsusb | Liste der USB-Ports mit Info zu den angeschlossenen Geräten |
"ls -l /dev/*" oder "ls -l /dev/ttyUSB0" | Abfrage der verfügbaren Schnittstellen und der gesetzten Berechtigungen |
vielleicht hilf es ja dem einen oder anderen Suchenden weiter :-)
Folgende offene Punkte habe ich noch:
- nach einem "shutdown restart" sagt der DUOFERNSTICK zwar noch, dass er eine Verbindung hat, jedoch gehen keine Befehle mehr raus und es wird auch nichts mehr empfangen. Es hilft nur noch ein Neustart des NAS.
- Ersetzen des CronJobs durch eine generelle Berechtigungs-Einstellung für user auf "/dev/ttyUSBxy"
Beste Grüße
Lippie