Verknüpfung Homee + Apple Homekit über Raspberrypi + Homebridge

Ja, ist leider so… sonst erfasst man nicht alle Eventualitäten… normaler Schalter gedrückt, Gerät in Homee einzeln geschaltet, HG angewendet, usw.

Deshalb brauchst du in der Tat jeweils ein zusätzliches Status-HG für “an” bzw. “aus”.

Wenn Gerät xy wird eingeschaltet -> dann Webhook lokal an Hombridge (z.B. http://192.168.1.136:51827/?accessoryId=Switch3&state=true)

1 „Gefällt mir“

Hallo @medicus07, @fisch,

neues Problem: Ich bekomme keine Live-Rückmeldung von der Lampe in die Home-App, wenn ich die Lampe direkt über die WebApp oder Homee-App schalte. Als Homeegramme habe ich

  1. Wenn Webhook ausgelöst wird -> Gerät xy einschalten
    Link: http://Homee:7681/api/v2/webhook_trigger?webhooks_key=XXX&event=HUE_Buero_an

  2. Wenn Gerät xy wird eingeschaltet -> dann Webhook lokal an Hombridge mit
    Link: http://192.168.176.XX:51827/?accessoryId=Swicht6&state=true bzw. =false und Get/application-json

Was mir aufgefallen ist: Egal welchen der beiden Links aus 2. (true/fals) ich in die Adresszeile des Web-Browsers eintippe, jedes Mal kommt als Ergebnis {“success”:true}, egal ob die Lampe an oder aus ist.

Was mache ich falsch? Danke für jede Hilfe!

O
Guten Morgen,

der Webhook sieht ganz gut aus… Entspricht der eingetragene Port dem für Http_Webhook aus der Config.json?

Stimmt die ID?

Irgendwas stimmt mit deinem Link nicht…

Mit meinem gehts:
http://192.168.1.136:51827/?accessoryId=Switch6&state=true

Deiner zum Vergleich geht nicht:
http://192.168.176.xx:51827/?accessoryId=Swicht6&state=true

Fehler gefunden… das “t” an Switch ist an falscher Stelle…:blush:

{“success”:true} Muss immer kommten, auch wenn der Link falsch ist. Heißt ja nur, dass ein Befehl an der Homebridge ankam.

Hallo @medicus07,

daran lag es und jetzt funktioniert es bombe.

Ein übernommener Tippfehler, der mich gestern Abend pure Nerven gekostet hat, und der einen den Wald vor lauter Bäumen nicht mehr sehen lässt :grimacing: Vielen Dank für’s Finden und bitte in deinem Beitrag oben den kleinen Fehler korrigieren :wink:

Jetzt kann das nächste Kleinprojekt starten. PHP? Dashboard? Es gibt noch soviel zu tun…

Danke nochmals und schönes WE, bis ich mich wieder melde :grinning:

1 „Gefällt mir“

Hallo Leute,

hier mal die Anleitung von einem Raspberry-Anfänger und Programmier Greenhorn, wie man Homee, Apple Homekit und Raspberry Pi verknüpft. Wenn ein Profi einen Fehler finden sollte, gerne melden…

Voraussetzung:

  • Homee
  • Raspberry PI (ich habe den 3 er Komplett Bundle über Amazon gekauft)
  • Handy mit Siri

Möglichkeiten, die ich getestet habe:

  1. Manuelle Installation. SD Karte formatieren, Noobs Lite herunterladen und Dateien auf SD kopieren, in Raspberry Pi stecken, mit Monitor verbinden und Betriebssystem über WLAN downloaden und installieren lassen. Danach mittels Monitor noch die Einstellungen (Zeitzone, Keyboard, SSH aktivieren etc. durchführen), fertig.
  2. Komplettes Aufsetzen des Systems über App: „Homebridge für RaspberryPi“ von [Niklas von Weihe](https://appsto.re/de/HXM8cb.i15](https://appsto.re/de/HXM8cb.i15)

Mir ist hier Version 1 lieber, da ich entscheiden kann, was auf dem Raspberry an Paketen und Plugins installiert wird.
–> Update vom 25.02.17: Da ich aber keine fundierte Ahnung von Noobs und Co. habe, bin ich bedingt durch Instabilitäten zwischenzeitlich wieder auf die Variante 2 gewechselt. Die App und Installation läuft seit dem letzten Update auch mehr oder weniger stabil. Bei mir mit HarmonyHub und Webhooks Plugins. Letztere habe ich manuell installiert. Ab und zu ist aber auch hier ein manueller Neustart der Homebridge notwendig.

Größter Unterschied zwischen beiden Varianten. Bei 1 laufen nur die installierten Plugins, bei 2 waren es über 10. Bitte auch beachten: Die App aus 2 ist nicht mit der Version 1 kombinierbar. Also nicht 1 installieren und dann 2 “rüberkopieren”. Hier gibt es Fehler in der Darstellung, wahrscheinlich weil die Pakete von 2 an einen anderen Ort kopiert bzw. die Verknüpfung fehlt.

Hier trotzdem das Vorgehen für 1.:
Zunächst Verbindung zum Pi herstellen. Anleitung hier.. Wenn ihr mit dem Pi verbunden und eingeloggt seid:

1.Update/Upgrade

sudo apt-get update
sudo apt-get dist-upgrade

2.Installation von NodeJS, gilt für Raspberry 3

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

Enter

sudo cp -R * /usr/local/
cd

3.Weitere Pakete installieren

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

4.Installation Homebridge

sudo npm install -g --unsafe-perm homebridge

5.Autostart Homebridge einrichten

sudo nano /etc/init.d/homebridge

Feld mit folgendem Inhalt füllen (reinkopieren, speichern und schließen):

#!/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

6.Benutzerrechte für Skript vergeben

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

7.Homebridge starten

sudo /etc/init.d/homebridge start

8.Webhook Plugin installieren

sudo npm install -g homebridge-http-webhooks

9.Optional: Harmony Plugin installieren

sudo npm install -g homebridge-harmonyhub

10.homekit.Json konfigurieren

sudo nano ~/.homebridge/config.json

11.Hier den Inhalt einfügen, den es individuell anzupassen gilt und bei dem die meisten Fehler passieren, wie auch bei mir. Vorlagen findet ihr hier. Zudem müsst ihr die WebHooks mit den auszuführenden Homeegrammen verknüpfen. Optional ist die Live-Verknüpfung von geschalteten Geräten. Die Anleitung findet ihr ein paar Posts vor diesem Beitrag.

12.Home App auf dem Handy mit der Homebridge (Pairing Code) koppeln und hoffen das es tut :slight_smile:

13.Ein Reboot kann i.d.R., auch zwischen drin, nicht schaden…

sudo reboot

Viel Erfolg!

4 „Gefällt mir“

Auch hier ein kleines Update…

Betreibe mein Garagentorantrieb mittels eines Fibaro Double Switch (FGS222) in Kombination mit einem Fibaro Türsensor.

Sensor und Schalter habe ich jetzt über Homebridge (sensor bzw. switch) eingebunden. Mittels der entsprechenden HG’s steuere ich jetzt das Tor aus dem Auto heraus…

Muss einfach sagen: “Hey Siri, schalte Garagentor an!” :heart_eyes::blush:

Die Formulierung “schalte an” klingt vielleicht etwas befremdlich, ist aber der Homebridge geschuldet, die kein vernünftiges Plugin für shutter oder blinds bietet… lasse mich aber gerne eines besseren belehren. :stuck_out_tongue_winking_eye:

Wer Interesse an einer Torschaltung über Homee hat, kann sich gerne hier mal umschauen…:see_no_evil:

Garagentorsteuerung mit Homee einschließlich Geofencing + iBeacon Verwendung

2 „Gefällt mir“

Hi,
Alter Falter - das wär was!
Ich nutze ein QNAP NAS TS-239 Pro II, auf dem sich teilweise auch die für Synology kompilierten Apps laufen lassen. Leider ist mein NAS nicht ganz taufrisch, obwohl es immer noch rennt und rennt und rennt und die Firmware auch mit Stand Dezember 2016 durchaus aktuell ist. Leider ist das Container/Docker-Feature aber nicht enthalten, das es ja auch in der benannten Synology-Lösung braucht.
Hat es schon wer geschafft, homebridge nativ (ohne Container-Technologie) auf einem QNAP/Synology-NAS (ARM-basiert) ans Laufen zu kriegen? Bei mir endet der Versuch in Fehlern bei der Installation mit npm.

Hallo zusammen,

ich versuche gerade als Linux/Raspberry Pi Laie auch die Homebridge zum laufen zu bekommen. Ich habe noch ein paar Verständnislücken. Ich habe verstanden, dass ich die Konfiguration der Plug-ins in der *.json Datei durchführen muss. Leider habe ich nach der Konfiguration keine Verbindung mehr zur Home App. “Gerät (homebridge) ist nicht erreichbar”. Habt ihr erst alles konfiguriert und dann die Verbindung zur Home App erstellt?
Wie bearbeitet ihr die *.json Datei? Gibt es eine komfortablere Lösung als die Eingabe über das LXTerminal?
Vielleicht ist meine Zeit für Siri und Homee aber einfach noch nicht gekommen;-)
Falls ihr noch Notizen/Tipps zur Einrichtung habt, wäre ich euch sehr dankbar.
Schönes Wochenende
Jochen

Hey @medicus,
vielen Dank für Deine Pionierarbeit hier, herrlich!
Ich habe die homee-homebridge-Anbindung nun mal (temporär auf meinem iMac) nachgebaut und es funktioniert sehr gut, homeegramme per switch in Homebridge aufzurufen.
Wenn ich Dich richtig verstanden habe, hast Du für die Rückmeldung des Status einen Webhook von homee an Homebridge als letzte Aktion im homeegramm gesetzt, das Du auch mit genau diesem Switch in der home-App aufrufst, oder? Ich habe sowas nun nachgebaut und habe aber offenbar eine Schleife gebaut, die nun meine Garten- und Außenbeleuchtung blinken lässt statt sie ein- oder auszuschalten. Fällt Dir da spontan etwas zu ein? Muss ich ggf separate homeegramme zum Schalten und zum Status abfragen/mitteilen nutzen?

Ein erneutes Bearbeiten der beiden Homeegramme ohne eine Änderung (nur bearbeiten, speichern) hat zumindest die Dauerschleife beendet…

Hey Christian,

das Erstellen von 2 zusätzlichen HG´s (Status an/Status aus) hat sich im Verlauf aus mehreren Gründen als notwendig erwiesen. Damit deckt man alle Eventualitäten sicher ab (z.B. Licht wird über Schalter, HG, usw aktiviert). Die von dir beschriebene Schleife tritt auch nicht auf.

Viele Grüße
Michael

Hey Michael,
danke für die Rückmeldung. Verstehe ich es also so richtig?

  • 1 Homeegramm zum Einschalten mit diversen Auslösern (inkl. Webhook, der von homebridge aufgerufen werden kann)
  • 1 Homeegramm zum Prüfen des Status, ob z.B. eine Lampe eingeschaltet ist, und dann aufrufen des Status-Webhook der homebridge, um dort den Status mitzuteilen

Fange ich damit auch ein Ein-/Ausschalten von außen mit ab? Oder fehlt da was in meiner Überlegung? Das Ganze natürlich auch noch für’s Ausschalten…

Danke Dir für die Unterstützung!
Schöne Grüße,
Christian

Genau…

Die Status-HG´s lauten so…

Wenn Gerät wird ein-/ oder ausgeschaltet —> dann Webhook (Trigger true oder false an Homebridge)

Somit ist es egal, wie es zum Ein- oder Ausschalten kommt.

Du Must einfach nur ein HG für den Zustand erstellen !

Lampe 1 wird angeschaltet
Dann Aktion
Webhook an Bridge

Beim ausschalten genau das gleiche !

Also die Zustandsänderung des jeweiligen Gerätes als Auslöser und als
Aktion dann den webhook zur Bridge !

Der Nachteil ist das die HomeKit immer ein schaltsignal zur Bridge sendet.

Also schaltest du eine Lampe an dann schaltet sie HomeKit nochmal nach !

Meinte ich so, wie du es beschreibst… habe mich nur kompliziert ausgedrückt…:see_no_evil:

Danke für die Hinweise - das klingt verständlich. Genau das nachschalten (also doppelte Schalten) ist allerdings etwas, das ich gerne vermeiden würde. Dafür gibt es aber keine Möglichkeit, oder? Umsetzen müsste ich das im Prinzip für jedes Gerät (oder jede Gruppe), die ich von der homebridge in homee schalten möchte… auf dass man hoffentlich irgendwann die Ansicht konfigurieren und z.B. solche Hilfshomeegramme ausblenden oder verstecken kann.

Hallo @medicus07 @CaptainL,

wie habt ihr es geschafft, dass die Homebridge auf dem pi weiterläuft, wenn ihr die ssh Verbindung trennt? (Terminal oder Putty beendet)
Bei mir läuft die Bridge, solange das Terminal offen ist, aber sobald ich es schließe funktioniert in der Home app nichts mehr.

Ich habe die Anleitung Schritt für Schritt von @CaptainL befolgt, auch den Teil mit dem Autostart.

Vielen Dank im voraus.

Daniel

Hallo Daniel,

bei mir gab es da keine Probleme. Da ich nicht wirklich Ahnung von der Materie habe kann ich dir nur die Klassiker empfehelen:

sudo reboot
sudo /etc/init.d/homebridge restart
sudo /etc/init.d/homebridge start
sudo /etc/init.d/homebridge stop

Vielleicht hilft ja einer der Befehle…

Wenn gar nichts geht, den Pi platt machen und mit der App von Niklas von Weihe (siehe oben und iOS) arbeiten. Die läuft zwischenzeitlich auch bei mir. Seit dem letzten Update der App und einem Neuaufsetzen der Homebrige läuft auch diese jetzt stabil mit Webhooks, HarmonyHub und Wake on Lan üder php.

Viel Erfolg.

Gruß
Sebastian

1 „Gefällt mir“

Danke ich werde den pi jetzt auch nochmal neu aufsetzten und dann mit der App Homebridge einrichten. Ich hoffe das läuft dann bei mir auch.

Vielen Dank

Daniel