FHEM goes SIRI – Lampen per Sprachsteuerung Ein- und Ausschalten

Categories: FHEM
Comments: No Comments
Published on: 23. November 2015

fhemDer FHEM Server kann jetzt auch mit Siri einige Sprachbefehle verarbeiten. Die Einrichtung ist gar nicht so schwer wie es sich anhört. Ermöglicht wird dies durch die App „EVE„, die durch ein simuliertes Homekit Device, mit dem raspberry kommunizieren kann.

Elgato Eve (AppStore Link) Elgato Eve
Hersteller: Elgato Systems GmbH
Freigabe: 4+
Preis: Gratis Download (Aff.Link)

Die komplette Anleitung ist auch auf meintechblog.de zu lesen. Hier sind auch durch die vielen Kommentare einige hilfreiche Tips und Tricks dabei wenn’s mal irgendwo klemmt 🙂

Weitere Hinweis und Anregungen sind dazu noch unter dem FHEM Wiki Eintrag zu finden.

Es wird eine aktuelle FHEM Installation auf einem raspberry pi, irgendein in FHEM definierter Schalter, ein iPhone und die besagte App gebraucht. Und schon kann’s los gehen 🙂

Auf dem raspberry pi schalten wir uns per ssh auf die Konsole auf. Wir bringen die Paketquellen auf den neusten Stand und installieren die nötigen Softwarepakete

sudo aptget update && sudo aptget y install libavahicompatlibdnssddev

 

Mit dem nächsten Befehl wird NodeJS heruntergeladen und entpackt

wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz -P /tmp && cd /usr/local && sudo tar xzvf /tmp/node-v0.10.28-linux-arm-pi.tar.gz –strip=1

 

Nach erfolgreicher Installation sollte nach Eingabe von

/usr/bin/env node version

ein „v0.10.28“ erscheinen.

 

Das folgende Paket installiert die Homebridge Simulation auf dem pi

cd /home/pi && git clone https://github.com/nfarina/homebridge.git && cd homebridge && sudo npm install

 

Alternativ kann wohl auch mit

npm install -g homebridge

Homebridge installiert werden.

 

Das aktuelle Paket installiert die Software nicht mehr in das /home/pi/homebridge Verzeichnis sondern erwartet die Dateien in /home/pi/.homebridge. Ich habe einfach mit einem FTP Programm .homebridge angelegt und die Dateien aus /homebridge rein kopiert.

 

Jetzt kann die Konfigurationsdatei im /.homebridge Verzeichnis mit

sudo nano ~/.homebridge/config.json

angelegt und folgender Inhalt reinkopiert werden

{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},

„platforms“: [
{
„platform“: „FHEM“,
„name“: „FHEM“,
„server“: „127.0.0.1“,
„port“: „8083“,
„filter“: „room=Homekit“,
„auth“: {„user“: „FHEMUser“, „pass“: „FHEMPass“}
}
],

„accessories“: []
}

Hier ist zu beachten, dass die IP, der Port und die Benutzer Authentifizierung auf das eigene System angepasst werden muss.
Mit

npm install -g git+https://github.com/justme-1968/homebridge-fhem.git

wird noch das Plugin für FHEM installiert.

Mit folgendem Input kann der Dienst gestartet, und bei Bedarf mit einem „stop“ wieder beendet werden

cd ~/homebridge/ && npm run start

Damit Homebridge beim nächsten Reboot automatisch startet:

sudo nano /etc/init.d/homebridge

und mit folgendem Inhalt füllen:

#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for homebridge
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
PID=`pidof homebridge`
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
echo "Homebridge is already running"
else
su - pi -c "homebridge > /dev/null 2>&1 &"
echo "Homebridge starting"
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
echo "Homebridge is not running"
else
kill $PID
echo "Homebridge closed"
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
$0 start
else
$0 stop
$0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
echo "Homebridge is running PID $PID"
else
echo "Homebridge is not running"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0

Mit

sudo chmod 755 /etc/init.de/homebridge

sudo update-rc.d homebridge defaults

werden die nötigen Rechte gesetzt und dem Autostart hinzugefügt.

 

Jetzt kann mit

sudo /etc/init.d/homebridge start / stop

kann der Dienst jetzt gestartet und gestoppt werden.

 

In FHEM muss in den global Attributen folgender Eintrag hinzugefügt werden:

genericDeviceType:switch,outlet,light,blind,speaker,thermostat

 

Da der Filter in Homebridge mit dem Raum „Homematic“ gesetzt wurde, müssen alle Geräte die man einsetzen möchte dem Raum „Homematic“ hinzugefügt werden. Dazu wird einfach dem jeweiligen Gerät das Attribut zugewiesen.

attr Balkonlicht room Balkon, Homekit

Balkonlicht und Räume müssen natürlich den eigenen Ansprüchen angepasst werden 🙂

 

Wenn die App jetzt gestartet wird werden direkt neue Geräte gesucht. Hat alles geklappt, dann findet Eve ein neues Gerät mit dem Namen „Homekit“. Beim Verbinden wird der zuvor konfigurierte Code verlangt: 031-45-154

Sollte was bei diesem Punkt schief laufen (so war es bei mir) und Eve findet einfach keine Geräte mehr, kann das Ändern des Usernames des Gerätes hier Abhilfe schaffen (siehe config.json). Nachzulesen auf Github.

Damit Siri das richtige Gerät erkennt, muss noch ein Name unter dem Punkt Funktionen definiert werden. Zum Beispiel „Wohnzimmer“. Jetzt kann mit dem Sprachbefehl „Wohnzimmer ein“ die Funksteckdose eingeschaltet werden 🙂

IMG_3985IMG_3986




Melde dich für meinen Newsletter an

Archiv
Kategorien
Login

Welcome , today is Mittwoch, 22. November 2017