himpler.com himpler.com

homee mit Siri steuern

4 Min.

Dieser Beitrag wurde seit einem Jahr nicht mehr aktualisiert. Im Internet ist das manchmal eine halbe Ewigkeit. Es kann daher sein, dass die Informationen und Links nicht mehr aktuell sind.

Mit einem Plugin für die Homebridge Platform lassen sich viele an homee angeschlossene Geräte nun auch über Siri steuern. Hier zeige ich Dir, wie Homebridge und das benötigte Plugin installiert werden.

Voraussetzungen

  • homee Brain Cube
  • Raspberry Pi (RPi 2 oder 3) mit Raspbian

Wenn Du noch keinen RPi hast, kann ich dieses Komplettset* empfehlen:

Da ist alles dabei was Du für einen Start brauchst.

Hinweis: Die Installation ist grundsätzlich auch auf anderen Systemen möglich. Dazu werden unter Umständen jedoch andere Befehle benötigt.

Installation der benötigten Software

Um die virtuellen Geräte erstellen zu können, brauchen wir NodeJS, Homebridge und ein Plugin. Zur Installation melden wir uns zuerst per SSH auf dem RPi an. Anstelle des raspberrypi.local kannst du auch die IP-Adresse eingeben.

ssh pi@raspberrypi.local

Anschließend aktualisierst Du mit folgenden Befehlen die Paketquellen und fügst eine Paketquelle für NodeJS hinzu.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
sudo apt-get install libavahi-compat-libdnssd-dev

Der Befehl node -v sollte Dir nach der erfolgreichen Installation die Versionsnummer ausgeben

Installation von Homebridge und homebridge-homee

Jetzt installieren wir Homebridge und das benötigte Plugin

sudo npm install -g homebridge --unsafe-perm
sudo npm install -g homebridge-homee

Damit die Homebridge auch nach einem Neustart läuft, erstellen wir nun mit folgendem Befehl eine neue Datei …

sudo nano /etc/init.d/homebridge

… und fügen dort folgenden Inhalt ein:

#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start:    $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="/usr/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 -p `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 2 3 4 5 6 7 8 9 10
        # for i in `seq 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

Mit STRG+O lässt sich die Datei speichern, mit STRG+X wird der Editor geschlossen.

Jetzt geben wir der Datei noch die richtigen Rechte und sorgen für den Autostart.

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

Bevor wir Homebridge das erste mal starten, erstellen wir noch eine Konfigurationsdatei…

nano ~/.homebridge/config.json

und fügen hier folgenden Inhalt ein:

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:51",
        "port": 51826,
        "pin": "031-45-154"
    },
    "description": "This is an example configuration file for the homebridge-homee plugin",
    "hint": "Always paste into jsonlint.com validation page before starting your homebridge, saves a lot of frustration",
    "platforms": [
        {
            "platform": "homee",
            "name": "homee",
            "host": "192.168.178.1",
            "user": "your-username",
            "pass": "your-password"
        }
    ]
}

Die Werte von host, user und pass musst du entsprechend anpassen. Host ist die IP-Adresse, user und pass sind die Zugangsdaten zu Deinem homee.

Wenn alles funktioniert hat, lässt sich homebridge mit sudo /etc/init.d/homebridge start starten. Jetzt muss die Homebridge nur noch als neues Gerät in der Home App hinzugefügt werden. Ein Großteil Deiner Geräte sollte mit der aktuellen Version bereits funktionieren.

Geräte- und Homeegramm Einschränkungen

Apple unterstütz je Bridge maximal 100 Geräte. Solltest Du mehr Geräte und Homeegramme haben oder möchtest nicht alle in Homebridge einbinden, erstelle in homee eine Gruppe mit dem Namen “Homebridge”. Dieser Gruppe fügst du nun alle gewünschten Geräte und Homeegramme hinzu. Die nicht in der Gruppe enthaltenen Geräte werden von Homebridge ignoriert.

Fehlerbehebung

Hinweise und Fehlernachrichten lassen sich bei Bedarf in /var/log/homebridge.log und /var/log/homebridge.err finden.

* Wenn Du über diesen Link bei Amazon einkaufst, erhalte ich eine kleine Provision. Damit unterstützt Du mich bei der Pflege meiner OpenSource Projekte. Du zahlst dafür nichts extra.

Share this post!

Das könnte dir auch gefallen