HM-CFG-USB USB Konfigurations-Adapter: Unterschied zwischen den Versionen
Rince (Diskussion | Beiträge) (Hinzugefügt: alternative Einrichtung, hmland ins fhem Startskript) |
Rince (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
Zeile 85: | Zeile 85: | ||
=== Alternative Einrichtung, Start über fhem Startskript === | === Alternative Einrichtung, Start über fhem Startskript === | ||
BITTE IM MOMENT NICHT NACHMACHEN, DA IST NOCH EIN FEHLER DRIN | |||
Ausprobiert auf einem BBB mit Debian, eigentlich ist das alles von Betateilchen: | Ausprobiert auf einem BBB mit Debian, eigentlich ist das alles von Betateilchen: | ||
Version vom 14. Mai 2014, 14:06 Uhr
Der HomeMatic USB Konfigurations-Adapter ist ein USB-Stick, der außer zur Konfiguration von HomeMatic Komponenten auch als Interface zwischen Fhem und HomeMatic Geräten benutzt werden kann.
Einbindung in FHEM
Im FHEM-Forum wird das Thema diskutiert unter dem Titel HomeMatic USB Konfigurations-Adapter (HM-CFG-USB) in Fhem nutzen. Teile der Informationen sind hier zusammengefasst.
Einrichtung unter Linux
Es gibt einen gut funktionierenden Dämon, um den USB Stick mit FHEM zum Laufen zu bekommen. Dabei wird zuerst der Dämon hmland installiert und danach das Gerät (üblicherweise auf localhost) genau wie HMLAN in FHEM eingebunden.
Zunächst muss der Dämon compiliert werden. Analog zu dieser Beschreibung ist die Vorgehensweise die folgende (in Debian/Ubuntu/Raspbian):
cd /opt/ apt-get install build-essentials libusb-1.0-0-dev make gcc git-core git clone git://git.zerfleddert.de/hmcfgusb cd hmcfgusb make
(Unter Debian ist "build-essentials" nicht als Paket vorhanden, dieser Schritt kann entfallen.)
Danach kann der Dienst zu Testzwecken gestartet werden (in /opt/hmcfgusb):
./hmland -p 1234 -D
Um den Dämon nach einem Neustart automatisiert zu starten, kann ein init-script wie das Folgende verwendet werden:
# simple init for hmland pidfile=/var/run/hmland.pid port=1234 case "$1" in start|"") chrt 50 /opt/hmcfgusb/hmland -r 03:30 -d -P -l 127.0.0.1 -p $port 2>&1 | perl -ne '$|=1; print localtime . ": [hmland] $_"' >> /var/log/hmland.log & ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) killall hmland ;; status) if [ ! -e $pidfile ]; then echo "No pid" exit 1 fi pid=`cat $pidfile` if kill -0 $pid &>1 > /dev/null; then echo "Running" exit 0 else rm $pidfile echo "Not running" exit 1 fi ;; *) echo "Usage: hmland [start|stop|status]" >&2 exit 3 ;; esac
Bei Distributionen, die Upstart einsetzen (z.B. xbian) kann folgendes Konfigurationsfile verwendet werden:
# HMLAND description "hmland" start on starting fhem stop on stopped fhem respawn expect fork chdir /opt/hmcfgusb exec /opt/hmcfgusb/hmland -d -l 127.0.0.1 -p 1234
Die Datei sollte als "/etc/init/hmland.conf" angelegt werden. Mit dem Befehl
initctl reload-configuration
wird Upstart angewiesen, seine Konfiguration erneut einzulesen. Danach kann der neue Dienst mit
service hmland start
gestartet werden. hmland
wird jetzt immer vor FHEM gestartet und nach FHEM beendet.
Alternative Einrichtung, Start über fhem Startskript
BITTE IM MOMENT NICHT NACHMACHEN, DA IST NOCH EIN FEHLER DRIN
Ausprobiert auf einem BBB mit Debian, eigentlich ist das alles von Betateilchen:
Zunächst hmland kompilieren wie oben beschrieben, bis zum make. Das muss erfolgreich durchgelaufen sein.
Dann geht es weiter:
sudo cp hmcfgusb.rules /etc/udev/rules.d/
Jetzt das fhem Startskript anpassen (in den Blöcken 'start' und 'stop' muss quasi nur jeweils 1 Zeile eingefügt werden:
Damit editiert man das fhem Startskript:
sudo nano /etc/init.d/fhem
Und so sollten die Blöcke anschließend aussehen (bitte nur jeweils die Zeile mit hmland einfügen)
'start') echo "Starting fhem..." /opt/hmcfgusb/hmland -d -p 1234 perl fhem.pl fhem.cfg RETVAL=$? ;;
'stop') echo "Stopping fhem..." perl fhem.pl $port "shutdown" RETVAL=$? pkill hmland
So wird hmland vor fhem gestartet und nach fhem beendet. Letztlich erspart es das Hantieren mit den diversen Startskripten und ihren Rechten.
Einrichtung unter Windows
< Todo >
Bekannte Probleme
Raspberry Pi
Der USB-Stack am Raspberry Pi ist für viele Probleme verantwortlich. Daher sieht man öfter Fehlermeldungen:
usb-transfer took more than 100ms (1039ms), this may lead to timing problems!
Da das Timing bei Homematic wichtig ist führt das zu vielen Retransmits und zu unzuverlässigen Aktoren. Als Workaround kann man den USB-Stack auf die deutlich langsamere Version 1.1 stellen. Dazu fügt man folgenden Text am Anfang der Datei /boot/cmdline.txt ein:
dwc_otg.speed=1
Weitergehende Informationen
Es sind zwei Versionen des HM-CFG-USB im Umlauf:
- HM-CFG-USB-2: die aktuelle Version; Dokumentation derzeit (12/2013) nicht über die ELV-Artikelseite verfügbar, alternativ jedoch bei Völkner; Kennzeichen dieser Version:
- Größe: 28 x 84 x 11,5 mm
- Gewicht: 18 g
- Antenne innenliegend
- HM-CFG-USB: Vorgängerversion; Stand 12/2013 noch Restbestände im Handel verfügbar. Dokumentation (Völkner); Kennzeichen:
- Anschluss per separatem USB-Kabel
- abstehende Stabantenne
- Größe: 40 x 90 x 25 mm
- Gewicht: 45 g