HM-CFG-USB USB Konfigurations-Adapter: Unterschied zwischen den Versionen

Aus FHEMWiki
Zeile 5: Zeile 5:


=== Einrichtung unter Linux ===
=== Einrichtung unter Linux ===
Es gibt einen gut funktionierenden Daemon um den USB Stick mit Fhem zum laufen zu bekommen. Dabei wird zuerst der [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb hmland] installiert und danach das Gerät (üblicherweise auf localhost) genau wie [[HM-CFG-LAN LAN Konfigurations-Adapter|HMLAN]] in Fhem eingebunden.
Es gibt einen gut funktionierenden Dämon, um den USB Stick mit FHEM zum Laufen zu bekommen. Dabei wird zuerst der Dämon [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb hmland] installiert und danach das Gerät (üblicherweise auf localhost) genau wie [[HM-CFG-LAN LAN Konfigurations-Adapter|HMLAN]] in FHEM eingebunden.


Zunächst muss der Daemon "gebaut" werden. Analog zu [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb dieser Beschreibung] ist die Vorgehensweise die folgende (in Debian/Ubuntu/Raspbian):
Zunächst muss der Dämon compiliert werden. Analog zu [https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb dieser Beschreibung] ist die Vorgehensweise die folgende (in Debian/Ubuntu/Raspbian):
  cd /opt/
  cd /opt/
  apt-get install build-essentials libusb-1.0-0-dev make gcc git-core
  apt-get install build-essentials libusb-1.0-0-dev make gcc git-core
Zeile 14: Zeile 14:
  make
  make


(Unter xbian ist "build-essentials" nicht als Paket vorhanden. Einfach weglassen.)
(Unter Debian ist "build-essentials" nicht als Paket vorhanden, dieser Schritt kann entfallen.)


Danach kann der Dienst zu Testzwecken gestartet werden (in /opt/hmcfgusb):
Danach kann der Dienst zu Testzwecken gestartet werden (in /opt/hmcfgusb):
:<code>./hmland -p 1234 -D</code>
:<code>./hmland -p 1234 -D</code>


Um den Deamon permanent laufen zu lassen, kann ein init script wie das Folgende verwendet werden:
Um den Dämon nach einem Neustart automatisiert zu starten, kann ein init-script wie das Folgende verwendet werden:
<pre>
<pre>
  # simple init for hmland
  # simple init for hmland
Zeile 60: Zeile 60:
</pre>
</pre>


Bei Distributionen die Upstart einsetzen (z.B. xbian) kann folgendes Konfigurationsfile verwendet werden:
Bei Distributionen, die Upstart einsetzen (z.B. xbian) kann folgendes Konfigurationsfile verwendet werden:
<pre>
<pre>
# HMLAND
# HMLAND

Version vom 30. März 2014, 08:46 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.

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

Links