Nachdem ich lange gesucht habe, wie man mit dem iPhone oder der Apple Watch FHEM steuern kann und SiriProxy nicht mehr funktioniert, bin ich nun auf das Projekt Homebridge gestoßen.
Vorweg: trotz kleiner Probleme und Fehlermeldungen bei der Installation läuft das System (halbwegs) stabil.
Was wird für die Sprachsteuerung mit Siri benötigt?
1. RPI
2. Homebridge, ein Script, dass Apple Homekit simuliert
3. Elgato Eve App, zur Verknüpfung der Gerät in FHEM mit Homekit
Installation
Vorbereitung
apt-get update
apt-get upgrade
sudo apt-get install libavahi-compat-libdnssd-dev libkrb5-dev
Installation von Node.JS für RPI 2 B
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
cd ~
wget https://nodejs.org/dist/latest-v4.x/node-v4.2.2-linux-armv7l.tar.gz
tar -xvf node-v4.2.2-linux-armv7l.tar.gz
cd node-v4.2.2-linux-armv7l
sudo cp -R * /usr/local/
Homebridge installieren
npm install -g --unsafe-perm homebridge
npm install -g --unsafe-perm git+https://github.com/justme-1968/homebridge-fhem.git
Konfiguration
Diese Konfiguration setzt voraus, dass FHEM und Homebridge auf einem System laufen. Alternativ könnt ihr die IP-Adresse einfach ändern.
nano ~/.homebridge/config.json
{
"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": "username", "pass": "passwort"}
}
],
"accessories": []
}
Start-Skripte für Homebridge anlegen
nano /etc/init.d/homebridge
#!/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
homebridge -U /root/.homebridge/ > /dev/null 2>&1 &
#homebridge -U /root/.homebridge/ &
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
homebridge -U /root/.homebridge/ > /dev/null 2>&1 &
echo "Homebridge starting"
else
kill $PID
echo "Homebridge closed"
homebridge -U /root/.homebridge/ > /dev/null 2>&1 &
echo "Homebridge starting"
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: /etc/init.d/homebridge {start|stop|status|restart}"
exit 1
;;
esac
exit 0
(ggf. müssen im obigen Script noch die Pfade angepasst werden.)
Rechte setzen und Reboot
chmod 755 /etc/init.d/homebridge
update-rc.d homebridge defaults
reboot
Homekit auf iOS Gerät einrichten
Damit ihr mit eurem iPhone FHEM bedienen könnt, benötigt ihr eine Homekit-fähige App.
Ich habe mich für die kostenlose App von Elgato namens „EVE“ entschieden.
Nach dem Start der App einfach ein neues Gerät hinzufügen und die zuvor festgelegte PIN 031-45-154 manuelle eingeben. Den Sicherheitshinweis, dass dieses Zubehör nicht zertifiziert ist einfach bestätigen.
WICHTIG in den Geräteeinstellungen muss unter „Funktionen“ noch der Name gesetzt werden.
(Raum auswählen -> Bearbeiten (oben rechts) -> Zahnrad des Geräts -> Funktionen -> Name)
Dieser Name wird dann von Siri erkannt. Dies funktioniert sowohl mit dem iPhone als auch mit der Apple Watch.
Viel Spaß. FHEM hört nun auf Siri.
Vielen Dank für die Anleitung.
Es funktioniert auch bestens. Zumindest mit Plugin wie Fakebulb.
Die kann ich mit Siri schalten.
Wie bekomme ich aber meine Schalter u.s.w. aus FHEM in die Homebridge?
Vielen Dank
Uwe