Zum Inhalt

Homebridge auf einem Raspberry Pi – HomeKit Anbindung nachrüsten

Wie bereits in meinem letzten Artikel angekündigt möchte ich euch heute eine Anleitung zur Konfiguration von Homebridge auf einem Raspberry Pi zeigen und welche Möglichkeiten diese kleine Software für das eigene HomeKit-Setup bietet.

Was ist Homebridge?

Einige von euch werden sich jetzt bestimmt fragen, was ist dieses Homebridge eigentlich? Homebridge ist im Grunde ein kleiner Server, welcher auf NodeJS, basiert und viele verschiedene Komponenten HomeKit-Kompatibel macht. Dabei müssen diese auch nicht von Apple zertifiziert sein oder selbst HomeKit unterstützen. Der Homebridge-Server nimmt HomeKit-Befehle entgegen (diese können bspw. von kompatiblen Apps oder direkt von Siri kommen) und übersetzt diese in die entsprechenden Steuerbefehle der einzelnen Komponenten. In meinem Setup kann ich somit bspw. meine Beleuchtung ein- und ausschalten oder dimmen. Darüber hinaus könnte man auch verschiedene Szenen (z.B. „Guten Morgen“) anlegen und somit durch einen Befehl gleichzeitig Komponenten unterschiedlicher Hersteller schalten (Licht geht an, Heizung wird aufgedreht und Jalousien geöffnet).

Was benötige ich?

Um Homebridge im eigenen Netzwerk einzusetzen muss dieses ständig im Hintergrund laufen und auf neue Befehle lauschen. Hierfür benötigt ihr einen kleinen Rechner, der möglichst stromsparend im Dauerbetrieb läuft. Die erste Wahl hierfür ist sicherlich der Raspberry Pi (Amazon). Ihr könnt aber auch auf jeden anderen Rechner setzen, auf welchem NodeJS läuft. Bspw. gibt es für die Synology Diskstations ein NodeJS-Paket von SynoCommunity (Mangels einer Diskstation konnte ich dies aber nicht testen). Ich habe für meine Installation einen Raspberry Pi Modell B genutzt. Auf diesem läuft Homebridge einwandfrei. Für Neueinsteiger würde ich aber natürlich den inzwischen erhältlichen und deutlich leistungsstärkeren Raspberry Pi 2 (Amazon) empfehlen. Habt ihr aber noch ein Modell B zu Hause, ist dieses auch optimal geeignet. Der erst kürzlich vorgestellte Raspberry Pi Zero für lediglich 5 € sollte genauso kompatibel sein, da auf diesem das identische Betriebssystem wie auf den großen Pi’s läuft. Beachtet hier aber, das dieser standardmäßig keine Netzwerk-Schnittstelle hat. Ihr braucht also in jedem Fall noch einen zusätzlichen Wifi-Adapter.

Anleitung zur Installation und Konfiguration von Homebridge auf einem Raspberry Pi

Mit den im Folgenden beschrieben Schritten sollte die Installation von Homebridge auf einem Raspberry Pi ohne Probleme klappen. Sollte es bei euch zu Problemen kommen, könnt ihr gerne einen Kommentar hinterlassen und wir versuchen dem Ganzen auf den Grund zu gehen.

Wichtig: Bevor ihr beginnt, überprüft bitte welche Version des Betriebssystems ihr installiert habt. Ich habe die folgenden Schritte mit der Standardauslieferung des Raspbian OS getestet. Habt ihr wie ich noch das ältere Wheezy installiert müsst ihr vor Installation noch das Modul GCC auf eine neuere Version aktualisieren. Wie das funktioniert ist in diesem Artikel sehr gut beschrieben. Solltet ihr einen neuen Raspberry Pi installieren bekommt ihr schon die Jessie Version. Hiermit sollte es keine Probleme geben und ihr könnt direkt bei Schritt 1 beginnen.

Schritt 1: Erst einmal müsst ihr euch auf eurem Pi einloggen und die Kommandozeile ausführen. Unter Mac und Linux funktioniert dies in der Regel direkt mit folgendem Befehl:

ssh pi.local

Unter Windows empfehle ich euch hierfür das kostenlose Tool Putty. Der Benutzername in der Standardauslieferung lautet pi und das Passwort raspberry.

Schritt 2: Nach einer Anmeldung solltet ihr immer die Paketquellen und installierten Pakete aktualisieren:

sudo apt-get update
sudo apt-get upgrade

Schritt 3: Die Installation von NodeJS auf dem Raspberry Pi. Ich habe das ganze zuletzt mit Version 4.3.0 getestet. Ihr solltet für die Installation die jeweils aktuellste Version nutzen (Hierfür einfach in den Befehlen die Versionsnummer austauschen)

wget https://nodejs.org/dist/v4.3.0/node-v4.3.0-linux-armv6l.tar.xz
tar -xvf node-v4.3.0-linux-armv6l.tar.xz
cd node-v4.3.0-linux-armv6l

Für das Raspberry Pi 2 müsst ihr einen leicht abgewandelten Befehl nutzen:

wget https://nodejs.org/dist/v4.3.0/node-v4.3.0-linux-armv7l.tar.xz
tar -xvf node-v4.3.0-linux-armv7l.tar.xz
cd node-v4.3.0-linux-armv7l

Jetzt noch in das Programmverzeichnis kopieren:

sudo cp -R * /usr/local/

Das wars. NodeJS sollte jetzt installiert sein. Ihr könnt das auch nochmal mit folgendem Befehl überprüfen:

node -v

Schritt 4: Die Installation von Avahi. Dieses Paket wird für die Installation von Homebridge benötigt und ist ein DNS-Discovery-Tool. dass heißt dieses kleine Paket hilft Homebridge eure Komponenten im Netzwerk zu finden.

sudo apt-get install libavahi-compat-libdnssd-dev

Schritt 5: Die Installation von Homebridge erfolgt nun direkt über den Paketmanager von NodeJS (npm).

sudo npm install -g homebridge

Da die Installation auf Systemordner zugreift muss der Befehl mit sudo ausgeführt wird und ihr müsst hierfür noch einmal euer Passwort eingeben (Standard ist raspberry). Bei manchen Umgebung ist zusätzlich auch noch die Eingabe des Zusatzes unsafe-perm notwendig. Solltet ihr also mit dem oberen Befehl einen oder mehrere Fehler erhalten versucht es mit dem folgenden:

sudo npm install -g --unsafe-perm homebridge

Hinweis: Solltet ihr an dieser Stelle noch folgende Fehlermeldung erhalten:

npm ERR! not found: git
npm ERR!
npm ERR! Failed using git.
npm ERR! This is most likely not a problem with npm itself.
npm ERR! Please check if you have git installed and in your PATH.

Dann bedeutet dies, dass auf eurem System noch git installiert werden muss. Dies kann bei einigen abgespeckten Varianten des Betriebssystems der Fall sein (z.B. Raspbian Lite). git kann mit folgendem Befehl installiert werden:

sudo apt-get install git-core make

Das sollte es erst einmal gewesen sein. Führt ihr Homebridge nun zum ersten mal aus, solltet ihr folgende Meldung erhalten:

$ homebridge
No plugins found. See the README for information on installing plugins.

Warnungen die möglicherweise auftauchen (u.a. zu Apple Bonjour und Avahi) könnt ihr guten Gewissens ignorieren. Der Anschluss der einzelnen Komponenten erfolgt jeweils über eigene Plugins, die ebenfalls auf npm veröffentlicht werden. Die verfügbaren Plugins könnt ihr hier finden. Das Modul zur Steuerung der MiLight-Komponenten findet ihr unter homebridge-milight.

Schritt 6: Die Installation eines Plugins. In meinem Fall homebridge-milight mit der MiLight-Plattform (Auch hier benötigt ihr u.U. wieder den Zusatz unsafe-perm, s. Schritt 5):

sudo npm install -g homebridge-milight

Schritt 7: Nun müssen wir nur noch in der Datei config.json dem System sagen, welche Komponenten wir installiert haben und wo das System diese findet. Meine config.json für MiLight sieht bspw. so aus:

{
 "bridge": {
  "name": "Homebridge",
  "username": "CC:22:2D:E3:DC:22",
  "port": 51826,
  "pin": "031-67-123"
 },
 "platforms": [
  {
   "platform":"MiLight",
   "name":"MiLight",
   "ip_address": "192.168.178.31",
   "port": 8899,
   "type": "white",
   "delay": 30,
   "repeat": 3,
   "zones":["Couch","Schlafzimmer","Wohnzimmer",null]
  }
 ]
}

Eure config könnt ihr mit folgenden Befehl bearbeiten:

nano ~/.homebridge/config.json

Nun müsst ihr noch die IP-Adresse (ip_address) eintragen unter welcher eure MiLight-Bridge läuft (diese könnt ihr über euren Router herausfinden), welchen Lampentyp (type – RGB, RGBW oder white) ihr nutzt und eure Zonen benennen (zones). Sollte ihr eine der vier vorgegebenen Zonen nicht nutzen tragt ihr hier einfach null ein. Solltet ihr mehrere Typen verwenden (Z.b. white und RGBW),  könnt ihr noch eine zweite Plattform eintragen und die Zonen entsprechend benennen.

Die jeweiligen config-Einträge für die Plugins findet ihr immer auf der entsprechenden npm-Seite oder in der Beispiel-config, welche mit installiert wird. Diese könnt ihr mit folgendem Befehl aufrufen:

nano ~/homebridge/config-sample.json

Schritt 8: Da Homebridge immer im Hintergrund laufen muss und auf eure Befehle lauscht, solltet ihr es außerdem automatisch beim Booten eures Raspberry Pi starten. Hierzu benötigt ihr ein kleines Skript, welches beim Boot eures Raspberry Pi automatisch ausgeführt wird. Eine Vorlage für dieses Skript findet ihr hier. Einfach den Inhalt dieses Skripts kopieren und mit folgendem Befehl eine neue Datei anlegen:

sudo nano /etc/init.d/homebridge

Hier nun den zuvor kopierten Inhalt einfügen. Nun müsst ihr noch ein paar kleinere Anpassungen am Anfang der Datei machen. Bei mir sehen diese folgendermaßen aus und sollten auch so bei euch funktionieren:

#!/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
# Description:       Enable service provided by daemon.
### END INIT INFO

dir="/home/pi/homebridge"
cmd="homebridge"
user="pi"

Die Datei anschließend mit Str+X verlassen und das Speichern mit Y bestätigen. Nun müsst ihr das Skript noch registrieren, damit dieses automatisch beim Boot aufgerufen wird:

sudo chmod 755 /etc/init.d/homebridge
sudo update-rc.d homebridge defaults

