Da RaZberry mittlerweile seine HomeKit-Funktionalität entfernt hat, habe ich mich nach einer geeigneten Alternative für einen HomeKit-Server auf meinem Raspberry Pi umgesehen und bin dabei bei dem Projekt „HomeBridge“ gelandet. Dieser Server basiert auf NodeJS und lässt sich dank zahlreich vorhandener Plugins einfach erweitern, sodass man damit bequem über die HomeKit API seine Sensoren und Aktoren ansteuern kann.
In diesem Artikel geht es um die Grundinstallation von HomeBridge auf einem Raspberry Pi. Wie man diese Installation für sein eigenes vorhandenes Setup (z.B. Funksteckdosen, Temperatur- / Luftfeuchtigkeitssensoren, Infrarot-Geräte etc.) mit Hilfe bereits existierender Plugins erweitern kann, folgt in einem separaten Artikel.
Bevor ihr mit der weiteren Installation beginnt, solltet ihr über
1 2 | sudo apt-get update sudo apt-get upgrade |
eure Paketquellen und Pakete auf den aktuellsten Stand bringen, um etwaige Probleme mit Abhängigkeiten von Paketen zu umgehen.
1. Update des C++-Compilers
Hinweis: Dieser Schritt ist nur notwendig für Nutzer, die noch Raspbian Wheezy einsetzen. Unter Jessie solltet ihr die aktuelle Version des Compilers bereits installiert haben. Ihr könnt das überprüfen mit g++-4.9 -v. Erhaltet ihr in der letzten Zeile gcc version 4.9.x,so könnt ihr diesen Schritt überspringen. Das gilt natürlich auch für Wheezy-Installationen, bei denen ihr den Compiler schon aktualisiert habt.
Um die neueste Version des Compilers für Raspbian zu installieren, müsst ihr zunächst eure Paketquellen (temporär) ändern. Bearbeitet dazu die Paketquellen, z.B. via sudo nano /etc/apt/sources.list und ersetzt „wheezy“ jeweils mit „jessie“. Speichert die Änderungen und führt ein sudo apt-get update aus, um die Änderungen an den Paketquellen durchzuführen. Anschließend könnt ihr mit sudo apt-get install gcc-4.9 g++-4.9 die benötigte Version des Compilers installieren. Ihr könnt (und solltet) dann die Änderungen an den Paketquellen wieder rückgängig machen, indem ihr diese wieder bearbeitet via sudo nano /etc/apt/sources.list und „jessie“ wieder durch „wheezy“ ersetzt. Ein anschließendes sudo apt-get update bringt eure Quellen wieder auf den Ursprungszustand.
Um die Standardcompilerversion noch der neu installierten Version anzupassen, reichen diese beiden Befehle, die ihr einfach nacheinander aufrufen könnt:
1 2 | sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7 |
Gebt ihr nun g++ -v ein, sollte in der letzten ausgegebenen Zeile
1 | gcc version 4.9.x |
stehen.
2. Installation von NodeJS
Hinweis: Bei der Installation wird zwischen Raspberry 1 (Raspberry A, Raspberry B, Raspberry B+, Raspberry Zero) und Raspberry 2 (Raspberry Pi B2) unterschieden. Bitte achtet darauf, die richtige Version zu installieren! Falls ihr nicht wisst, welche Version ihr habt, könnt ihr dies an den technischen Daten erkennen. Handelt es sich um ein Modell mit 1GB RAM, so ist es ein Raspberry 2, hat euer Raspberry 512MB oder weniger, so ist es ein Raspberry 1.
Update 03.03.2016: Mittlerweile gibt es einen neuen Raspberry Pi – den Raspberry Pi 3. Auch auf diesem lässt sich HomeBridge installieren. Bei der NodeJS-Version sollte auch hier die ARMv7-Version wie beim Raspberry Pi 2 laufen.
Wechselt zur Installation am Besten über „cd“ erst einmal in euer Home-Verzeichnis. Anschließend schaut ihr auf dieser Seite, welche Version von NodeJS in der LTS-Version aktuell „stable“ ist. Zur Zeit der Artikelerstellung war das 4.3.0.
Ladet euch die Version auf euren Raspberry Pi herunter, entpackt sie und wechselt in das erstellte Verzeichnis:
- Raspberry 1:123wget https://nodejs.org/dist/v4.3.0/node-v4.3.0-linux-armv6l.tar.gztar -xvf node-v4.3.0-linux-armv6l.tar.gzcd node-v4.3.0-linux-armv6l
- Raspberry 2:123wget https://nodejs.org/dist/v4.3.0/node-v4.3.0-linux-armv7l.tar.gztar -xvf node-v4.3.0-linux-armv7l.tar.gzcd node-v4.3.0-linux-armv7l
Anschließend kopiert ihr den Inhalt des Verzeichnisses nach „/usr/local“:
1 | sudo cp -R * /usr/local/ |
Um die erfolgreiche Installation zu prüfen, führt ihr ein node -vaus, bei dem ihr als Ausgabe nun „v4.3.0“ erhalten solltet (bzw. aktueller).
Hat das soweit geklappt, könnt ihr die heruntergeladene Datei sowie den entpackten Ordner löschen:
- Raspberry 1:12rm node-v4.3.0-linux-armv6l.tar.gzrm -R node-v4.3.0-linux-armv6l/
- Raspberry 2:12rm node-v4.3.0-linux-armv7l.tar.gzrm -R node-v4.3.0-linux-armv7l/
3. Installation weiterer Pakete
Ein paar weitere Pakete werden für Avahi noch benötigt. Diese können einfach über apt installiert werden:
1 | sudo apt-get install libavahi-compat-libdnssd-dev |
4. Installation von HomeBridge
Die Installation von HomeBridge selbst ist nun denkbar einfach. Ein einfaches
1 | sudo npm install -g --unsafe-perm homebridge |
sollte euch HomeBridge in der aktuellsten Version über npm laden und installieren lassen. Das dauert etwas, sollte aber in einigen Minuten (zumindest beim Raspberry 1) abgeschlossen sein.
Ihr könnt anschließend eure Installation prüfen, indem ihr HomeBridge ganz einfach über homebridge im Terminal startet. Es kommen jetzt noch Meldungen, dass keine Plugins und keine Konfigurationsdatei gefunden wurden, das ist in der Grundinstallation normal. Wie ihr eure Geräte einbindet über die Plugins und passende Konfigurationsdateien erstellt, werde ich im nachfolgenden Blogbeitrag beschreiben.
5. Autostart von HomeBridge
Der Autostart von HomeBridge ist natürlich nur dann sinnvoll, wenn ihr den Service soweit samt Plugins und Konfiguration auf eurem Raspberry Pi eingerichtet habt. Der Vollständigkeit halber, beschreibe ich diesen Schritt aber auch noch in diesem Artikel.
Hier wird unterschieden, zwischen 2 Möglichkeiten: Einmal via init.d (Wheezy und älter) und über systemd (Jessie und neuer). Da ich selbst auf meinem Raspberry Pi noch Wheezy nutze, gehe ich hier nur auf die Methode via init.d ein. Wer systemd nutzen möchte, findet hier eine ausführliche Beschreibung dazu.
5.1 Autostart über init.d
Erstellt zunächst eine neue Datei unter „/etc/init.d/“ über sudo nano /etc/init.d/homebridge, welche ihr mit folgendem Inhalt füllt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | #!/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" cmd="DEBUG=* /usr/local/bin/homebridge" user="pi" name=`basename $0` pid_file="/var/run/$name.pid" stdout_log="/var/log/$name.log" stderr_log="/var/log/$name.err" get_pid() { cat "$pid_file" } is_running() { [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1 } case "$1" in start) if is_running; then echo "Already started" else echo "Starting $name" cd "$dir" if [ -z "$user" ]; then sudo $cmd >> "$stdout_log" 2>> "$stderr_log" & else sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" & fi echo $! > "$pid_file" if ! is_running; then echo "Unable to start, see $stdout_log and $stderr_log" exit 1 fi fi ;; stop) if is_running; then echo -n "Stopping $name.." kill `get_pid` for i in {1..10} do if ! is_running; then break fi echo -n "." sleep 1 done echo if is_running; then echo "Not stopped; may still be shutting down or shutdown may have failed" exit 1 else echo "Stopped" if [ -f "$pid_file" ]; then rm "$pid_file" fi fi else echo "Not running" fi ;; restart) $0 stop if is_running; then echo "Unable to stop, will not attempt to start" exit 1 fi $0 start ;; status) if is_running; then echo "Running" else echo "Stopped" exit 1 fi ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac exit 0 |
Anschließend ändert ihr noch die Benutzerrechte und installiert das erstellte Script:
1 2 | sudo chmod 755 /etc/init.d/homebridge sudo update-rc.d homebridge defaults |
Ihr könnt nun HomeBridge ganz einfach über sudo /etc/init.d/homebridge start starten. Beim Systemstart sollte HomeBridge zudem nun automatisch gestartet werden. Die Ausgaben von HomeBridge findet ihr nun übrigens unter „/var/log/homebridge.log“ bzw. “/var/log/homebridge.err“.
Damit ist die Grundinstallation vom HomeKit abgeschlossen. Im nächsten Artikel geht es dann um die Konfiguration und Erweiterung der Installation. Dabei werde ich insbesondere auf das Steuern von Funksteckdosen über Raspberry-Remote eingehen und zeigen, wie sich Sensoren einbinden lassen.
Tipp: Ihr könnt die Push-Benachrichtigung eures Browsers verwenden, um über neue Artikel benachrichtigt zu werden. Akzeptiert dazu einfach die Meldung eures Browsers beim Aufruf dieser Seite und ihr werdet automatisch benachrichtigt. Das Abo könnt ihr natürlich jederzeit beenden.
Super, super, super! ???
Werde das heute Abend gleich mal soweit versuchen ?
Kurzes Feedback noch: Ich bin auf Anhieb ohne Probleme durchgekommen! Großes Dankeschön für das tolle Tutorial ?
Danke für die Rückmeldung!
Genial…. Versuch ich morgen Abend gleich mal.
Hallo, ich finde die Anleitung sehr interessant, bei mit kommt leider bei der Installation von Homebridge folgende(r) Fehler:
CXX(target) Release/obj.target/ed25519/src/ed25519.o
SOLINK_MODULE(target) Release/obj.target/ed25519.node
COPY Release/ed25519.node
make: Leaving directory ‚/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/ed25519/build‘
npm ERR! Linux 4.1.7+
npm ERR! argv „/usr/local/bin/node“ „/usr/local/bin/npm“ „install“ „-g“ „–unsafe-perm“ „homebridge“
npm ERR! node v4.3.0
npm ERR! npm v2.14.12
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install:
node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script ’node-gyp rebuild‘.
npm ERR! This is most likely a problem with the mdns 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 mdns
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
[email protected] ~ $ homebridge
-bash: homebridge: command not found
Wenn ich „node -v“ eingebe, kommt als Antwort : v.4.3.0
Ich weiß nicht was ich falsch mache.
MFG
Philipp
Hi Philipp,
leider bin ich kein NodeJS-Profi, etwas googlen nach dem speziellen Fehler ergab ein paar mögliche Ursachen:
– veralteter C++ Compiler
– libavahi-compat-libdnssd-dev nicht installiert
– veraltete NodeJS-Version (das kann man nach deiner Ausgabe ausschließen, verwende hier die gleiche Version ohne Probleme)
Hast du diese Dinge auf deinem Raspberry schon mal überprüft?
Hallo Alex,
danke für deine Antwort, Ich habe vergessen libavahi-compat-libdnssd-dev zu installieren, jetzt geht aber alles einwandfrei.
MFG
Hallo Philipp,
danke für die Rückmeldung!
Schön, dass es nun klappt.
Hallo Alexander,
danke für diesen neuen Artikel. Ich habe homebridge gestern nach der Anleitung aus dem offiziellen Homebridge-Wiki installiert und meine Funksteckdosen mittels homebridge-rcswitch angebunden, was tadellos funktioniert. Der Weg über Razberry war dann doch etwas zu wackelig.
Als Ergänzung deines Artikels noch der Hinweis, dass in Grundinstallation von homebridge keine config.json mitgeliefert wird. Diese muss nach Installation von homebridge unter /var/homebridge/ nach folgendem Muster erstellt werden: https://github.com/nfarina/homebridge/blob/master/config-sample.json
Zudem würde ich (zumindest unter Jessy) das Startup-Skript von systemd bevorzugen. Das ist wesentlich schlanker als das Pendent von init.d: https://gist.github.com/johannrichard/0ad0de1feb6adb9eb61a/
Hi AxlFool,
den Teil mit der config.json habe ich in den darauf folgenden Artikel übernommen, da ich dort die Einrichtung und Plugin-Erweiterung genauer beschrieben habe – aber danke für die Anmerkung (der Ordner sollte allerdings „/home/pi/.homebridge“ sein, zumindest wenn man so vorgeht, wie ich es hier beschrieben habe)!
Auch mit dem Startscript stimme ich dir voll zu – die entsprechende GitHub-Seite habe ich auch im Artikel verlinkt. Da es dort bereits sehr gut beschrieben ist, habe ich hier nur die init.d-Methode erklärt. Ich sollte das evtl. nochmal hervorheben, da man leicht drüber hinweglesen kann.
Hallo, blöde Frage aber wie deinstalliere denn nun Razberry wieder? Danke für Hilfe!
Hi Jochen,
als Ansatz verweise ich mal aufs z-wave-Forum. Mongoose muss ebenso entfernt werden. Dienste natürlich vorher stoppen.
Guten Abend!
Ich möchte das gerne auch bei mir umsetzen und habe noch keinen Raspberry. Jetzt habe ich gelesen, dass gerade der Raspberry 3 dazugekommen ist. Da in deinem Tutorial explizit von Raspberry 1 und 2 die Rede ist, wollte ich vorm Kauf mal nachfragen, ob das Ganze auch mit dem neuen Modell umsetzbar ist bevor ich mir ihn kaufe. Danke!
Hi Klaus,
da – das geht! NodeJS gibt es auch in einer ARMv8-Version, die auf dem Raspberry Pi 3 laufen sollte.
Danke für den Hinweis, den Artikel werde ich da noch ergänzen.
Hallo, sehr interessanter Artikel. Kann ich damit auch direkt die GPIOs des Raspberry ansteuern? Ich habe ein 8-Fach Schalrelais und möchte damit meine Steckdosen und Garagentor schalten in meiner Werkstatt.
Hi Andy,
sollte machbar sein. Für die GPIO-Steuerung am Raspberry gibt es entsprechende Plugins (siehe hier und hier)
Hallo, ich habe einen Raspberry Pi 3 und komme leider nicht weiter. Ich habe die ARM8 (arm64) Version 4.4.0 von NodeJS nach dein Anleitung installiert, wenn ich anschließend „node -v“ ausführe kommt folgendes:
bash: /usr/local/bin/node: Kann die Binärdatei nicht ausführen: Fehler im Format der Programmdatei
Irgendeinen Tipp wie ich das Problem beheben kann?
Hi Andreas,
deine Vorgehensweise klingt für mich erst mal vollkommen nachvollziehbar.
Leider habe ich keinen RPi 3 hier, mit dem ich das schnell nachstellen könnte, eventuell hat ein Leser ein solches Gerät im Einsatz und kann was dazu sagen. Würde mich auch interessieren :)
Hallo Alexander,
ich habe es mittlerweile hinbekommen, indem ich den Source Code von NodeJS in der Version 4.4.0 (LTS Release) direkt auf dem Raspi kompiliert habe (Link zur Vorgehensweise: https://www.sweetpi.de/blog/41/node-js-installation-auf-dem-raspberry-pi). Mit der vorkompilierten Version für ARMv8 scheint es also bis dato nicht zu funktionieren, möglicherweise ist diese für 64-Bit Systeme vorgesehen, sie heißt schließlich „arm64“.
Für alle die den Autostart über systemd einrichten wollen hier noch ein Hinweis:
in der homebridge.service aus dem Link ist ein Fehler, ist auch in den Kommentaren erwähnt, dort fehlt ein local/ nach dem usr/!
Ansonsten hat alles geklappt und Siri steuert jetzt meine Lampen, echt super Tutorial!
Hi Andreas,
da hast du wohl völlig recht – Raspbian gibt es ja nur in einer 32bittigen-Version. Das hatte ich komplett übersehen und bin nur von der CPU an sich ausgegangen.
Hallo!
Gibts zu iOS 9.3 schon Informationen? Läuft Homebridge damit?
Danke.
Hallo Chef,
ist kein Problem – Homebridge muss nur aktuell genug sein (Version >=0.3.0), überprüfbar via „sudo npm outdated -g“. Falls es älter ist, einfach über „sudo npm install -g –unsafe-perm homebridge“ updaten, bei der Gelegenheit evtl. auch die Plugins analog auf den aktuellen Stand bringen. Dann sollte alles laufen.
Hallo und vielen Dank für deine Super Anleitung . Klappte auf Anhieb mit meinen Raspi B+.
Alle Schritte im“ to do “ sind super beschrieben. Grosses Grinsen im Gesicht nach dem Start der Homebridge.
Zurzeit mit die Beste Anleitung zu diesem Thema. :-)
Hi Krossy,
danke für dein Feedback ?
Hi Alex
Ich check die Anleitung von der dritten seite für systemd ned ?
Kannst du das nicht step by step erklären :) du erklärst sehr gut.
Lg alex
Hallo Alex,
leider nutze ich auf meinen Pis noch Wheezy und habe auch momentan kaum Zeit, sodass ich hier leider passen muss :/
Ich glaube, da kann ich was zu sagen(falls das noch relevant ist: Schau dir mal die beiden Dateien, welche du laut der „systemd“-Anleitung kopieren solltest, an. Darin sind Pfade angegeben, welche leider nicht exakt zu dem passen, was in der Anleitung von Alex für Pfade genannt werden. Zumindest bei mir was nach einer Anpassung alles Top.
Hallo Alexander,
vielen Dank für deinen guten Artikel. Ich scheitere leider schon an der Installation der Homebridge-Software. Bei mir steigt er mit der folgenden Fehlermeldung aus:
[email protected]:~ $ sudo npm install -g –unsafe-perm homebridge
npm ERR! addLocal Could not install /tmp/npm-32391-f31a3a93/git-cache-b7b7578d/2a8f1303712c6b6f10eaf49c80f6db7ef21e4336
npm ERR! Linux 4.1.19-v7+
npm ERR! argv „/usr/local/bin/node“ „/usr/local/bin/npm“ „install“ „-g“ „–unsafe-perm“ „homebridge“
npm ERR! node v4.4.2
npm ERR! npm v3.8.6
npm ERR! No version provided in package.json
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!
npm ERR! Please include the following file with any support request:
npm ERR! /home/pi/npm-debug.log
[email protected]:~ $
Es ist ein PI3 und ich habe eigentlich alles geupdated, was geupdatet werden konnte…?
Vielleicht hat ja noch jemand eine Idee?!
Vielen Dank und viele Grüße
Markus
Hallo,
ich habe den Fehler selber beheben können. Einfach das „homebridge“-Verzeichnis manuell löschen und die Installation erneut starten…
Viele Grüße
Markus
hallo markus,
ich habe das gleiche problem wie du, aber mir ist nicht klar wie ich das „homebridge“-verzeichnis manuell löschen kann…wäre super wenn du mir da ein tipp geben könntest.
lg flo
Hallo Alex :)
Super Anleitung – hat alles (nach Wechsel von Wheezy auf Jessie -> Test-RaspPi sei Dank :)) soweit geklappt.
Allerdings fehlen mir die Konfigurationseinstellungen um die FunkSteckdosen anzusteuern (nach deinem ersten Tut nachempfunden inkl Webinterface).
Zudem bin ich für sowas zu doof :-/
Gibt es da bereits eine Anleitung dafür?
Hat sich erledigt :)
Google hat mir den Link deines Tutorials zum einrichten ausgespuckt :)
Ein Link unter diesem Tut wäre cool :)
Sehr geile Arbeit – vielen Dank!
LG,
Mikel
Irgendwie bin ich zu doof…. ich habe alles gemacht mein iPhone findet nun auch pi aber wo kann ich nun meine ganzen Geräte hinzufügen damit ich diese steuern kann den ich habe dafür ca 32 Relais und mehre 433mhz Steckdosen und den ist die frage kann das system auch meine MAX! Heizungssteuerung und meine Abus Funkschloss auslesen.
Hallo, die Anleitung ist super !
Die Homebridge läuft auf dem RasPi. Manuell startet Hombridge ohne Probleme. Als Service startet es auch, jedoch bricht der Service nach einiger Zeit ab. Unter sudo service –status-all zeigt es mir unter Homebridge ein + nach einiger Zeit aber ein – an.
An was kann es liegen? Wo soll ich als erstes mal nachsehen?
Danke und schöne Grüße Matthias
Hallo Matthias,
merkwürdiges Problem. Du könntest mal einen Blick in „/var/log/syslog“ werfen, eventuell findest du da etwas brauchbares.
Wird der Homebridge-Prozess auch nicht mehr aufgeführt bei „ps -ef“?
Hallo Alexander,
ich habe die Homebridge seit erfassen des Beitrags noch mal komplett neu installiert. Gleiches Problem wie vorher. Zwischenzeitlich hat sich aber was anderes eingeschlichen und zwar das ich etwas doppelt eingetragen habe und ich das in dieser Accessory.json korrigieren soll.
Kam auch wieder bei neuinstallation.
Hier habe ich dir mal die Syslog vom aktuellen Service start angezeigt.
Als Workaround zum Service abbruch habe ich Homebridge alle 15 minuten restarten lassen.
Aug 6 15:45:01 raspberrypi /USR/SBIN/CRON[1535]: (root) CMD (sudo service homebridge restart)
Aug 6 15:45:02 raspberrypi /USR/SBIN/CRON[1532]: (CRON) info (No MTA installed, discarding output)
Aug 6 15:45:04 raspberrypi node[1565]: *** WARNING *** The program ’node‘ uses the Apple Bonjour compatibility layer of Avahi.
Aug 6 15:45:04 raspberrypi node[1565]: *** WARNING *** Please fix your application to use the native API of Avahi!
Aug 6 15:45:04 raspberrypi node[1565]: *** WARNING *** For more information see
Aug 6 15:45:04 raspberrypi node[1565]: *** WARNING *** The program ’node‘ called ‚DNSServiceRegister()‘ which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of $
Aug 6 15:45:04 raspberrypi node[1565]: *** WARNING *** Please fix your application to use the native API of Avahi!
Aug 6 15:45:04 raspberrypi node[1565]: *** WARNING *** For more information see
Aug 6 15:45:56 raspberrypi crontab[1575]: (root) BEGIN EDIT (root)
Aug 6 15:47:04 raspberrypi crontab[1575]: (root) REPLACE (root)
Aug 6 15:47:04 raspberrypi crontab[1575]: (root) END EDIT (root)
Aug 6 15:48:01 raspberrypi /usr/sbin/cron[2004]: (root) RELOAD (crontabs/root)
Aug 6 15:48:49 raspberrypi node[1593]: *** WARNING *** The program ’node‘ uses the Apple Bonjour compatibility layer of Avahi.
Aug 6 15:48:49 raspberrypi node[1593]: *** WARNING *** Please fix your application to use the native API of Avahi!
Aug 6 15:48:49 raspberrypi node[1593]: *** WARNING *** For more information see
Aug 6 15:48:49 raspberrypi node[1593]: *** WARNING *** The program ’node‘ called ‚DNSServiceRegister()‘ which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of $
Aug 6 15:48:49 raspberrypi node[1593]: *** WARNING *** Please fix your application to use the native API of Avahi!
Aug 6 15:48:49 raspberrypi node[1593]: *** WARNING *** For more information see
Das hier ist die Ausgabe wenn ich Homebridge manuell starte
[email protected] ~ $ 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-08-06 15:53:50] Loaded plugin: homebridge-harmonyhub
[2016-08-06 15:53:58] Registering platform ‚homebridge-harmonyhub.HarmonyHub‘
[2016-08-06 15:53:58] —
[2016-08-06 15:54:01] Loaded plugin: homebridge-http
[2016-08-06 15:54:01] Registering accessory ‚homebridge-http.Http‘
[2016-08-06 15:54:01] —
[2016-08-06 15:54:01] Loaded config.json with 2 accessories and 1 platforms.
[2016-08-06 15:54:01] —
[2016-08-06 15:54:01] Loading 1 platforms…
[2016-08-06 15:54:01] [Matthias Harmony Hub] Initializing HarmonyHub platform…
[2016-08-06 15:54:01] Loading 2 accessories…
[2016-08-06 15:54:01] [Receiver] Initializing Http accessory…
[2016-08-06 15:54:01] [Drucker] Initializing Http accessory…
/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:219
throw new Error(„Cannot add a bridged Accessory with the same UUID as another bridged Accessory: “ + existing.UUID);
^
Error: Cannot add a bridged Accessory with the same UUID as another bridged Accessory: 8b10045a-9bcc-4895-ac7d-017751541a69
at Bridge.Accessory.addBridgedAccessory (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:219:13)
at Server._configCachedPlatformAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:327:18)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:74:8)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
Config.json:
{
„bridge“: {
„name“: „Homebridge“,
„username“: „CC:22:3D:E3:CE:30“,
„port“: 51826,
„pin“: „031-45-154“
},
„accessories“: [
{
„accessory“: „Http“,
„name“: „Receiver“,
„switchHandling“: „yes“,
„http_method“: „GET“,
„on_url“: „http://192.168.123.50/html/remote/?group=10011&switch=01&action=1&delay=0“,
„off_url“: „http://192.168.123.50/html/remote/?group=10011&switch=01&action=0&delay=0“,
„status_url“: „http://192.168.123.50/html/remote/status.php?switch=01“,
„service“: „Switch“,
„brightnessHandling“: „no“,
„brightness_url“: „“,
„brightnesslvl_url“: „“,
„sendimmediately“: „“,
„username“ : „“,
„password“ : „“
},
{
„accessory“: „Http“,
„name“: „Drucker“,
„switchHandling“: „yes“,
„http_method“: „GET“,
„on_url“: „http://192.168.123.50/html/remote/?group=10011&switch=03&action=1&delay=0“,
„off_url“: „http://192.168.123.50/html/remote/?group=10011&switch=03&action=0&delay=0“,
„status_url“: „http://192.168.123.50/html/remote/status.php?switch=02“,
„service“: „Switch“,
„brightnessHandling“: „no“,
„brightness_url“: „“,
„brightnesslvl_url“: „“,
„sendimmediately“: „“,
„username“ : „“,
„password“ : „“
}
],
„platforms“: [
{
„platform“: „HarmonyHub“,
„name“: „Matthias Harmony Hub“
}
]
}
Vielen Dank schon mal für deine Hilfe
Guten Abend, ich versuche jetzt schon seit mehreren Stunden den Raspberry Pi2 zum laufen zu bekommen. Es hat soweit alles geklappt aber ab dem teil vom Update des Compilers beginnt das erste von 3 Problemen. Wenn ich g++ -v eingebe steht bei mir 4.6 und weiter hinten 4.6.13 da.
Dann bei der Installation von NodeJS :
Es kommt der: HTTP request sent, awaiting response. . . 404 Not Found –> wenn ich folgendes eingebe: (wget https://nodejs.org/dist/v4.3.0/node-v4.3.0-linux-armv7l.tar.gz)
Und bei der Installation der homebridge kommt:
( npm: command not found ) wenn ich vorher eingebe: ( sudo npm Inntal -g –unsafe-perm homebridge)
Ich würde mich sehr freuen wenn mir jemand helfen kann und ich das dann irgendwie hinbekomme.
Gruß Marc
Ich glaube bei dir ist der npm Befehl nicht installiert
Hallo Marc,
warum du eine 404 bei der URL bekommst, kann ich dir leider nicht sagen, bei mir klappt der Link wunderbar. Dass du das „npm: command not found“ bekommst liegt daran, dass node nicht installiert ist.
Hallo
ich habe versucht den Autostart über init.d zu implementieren. Allerdings kommt die Fehlermeldung „unable to start, see..“
In der Fehlerdatei /var/log/homebridge.err steht
„sudo: /usr/local/bin/homebridge: Kommando nicht gefunden“
Was mache ich falsch?
Denn wenn ich homebridge über die Konsole aufrufe, dann funktioniert es.
Danke Martin
Hallo Martin,
klingt nach einem falschen Pfad. Was sagt denn „which homebridge“?
Top Blog, danke! HomeKit steuert jetzt meine Nicht-Philips-RGBs gemeinsam mit den Hue in iOS10. Mir ist aufgefallen, dass ich die Homebridge-Lampen auch noch steuern kann, wenn ich mich außerhalb meines Heimnetzwerks (LTE/fremdes wlan) befinde.. soll das so sein oder sollte ich ggf. meine Netzwerkkonfiguration nochmal überprüfen?
Hallo Alex,
klingt merkwürdig, hast du vielleicht einen Apple TV oder ein iPad? Diese lassen sich als Gateways nutzen, um die Geräte auch aus der Ferne zu schalten.
Tatsache, das Apple TV3 sorgt für den Zugang von außen. Ist ja lustig, mit der HUE Bridge allein hatte das nie richtig funktioniert.
Danke für den Hinweis!
Hallo,
erstmal danke für deinen tollen Blog – damit habe ich es bereits einmal geschafft HomeKit auf meinem RPi1 aufzusetzen. Nun wurde es Zeit für einen RPi3.
leider will es einfach nicht mehr funktionieren.
[email protected]:~ $ node -v
v4.6.0
[email protected]:~ $ uname -a
Linux zwave 4.4.21-v7+ #911 SMP Thu Sep 15 14:22:38 BST 2016 armv7l GNU/Linux
meine Homebridge scheint zu starten, config passt, devices werden erkannt aber dann kommt der HomeKit code nicht mehr und ich muss Homebridge auch nicht nicht mit Ctrl+C abbrechen, es läuft einfach durch. In iOS 10 finde ich natürlich nichts mehr….
[2016-10-09 22:36:48] Initializing platform accessory ‚Wohnzimmer Decke’…
[2016-10-09 22:36:48] Initializing platform accessory ‚Bewegung VZ EG’…
[email protected]:~ $
Hatte jemand von euch schonmal ein ähnliches Problem?
Liebe Grüsse
Christoph
Hallo,
Das hört sich ja sehr interessant an was ich hier lese.
Hat jemand Erfahrung eine Heizungsteuerung der Firma MAX! oder EQ-3 bzw. ELV damit HomeKit fähig zu machen? Geht das überhaupt?
Gruß, Fabian