Homebridge-loxone

08.02.2022: Es gibt jetzt ein Plugin für den Loxberry, das die /wiki/spaces/LOXBERRY/pages/1661304839 automatisch auf dem Loxberry installiert. Installiert wird die homebridge und homebridge-config-ui-x.

26.10.2021 Achtung: kann sein, dass die u.a. Anleitung noch so funktioniert, sie ist jedoch nicht mehr up 2 date. Das Ganze funktioniert mittlerweile wesentlich einfacher:

Homebridge inklusive "Config-UI-x" installieren und auf diesem UI (http://IP-der-Homebridge:portdann das Plugin: "Loxone-Connect" installieren → FERTIG


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):

  1. 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


  1. Raspberry vorbereiten:
    sudo apt-get update && sudo apt-get upgrade -y
    (je nach Bandbreite kann das etwas dauern)


  2. benoetigte Libraries installieren:
    sudo apt-get -y install libavahi-compat-libdnssd-dev git

  3. aktuellen Compiler installieren:
    sudo apt-get install gcc-4.8 g++-4.8
    (das Entpacken und Installieren wird eine Weile dauern)


  4. 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 -

  5. 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
  6. nachdem node installiert ist, kann man den Versionsstand abfragen:
    node --version
    (als Ausgabe sollte hier v5.6.0 erscheinen)


  7. 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


  8. 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
  1. 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. (Zwinkern)

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

  1. aus dem App-Store die App EVE von ELGATO installieren.

  2. Nach der Installation EVE starten und mit Homebridge verbinden:



  3. jetzt als Geraet unsere homebridge hinzufuegen:



  4. 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