Das wars! Homebridge ist installiert, die MiLight-Komponenten konfiguriert und alles ist bereit für Homekit. Solltet ihr nun schon eifrig mit Siri diskutiert haben und sie euch leider enttäuscht haben, seid beruhigt 😉 Ein kleiner Schritt fehlt noch. Ihr müsst Siri und Homekit noch mitteilen, dass es neue Komponenten gibt, die ihr gerne steuern würdet. Hierzu benötigen wir erst einmal eine Homekit-kompatible App. Ich kann hierfür die App Elgato Eve empfehlen. Diese ist hübsch gemacht und leitet euch durch alle wichtigen Schritte.

Nun einmal mit folgendem Befehl Homebridge manuell auf dem Raspberry starten:

$ homebridge

In der Elgato Eve App nun eurem Zuhause einen Namen geben und ein Gerät hinzufügen. Die App sollte eure Homebridge nun automatisch erkennen und nach einem PIN fragen. Dieser wird vom Raspberry Pi nach Start der Homebridge bereits angezeigt und wir können den PIN ganz einfach mit der Kamera unseres iPhones einscannen. Das wars: Homekit sollte nun automatisch all eure registrierten Komponenten kennen. Über die App könnt ihr diese noch einzelnen Räumen oder Szenen zuordnen.

Was kann ich damit machen?

Nachdem ihr all das geschafft habt fragt ihr euch sicherlich: und jetzt? Da Homekit erstmal keine eigene App mitbringt, sondern eben nur eine Plattform ist, benötigt ihr immer Apps von Drittherstellern. Die oben erwähnte Elgato Eve App ist da ein gutes Beispiel. Ihr könnt mit der App nun alle Homkit-Komponenten bedienen, auch wenn diese eben nicht von Elgato sind. Das gilt übrigens für alle Homekit-Apps. Apple macht hier zur Voraussetzung, dass man mit jeder App Homekit einrichten und konfigurieren kann und auch alle Komponenten bedienen kann. Daher ist eine eigene App von Apple auch erstmal nicht nötig. Die schönste Spielerei ist aber natürlich die Bedienung mit Siri:

Siri, schalte die Wohnzimmer Beleuchtung ein

Siri, schalte die Esstisch Lampe ein

Siri, mach die Lichter aus

Siri, guten Morgen

Dies sind nur einige Beispiele für die Bedienung mit Siri. Alles in allem funktioniert die Sprachsteuerung erstaunlich gut und ist vor allem in Verbindung mit „Hey Siri“ eine gelungene Erweiterung :-). „Hey Siri“ ermöglicht auf dem neuen iPhone 6s jederzeit und auf älteren iPhones bei eingestecktem Ladegerät Siri durch bloßes Zurufen von „Hey Siri“ zu aktivieren. Sitzt ihr also bspw. auf der Couch und eurer iPhone am anderen Ende des Zimmers genügt ein kurzer Zuruf von „Hey Siri“, um sie zu aktivieren und einer der oben genannten Befehle um die Beleuchtung zu dimmen oder auszuschalten. Die Frage nach dem Nutzen lasse ich an dieser Stelle mal unbeantwortet 🙂 Wie immer freue ich mich über Hinweise, Tipps zu Apps und weitere Tricks mit Siri in den Kommentaren.

Natürlich lassen sich auf diesem Weg auch noch weitere Komponenten mit Homekit verbinden. Homebridge bietet für viele Anwendungsbereiche bereits fertige Plugins. In meinem nächsten Artikel möchte ich mir Homekit einmal genauer vornehmen und darstellen welche Möglichkeiten diese Plattform eigentlich bietet, wie sie funktioniert, welche guten Apps es dafür gibt und was Apple damit möglicherweise noch so vor hat.

Published inAllgemein

