Die HA-Bridge ist eine Erweiterung die auf dem PI installiert wird um die Geräte auch per Sprachsteuerung über einen Amazon-Echo schalten zu können. 

Normalerweise müssten hier die Geräte noch zusätzlich einzeln konfiguriert werden. Das SmartHome yourself-System ist in der Lage bei Änderungen an Geräten und Shortcuts, diese direkt in die HA-Bridge einzutragen. Das hat den kleinen Haken, dass alle manuellen Anpassungen der HA-Bridge-Konfiguration damit wieder überschrieben werden. Wer sich dafür entscheidet, die Update-Automatismus zwischen der Haussteuerung und der Bridge zu aktivieren, verliert damit die Möglichkeit eigene Sprachkommandos an der Bridge zu definieren. Entweder müsste man dann eine zweite Instanz der Bridge installieren und diese auf einem alternativen Port laufen lassen, oder direkt einen zweiten PI für die eigenen Einstellungen verwenden.

 

Java installieren

Um die Bridge zu installieren prüfen wir zuerst, ob Java mindestens in Version 1.8.0 installiert ist. 
Dazu verwenden wir den folgenden Befehl:

java -version

Sollte anstatt der Information zur installierten Version ein Fehler kommen oder die Version < 1.8.0 sein, installieren wir zuerst Java mit folgendem Befehl:

sudo apt-get update 
sudo apt-get install oracle-java8-jdk

 

HA-Bridge installieren

Es gibt mehrere Varianten der HA-Bridge auf GitHub. Ich habe mich für die des Users bwssystems entschieden. Zum Zeitpunkt meiner Installation und dem Erstellen der Anleitung war die Version 4.1.4 die aktuelle. Da ich die Konfigurationsdateien  aus dem SmartHome yourself-System heraus überschreibe sollte man mit aktuelleren Versionen etwas vorsichtig sein. Sollte sich das Format der Konfigurationen ändern funktioniert der automatische Abgleich der Einstellungen nicht mehr. Wer trotzdem eine andere Version testen möchte, kann unter folgendem Link prüfen, welche Versionen zur Verfügung stehen.

https://github.com/bwssytems/ha-bridge/releases

Mit folgenden Befehlen erzeugen wir den Ziel-Ordner für die HA-Bridge Installation und laden die JAR-Datei herunter. 

cd /
sudo mkdir services
cd services
sudo mkdir haBridge
cd haBridge

wget https://github.com/bwssytems/ha-bridge/releases/download/v4.1.4/ha-bridge-4.1.4.jar

 

Autostart der HA-Bridge als Service

Damit die Bridge im Hintergrund automatisch startet und vom SmartHome yourself System automatisch neu gestartet werden kann, erzeugen wir zuerst eine Service-Start-Datei.

cd /etc/systemd/system
sudo nano habridge.service

In diese Datei fügen wir den Folgenden Code ein:

[Unit]
Description=HA Bridge
Wants=network.target
After=network.target

[Service]
Type=simple

ExecStart=/usr/bin/java -jar -Dconfig.file=/services/haBridge/data/habridge.config /services/haBridge/ha-bridge-4.1.4.jar

[Install]
WantedBy=multi-user.target

Die Datei speichern wir durch drücken von STRG+O und verlassen danach den Editors durch drücken von STRG+X. 
Anschließend laden wir die  System-Control-Config neu. 

sudo systemctl daemon-reload

Jetzt müssen wir den Dienst einmal mit folgendem Kommando von Hand starten:

sudo /usr/bin/java -jar -Dserver.port=8080 /services/haBridge/ha-bridge-4.1.4.jar

Nun ist der Dienst unter der Adresse http://IP_DES_PI:8080 erreichbar. Diese Seite rufen wir auf und wählen den Punkt „Bridge Control“ aus. Hier passen wir die Konfiguration der Bridge entsprechend der folgenden Grafik an und speichern die Änderungen. Anzupassen sind nur die rot umrandeten Felder. Zuerst muss die Pfadangabe fix eingetragen werden und nicht wie standardmäßig relativ. Danach setzen wir noch den Port auf 8080 fest und Speichern danach das ganze mit einem Klick auf den Save-Button.

