Skip to main content

Installation ha-bridge (Ubuntu 18.08 LTS)

Was ist das?

Die HA-Bridge ist eine in Java geschriebener Dienst, der als Brücke (daher Bridge) zwischen Amazon Echo Geräten und den Rest der Welt dient. Die Software emuliert eine Philips HUEBridge, die normalerweise über das ZigBee für die Steurung von Leuchten und Lampen zuständig ist. Damit kann dann nahezu alles, was eine Anbindung an das lokale Netzwerk hat auch mit Alexa steuern.

Leider kann man deshalb über die Brücke keine benutzerdefinierten Werte abfragen, die die Philips Hue Bridge das ebenfalls nicht kann.

Installation

Sicherstellen, das die richtige Zeitzone eingestellt ist

Ubuntu wurde bei mit mit der Zeitzone UTC installiert. Mit diesem Kommando kann das korrigiert werden

sudo timedatectl set-timezone Europe/Berlin

Java installieren

Als erstes benötigen wir eine JAVA Laufzeitumgebung und das samba-common paket.

apt install openjdk-8-jre-headless samba-common -y

Aus dem Github kann man sich die aktuelle Version als JAR Datei herunterladen. Unter Linux geht das mit wget sehr leicht.

mkdir /opt/habridge && cd  /opt/habridge
mkdir data
wget https://github.com/bwssytems/ha-bridge/releases/download/v5.3.0/ha-bridge-5.3.0.jar
ln -s ha-bridge-5.3.0.jar habridge.jar

Der erste Kurztest

Für einen ersten Test kann man bereits jetzt das System einmal kurz starten (optional)

user@habridge:/opt/habridge# java -jar habridge.jar
2019-09-17 15:42:12,878 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge startup sequence...
2019-09-17 15:42:13,054 [main] INFO  com.bwssystems.HABridge.HABridge - HA Bridge (v5.3.0) initializing....
2019-09-17 15:42:13,064 [main] INFO  com.bwssystems.HABridge.BridgeSettings - reading from system properties
:
:
:

In einem Browser kann man nun die IP-Adresse des Servers eingeben und man gelangt auf die Weboberfläche der HA-Bridge.

HABridge_Weboberflaeche.png

Wenn man auf der Serverseite CTRL+C drückt, wird das Programm beendet und man gelangt wieder zur Konsole.

Seite September 2019 muss der Webport der HA-Bridge zwingend auf Port 80 liegen, da durch eine Änderung bei Amazon die HABridge nicht mehr von den Echo Geräten angesteuert werden kann, Besonders die zweite Generation des Echo Dot hat damit große Probleme.

es kann aber auch ein reverseproxy für das Verzeichnis /api angelegt werden. Mehr dazu unter
https://github.com/bwssytems/ha-bridge#run-ha-bridge-alongside-web-server-already-on-port-80

Dienst einrichten und starten

Dieser Abschnitt ist sinngemäß aus dem englischen übersetzt und an diese Gegebenheiten angepasst worden https://github.com/bwssytems/ha-bridge/wiki/Run-as-service-on-linux-(systemd)

sudo echo '[Unit]' > /etc/systemd/system/habridge.service
sudo echo 'Description=HA Bridge ' >> /etc/systemd/system/habridge.service
sudo echo  >> /etc/systemd/system/habridge.service
sudo echo 'Wants=network.target' >> /etc/systemd/system/habridge.service
sudo echo 'After=syslog.target network-online.target' >> /etc/systemd/system/habridge.service
sudo echo  >> /etc/systemd/system/habridge.service
sudo echo '[Service]' >> /etc/systemd/system/habridge.service
sudo echo 'Type=simple' >> /etc/systemd/system/habridge.service
sudo echo 'WorkingDirectory=/opt/habridge' >> /etc/systemd/system/habridge.service
sudo echo 'ExecStart=/usr/bin/java -jar -Dconfig.file=/opt/habridge/data/habridge.config /opt/habridge/habridge.jar' >> /etc/systemd/system/habridge.service
sudo echo 'Restart=on-failure' >> /etc/systemd/system/habridge.service
sudo echo 'RestartSec=10' >> /etc/systemd/system/habridge.service
sudo echo 'KillMode=process' >> /etc/systemd/system/habridge.service
sudo echo  >> /etc/systemd/system/habridge.service
sudo echo '[Install]' >> /etc/systemd/system/habridge.service
sudo echo 'WantedBy=multi-user.target' >> /etc/systemd/system/habridge.service
 
# Dienste aktualisieren
sudo systemctl daemon-reload
 
# Dienst HABridge aktivieren
sudo systemctl enable habridge
 
# Dienst HABridge starten
sudo systemctl start habridge
 
# Prüfen ob der Dienst läuft
sudo systemctl status habridge

Konfigurationsdateien

Falls noch nicht vorhanden, erstellt der Dienst beim ersten start eine neue Konfigurationsdatei

/opt/habridge/data/habridge.config

In den selben Ordner werden in der Datei /opt/habridge/data/device.db dann die Geräteeinstellungen gesicht.

!!! :bulb: Diese Datei ist eine JSON Datei und kann auch in einem Texteditor bearbeitet werden. Das ist vor allem sinnvoll, falls sich einmal die Adresse des Hausautomationsservers ändert. Dann kann man bequem über suchen&ersetzen alle Adressen auf einen Schlag änden.

in VIM ginge das z.B. mit

:%s/adresseAlt/adresseNeu/gi

Den Computer mit Alexa herunter fahren

Benötigte Pakete installieren

Remote Shutdown benöti

Wenn man mit dem Sprachkommando Alexa, windows aus auch den Rechner ausschalten möchte, muss in der HA-Bridge ein Gerät mit dem namen "windows" anlegen. Bei "OFF" wird dann ein
Befehl eingetragen:

net rpc shutdown -I COMPUTERNAME -U BENUTZER%PASSWORT

2019-09-17-20_09_56-HA-Bridge.png

Dabei muss

  • COMPUTERNAME zu der IP / Hostname des Computer ersetzt werden
  • BENUTZER duch den Benutzer, der sich in der Regel an den PC anmeldet
  • PASSWORT - ja das Passwort zu dem Benutzer