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.

Elgato Eve
Elgato Eve
Entwickler: Elgato Systems
Preis: Kostenlos

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.