72 Comments

  1. Dino Dino

    Hallo,

    gute Anleitung, leider komme ich mit: sudo npm install -g homebridge nicht weiter da gibt es dann immer Fehlermeldungen:
    root@raspberrypi:/home/pi# sudo npm install -g homebridge
    /
    > curve25519@1.1.0 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519
    > node-gyp rebuild

    gyp WARN EACCES user „root“ does not have permission to access the dev dir „/root/.node-gyp/4.2.3“
    gyp WARN EACCES attempting to reinstall using temporary dev dir „/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/.node-gyp“
    gyp WARN install got an error, rolling back install
    gyp WARN install got an error, rolling back install
    gyp ERR! configure error
    gyp ERR! stack Error: ENOSPC: no space left on device, mkdir ‚/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/.node-gyp‘
    gyp ERR! stack at Error (native)
    gyp ERR! System Linux 4.1.13-v7+
    gyp ERR! command „/usr/local/bin/node“ „/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js“ „rebuild“
    gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519
    gyp ERR! node -v v4.2.3
    gyp ERR! node-gyp -v v3.0.3
    gyp ERR! not ok
    usw…..

    Bist du sicher das es mit der neusten Jessie Version und node-v4.2.3 läuft?

    Dino

    • Hallo Dino,

      vielen dank für deinen Kommentar. Versuche doch mal folgenden Befehl:

      sudo npm install --unsafe-perm -g homebridge

      Das Hinzufügen von „unsafe-perm“ wird unter anderem hier und hierempfohlen und behebt das beschriebene Problem wohl meistens.

      Leider habe ich es selbst unter Jessie nicht testen können, da mein Raspberry noch mit Wheezy läuft. Grundsätzlich sollte es aber auch mit deiner Version funktionieren.

      Ich hoffe, dass dir das weiterhilft. Melde dich doch mal, ob der Tipp funktioniert hat oder die Probleme weiterhin auftauchen.

      Viele Grüße
      Markus

      • Dino Dino

        Hallo Markus,

        Danke für deine schnelle Antwort.

        Habe diesmal Wheezy genommen und Node-v4.2.3. Lieft auch alles sauber durch. Bis wieder zur Homebrige Installation:

        pi@raspberrypi ~/node-v4.2.3-linux-armv7l $ sudo npm install –unsafe-perm -g homebridge
        npm ERR! addLocal Could not install /home/pi/node-v4.2.3-linux-armv7l/–unsafe-perm
        npm ERR! Linux 3.18.11-v7+
        npm ERR! argv „/usr/local/bin/node“ „/usr/local/bin/npm“ „install“ „–unsafe-perm“ „-g“ „homebridge“
        npm ERR! node v4.2.3
        npm ERR! npm v2.14.7
        npm ERR! path /home/pi/node-v4.2.3-linux-armv7l/–unsafe-perm
        npm ERR! code ENOENT
        npm ERR! errno -2
        npm ERR! syscall open

        npm ERR! enoent ENOENT: no such file or directory, open ‚/home/pi/node-v4.2.3-linux-armv7l/–unsafe-perm‘
        npm ERR! enoent This is most likely not a problem with npm itself
        npm ERR! enoent and is related to npm not being able to find a file.
        npm ERR! enoent

        npm ERR! Please include the following file with any support request:
        npm ERR! /home/pi/node-v4.2.3-linux-armv7l/npm-debug.log
        pi@raspberrypi ~/node-v4.2.3-linux-armv7l $

        Die Fehlermeldung ist jetzt zwar kürzer mit dem neuen Befehl,
        Oder hätte ich einen Reboot machen müssen?

        Gruß Dino

        • Hallo Dino,

          da hatte sich bei mir im Befehl leider ein kleiner Fehler eingeschlichen. unsafe-perm müsste mit zwei vorangestellten Bindestrichen ausgeführt werden:

          sudo npm install -–unsafe-perm -g homebridge

          Sorry. Hoffe damit läuft es!

          Viele Grüße
          Markus

  2. Dino Dino

    Hallo Markus,

    Habe diesmal Wheezy genommen und Node-v4.0.0. Lief auch wieder alles sauber durch. Bis wieder zur Homeride Installation:

    pi@raspberrypi ~/node-v4.0.0-linux-armv7l $ sudo npm install -–unsafe-perm -g homebridge

    Es tat sich ziemlich viel ich setzte dir hier mal nur die warn und err! rein:

    gyp WARN EACCES user „root“ does not have permission to access the dev dir „/root/.node-gyp/4.0.0“
    gyp WARN EACCES attempting to reinstall using temporary dev dir „/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/.node-gyp“

    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
    gyp ERR! stack at emitTwo (events.js:87:13)
    gyp ERR! stack at ChildProcess.emit (events.js:172:7)
    gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
    gyp ERR! System Linux 3.18.11-v7+
    gyp ERR! command „/usr/local/bin/node“ „/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js“ „rebuild“
    gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519
    gyp ERR! node -v v4.0.0
    gyp ERR! node-gyp -v v3.0.1
    gyp ERR! not ok

    > bignum@0.11.0 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/srp/node_modules/bignum
    > node-gyp configure build

    gyp WARN EACCES user „root“ does not have permission to access the dev dir „/root/.node-gyp/4.0.0“
    gyp WARN EACCES attempting to reinstall using temporary dev dir „/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/srp/node_modules/bignum/.node-gyp“

    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
    gyp ERR! stack at emitTwo (events.js:87:13)
    gyp ERR! stack at ChildProcess.emit (events.js:172:7)
    gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
    gyp ERR! System Linux 3.18.11-v7+
    gyp ERR! command „/usr/local/bin/node“ „/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js“ „configure“ „build“
    gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/srp/node_modules/bignum
    gyp ERR! node -v v4.0.0
    gyp ERR! node-gyp -v v3.0.1
    gyp ERR! not ok

    > ed25519@0.0.3 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/ed25519
    > node-gyp rebuild

    gyp WARN EACCES user „root“ does not have permission to access the dev dir „/root/.node-gyp/4.0.0“
    gyp WARN EACCES attempting to reinstall using temporary dev dir „/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/ed25519/.node-gyp“

    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
    gyp ERR! stack at emitTwo (events.js:87:13)
    gyp ERR! stack at ChildProcess.emit (events.js:172:7)
    gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
    gyp ERR! System Linux 3.18.11-v7+
    gyp ERR! command „/usr/local/bin/node“ „/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js“ „rebuild“
    gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/ed25519
    gyp ERR! node -v v4.0.0
    gyp ERR! node-gyp -v v3.0.1
    gyp ERR! not ok

    > mdns@2.2.11 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns
    > node-gyp rebuild

    gyp WARN EACCES user „root“ does not have permission to access the dev dir „/root/.node-gyp/4.0.0“
    gyp WARN EACCES attempting to reinstall using temporary dev dir „/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns/.node-gyp“

    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
    gyp ERR! stack at emitTwo (events.js:87:13)
    gyp ERR! stack at ChildProcess.emit (events.js:172:7)
    gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
    gyp ERR! System Linux 3.18.11-v7+
    gyp ERR! command „/usr/local/bin/node“ „/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js“ „rebuild“
    gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns
    gyp ERR! node -v v4.0.0
    gyp ERR! node-gyp -v v3.0.1
    gyp ERR! not ok
    npm ERR! Linux 3.18.11-v7+
    npm ERR! argv „/usr/local/bin/node“ „/usr/local/bin/npm“ „install“ „-–unsafe-perm“ „-g“ „homebridge“
    npm ERR! node v4.0.0
    npm ERR! npm v2.14.2
    npm ERR! code ELIFECYCLE

    npm ERR! curve25519@1.1.0 install: `node-gyp rebuild`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the curve25519@1.1.0 install script ’node-gyp rebuild‘.
    npm ERR! This is most likely a problem with the curve25519 package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR! node-gyp rebuild
    npm ERR! You can get their info via:
    npm ERR! npm owner ls curve25519
    npm ERR! There is likely additional logging output above.

    npm ERR! Please include the following file with any support request:
    npm ERR! /home/pi/node-v4.0.0-linux-armv7l/npm-debug.log
    pi@raspberrypi ~/node-v4.0.0-linux-armv7l $ $ homebridge
    -bash: $: command not found
    pi@raspberrypi ~/node-v4.0.0-linux-armv7l $

    Die Lücken dazwischen bedeuten das einiges durchgelaufen ist.

    Gruß Dino

  3. Dino Dino

    Hallo Markus,

    So ich habe es endlich hinbekommen.

    Hier mal meine Anleitung die du gerne anhängen kannst.

    Also ich habe den aktuellen Ras PI 2 Mod B

    1. Debian Jessie installieren
    (RASPBIAN JESSIE
    Full desktop image based on Debian Jessie
    Version:November 2015
    Release date:2015-11-21
    Kernel version:4.1)

    2. Im Terminal mit:

    ssh pi@192.168.xxx.xx

    und dem Passwort “ raspberry “ einloggen.

    3. sudo apt-get update
    sudo apt-get upgrade

    4. Dependencies installieren (u.a. NodeJS, NPM)
    Code:

    sudo apt-get install libavahi-compat-libdnssd-dev
    sudo apt-get install libkrb5-dev
    sudo wget -qO- https://deb.nodesource.com/setup_5.x | sudo bash –
    sudo apt-get install nodejs
    sudo apt-get install build-essential
    sudo apt-get install git

    5. Mit
    node -v

    die Version kontrollieren, v.5.3.0

    6. Die Installation von Homebridge erfolgt nun direkt über den Paketmanager von NodeJS (npm).

    sudo npm install -g homebridge

    7. Die Installation eines Plugins (In meinem Fall die legacy plugins mit der MiLight-Plattform):

    sudo npm install -g homebridge-legacy-plugins

    8. Milight installieren

    sudo npm install -g homebridge-milight

    9. Die Config bearbeiten:

    {
    „bridge“: {
    „name“: „Homebridge“,
    „username“: „CC:22:2D:E3:DC:22“,
    „port“: 51826,
    „pin“: „031-67-123“
    },
    „platforms“: [{
    „platform“: „MiLight“,
    „name“: „MiLight“,
    „ip_address“: „192.168.178.48“,
    „port“: 8899,
    „type“: „rgbw“,
    „delay“: 30,
    „repeat“: 3,
    „zones“: [„Büro“, null, null, null]

    }]
    }

    usw. wie bei dir beschrieben.

    Ich hoffe ich konnte dir helfen.
    Vielleicht noch mit angeben das man sich nochmal einloggen soll und ein reboot machen mus.

    Gruß Dino aus Kempten

    • Hallo Dino,

      Danke für dein Feedback. Freut mich, dass es bei dir nun geklappt hat!

      Weiterhin viel Spaß beim Ausprobieren 🙂
      Markus

  4. Fabio Fabio

    Hallo Markus,
    Leider funktioniert diese anleitung nicht mit dem Raspberry Pi 1 Model B+ und 2015-11-21-raspbian-jessie

    gyp WARN EACCES user „root“ does not have permission to access the dev dir „/root/.node-gyp/4.0.0“
    gyp WARN EACCES attempting to reinstall using temporary dev dir „/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/.node-gyp“
    gyp WARN install got an error, rolling back install
    gyp WARN install got an error, rolling back install
    gyp ERR! configure error
    gyp ERR! stack Error: ENOSPC: no space left on device, mkdir ‚/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/.node-gyp‘
    gyp ERR! stack at Error (native)
    gyp ERR! System Linux 4.1.13+
    gyp ERR! command „/usr/local/bin/node“ „/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js“ „rebuild“
    gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519
    gyp ERR! node -v v4.0.0
    gyp ERR! node-gyp -v v3.0.1
    gyp ERR! not ok

    > bignum@0.11.0 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/srp/node_modules/bignum
    > node-gyp configure build

    gyp WARN EACCES user „root“ does not have permission to access the dev dir „/root/.node-gyp/4.0.0“
    gyp WARN EACCES attempting to reinstall using temporary dev dir „/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/srp/node_modules/bignum/.node-gyp“
    gyp WARN install got an error, rolling back install
    gyp WARN install got an error, rolling back install
    gyp ERR! configure error
    gyp ERR! stack Error: ENOSPC: no space left on device, mkdir ‚/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/srp/node_modules/bignum/.node-gyp‘
    gyp ERR! stack at Error (native)
    gyp ERR! System Linux 4.1.13+
    gyp ERR! command „/usr/local/bin/node“ „/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js“ „configure“ „build“
    gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/srp/node_modules/bignum
    gyp ERR! node -v v4.0.0
    gyp ERR! node-gyp -v v3.0.1
    gyp ERR! not ok

    > ed25519@0.0.3 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/ed25519
    > node-gyp rebuild

    gyp WARN EACCES user „root“ does not have permission to access the dev dir „/root/.node-gyp/4.0.0“
    gyp WARN EACCES attempting to reinstall using temporary dev dir „/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/ed25519/.node-gyp“
    gyp WARN install got an error, rolling back install
    gyp WARN install got an error, rolling back install
    gyp ERR! configure error
    gyp ERR! stack Error: ENOSPC: no space left on device, mkdir ‚/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/ed25519/.node-gyp‘
    gyp ERR! stack at Error (native)
    gyp ERR! System Linux 4.1.13+
    gyp ERR! command „/usr/local/bin/node“ „/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js“ „rebuild“
    gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/ed25519
    gyp ERR! node -v v4.0.0
    gyp ERR! node-gyp -v v3.0.1
    gyp ERR! not ok

    > mdns@2.2.11 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns
    > node-gyp rebuild

    gyp WARN EACCES user „root“ does not have permission to access the dev dir „/root/.node-gyp/4.0.0“
    gyp WARN EACCES attempting to reinstall using temporary dev dir „/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns/.node-gyp“
    gyp WARN install got an error, rolling back install
    gyp WARN install got an error, rolling back install
    gyp ERR! configure error
    gyp ERR! stack Error: ENOSPC: no space left on device, mkdir ‚/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns/.node-gyp‘
    gyp ERR! stack at Error (native)
    gyp ERR! System Linux 4.1.13+
    gyp ERR! command „/usr/local/bin/node“ „/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js“ „rebuild“
    gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns
    gyp ERR! node -v v4.0.0
    gyp ERR! node-gyp -v v3.0.1
    gyp ERR! not ok
    npm ERR! Linux 4.1.13+
    npm ERR! argv „/usr/local/bin/node“ „/usr/local/bin/npm“ „install“ „-g“ „homebridge“
    npm ERR! node v4.0.0
    npm ERR! npm v2.14.2
    npm ERR! code ELIFECYCLE

    npm ERR! curve25519@1.1.0 install: `node-gyp rebuild`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the curve25519@1.1.0 install script ’node-gyp rebuild‘.
    npm ERR! This is most likely a problem with the curve25519 package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR! node-gyp rebuild
    npm ERR! You can get their info via:
    npm ERR! npm owner ls curve25519
    npm ERR! There is likely additional logging output above.

    npm ERR! Please include the following file with any support request:
    npm ERR! /home/pi/npm-debug.log

    Bitte um Hilfe !! Hab es auch schon vom Dino Probiert da geht es leider auch nicht !

  5. Fabio Fabio

    Kannst du mal dein image hochladen ?

    • Hallo Fabio,

      danke für dein Feedback. Finde das eine gute Idee! Leider habe ich auf meiner aktuellen Installation noch einige andere Daten und Programme liegen, sodass ich dieses Image leider nicht hochladen kann/möchte. Ich habe aber eben eine zusätzliche SD-Karte bestellt und werde über die kommenden Feiertage noch einmal eine „saubere“ Installation von Beginn an starten. Meine Erfahrungen damit werde ich natürlich hier teilen und am Ende ein hoffentlich fertiges Images zur Verfügung stellen.

      Was mich bei deinem Output wundert, ist dieser Fehler:

      gyp ERR! stack Error: ENOSPC: no space left on device

      Das kann natürlich auch ein Folgefehler aus den vorherigen sein. Hast du aber zur Sicherheit schon einmal deine Speicher-Belegung kontrolliert?

      Viele Grüße
      Markus

  6. MX MX

    Hallo,

    Leider kann ich mein Weihnachtsprojekt (deinen Blog ins Praktische umsetzen) noch nicht fertigstellen!

    Ich habe jetzt zweimal alle Schritte befolgt, auch die von DINO – habe jedoch immer noch die von ihm geschilderten Fehlermeldungen (nur die, die die Permissive zu root-Ordern und so beschreiben)

    Außerdem ist mir nicht klar:
    wo liegen die Ordner nach einer ordnungsgemäßen Installation? Denn: weder ein .homebridge noch homebridge-Ordner liegt bei mir unter /home/pi/… sondern nur unter /usr/lib/node_modules/… liegen der homebridge Ordner und die der andere Plug-Ins (MiLight, Legacy…)

    Komme leider nicht ohne Hilfe weiter!
    Wäre für Tips dankbar!

    • Hallo MX,

      welchen Raspberry und welche Version des Betriebssystems nutzt du denn? Falls du noch Wheezy installiert hast, hast du auch die Schritte zur Aktualisierung von GCC/G++ erfolgreich durchführen können? Welche Version von GCC/G++ aktiv ist, kannst du mit folgendem Befehl überprüfen:

      sudo gcc –version

      Schreibe doch mal den Output des Befehls hier.

      Viele Grüße
      Markus

      • MX MX

        Hey,

        danke für die fixe Antwort!
        Ich habe ein RasPi 2 und benutze Jessie (wie von Dino in seine alternative Anleitung beschrieben!)

        dies ist das Output von sudo gcc -v:

        Using built-in specs.
        COLLECT_GCC=gcc
        COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
        Target: arm-linux-gnueabihf
        Configured with: ../src/configure -v –with-pkgversion=’Raspbian 4.9.2-10′ –with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs –enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ –prefix=/usr –program-suffix=-4.9 –enable-shared –enable-linker-build-id –libexecdir=/usr/lib –without-included-gettext –enable-threads=posix –with-gxx-include-dir=/usr/include/c++/4.9 –libdir=/usr/lib –enable-nls –with-sysroot=/ –enable-clocale=gnu –enable-libstdcxx-debug –enable-libstdcxx-time=yes –enable-gnu-unique-object –disable-libitm –disable-libquadmath –enable-plugin –with-system-zlib –disable-browser-plugin –enable-java-awt=gtk –enable-gtk-cairo –with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf/jre –enable-java-home –with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf –with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf –with-arch-directory=arm –with-ecj-jar=/usr/share/java/eclipse-ecj.jar –enable-objc-gc –enable-multiarch –disable-sjlj-exceptions –with-arch=armv6 –with-fpu=vfp –with-float=hard –enable-checking=release –build=arm-linux-gnueabihf –host=arm-linux-gnueabihf –target=arm-linux-gnueabihf
        Thread model: posix
        gcc version 4.9.2 (Raspbian 4.9.2-10)

        LG
        MX

      • MX MX

        *Ein RaspPi 2, Modell B

  7. Fabio Fabio

    Hallo Markus

    Hab es hinbekommen das Problem war

    sudo apt-get update
    sudo apt-get upgrade

    sudo apt-get install gcc-4.8 g++-4.8

    sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
    sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
    sudo update-alternatives –install /usr/bin/g++ g++ /usr/bin/g++-4.6 20
    sudo update-alternatives –install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

    hatte ich nicht gemacht das reicht auch musst nicht die ganze seite abtackern.

    So eine Frage hätte ich noch wie kann man beim elegato eve app die farbe auf weiß stellen 🙂 komm nicht drauf habe rgbw lampen.

    Eine schöne Weihnachteit euch allen und Danke für die Top Anleitung waren zwar 13 std Arbeit bis es lief aber wen es leuft dan ist es einfach klasse.

    P.S die Teure App von Homekit für 14.99 lohnt sich nicht hatte sie gekauft aber ist genau das gleiche wie die eve app konnte sie aber zurückgeben und hab mein geld wieder bekommen.

    • MX MX

      Hey,

      hier hakt es bei mir ab:

      pi@raspberrypi:~ $ sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
      update-alternatives: error: unknown argument `–install‘

      was mache ich falsch?

      LG

    • MX MX

      Hey,

      Bin jetzt mit deinen Tips weiter gekommen (muss aber –install sein, mit zwei Bindestrichen) aber bekomme nach einmal erfolgreichen Start jetzt nur noch das hier:

      *** WARNING *** The program ’nodejs‘ uses the Apple Bonjour compatibility layer of Avahi.
      *** WARNING *** Please fix your application to use the native API of Avahi!
      *** WARNING *** For more information see
      *** WARNING *** The program ’nodejs‘ 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
      Loaded plugin: homebridge-legacy-plugins
      Registering accessory ‚homebridge-legacy-plugins.AD2USB‘
      Registering accessory ‚homebridge-legacy-plugins.Carwings‘
      Registering accessory ‚homebridge-legacy-plugins.ELKM1‘
      Registering accessory ‚homebridge-legacy-plugins.FileSensor‘
      Registering accessory ‚homebridge-legacy-plugins.GenericRS232Device‘
      Registering accessory ‚homebridge-legacy-plugins.HomeMatic‘
      Registering accessory ‚homebridge-legacy-plugins.HomeMaticThermo‘
      Registering accessory ‚homebridge-legacy-plugins.HomeMaticWindow‘
      Registering accessory ‚homebridge-legacy-plugins.HttpGarageDoorOpener‘
      Registering accessory ‚homebridge-legacy-plugins.HttpHygrometer‘
      Registering accessory ‚homebridge-legacy-plugins.HttpThermometer‘
      Registering accessory ‚homebridge-legacy-plugins.Tesla‘
      Registering accessory ‚homebridge-legacy-plugins.X10‘
      Registering accessory ‚homebridge-legacy-plugins.mpdclient‘
      Registering platform ‚homebridge-legacy-plugins.Domoticz‘
      Registering platform ‚homebridge-legacy-plugins.HomeAssistant‘
      Registering platform ‚homebridge-legacy-plugins.HomeSeer‘
      Registering platform ‚homebridge-legacy-plugins.ISY‘
      Registering platform ‚homebridge-legacy-plugins.LIFx‘
      Registering platform ‚homebridge-legacy-plugins.SmartThings‘
      Registering platform ‚homebridge-legacy-plugins.TelldusLive‘
      Registering platform ‚homebridge-legacy-plugins.ZWayServer‘

      Loaded plugin: homebridge-milight
      Registering accessory ‚homebridge-milight.MiLight‘
      Registering platform ‚homebridge-milight.MiLight‘

      Loaded config.json with 0 accessories and 1 platforms.

      Loading 1 platforms…
      [MiLight] Initializing MiLight platform…
      [MiLight] Initializing platform accessory ‚Zimmerlampe’…
      [MiLight] Initializing platform accessory ‚Stehlampe’…
      Scan this code with your HomeKit App on your iOS device to pair with Homebridge:

      ┌────────────┐
      │ 031-67-123 │
      └────────────┘

      Homebridge is running on port 51826.
      events.js:141
      throw er; // Unhandled ‚error‘ event
      ^

      Error: listen EADDRINUSE :::51826
      at Object.exports._errnoException (util.js:855:11)
      at exports._exceptionWithHostPort (util.js:878:20)
      at Server._listen2 (net.js:1237:14)
      at listen (net.js:1273:10)
      at Server.listen (net.js:1369:5)
      at EventedHTTPServer.listen (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/eventedhttp.js:58:19)
      at HAPServer.listen (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:132:20)
      at Bridge.Accessory.publish (/usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:347:16)
      at Server._publish (/usr/lib/node_modules/homebridge/lib/server.js:50:16)
      at Server.run (/usr/lib/node_modules/homebridge/lib/server.js:42:10)
      at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:23:16)
      at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22)
      at Module._compile (module.js:398:26)
      at Object.Module._extensions..js (module.js:405:10)
      at Module.load (module.js:344:32)
      at Function.Module._load (module.js:301:12)

      Ich verstehe die Fehlermeldung nicht ganz!

      Könnte mir da jemand helfen?

      LG

      • Hallo MX,

        super dass du nun weiter gekommen bist! Homebridge scheint nun korrekt installiert zu sein. Die WARNINGS’s beim Start von Homebridge kannst du ignorieren. Diese sind auf dem Raspberry normal.

        Die Fehlermeldung am Ende erscheint mir aber so, dass auf dem verwendeten Port 51826 bereits ein anderer Service läuft. Vielleicht ist noch eine alte Version von Node.js installiert oder du hast noch ein anderes Programm am laufen? Erst einmal würde ich einen Neustart des Raspberry versuchen und sonst einmal mit folgendem Befehl auflisten lassen, welcher Service auf diesem Port läuft:

        lsof -i tcp:51826

        Eventuell musst du hierfür vorher noch ein kleines Tool installieren:

        sudo apt-get install lsof

        Den entsprechenden Prozess könntest du dann mit folgendem Befehl beenden, falls du diesen nicht benötigst:

        kill -9 57385

        57385 müsstest du durch die entsprechende Prozess-ID ersetzen.

        Hoffe das bringt dich weiter.

        Viele Grüße
        Markus

  8. MX MX

    Hey,

    Also: gerade nochmal angemacht, nun bekomme ich eine andere Fehlermeldung, ohne was gemacht zu haben:

    Error: dns service error: name conflict
    at Error (native)
    at new Advertisement (/usr/lib/node_modules/homebrid ge/node_modules/mdns/lib/advertisement.js:56:10)
    at Object.create [as createAdvertisement] (/usr/lib/ node_modules/homebridge/node_modules/mdns/lib/advertisem ent.js:64:10)
    at Advertiser.startAdvertising (/usr/lib/node_module s/homebridge/node_modules/hap-nodejs/lib/Advertiser.js:4 3:30)
    at Bridge.Accessory._onListening (/usr/lib/node_modu les/homebridge/node_modules/hap-nodejs/lib/Accessory.js: 352:20)
    at emitNone (events.js:67:13)
    at HAPServer.emit (events.js:166:7)
    at HAPServer._onListening (/usr/lib/node_modules/hom ebridge/node_modules/hap-nodejs/lib/HAPServer.js:153:8)
    at emitNone (events.js:67:13)
    at EventedHTTPServer.emit (events.js:166:7)
    at EventedHTTPServer. (/usr/lib/node_modu les/homebridge/node_modules/hap-nodejs/lib/util/eventedh ttp.js:62:10)
    at emitNone (events.js:67:13)
    at Server.emit (events.js:166:7)
    at emitListeningNT (net.js:1263:10)
    at nextTickCallbackWith1Arg (node.js:444:9)
    at process._tickCallback (node.js:366:17)

    Dann wollte ich ISOF trotzdem installieren, Ergebnis:

    pi@raspberrypi:~ $ sudo apt-get install isof
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package isof

    Irgendwie ist da ein heftiger Wurm drin. Was aber gesagt werden muss: bei der Installation von Homebridge waren trotz unsafe-perm einige Warnungen wieder dabei. Hängt das noch zusammen?

    LG
    MX

  9. Dino Dino

    Hallo Markus,

    habe auf 2. SD Karte nochmal neu angefangen,nach den angaben von Fabio:

    sudo apt-get update
    sudo apt-get upgrade

    sudo apt-get install gcc-4.8 g++-4.8

    sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
    sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
    sudo update-alternatives –install /usr/bin/g++ g++ /usr/bin/g++-4.6 20
    sudo update-alternatives –install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

    danach mit node v5.3.0 weiter und wie in deiner Beschreibung auf den Raps 2 B, einwandfrei. Musste nur das Milight plugin und Netatmo plugin separat installieren. Nun laufen diese beiden. Leider bekomme ich Songs garnicht zum starten.

    Gruß Dino

  10. Dino Dino

    Hallo Markus,

    Dank an Fabio der mir noch den entscheidenen Tipp gegeben hat.

    Hier mal meine Anleitung die du gerne anhängen kannst.

    Also ich habe den aktuellen Ras PI 2 Mod B

    1. Debian WHEEZY installieren

    (hier nehme ich 2 Windows Prog.: SDFormatter und dann Win32DiskImager)

    RASPBIAN WHEEZY
    Full desktop image based on Debian Wheezy
    Version:May 2015
    Release date:2015-05-05
    Kernel version:3.18

    2. Im Terminal mit:

    ssh pi@192.168.xxx.xx

    (IP im Router ablesen)

    und dem Passwort “ raspberry “ einloggen.

    (Passwort wird nicht angezeigt)

    3. folgende Befehle einzeln eingeben, falls nachgefragt wird mit “ y “ bestätigen.

    sudo apt-get update

    sudo apt-get upgrade

    sudo apt-get install gcc-4.8 g++-4.8

    sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20

    sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50

    sudo update-alternatives –install /usr/bin/g++ g++ /usr/bin/g++-4.6 20

    sudo update-alternatives –install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

    4. Jetzt kommt NODE Version 5.3.0 (Achtung Pi 2 , bei Pi 1 siehe oben bei Markus)

    wget https://nodejs.org/dist/v5.3.0/node-v5.3.0-linux-armv7l.tar.gz

    tar -xvf node-v5.3.0-linux-armv7l.tar.gz

    cd node-v5.3.0-linux-armv7l

    sudo cp -R * /usr/local/

    5. Mit

    node -v

    die Version kontrollieren, v.5.3.0

    6. Die Installation von Avahi. Dieses Paket wird für die Installation von Homebridge benötigt und ist ein DNS-Discovery-Tool. dass heißt dieses kleine Paket hilft Homebridge eure Komponenten im Netzwerk zu finden.

    sudo apt-get install libavahi-compat-libdnssd-dev

    7. Die Installation von Homebridge erfolgt nun direkt über den Paketmanager von NodeJS (npm).

    sudo npm install -g homebridge

    Da die Installation auf Systemordner zugreift muss der Befehl mit sudo ausgeführt wird und ihr müsst hierfür noch einmal euer Passwort eingeben (Standard ist raspberry).

    Das sollte es erst einmal gewesen sein. Führt ihr Homebridge nun zum ersten mal aus, solltet ihr folgende Meldung erhalten:

    homebridge

    No plugins found. See the README for information on installing plugins.

    8. Die Installation eines Plugins (In meinem Fall die legacy plugins mit der MiLight-Plattform):

    sudo npm install -g homebridge-legacy-plugins

    9. Milight und Netatmo installieren

    sudo npm install -g homebridge-milight

    sudo npm install -g homebridge-netatmo

    10. Hier mache ich mal ein reboot mit

    sudo reboot

    11. Neu einloggen und die Config bearbeiten mit

    nano ~/.homebridge/config.json

    meine sehen so aus (meine Netatmo Daten hebe ich entfernt):

    {
    „bridge“: {
    „name“: „Homebridge“,
    „username“: „CC:22:2D:E3:DC:22“,
    „port“: 51826,
    „pin“: „031-67-123“
    },
    „platforms“: [{
    „platform“: „MiLight“,
    „name“: „MiLight“,
    „ip_address“: „192.168.178.48“,
    „port“: 8899,
    „type“: „rgbw“,
    „delay“: 30,
    „repeat“: 3,
    „zones“: [„Büro“, null, null, null]
    }, {
    „platform“: „netatmo“,
    „name“: „netatmo weather“,
    „ttl“: 5,
    „auth“: {
    „client_id“: „XXXXX Create at https://dev.netatmo.com/„,
    „client_secret“: „XXXXX Create at https://dev.netatmo.com/„,
    „username“: „your netatmo username“,
    „password“: „your netatmo password“
    }
    }]
    }

    (Falls ihr Probleme beim speichern der config habt! Hat bei mir geholfen mit “ sudo passwd “ ein root Passwort zu setzten.
    Und sich einmal als root mit “ ssh root@192.168.178.xxx “ einzuloggen und den 1. Punkt auszuführen und mit reboot zu bestätigen.

    und dann so weiter wie bei Markus in Schritt 7 beschrieben.

    Ich hoffe ich konnte euch helfen.

    Ich habe selber am 25.12.15 diese Beschreibung nochmal durchgeführt und Sie läuft !

    Vielleicht hat es einer mit SONOS hinbekommen, das klappt bei mir nicht.

    Gruß Dino aus Kempten

    • Dino Dino

      Hallo Michael,

      du must auf der Seite Create an app oben drücken da nur ein name vergeben und dann hast du unter MY APPLICATIONS auch die client_id und client_secret.

      Gruß Dino

  11. Oliver Steinecke Oliver Steinecke

    Hallo Markus,
    Ich habe es bis jetzt noch nicht hinbekommen, meine MiLights über die EVE App auf weiß zu stellen.
    Ich finde dort keine Möglichkeit,woran kann das liegen?
    @ Fabio, hast Du es hin bekommen?
    Gruß, Oliver

    • Hallo Oliver,

      wie es scheint hast du recht. Ich habe leider auch keine Möglichkeit gefunden die Lichter auf weiß zu stellen. Mir ist das erst gar nicht aufgefallen, da meine Lichter eigentlich immer auf warmweiß eingestellt sind und ich sie über die App nur ein- und ausschalte bzw. dimme. Über die Easybulb App kannst du auf jeden Fall weiß einstellen. Dort gibt es einen kleinen Knopf am unteren Rand, der auf weiß umschaltet. Beim bedienen über die Eve-App behalten die Lampen dann auch die eingetellte Farbe.

      Sehr merkwürdig. Ich werde mal eine Anfrage an den Support von Elgato stellen, ob es hier eine versteckte Funktion gibt 😉 Sobald ich etwas erfahre, melde ich mich.

      Viele Grüße
      Markus

  12. MX MX

    Hey,

    Inzwischen läuft die Homebridge.

    Allerdings nur grob 10 Minuten, dann ist sie nicht mehr erreichbar. Ich habe schon einen Ping laufen lassen, der Pi selber ist weiterhin erreichbar, aber irgendwann scheint nur das Homebridge-Plugin (zeigt selbst keinen Fehler an) nicht mehr erreichbar.
    Nach einem Neustart des Plugins muss ich allerdings die ganze Sache neu einrichten!

    Was fällt euch dazu ein?

    LG
    MX

    • Hi MX,

      welche Plugins nutzt du denn? Lass dir doch am Besten mal die Logs von Homebridge anzeigen. Vielleicht lässt sich da etwas entdecken:

      tail -f /var/log/homebridge.log
      tail -f /var/log/homebridge.err

      • MX MX

        Ich habe ihn nun per LAN-Kabel an die Fritzbox gelinkt – seitdem gibt es keine Verbindungsprobleme mehr.
        Bisher läuft die Bridge mit einem einzigen Absturz durchgehend durch!!
        Wenn sich das so hält – Respekt!!

        Ein Fernzugriff ist mit diesem Plugin aber nicht möglich, oder?

        LG
        MX

  13. Kleines Update: Habe den Artikel eben mal auf den aktuellsten Stand gebracht und eure Tipps und Hinweise mit aufgenommen. Vielen Dank dafür!

    • MX MX

      Nach dem Update auf 9.3 war plötzlich keine HomeKit-Steuerung mehr möglich. Nach der Neueinrichtung kann ich zwar die Bridge verbinden, aber es sind keine Lampen mehr verbunden?! Es ist also nur ein Gerät gelistet, und zwar die Homebridge. Kann aber weder mit App noch Siri Lampen ansteuern. In der Milight-App kann ich aber alles noch sehr wohl ändern!
      Ich habe nichts im Skript oder sonstwo verändert – ist jemandem ähnliches passiert??

      LG
      MX

  14. Fabio Fabio

    Hasst du schon eine antwort bekommen wie man die farbe auf weiß stellt 🙂

    • Hallo Fabio,

      ich habe inzwischen eine Antwort erhalten. Leider keine erfreuliche :-/
      Hier die Antwort, die ich erhalten habe:

      Dear Markus,
      Thank you for contacting Elgato Systems. Unfortunately, this is currently not possible. I have however passed it on to product management in the form of a feature request.
      We greatly appreciate customer feedback.

  15. Fabio Fabio

    Aus der ferne kannst du es mit einem apple tv ab version 3 steuern

  16. Robert Robert

    Hallo

    für alle die bei der Installation immer noch Fehler bekommen. Schaut mal in eurem Router ob der Port 9418 freigegeben ist. Wenn nicht einfach mal freigeben das hat bei mir geholfen.

    mfg

  17. Hallo an alle 😉
    Ich versuche schon seit längerer Zeit die Homebridge auf meinem RP2 zu installieren, leider geht immer irgendetwas schief. Gibt es jemand der mir das instsllieren würde gegen eine entlohnung ? Ich würde den RP2 zuschicken und übernehme natürlich alle Kosten. Wenn jemand helfen kann schreibt mir eine email an: aerox-mc@web.de

    Gruß Marc

  18. Jörg Richter Jörg Richter

    Hallo,

    Leider sehe ich nur die Homebridge, aber keine Geräte (iOS 10, Home). Ich habe auch den Hinweis mit dem Update gelesen, aber da ich erst heute die Applikation geladen habe, sollte
    ich ja die neuste Version haben (habe trotzdem nochmal: sudo npm update -g ausgeführt).

    1. Nach Anleitung installiert
    2. eigens config.json
    Zones ist mir nicht ganz klar (name des Button in MiLight remote??)
    3. iOS 10 mit home -> sehe die homebridge, aber keine Geräte

    hier mal meine Config:
    {
    „bridge“: {
    „name“: „Homebridge“,
    „username“: „B8:27:EB:DE:69:29“,
    „port“: 51826,
    „pin“: „031-45-154“
    },
    „platforms“: [
    {
    „platform“:“MiLight“,
    „name“:“MiLight“,
    „ip_address“: „192.168.178.50“,
    „port“: 8899,
    „type“: „rgbw“,
    „delay“: 30,
    „repeat“: 3,
    „zones“:[null,“Schlaf“,“Büro“,null]
    }
    ]
    }

    hier mein homebridge start:
    pi@pi:/usr/local/lib/node_modules $ homebridge
    *** WARNING *** The program ’node‘ uses the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    *** 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
    [2016-09-21 14:56:04] Loaded plugin: homebridge-milight
    [2016-09-21 14:56:04] Registering platform ‚homebridge-milight.MiLight‘
    [2016-09-21 14:56:04] —
    Scan this code with your HomeKit App on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 031-45-154 │
    └────────────┘

    [2016-09-21 14:56:04] Homebridge is running on port 51826.

    Was mache ich falsch?

    • Steffen Steffen

      Ich habe die Geräte mit der „Elgato Eve“ App hinzugefügt, das geht irgendwie besser.
      Dann tauchen auch die RGBW Lampen auf, aber leider lassen sie sich (bei mir) nicht schalten.

  19. Jürgen Jürgen

    Hallo zusammen,

    ich habe auf meinem Pi jetzt auch die homebridge mit milight-plugin installiert.
    In der „Home“-App auf dem iPhone bekomme ich die Räume angezeigt, allerdings funktioniert weder die Steuerung der Lampen noch bekomme ich eine Rückmeldung über deren Zustand.
    Irgend welche Tips ?

  20. Steffen Steffen

    Erstmal vielen Dank für die fantastische Anleitung.

    Ich habe das Problem das ich zwar die Milight „WHITE“ Lampen gesteuert bekomme, aber leider nicht die „RGBW“ Lampen.

    Ich habe eine Milight Bridge die beide Lampen steuern kann (zumindest über die zugehörige iOS App).

    So wie ich es verstanden habe muss eine zweite Platform hinzugefügt werden, scheint aber nicht zu klappen.

    Hat jemand ähnliche Erfahrungen gemacht, oder noch besser: eine Lösung des Problems?

    {
    „bridge“: {
    „name“: „Homebridge“,
    „username“: „XX:XX:XX:XX:XX:XX“,
    „port“: 51826,
    „pin“: „111-11-111“
    },
    „platforms“: [
    {
    „platform“: „MiLight“,
    „name“: „MiLight“,
    „ip_address“: „192.168.0.200“,
    „port“: 8899,
    „type“: „white“,
    „delay“: 30,
    „repeat“: 3,
    „zones“: [„foo“, „bar“, „office“, null]
    },
    {
    „platform“:“MiLight“,
    „name“:“MiLight“,
    „ip_address“: „192.168.0.200“,
    „port“: 8899,
    „type“: „rgbw“,
    „zones“: [„office-rgb“,“foobar“],
    „repeat“: 5,
    „delay“: 30
    }
    ]
    }

    • Hallo Steffen,

      wenn du zwei verschiedene Typen von Milight-Lampen nutzt, dann sieht die Syntax etwas anders aus. Es wird hier keine zweite Plattform angelegt, sondern innerhalb der Milight-Plattform zwei Bridges. Könnte z.B. so aussehen:

      {
      „bridge“: {
      „name“: „Homebridge“,
      „username“: „XX:XX:XX:XX:XX:XX“,
      „port“: 51826,
      „pin“: „111-11-111“
      },
      „platforms“: [
      {
      „platform“: „MiLight“,
      „name“: „MiLight“,
      „bridges“: [
      {
      „ip_address“: „192.168.0.200“,
      „port“: 8899,
      „type“: „white“,
      „delay“: 30,
      „repeat“: 3,
      „zones“: [„foo“, „bar“, „office“, null]
      },
      {
      „ip_address“: „192.168.0.200“,
      „port“: 8899,
      „type“: „rgbw“,
      „zones“: [„office-rgb“,“foobar“],
      „repeat“: 5,
      „delay“: 30
      }]
      }
      ]}

      Versuch das doch mal und melde dich ob es geklappt.

  21. Thomas Thomas

    Hi,
    ich habe das gleiche Problem. MiLight RGBW und White lassen sich per iPhone App steuern mit der Homebridge aber nur eine der beiden. Die Syntax in der config.json ist das Problem, wie nur ist es richtig????

    • Steffen Steffen

      Bei mir lag es am Benutzer!
      Sync die rgbws nochmal mit der iPhoneApp.
      Während ich die Lampe im Wohnzimmer steuern wollte, habe ich den ganzen Abend das Nachtlicht meiner Tochter bedient. Gemerkt hab ich den Irrtum erst nachts weil es sehr hell (und pink) aus ihrem Zimmer schien.

  22. Leo Leo

    Hi Markus,
    Erst mal ein großes Lob für diese sehr gelungene Anleitung! Ich habe dennoch eine Frage! Undzwar habe ich vor meine Funksteckdosen per App über die Homebridge zu steuern. Ich bin soweit das ich die Steckdosen über so einen Befehl einschalten kann:
    sudo ./send 11010 2 1
    Und über diesen ausschalten kann :
    sudo ./send 11010 2 0
    Beim Setup der Steckdosen bin ich dieser Anleitung gefolgt: https://alexbloggt.com/funksteckdosen-raspberry-pi-teil1/
    Wenn das gehen würde wäre ich mehr als glücklich!
    Grüße
    Leo

    • Hallo Leo,

      Glückwunsch. Da hast du den schwierigsten Teil ja eh schon hinter dir 🙂 Die Steuerung via HomeKit sollte dann mit dem Homebridge-Plugin homebridge-ssh (https://github.com/alexguev/homebridge-ssh) möglich sein. Damit kannst du ein virtuelles Gerät in HomeKit einbinden und beim Ein- bzw. Ausschalten SSH-Befehle absetzen. Dass heißt wenn du das Gerät über HomeKit einschaltest, setzt dein Raspberry Pi den Befehl „sudo ./send 11010 2 1“ ab.

      Viel Erfolg dabei! Und lass doch noch einmal hören, ob das klappt.

  23. Kai B. Kai B.

    Hallo,
    Vielen Dank für deine gute Anleitung.
    Ich habe jedoch ein Problem und komme nicht weiter.
    Es ist alles wie beschrieben installiert worden, beim starten von der Homebridge konnte ich diese zuerst auch ohne Probleme in iOS hinzufügen, aber leider kein Licht steuern.
    Also habe ich nach mehreren Versuchen den Pi neu gestartet.
    Seitdem kann ich keine Verbindung mehr mit der Eve Oder Home App auf meinem iPhone herstellen.
    Laut Terminal werden keine Fehler ausgegeben .
    In meiner findig habe ich als usernamen die Mac Adresse des milight Hubs eingegeben. Passwort habe ich frei gewählt. Bei der IP Adresse auch die von dem Milight hub.

    Kannst du mir evtl einen Rat geben woran es liegen kann? Würde ansonsten alles auf 0 setzen und nochmal von vorne anfangen 😂🙈

    Mit freundlichen Grüßen
    Kai

    • Hallo Kai,

      bist du denn schon weitergekommen? Ansonsten wäre es hilfreich, wenn du einmal die Ausgabe direkt nach dem Starten von Homebridge hier postest. Da könnte man eventuell den Fehler ablesen.

      Viel Erfolg und viele Grüße!

      • Kai Kai

        Hallo,
        Danke für deine Antwort. Habe das Problem inzwischen in den Griff bekommen. Einfach nochmal von vorne begonnen und inzwischen ist das ganze Haus vernetzt. Glaube inzwischen es lag einfach an einer falschen „Gruppen“ Zuordnung.
        Eine Frage hätte ich noch, ist es möglich mehrere Brücken im Netzwerk einzubinden? Habe jetzt die 4 Gruppen voll und würde gern noch mehr Lampen vernetzen.
        Würde einfach eine 2. Brücke mit einer anderen IP analog zur 1. einpflegen. Meinst du das würde funktionieren?
        Mit freundlichen Grüßen
        Kai

        • Hallo Kai,

          ja das funktioniert ohne Probleme! Einfach in der config.json dann eine zweite Milight-Bridge mit der entsprechenden IP-Adresse angeben.

          Viele Grüße
          Markus

  24. Tim Tim

    Hallo,

    klasse Tutorial, klasse Blog! Weiter so.
    Ich komme irgendwie nicht weiter, habe alles installiert und die config datei befüllt, aber irgendwie startet Homebridge nicht komplett.

    pi@raspberrypi:~ $ homebridge
    *** WARNING *** The program ’node‘ uses the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    *** 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
    [2016-11-06 21:51:18] Loaded plugin: homebridge-amazondash
    [2016-11-06 21:51:19] Registering platform ‚homebridge-amazondash.AmazonDash‘
    [2016-11-06 21:51:19] —
    [2016-11-06 21:51:21] Loaded plugin: homebridge-philipshue
    [2016-11-06 21:51:21] Registering platform ‚homebridge-philipshue.PhilipsHue‘
    [2016-11-06 21:51:21] —
    [2016-11-06 21:51:21] Loaded config.json with 0 accessories and 1 platforms.
    [2016-11-06 21:51:21] —
    [2016-11-06 21:51:21] Loading 1 platforms…
    [2016-11-06 21:51:21] [Hue] Initializing PhilipsHue platform…
    [2016-11-06 21:51:21] [Hue] PhilipsHue Platform Plugin Version 0.0.3
    [2016-11-06 21:51:21] [Hue] Fetching Philips Hue lights…
    [2016-11-06 21:51:22] Loading 0 accessories…
    Load homebridge-amazondash.AmazonDash

    Er erkennt zwar meine Hue Bridge und auch das DashButton Plugin, aber der Pin wird nicht angezeigt und in den etwaigen Homekit Apps auf dem iPhone, wird auch nichts angezeigt. Kann mir jemand weiter helfen?

    • Hallo Tim,

      hm sehr komisch. Mich wundert auch die letzte Zeile deiner Ausgabe. Vielleicht gibt es hier ein Problem mit dem AmazonDash-Plugin. Hast du Homebridge denn auch als Administrator (su) gestartet, wie in meiner Anleitung zum AmazonDash-Plugin beschrieben? Das führt sonst meistens zu Probleme.

      Viele Grüße
      Markus

  25. Jens Jens

    Hallo,
    habe mal eine grundsätzliche Verständnisfrage? Wo werden die Regeln gespeichert?
    Habe Homebridge installiert, TP-Link hs 110 und Mylight laufen sowie Anwesenheitserkennung per WLan und GPS. Funktioniert soweit gut.
    Erstelle ich nun eine Regel z.B „wenn nicht im anwesend im WLan dann Steckdose aus“ funktioniert das nicht. Würde darauf hindeuten das die Regel auf dem iPhone ausgeführt wird. Somit natürlich nicht funktionert wenn ich ausserhalb des WLAn bin. Oder irre ich mich?

    DAnke und Gruss
    JJ

    • Hallo Jens,
      du hast es schon richtig erkannt. Das iPhone kann Aktionen nur ausführen, wenn es auch im lokalen WLAN ist. Damit solche Regeln zuverlässig funktionieren benötigst du entweder ein Apple TV oder ein iPad, welches ständig im heimischen WLAN verbunden ist. Wie hast du denn die Anwesenheitserkennung gelöst? Mit einem Homebridge-Plugin?

      Viele Grüße
      Markus

  26. Jens Jens

    Hallo Markus,
    danke für die Info! Dann muss ich mir wohl ein neueres iPad zulegen da das 3.er kein IOS 10 unterstützt. Anwesenheitserkennung funktioniert mit dem people plugin wenn sich das iPhone ins WLan einbucht oder auch mit openpaths per Geofence.
    Schöne Grüße
    Jens

  27. Sebastian Sebastian

    Moin,

    danke für die Super Anleitung.

    Hast du / Ihr schon mal versucht den Autostart bei Jessie zu realisieren über Systemd?

    Ich habe in einem anderen Forum folgende Anleitung gefunden:

    johannrichard commented on 7 Jan • edited
    On newer Raspberry Pi and Debian systems (i.e. jessie based), managing of services with init.d/sysvinit is (transparently) replaced with systemd. If you wish to use systemd for running Homebridge on boot, you can follow these instructions. Familiarity with Linux concepts, user and rights management etc. are assumed.

    As you can see, the service definition is much shorter than a comparable init.d script.

    Download the two files and place homebridge under /etc/default and homebridge.service under /etc/systemd/system on your Raspberry Pi.

    Configuration

    In order to use the systemd service as is, the following folders and user have to exists:

    A system user named homebridge. You can easily create this user with useradd –system homebridge or choose a different name
    A directory called /var/homebridge, writable by the user created above, and a corresponding config.json file in that directory. Homebridge by default looks for its configuration in /home//.homebridge. This is unsuitable for services and the -U /var/homebridge flag ensures the config is read from a different place.
    Then Enable and run the service (first time) with the following commands:

    systemctl daemon-reload
    systemctl enable homebridge
    systemctl start homebridge
    You can check the status of the service by calling

    systemctl status homebridge
    On subsequent reboots, it should start automatically, if not, use the journalctl -u homebridge to check the error cause.

    Notes

    The service will restart after 10 seconds if it fails for any reason (or if you kill it for example with kill -s SIGSEGV )

    Hier der Link:
    https://gist.github.com/johannrichard/0ad0de1feb6adb9eb61a/

    Irgendwie bekomme ich das aber nicht sauber zum laufen. Ich kann dann wohl über Homekit ein Homebridge hinzufügen, aber dieser sieht meine config.json datei nicht. Ist dann ohne geräte. Ich habe alle Verzeichnisse und User ausprobiert immer das selbe, sobald ich aber die alte Konfig vornehme läuft alles wieder….

    Vielleicht kann mir ja jemand helfen.
    Vielen Dank
    Sebastian

  28. Mike Mike

    Das mit dem „systemd“ für den Autostart würde mich auch interessieren. Ich habe das gleiche Problem!

  29. Marcel Marcel

    Hallo zusammen. Erstmal Danke für die super Arbeit und die tolle Erklärung.
    Nach einigen Versuchen habe ich es dann doch endlich geschafft das es läuft.

    Ich habe nur folgende Frage die sich mir nicht ganz erschließt.

    Wozu genau brauche ich die Homebridge? bzw wo genau ist der sinn darin?
    Folgendes „Problem“ habe ich bzw folgende Situation.

    Ich habe eine Hue-Bridge 2.0, 2x normale Dimmbare Hue Lampen, einen LED Strip und eine Osram RGBW Lightify und einen Zigbee Controller der auf den Raspberry geklemmt wird.
    Beim zusammenbasteln der Homebridge musste ich feststellen das ich die originale Hue Bridge eingeschaltet lassen muss. Sobald ich sie ausschalte, habe ich keine Kontrolle mehr über meine Lampen und die Homebridge spuckt Fehler aus.
    Sobald ich eine neue Lampe ins zigbee netz einbinden will…wird die immer mit der originalen Bridge verbunden (kann man gut in der Elgato Eve app erkennen).
    Ich dachte man kann die Homebridge nun verwenden ohne eine originale Bridge im Betrieb zu haben. Des weiteren kann ich per homekit app nicht die Osram lightify Lampe einbinden. Nur per Hue-App.

    Habt ihr paar Anregungen für mich? Oder kann mir jemand dazu eine kleine Hilfestellung geben?

    Ich freue mich auf eure Antworten.

    LG
    Marcel

    • Hallo Marcel,

      wie es scheint liegt hier ein kleines Missverständnis vor, was Homebridge eigentlich macht. Homebridge ermöglicht erstmal nicht mehr, als Geräte Homekit-kompatibel zu machen, die von Haus aus keine Unterstützung für Homekit mitliefern. Die von dir erwähnte Hue Bridge 2.0 unterstützt von Haus aus bereits Homekit. Die Homebridge wäre hierfür also eigentlich gar nicht notwendig. Für Hue benötigst du die Homebridge nur für die älteren Bridges. Die Hue-Bridge benötigst du aber immer, da diese die eigentliche Steuerung und Kommunikation mit deinen Lampen übernimmt. Dass bedeutet, wenn du einen Befehl „Lampe ein“ über Homekit sendest, so nimmt diesen Befehl immer erst deine Hue-Bridge entgegen und steuert dann die Lampen.

      Nutzt du nun zusätzlich die Homebridge, so sitzt diese zwischen Homekit und der Hue-Bridge. Im Grunde macht die Homebridge deine Geräte und unterstützen Befehle für Homekit bekannt und sichtbar.

      So ist der Ablauf für alle Plattformen. Die Homebridge kann Befehle nur dann direkt absetzen, wenn diese über WLAN versendet werden und ein offenes Protokoll nutzen bzw. eine API verfügbar ist. Für alles andere (vor allem auch um Zigbee nutzen zu können) brauchst du immer eine Bridge, die die entsprechenden Befehle absetzen kann.

      Ich hoffe das war soweit verständlich. Wenn du noch Fragen hast, melde dich gerne.

      Viele Grüße
      Markus

  30. Leif Leif

    Hallo!
    Ich habe deine Anleitung befolgt und bin total begeistert, es funktioniert einfach alles einwandfrei! 🙂
    Ich habe aktuell eine MILight Bridge und einen MiLight RGB Controller für meine LED Stripe und habe vor weitere Komponenten über die Bridge laufen zu lassen.
    Hier habe ich jedoch eine Frage, kann ich in der Eve App dann zwischen diesen beiden Geräten unterscheiden? Denn aktuell habe ich das Gefühl, die App erkennt die komplette MiLight Bridge als Gerät.
    Beste Grüße
    LEif

    • Hallo Leif,

      freut mich, dass alles so gut klappt 🙂

      Keine Sorge. Sobald du jetzt weitere Komponenten hinzufügst, dann werden diese auch separat in Homekit und der Eve App angezeigt. Dazu musst du diese einfach als eigene Zone zu Milight hinzufügen und diese Zone dann natürlich auch in deiner Hombebridge-Config ergänzen. Die Milight-Bridge wird dann zwar immer auch als extra Gerät angezeigt, du solltest aber alle Lampen dann auch einzeln steuern können.

      Wenn du Fragen hast, dann melde dich einfach nochmal! Viel Spaß beim weiteren Ausbau deines Homekits!

      • Leif Leif

        Hallo,
        perfekt vielen dank für die Antwort! 🙂
        Da hoffentlich meine restliche MiLight Bestellung morgen eintreffen sollte, werde ich gerne davon berichten ob alles klappt. Ebenfalls habe ich auch evtl. noch ein Verbesserungsvorschlag für die Config dann.

        Grüße
        Leif

  31. Andreas Andreas

    Hallo,

    ich habe nun auch erfolgreich Homebridge auf meinem Raspberry Pi (Model B Rev 2) mit Jessie laufen. Allerdings habe ich diese Anleitung zu spät entdeckt und habe mich mit den mehr oder weniger offizielle Beschreibungen durchgewurschtelt.
    Mich „plagt“ momentan ein kleines Luxus-Problem: wie kann ich in Homebridge die Sprache (Locale) so umstellen, dass sich die über Homebridge angeschlossenen Geräte auf deutsch in Home bzw. in HomeKit-fähigen Apps melden und nicht auf englisch.
    Ich möchte ungern die Locale des Raspberry selbst auf deutsch umstellen müssen.

    Danke,
    Andreas

  32. Klaus Klaus

    Hallo. wenn ich den Befehl „homebridge“ eingebe. Kommt die Meldung:
    -bash: homebridge: Kommando nicht gefunden.

    dann wurde homebridge anscheinend nicht installiert. Bin ich da richtig? wie kann ich die installation von homebridge prüfen? Danke
    Klaus

  33. Reto Reto

    Hallo Zusammen!

    Homebridge läuft bei mir nun auch auf Raspberry Pi 2 Rev B.
    Auch meine iBox 2 konnte ich in Homebridge einbinden. Auch die Commands (Bytes) werden gsendet, werden jedoch nicht auf die LED Strips umgesetzt.
    Folgendes Setup:

    LED Strip RGB (Multicolor)
    iBox 2

    Ich hätte noch eine ältere iBox (MiLight Bridge) kriege diese jedoch nicht so zulaufen, dass sie Antwort gibt. Ist glaube ich v4 welche kein Webinterface hat? Es hat nur eine Seite auf der eine neue Firmware eingespielt werden kann.

    Alle MiLight Standardfernsteuerung (RF, beide Bridges über App) funktionieren Einwandfrei.

    Vielleicht sieht jemand gleich eine Lösung.
    Muss ich eventuell das Eve App noch mit dem LED Strip linken?

    Auszug aus homebridge (gestartet mit: MILIGT_DEBUG=true homebridge -D)

    [6/12/2017, 5:22:54 PM] Loading 1 platforms…
    [6/12/2017, 5:22:54 PM] [MiLight] Initializing MiLight platform…
    [6/12/2017, 5:22:54 PM] [MiLight] Bulb type ‚rgb‘ only supports a single zone. Only the first defined bulb will be used.
    Milight: {„ip“:“192.168.0.212″,“port“:5987,“delayBetweenCommands“:100,“commandRepeat“:3}
    [6/12/2017, 5:22:54 PM] [MiLight] Initializing platform accessory ‚C’…
    Scan this code with your HomeKit App on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 031-67-123 │
    └────────────┘

    [6/12/2017, 5:22:55 PM] Homebridge is running on port 51826.
    Milight: initializing socket
    Milight: initializing socket done
    Milight: bytesSent=27, buffer=[0x20,0x00,0x00,0x00,0x16,0x02,0x62,0x3A,0xD5,0xED,0xA3,0x01,0xAE,0x08,0x2D,0x46,0x61,0x41,0xA7,0xF6,0xDC,0xAF,0xD3,0xE6,0x00,0x00,0xC9]
    Milight: bytesReceived=22, buffer=[0x28,0x00,0x00,0x00,0x11,0x00,0x02,0xF0,0xFE,0x6B,0x26,0x0C,0x18,0x5F,0xB8,0x74,0x82,0x00,0x01,0x66,0x02,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: Session Id: 0x66,0x02
    [6/12/2017, 5:23:04 PM] [MiLight] [C] Setting power state to on
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x05,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: no response timeout
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x06,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: resending 1
    Milight: no response timeout
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x07,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: resending 1
    Milight: no response timeout
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x08,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: resending 1
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x08,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x09,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x09,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x0A,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x0A,0x00], remote=192.168.0.212
    Milight: ready for next command
    [6/12/2017, 5:23:09 PM] [MiLight] [C] Setting power state to off
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x0B,0x00,0x31,0x00,0x00,0x05,0x02,0x0A,0x00,0x00,0x00,0x01,0x00,0x43]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x0B,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x0C,0x00,0x31,0x00,0x00,0x05,0x02,0x0A,0x00,0x00,0x00,0x01,0x00,0x43]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x0C,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x0D,0x00,0x31,0x00,0x00,0x05,0x02,0x0A,0x00,0x00,0x00,0x01,0x00,0x43]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x0D,0x00], remote=192.168.0.212
    Milight: ready for next command
    [6/12/2017, 5:23:14 PM] [MiLight] [C] Setting power state to on
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x0E,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x0E,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x0F,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x0F,0x00], remote=192.168.0.212
    [6/12/2017, 5:23:14 PM] [MiLight] [C] Setting saturation to 0 (NOTE: No impact on rgb MiLight bulbs)
    [6/12/2017, 5:23:14 PM] [MiLight] [C] Setting brightness to 0 (off)
    [6/12/2017, 5:23:14 PM] [MiLight] [C] Setting power state to off
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x10,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x10,0x00], remote=192.168.0.212
    [6/12/2017, 5:23:15 PM] [MiLight] [C] Setting power state to on
    [6/12/2017, 5:23:15 PM] [MiLight] [C] Setting hue to 0
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x11,0x00,0x31,0x00,0x00,0x05,0x02,0x0A,0x00,0x00,0x00,0x01,0x00,0x43]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x11,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x12,0x00,0x31,0x00,0x00,0x05,0x02,0x0A,0x00,0x00,0x00,0x01,0x00,0x43]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x12,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x13,0x00,0x31,0x00,0x00,0x05,0x02,0x0A,0x00,0x00,0x00,0x01,0x00,0x43]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x13,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x14,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x14,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x15,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x15,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x16,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x16,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x17,0x00,0x31,0x00,0x00,0x05,0x01,0xC7,0xC7,0xC7,0xC7,0x01,0x00,0x54]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x17,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x18,0x00,0x31,0x00,0x00,0x05,0x01,0xC7,0xC7,0xC7,0xC7,0x01,0x00,0x54]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x18,0x00], remote=192.168.0.212
    [6/12/2017, 5:23:16 PM] [MiLight] [C] Setting brightness to 0 (off)
    [6/12/2017, 5:23:16 PM] [MiLight] [C] Setting power state to off
    [6/12/2017, 5:23:16 PM] [MiLight] [C] Setting power state to on
    [6/12/2017, 5:23:16 PM] [MiLight] [C] Setting hue to 131
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x19,0x00,0x31,0x00,0x00,0x05,0x01,0xC7,0xC7,0xC7,0xC7,0x01,0x00,0x54]
    [6/12/2017, 5:23:16 PM] [MiLight] [C] Setting saturation to 100 (NOTE: No impact on rgb MiLight bulbs)
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x19,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x1A,0x00,0x31,0x00,0x00,0x05,0x02,0x0A,0x00,0x00,0x00,0x01,0x00,0x43]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x1A,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x1B,0x00,0x31,0x00,0x00,0x05,0x02,0x0A,0x00,0x00,0x00,0x01,0x00,0x43]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x1B,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x1C,0x00,0x31,0x00,0x00,0x05,0x02,0x0A,0x00,0x00,0x00,0x01,0x00,0x43]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x1C,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x1D,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x1D,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x1E,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x1E,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x1F,0x00,0x31,0x00,0x00,0x05,0x02,0x09,0x00,0x00,0x00,0x01,0x00,0x42]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x1F,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x20,0x00,0x31,0x00,0x00,0x05,0x01,0xC7,0xC7,0xC7,0xC7,0x01,0x00,0x54]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x20,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x21,0x00,0x31,0x00,0x00,0x05,0x01,0xC7,0xC7,0xC7,0xC7,0x01,0x00,0x54]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x21,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: bytesSent=22, buffer=[0x80,0x00,0x00,0x00,0x11,0x66,0x02,0x00,0x22,0x00,0x31,0x00,0x00,0x05,0x01,0xC7,0xC7,0xC7,0xC7,0x01,0x00,0x54]
    Milight: bytesReceived=8, buffer=[0x88,0x00,0x00,0x00,0x03,0x00,0x22,0x00], remote=192.168.0.212
    Milight: ready for next command

    Config:

    „bridge“: {
    „name“: „Homebridge“,
    „username“: „CC:22:2D:E3:DC:22“,
    „port“: 51826,
    „pin“: „031-67-123“
    },

    „platforms“: [
    {
    „platform“:“MiLight“,
    „name“:“MiLight“,
    „bridges“: [
    {
    „ip_address“: „192.168.0.212“,
    „version“: „v6“,
    „lights“: {„rgb“: „Crossdesk“},
    „repeat“: 3,
    „delay“: 100
    }
    ]
    }
    ]
    }

    • Jens Jens

      Hallo,

      ich habe an meiner Bridge 5 Lampen in 2 Zonen. Funktioniert mit folgender config ohne Probleme.

      {
      „platform“:“MiLight“,
      „name“:“MiLight“,
      „bridges“: [
      {
      „ip_address“: „192.168.1.117“,
      „type“: „rgbw“,
      „zones“: [„Kommode“,“Regal“,“Couch“,“Wand“],
      „repeat“: 5,
      „delay“: 30
      },
      {
      „ip_address“: „192.168.1.117“,
      „type“: „white“,
      „zones“: [„Schreibtisch“],
      „repeat“: 1
      }

      Gruß

      • Reto Reto

        Hallo Jens!

        Danke für deine rasche Antwort und den Tipp.
        Habe das gerade ausprobiert.

        Leider funktioniert die Config Syntax sowie bei dir, bei mir nicht.

        Mit folgender Config

        {
        „bridge“: {
        „name“: „Homebridge“,
        „username“: „CC:22:2D:E3:DC:22“,
        „port“: 51826,
        „pin“: „031-67-123“
        },

        „platforms“: [
        {
        „platform“:“MiLight“,
        „name“:“MiLight“,
        „bridges“: [
        {
        „ip_address“: „192.168.0.212“,
        „type“: „rgb“,
        „zones“: „Crossdesk“,
        „repeat“: 1,
        „delay“: 10
        }
        ]
        }
        ]
        }

        Kriege ich folgende Fehlermeldung.

        [6/13/2017, 4:21:47 PM] Loaded plugin: homebridge-milight
        [6/13/2017, 4:21:47 PM] Registering platform ‚homebridge-milight.MiLight‘
        [6/13/2017, 4:21:47 PM] —
        [6/13/2017, 4:21:47 PM] Loaded config.json with 0 accessories and 1 platforms.
        [6/13/2017, 4:21:47 PM] —

        [6/13/2017, 4:21:47 PM] Loading 1 platforms…
        [6/13/2017, 4:21:47 PM] [MiLight] Initializing MiLight platform…
        [6/13/2017, 4:21:47 PM] [MiLight] Could not read any lights from bridge 192.168.0.212
        [6/13/2017, 4:21:47 PM] [MiLight] No valid bulbs found in any bridge.

        Der einzige Weg meine MiLight Bridge anzusprechen war bisher über meine Config die ich im ersten Kommentar nutzte. Siehe Debug Log im ersten Kommentar

        Ich habe den Raspberry Pi nach Dinos Anleitung installiert.
        Sprich über apt Packagemanager,

        somit ist alles auf dem neusten Stand.
        NodeJS, Homebridge, Milight-Plugin

        Zusätzlich ist noch das Legacy Plugin installiert. Dies wird jedoch nicht initalisiert beim Homebridge start.

        Ich habe die Milight Config nach github Seite für das homebridge-milight Plugin erstellt.
        https://github.com/dotsam/homebridge-milight

        Ich weis nicht ob es damit zusammenhängt, dass die RGB Stripes von einem 1-zonen Netzteil gesteuert werden. Habe leider keine möglichkeit dies schnell auszuschliessen.

        Welche Versionen nutzst du Jens?

        Mit freundlichen Grüssen

        Reto

  34. Jens Jens

    Hallo Reto,

    versuch mal

    {
    „platform“:“MiLight“,
    „name“:“MiLight“,
    „bridges“: [
    {
    „ip_address“: „192.168.0.212“,
    „version“: „v5“,
    „lights“: {„rgb“: [„Crossdesk“],
    „repeat“: 1,
    „delay“: 10
    }

    Gruss
    JEns

  35. Reto Reto

    Hallo Jens.

    Habe ich bereits durchprobiert.
    V1, V2, V4 und V5 wird über 3-byte Kommuniziert, bei V3 über 2-byte.
    Bei allen werden Bytes gesendet jedoch keine empfangen. Auch eine Session, wie unter v6 aufbebaut wird, wird nicht initsiert.

    [6/14/2017, 5:14:11 AM] Homebridge is running on port 51826.
    Milight: initializing socket
    Milight: initializing socket done
    [6/14/2017, 5:14:14 AM] [MiLight] [Desk] Setting power state to on
    Milight: bytesSent=2, buffer=[0x22,0x00]

    Im Vergleich zu

    [6/12/2017, 5:22:55 PM] Homebridge is running on port 51826.
    Milight: initializing socket
    Milight: initializing socket done
    Milight: bytesSent=27, buffer=[0x20,0x00,0x00,0x00,0x16,0x02,0x62,0x3A,0xD5,0xED,0xA3,0x01,0xAE,0x08,0x2D,0x46,0x61,0x41,0xA7,0xF6,0xDC,0xAF,0xD3,0xE6,0x00,0x00,0xC9]
    Milight: bytesReceived=22, buffer=[0x28,0x00,0x00,0x00,0x11,0x00,0x02,0xF0,0xFE,0x6B,0x26,0x0C,0x18,0x5F,0xB8,0x74,0x82,0x00,0x01,0x66,0x02,0x00], remote=192.168.0.212
    Milight: ready for next command
    Milight: Session Id: 0x66,0x02

    Ich kann mir vorstellen das die Schaltung nicht funktioniert weil das Byte für die Zone falsch erstellt wird oder der 1-zonen Empfänger etwas anderes erwartet.
    Kann sein das bei anderer Configaufbau, dieses „Zonen“ Byte anderst erstellt wird.
    Sonst habe ich wirklich keine Ahnung wo ansetzen, aussern natürlich Sniffing der Übertragung vom MiLight App selber (Bytes und Befelssätze vergleichen) habe jedoch das gefühl es gibt noch den einten oder anderen einfacheren Lösungsansatz.

    Ist deine Umgebung ebenfalls überall auf den neusten Versionen. Oder hast du iwo, nicht „getraut“ zu Update aufgrund von Inkompatibilität?

    Vielen Dank

    Reto

  36. mike mike

    Hallo, ich habe auch versucht das ganze zum laufen zu bringen. Nach dem Start der homebrige sagt der pi aber, dass ein Fehler in der config.json sein soll. Ich komme aber partout nicht dahinter. Hier mal die json.config.
    {
    „bridge“: {
    „name“: „Homebridge“,
    „username“: „CC:22:3D:E3:CE:30“,
    „port“: 51826,
    „pin“: „031-45-154“
    },

    „description“: „This is an autogenerated config. only the homematic platform is enabled. see the sample for more“,
    „platforms“: [

    {
    „platform“: „MiLight“,
    „name“: „MiLight“,
    „ip_address“: „192.168.000.157“,
    „port“: 8899,
    „type“: „white“,
    „delay“: 30,
    „repeat“: 3,
    „zones“: [„null“, „null“, „Flur“, Kugel]
    },

    {
    „platform“: „HomeMatic“,
    „name“: „HomeMatic CCU“,
    „ccu_ip“: „192.168.000.115“,
    „subsection“: „Homekit“,
    „programs“: [„Alle LED aus“, „Jalousien Wohnzimmer 10% HomeHub“, „Jalousien Wohnzimmer 50% HomeHub“, „Öffnen Jalousien Wohnzimmer“, „Jalousie $
    „variables“: [„PC Automodus“, „Licht Automodus“],
    „filter_device“: [],
    „filter_channel“: [],
    „outlets“: []
    }

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.