Update 10.01.2017
Folgende Lösung hat bei mir auf Anhieb auf einem Raspberry 3 funktioniert:
https://www.loxforum.com/forum/software-configuration-user-interface/66659-siri-homekit-solution
Folgende Punkte sind wie im Link bzw. Readme der Anleitung beschrieben zu machen (ich kopiere hier die Reihenfolge mal zusammen):
- Auf dem Raspberry das Homekit installieren
https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi
2. dem Raspberry noch die Config für Loxone aufspielen
https://github.com/Sroose/homebridge-loxone-ws
bei Installation gehts los..
3. die config.json Datei noch anpassen (usually in ~/.homebridge)
dabei müssen folgende Werte angepasst werden
- host : IP-Nummer vom Loxone Miniserver
- port: Port des Miniserver (use 80 if no special port)
- username by the Loxone username
- password by the Loxone password
Anmerkung meinerseits: für die Homebridgesteuerung würde ich im Miniserver ein eigener Nutzer z.B. homebridge oder siri anlegen.
Dieser neue Nutzer hat dann auch nur eingeschränkte Rechte.
4. Homebridge im Terminal auf Raspberry starten:
$ homebridge
Am Ende kommt im Terminal dann der PIN-CODE den man in der App auf dem Apple-Gerät benötigt.
5. Die App "Home" auf dem Apple-Gerät starten (Home/Homebridge gibt es erst seit iOS10) und dort den PIN-Code vom Raspberry eingeben
6. Neues Gerät einfügen und suchen lassen. Die Homebridge-App scant die Loxone-Ein-Ausgänge alle durch.
Apple sortiert dann alles was es findet erst mal in den "Standardraum". Eine Zuordnung zu den Räumen muss mann selbst manuell machen.
7. nun kann man mit der Home-App entweder manuell alles Steuern oder man sagt Siri was man haben will wie z.B.
Licht Küche einschalten
Vielen DANK / thanks to sam (dem Autor aus dem englischsprachigen Loxone-Forum)
P.S. Eve etc. wird nicht benötigt.
ACHTUNG: Offenbar funktioniert die Konstellation EVE-HOMEBRIDGE derzeit nicht mit iOS9.3. Einige Benutzer berichten im inoffiziellem Forum darueber.
Das homebridge-loxone-Plugin stellt eine Schnittstelle zwischen iOS-Geraeten und Loxone zur Verfuegung. Dabei emuliert Homebridge, Apple's Homekit und nutzt dessen API. - Dieses HowTo soll derzeit nur zum Ziel haben, eine Grundkonfiguration einzurichten, um damit eine Verbindung zwischen iOS-Geraeten und Loxone herstellen zu koennen. Ausserdem bezieht sich dieses HowTo ausschliesslich auf einen Raspberry PI2 und die Software EVE von ELGATO.
Das folgende HowTo orientiert sich in grossen Teilen an dem HowTo von Joerg, der auf meintechblog.de ein eigenes HowTo zum Thema "Siri-Integration in FHEM" verfasst hat, in dem er beschreibt, wie man homebridge mit FHEM verheiratet. Ausserdem wurde ein Grossteil dieses HowTos den Anleitungen von @darkrain aus dem inoffiziellem Loxone-Forum entlehnt.
Schritt-für-Schritt-Anleitung
AUF DEM RASPBERRY PI2
Eine Verbindung zum Raspberry kann von Windowssystemen aus z.B. ueber PUTTY aufgebaut werden. Von Mac's, Linux und anderen entsprechenden X-Derivaten entsprechend mit einem Terminal per ssh.
Wir starten im home-Verzeichnis des Benutzers pi (/home/pi/). Arbeitet man mit einen anderen Benutzer, muessen nachfolgende Schritte natuerlich entsprechend angepasst werden.
INSTALLATION
Raspberry vorbereiten:
sudo apt-get update && sudo apt-get upgrade -y
(je nach Bandbreite kann das etwas dauern)
benoetigte Libraries installieren:
sudo apt-get -y install libavahi-compat-libdnssd-dev git
aktuellen Compiler installieren:
sudo apt-get install gcc-4.8 g++-4.8
(das Entpacken und Installieren wird eine Weile dauern)
anschliessend entsprechende Verlinkungen setzen:
sudo cd /usr/bin/
sudo ln -s /usr/bin/g++-4.8 g++
sudo ln -s /usr/bin/gcc-4.8 gcc
sudo ln -s /usr/bin/gcc-4.8 cc
cd -
node herunterladen und installieren:
wget http://nodejs.org/dist/v5.6.0/node-v5.6.0-linux-armv7l.tar.gz -P /tmp && cd /usr/local && sudo tar xzvf /tmp/node-v5.6.0-linux-armv7l.tar.gz --strip=1
nachdem node installiert ist, kann man den Versionsstand abfragen:
node --version
(als Ausgabe sollte hier v5.6.0 erscheinen)
im Homeverzeichnis ein homebridge-Verzeichnis anlegen, reinwechseln und homebridge installieren
mkdir homebridge
cd homebridge
sudo npm install -g homebridge
(Hier werden ein paar Pakete kompiliert und installiert, was auch einiges an Zeit kosten wird. Eventuelle WARN-Hinweise bzgl. Berechtigungen koennen ignoriert werden
- Pruefen der homebridge-Version:
homebridge --version
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
0.2.6
10. Plugins installieren:
sudo npm install -g homebridge-loxone homebridge-http
Doku: homebridge-loxone homebridge-http
KONFIGURATION
- mit einem Editor das Startskript erstellen:
cd /etc/init.d/
vi 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# Grundscript aus dem Wiki http://www.fhemwiki.de mit eigenen # Anpassungen
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
#starte homebridge aus configfile und lege logfile an
su - pi -c "/usr/local/bin/homebridge -D -U /home/pi/homebridge > /home/pi/homebridge/homebridge.log 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 stopped"
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
Skript SPEICHERN UND SCHLIESSEN
2. Startskript ausfuehrbar machen und in die entsprechenden Runlevel einfuegen:
sudo chmod 755 homebridge && sudo update-rc.d homebridge defaults
3. mit einem Editor die Config fuer Homebridge anlegen:
cd /home/pi/homebridge/
vi config.json
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},"platforms": [
{
"platform" : "Loxone",
"name" : "Loxone",
"ip_address" : "192.168.26.xxx",
"username" : "admin",
"password" : "xxxxxx",
"Outlets": [
{
"name": "Loxoneradio SWR3",
"input": "VI9",
"output": "VI6"
},
{
"name": "Loxoneradio Delta Loxoneradio",
"input": "VI10",
"output": "VI6"
},
{
"name": "Loxoneradio Rockantenne",
"input": "VI5",
"output": "VI6"
}]
}
],
"accessories": [
{
"accessory": "Http",
"name": "Testlampe",
"switchHandling": "yes",
"http_method": "GET",
"on_url": "http://192.168.26.xxx/dev/sps/io/VI36/Pulse",
"off_url": "http://192.168.26.xxx/dev/sps/io/VI36/Pulse",
"status_url": "http://192.168.26.xxx/dev/sps/io/VI36/state",
"service": "Light",
"brightnessHandling": "no",
"sendimmediately": "",
"username" : "admin",
"password" : "xxxxxx"
}
]
}
Config SPEICHERN UND SCHLIESSEN
4. ggf. Rechte setzen
chmod 644 config.json
WICHTIG: Diese config.json verwendet beide installierte Plugins und deren jeweilige Optionen. Im Grunde sind json-Datein unendlich schachtelbar, so lange man peinlich genau auf die Syntax achtet!
Hinweis:
Der 'bridge'-Bereich dient Homekit in iOS als Verbindungspunkt. Saemtliche zugehoerige Optionen koennen so gelassen werden.
Der 'platforms'-Bereich spannt den Bogen zum Loxone-Miniserver.
Ueber den Outlet-Bereich lassen sich direkt digitale und analoge Ein- und Ausgaenge im Miniserver anprechen und entsprechend steuern. Hilfeich z.B. fuer Schaltaktivitaeten. Ich nutzt das derzeit zum Radiohoeren.
Der Accessories-Bereich bietet, neben reinen Schaltfunktionen, auch Statusabfragen von z.B. Temperaturfuehlern oder aehnlichem. Ich nutzte es z.B. um per Loxone-Webservices eine Testlampe zu schalten. Es lassen sich aber noch ein paar mehr Dinge damit anstellen. Einfach einmal in die entsprechende Doku hier und hier schauen.
5. Wenn die config.json korrekt erstellt wurde, sollte sich homebridge starten lassen:
sudo /etc/init.d/homebridge start
(Hierbei wird es zu den unter Punkt 9 genannten WARNINGS kommen. Don't panic!)
6. Wenn alles glatt gelaufen ist, sollte sich im Logfile unter anderem folgende Ausgabe finden lassen:
tail -f /home/pi/homebridge/homebridge.log
Loading 1 platforms...
[Loxone] Initializing Loxone platform...
[Loxone] Fetching LoxonePlatform accessories.
[Loxone] Initializing platform accessory 'Loxoneradio SWR3'...
[Loxone] Initializing platform accessory 'Loxoneradio Delta Loxoneradio'...
[Loxone] Initializing platform accessory 'Loxoneradio Rockantenne'...
Loading 1 accessories...
[Testlampe] Initializing Http accessory...
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:____________
| 031-45-154 |
____________Homebridge is running on port 51826.
Die eingerahmte PIN brauchen wir gleich auf dem iOS-Geraet.
AUF DEM IOS-GERAET
- aus dem App-Store die App EVE von ELGATO installieren.
Nach der Installation EVE starten und mit Homebridge verbinden:
- jetzt als Geraet unsere homebridge hinzufuegen:
- EVE sollte automatisch Homebridge erkennen. Wenn dem so ist, dann kann Homebridge jetzt manuell gepaired werden:
Wenn das Pairing vernuenftig durchgelaufen ist, steht ab sofort der Smarthomevoicecontroll nichts mehr im Weg.
Viel Spass damit!
CONFIG-BEISPIELE:
Den folgenden Abschnitt moechte ich als "Sammelbecken" fuer cofig-Beispiele nutzen.
Z.B. hat NOON im Loxonforum kurz erklaert, wie man per SIRI eine Lampe dimmen kann:
#####################################################################################################################
"accessories": [
51 {
52 "accessory": "Http",
53 "name": "Testlampe",
54 "switchHandling": "yes",
55 "http_method": "GET",
56 "on_url": "http://192.168.26.xxx./dev/sps/io/Testlampe/100", //Testlampe ist der Name eines DIMMER-Bausteins
57 "off_url": "http://192.168.26.xxx/dev/sps/io/Testlampe/0",
58 "status_url": "http://192.168.26.xxx/dev/sps/io/Testleuchte/State", //Testleuchte ist der Name eines (hier) analogen Ausgangs, an dem ein Finder-Dimmer haengt, der wiederum eine normale LED-Lampe dimmt.
59 "service": "Light",
60 "brightnessHandling": "yes",
61 "brightness_url": "http://192.168.26.xxx/dev/sps/io/Testlampe/%b",
62 "brightnesslvl_url": "http://192.168.26.xxx/dev/sps/io/Testleuchte/State",
63 "sendimmediately": "",
64 "username" : "xxxxxx",
65 "password" : "xxxxxx"
66 }
#####################################################################################################################
Vielen Dank an Joerg von MEINTECHBLOG.DE , der seine Zustimmung gab, dieses Wiki mit Inhalten seines Blogs zu erstellen und zu fuellen.
Und vielen Dank an alle kreativen Koepfe, Helfer, Denker, Macher und sympathische Spinner (so positiv gemeint, wie es nur geht!) ohne die dieses WIKI und das LOXONEFORUM nicht das waere, was es ist.
--DANKE--
-- Dieses HowTo erhebt keinerlei Anspruch auf Vollstaendigkeit und/oder Korrektheit. Ausserdem besteht kein Anspruch auf Hilfe, Schadenersatz oder Dergleichen, sollte durch etwaige Fehler Schaeden jeglicher Art entstehen. Die Nutzung und Umsetzung dieses HowTos geschieht ausdruecklich auf eigene Gefahr. --
Verwandte Artikel
14 Kommentare
Kevin Rössler sagt:
Unter Installation Punkt 5 muss der Link mittlerweile etwas angepasst werden.
von: wget http://nodejs.org/dist/latest-v5.x/node-v5.6.0-linux-armv7l.tar.gz -P /tmp && cd /usr/local && sudo tar xzvf /tmp/node-v5.6.0-linux-armv7l.tar.gz --strip=1
zu: wget http://nodejs.org/dist/v5.6.0/node-v5.6.0-linux-armv7l.tar.gz -P /tmp && cd /usr/local && sudo tar xzvf /tmp/node-v5.6.0-linux-armv7l.tar.gz --strip=1
Ansonsten wird die Datei nicht gefunden. (Habe einfach die Version wie beschrieben genommen, damit die weitere Configuration genau so gemacht werden kann. Kann natürlich auf auf andere Versionen angepasst werden..
Michael Düsterhus sagt:
Änder es doch am besten gerade selber, hier darf jeder mitmachen
Kevin Rössler sagt:
Habe es angepasst. Wusste nicht, dass ich auch bestehende Einträge anpassen kann
Benny Gebhardt sagt:
Bei mir funktionierte es auch mit diesem Link nicht. Bekomme auf "node --version" die Antwort "Segmentation fault". Habe raspian als distribution verwendet, falls das etwas ausmacht
Benny Gebhardt sagt:
Konnte mir selbste helfen: mit dem Paket hat es funktioniert:
Georg Stelzle sagt:
hallo ich sehe jetzt ganz am anfang.... ich hätte da mal paar fragen
vielen vielen dank schon mal an die community!!!
Georg Stelzle sagt:
ich brauche glaub einfach nur noch die richtige config.json datei dann würde es glaub laufen aber da hab ich keinen durchblick.... kann mir da vll jemand helfen?
Thomas sagt:
liegt alles unter dem Link..
aber vielleicht macht es sinn wenn ich das auf Deutsch mit den jew. Links zusammenkopiere
Georg Stelzle sagt:
vielen dank hab es jetzt geschafft
*freu*
jetzt wäre es noch der hammer wenn ich die rückmeldung der lampen ( ist an oder aus) über siri hätte. gibt es da schon ne lösung?
Mac sagt:
Ich komme einfach bei der Installation der Homebridge nicht weiter
Wenn ich folgendes eingebe:
kommt danach diese Fehlermeldung:
Sorry, user loxberry is not allowed to execute '/usr/bin/npm install -g homebridge' as root on loxberry
Florian Schertler sagt:
Hey ich bin ganz am Anfang von dieser Geschichte mir Pi und Co.
Ich schlage mich schon länger mit den diversen Links und Anleitungen rum. Leider vergebens.
Kann mit bitte jemand helfen.... Bin schon langsam am verzweifeln.
Vielleicht gibt es ja eine Schritt für Schritt Anleitung in Deutsch, wo wirklich alles drinnen steht. Das mit den diversen Links ist echt kompliziert =(
Der Raspberry 3 läuft und komme auch mit SSH drauf, weiter komme ich nicht so wirklich.
Bitte um Hilfe.
Danke und Grüße
Günther Wieser sagt:
So, hab die Anleitung laut Update oben mal durchgespielt, funktioniert soweit. Allerdings steuere ich keinen einzigen Raum mit Einzellichtquellen, sondern ausschließlich über den Lichtbaustein - hat da schon wer Erfahrungen wie man den am leichtesten einbindet? Per default kommen ja nur die Dimmer und Aktoren (hab alles auf KNX-Basis) in die Homekit-App, aber eben keine Szenen bzw. Lichtbausteine....
Herbert Stohl sagt:
Nachdem ich mich gestern eeeeewig gequält habe (und gescheitert bin) die Homebridge auf der Loxberry VM zum Laufen zu bringen habe ich dann eine elegantere Methode entdeckt die Homebridge auf einem QNAP (und Synology NAS) zu installieren.
Soll ich die Anleitung in dieser bereits recht umfangreichen hier einarbeiten oder soll ich da besser einen neuen Punkt starten?
Herbert Stohl sagt:
Ich habe ein How-To verfasst.
Ganz funktioniert die Homebridge allerdings noch nicht. Es werden bei weitem nicht alle Geräte erkannt. Woran kann das liegen?