bridgecontrol

Jetzt wechseln wir wieder auf die Konsole in der die Bridge gestartet wurde und beenden diese mit STRG+C wieder. 
Es sollte jetzt ein Ordner „data“ im Verzeichnis /services/haBridge/ existieren. Darin sind die beiden Dateien enthalten die wir in der Bridge-Control gesetzt haben.

Diese Dateien müssen nun nur noch in den Berechtigungen angepasst werden.

sudo chown pi:www-data data -R
sudo chmod 775 data -R

Damit sind die Vorbereitungen für die Bridge so weit abgeschlossen und wir können sie für einen automatischen Start beim boot aktivieren. Dazu geben wir folgendes Kommando ein:

sudo systemctl enable habridge.service

Damit die Bridge auch ohne Neustart direkt zur Verfügung steht können wir nun den Dienst einmalig von Hand starten:

sudo systemctl start habridge.service

 

Api der HA-Brige umleiten

Da die HA-Bridge Api auf Port 80 erreichbar sein muss, auf diesem aber die SmartHome yourself Oberfläche läuft, müssen wir das System umlenken. 
Dazu führen wir zuerst folgende Befehle aus:

a2enmod proxy
a2enmod proxy_http
a2enmod headers

Nun öffnen wir die Datei 000-default mit dem Nano-Editor

sudo nano /etc/apache2/sites-enabled/000-default.conf

Im Block „VirtualHost *:80“  fügen wir die folgenden Zeilen ein:

<VirtualHost *:80>
        ProxyPass         /api  http://localhost:8080/api nocanon
        ProxyPassReverse  /api  http://localhost:8080/api
        ProxyRequests     Off
        AllowEncodedSlashes NoDecode

        <Proxy http://localhost:8080/api*>
          Order deny,allow
          Allow from all
        </Proxy>

... (der Rest der Einstellungen für den VirtualHost) ...
</VirtualHost>

Jetzt müssen wir nur noch den Apache neu starten.

service apache2 restart

 

HA-Bridge in der Haussteuerung aktivieren.

Um die Übernahme der Konfigurationen des SmartHome yourself Systems in die Bridge zu aktivieren, melden wir uns nun am SmartHome yourself System an und wechseln in die Einstellungen. Dort  prüfen wir zuerst die Basis-Einstellungen im Reiter „Basis“. 

Hier muss der Haken bei HA-Bridge Installation aktiviert sein und der Pfad zur HA-Bridge Installation auf den oben verwendeten Ordner „/services/haBridge/“ gesetzt werden. Anschließend muss nur noch in der Konfiguration ein Gerät oder Shortcut angelegt, geändert oder entfernt werden. Damit wird die Konfiguration in die Bridge übertragen.

 

Geräte am Amazon-Echo einrichten

Um die Geräte nun vom Echo aus ansprechen zu können, geht Ihr genau so vor, wie mit Philips Hue Geräten. Wählt einfach in eurer Alexa-App im Menü (oben links die 3 Balken) den Punkt „Smart Home“. 

Im sich öffnenden Bereich unter Meine Geräte klickt Ihr auf „Geräte suchen“ und wartet einen Moment. Danach sollten die Geräte (alle mit mindestens einem Parameter der „default_logic“ aktiviert hat) und Shortcuts unter dem Punkt „Meine Geräte“ aufgelistet werden und ab sofort mit folgendem Sprachbefehl verwendet werden können.

 

z.B. „ALEXA SCHALTE Hauptbeleuchtung EIN“  oder  „ALEXA SCHALTE Shortcut Haus verlassen EIN“

Sowohl bei Geräten als auch bei Shortcuts wird der Name aus der Haussteuerung übernommen. Bei Geräten kann man ein- und ausschalten in dem man hinter dem Namen das entsprechende Code-Wort (EIN oder AUS) anhängt. Um Shortcuts zu aktivieren muss man immer EIN als abschließendes Code-Wort verwenden.