HowTo – Einfache Squeezebox Server Automation mit OpenHAB und Smartphone

In diesem HowTo zeigen wir dir, wie du die Wiedergabe deines Squeezebox Servers automatisch starten kannst, wenn sich dein Smartphone mit dem WLAN verbindet. Außerdem wird die Wiedergabe pausiert, wenn sich dein Smartphone wieder vom WLAN trennt. Dazu nutzen wir den OpenHAB Server, welcher als Premium-Plugin für Max2Play erhältlich ist.

OpenHAB ist ein Hausautomatisierungs-Server, der deine smarten Geräte in wenigen Schritten einrichtet und verbindet. Zusammen mit Max2Play steht dir somit eine Vielzahl an Wiedergabe-Automatismen zur Verfügung, die das Musikhören komfortabler machen.

Note: Wenn Sie bereits einen OpenHAB-Server auf einem anderen Gerät installiert haben, können Sie den ersten Schritt überspringen.

Schritt 1

Zunächst musst du unser OpenHAB Plugin installieren. Wie das geht, erfährst du in diesem Wiki-Artikel. Klicke nach erfolgreicher Installation auf den großen Blauen Button, um das OpenHAB Webinterface zu öffnen. Wähle hier die Standard-Installation.

OpenHAB arbeitet mit sogenannten Bindings, Things, Items und Channels.

Bindings sind die Schnittstelle zwischen Hardware (z.B. Messgeräte) und Software (OpenHAB). Es handelt sich also um Addons, die die Kommunikation zwischen dem Server und den Geräten ermöglicht.

Things sind Entitäten, die einem System physisch hinzugefügt werden können und mehr als eine Funktion (z.B. Temperaturmesser, Bewegungssensor) bereitstellen. Ein Thing kann auch ein Webdienst oder eine andere Informationsquelle sein, wie z.B. der Squeezebox Server.

Channels stellen die Fähigkeiten bzw. Funktionen der Things dar. Sie werden mit Items verlinkt und somit aktiviert. Dies bedeutet, dass auf die Funktion, die das Item darstellt, über diesen Channel zugegriffen werden kann.

Items stellen Funktionen dar, die von Anwendungen, entweder in Benutzeroberflächen oder in Automatisierungslogik, verwendet werden können. Items haben einen Status und können Befehle erhalten, wie zum Beispiel ein Schalter.

Schritt 2

Wir nutzen die Paper Ui um unsere Konfigurationen vorzunehmen. Klicke hier auf Add-ons, Bindings und installiere das Network Binding. Damit kannst du Geräte in deinem Netzwerk als Things hinzufügen.

Gehe nun zur Inbox, klicke auf das „+“-Symbol, wähle das eben installierte Network Binding und suche nach deinen Netzwerk-Geräten. In diesem Fall wählen wir unser Smartphone. Falls du es in der Liste nicht findest, sieh in der Benutzeroberfläche deines Routers nach, welche IP deinem Handy zugeordnet wurde und füge es in OpenHAB manuell hinzu.

Schritt 3

Jetzt fehlt nur noch der Squeezebox Server bzw. Player. Dazu installieren wir das Squeezebox Binding (gleiche Vorgehensweise wie beim Network Binding), suchen nach dem Server oder fügen ihn ggf. manuell hinzu. Die IP-Adresse des Squeezebox Servers entspricht dabei der IP-Adresse des Max2Play-Geräts, auf dem er installiert ist. Danach machen wir das gleiche mit Squeezelite. Gegebenenfalls musst du Squeezelite noch manuell über eine sogenannte Bridge mit dem Server verbinden. Gehe dazu in die Einstellungen von Squeezelite im OpenHAB Webinterface (Configuration/Things/Squeezelite/) und wähle die passende Bridge aus.

Unter Configuration/Things kannst du nun für jede der 3 Entitäten die entsprechenden Channels aktivieren. Nach Aktivierung der Channels kannst du die Squeezebox Wiedergabe bereits jetzt im Control Panel steuern.

Schritt 4

Für das automatische Starten der Wiedergabe bei Verbinden deines Smartphones mit dem WLAN müssen wir nun zwei Dateien im OpenHAB-Ordner anlegen bzw. bearbeiten: default.items und default.rules.

Die einfachste Methode, um auf den Systemordner deines OpenHAB-Geräts unter Windows zuzugreifen ist ein Samba Share. In diesem Wiki kannst du nachlesen, wie man ein solches Netzlaufwerk verbindet. Hast du Zugriff auf den Ordner, gehe zu Laufwerk:/etc/openhab2/items und lege die Datei default.items an, indem du z.B. eine neue Textdatei anlegst und sie umbenennst. Füge außerdem eine default.rules-Datei im Ordner Laufwerk:/etc/openhab2/rules hinzu.

Schritt 5

Öffne jetzt default.items mit einem Editor deiner Wahl und füge folgenden Quellcode ein:

Switch Smartphone "Online" <network> { channel="<Smartphone>" }

wobei du für <Smartphone> die Kennnummer von OpenHAB einsetzen musst, die du unter dem Online-Channel findest (beginnt mit „network:device…“). Die allgemeine Syntax lautet:

ItemType ItemName "ItemDescription" <ItemIcon> {ItemToThingChannelLink}

Dabei sollte der ItemName einzigartig sein, damit es nicht zu Überschneidungen und folglich zu Fehlern kommt.

Schritt 6

In der default.rules sollte Folgendes stehen:

rule "Smartphone ON"

when

   Item Smartphone changed from OFF to ON

then

   sendHttpGetRequest("<API-URL für den Play-Befehl aus unserem Plugin API-Examples>")

end



rule "Smartphone OFF"

when

   Item Smartphone changed from ON to OFF

then

   sendHttpGetRequest("<API-URL für den Pause-Befehl aus unserem Plugin API-Examples>")

end

Hier ist es wichtig nach „Item“ den selben Item-Namen wie in der default.items zu verwenden. Der Name der „rule“ ist hingegen frei wählbar.

Nun kannt du noch in OpenHAB unter Configuration/Things/Smartphone/Channels den vorherigen (nun überflüssigen) Online-Switch löschen.

Schritt 7

Nun sollte der die Wiedergabe des Squeezebox Servers automatisch starten, wenn sich das Smartphone mit dem WLAN verbindet. Zudem sollte sie pausieren, wenn die Verbindung wieder getrennt wird.

Diese ist nur eine von vielen Automationen, die man mit OpenHAB einrichten kann. Der Server bietet darüber hinaus noch viele weitere flexible Anwendungs- und Konfigurationsmöglichkeiten.

Ähnliche Optionen bietet die App „Tasker“. Jedoch wäre damit diese Art von Automation nur mittels GPS realisierbar, da der Pause-Befehl nach Trennen der Wifi-Verbindung nicht mehr gesendet werden kann.