Alexa erobert unser Heim (mit Automatisierungsbeispielen)

Alexa erobert unser Heim (mit Automatisierungsbeispielen)

Eigentlich wollte ich die Sprachsteuerung mit Siri realisieren – doch leider scheiterte das an den strengen Vorgaben von Apple. Es funktioniert leider nur sehr wenig Hardware und die Lösung über die sogenannte HA-Bridge funktionierte leider nur sehr instabil bei mir.

So macht das keinen Sinn.

Deswegen freute ich mich, als ich von Alexa hörte und noch mehr als ich davon hörte, das Alexa auch noch mit Sonos direkt verbunden werden sollte (was jedoch noch nicht erfolgt ist).

Mittlerweile ist auch der Skill (so heißen die Brücken zwischen den Softwarelösungen und Alexa) von meiner Hausautomationslösung Symcon offiziell verfügbar.

Über Symcon habe ich ca. 40 „Geräte“ angelegt, wie z.B.

Moeller XComfort:

  • Rollos (An, Aus und Öffnungsgrad)
  • Zwischenstecker (An und Aus) und
  • Schalter (An und Aus)

Homematic:

  • Heizungen (Temperatur) und
  • Dachfenster (Auf, Zu und Öffnungsgrad)

Sowie einige Scripte die Szenen steuern:

Schlafen gehen:

  • Es wird das Dachfenster geöffnet.
  • Für das Dachfenster wird ein Timer für eine Stunde gestellt.
  • Es wird der Sonos im Schlafzimmer eingeschaltet.
  • Der Sonos wählt die Schlaf Playliste.
  • Der Sonos wird auch 15% Lautstärke eingestellt.
  • Für den Sonos wird der Ausschalttimer auf eine Stunde gestellt.

Schlafprogramm:

  • Alle nichtbenötigten Heizungen werden auf 17° runtergeregelt.
  • Alle Rollos werden geschlossen.
  • Alle Sonos werden ausgeschaltet.
  • Alle Lichter werden ausgeschaltet.
  • Das Licht im Bad wird eingeschaltet auf 30% Helligkeit.

Sonos:

  • Steuern der Sonos Geräte (An, Aus und Lautstärke) – hierbei wird jedoch nur de entsprechende Sonos mit der letzten Wiedergabe fortgesetzt.

Da die Steuerung über den Hausautomationsskill realisiert wird, spart man sich den Befehl um in einen anderen Skill zu wechseln (z.B. „sage <skillname> …“) – hat jedoch dafür nur einen beschränkten Sprachschatz auf den man zurückgreifen kann, wie z.B.:

Schalte <Name> an

Schalte <Name> aus

Stelle <Name> auf x% (z.B. Rollos, Licht, Sonos Laufstärke)

Stelle <Name> auf x° (Heizung)

Leider hat man jedoch auch gelegentlich das Problem, das Alexa nicht versteht welches Gerät gemeint war und dann noch mal nachfragt.

Um die Alexa-Lösung zu realisieren benötigt man folgendes:

  • Natürlich einen Amazon Echo Dot (ab 60€, zum testen kann man auch die Reverb App nehmen).
  • Ein Amazon Prime Account wird laut meiner Information nicht benötigt – empfiehlt sich jedoch, da dann Alexa auch auf die Amazon Musikdatenbank zurückgreifen kann – diese Musikdatenbank nutzen wir parallel zu Spotify.
  • Symcon: Hier reicht die Basis Lizenz für 99€ aus, diese enthält einen Monat Subscription. Die Subscription wird benötigt, damit Alexa (und natürlich auch die Smartphone-Apps) mit eurer Steuerung zuhause gesichert kommunizieren kann. Solltet ihr eine eigene Verbindung einrichten (Zertifikat und DyNDS bzw. feste IP) – so könntet ihr auf den Dienst verzichten, ansonsten werden pro Jahr ca. 40€ fällig.
  • Ein Server wie z.B. ein Raspberry Pi 3 B-Version mit Zubehör wie Gehäuse, Netzteil, SD Karte (als Set zusammen ab ca. 70€).
  • Zu guter Letzt dann die Hausautomation selber, hier kann ich für den günstigen Einstieg Homematic empfehlen, da diese relativ günstig sind, eine breite Auswahl an Aktoren haben, Bi-Directional arbeiten (damit keine Funkbefehle verloren gehen) und Routingfähig sind (Leiten Befehle und Statusinformationen über andere Aktoren weiter). Entsprechende Startersets wie CCU2 (Steuereinheit) gibt es ab 92€ – Aktoren ab ca. 40€.

Parallel zu Alexa nutze ich noch:

  • Webfront (Webinterface)
  • iOS App (iPhone und Watch) und
  • IPSView (grafische Visualisierung z.B. auf meinem iPad)

Natürlich kann man die Hausautomation auch noch um etliche Dinge erweitern, so habe ich vor kurzem noch Homematic-Funk-Rauchmelder integriert welche natürlich mit in der Hausautomation integriert sind und folgenden Komfort bieten bei einem Alarm:

  • Rechtzeitige Erkennung und Alarmierung in allen Räumen, da untereinander Vernetzt.
  • Hochfahren der Rollos, damit entsprechende Fluchtmöglichkeiten bestehen.
  • Einschalten der Lichter, damit eine bessere Orientierung gegeben ist.
  • Informieren über Sonos in welchen Raum der Alarm ausgelöst wurde (das ist zur Zeit noch nicht realisiert, die Idee entstand erst gestern Abend).

„Kleine“ Sonos (Play 1 oder 3) mit Airplay bedienen

Airsonos

Ich nutze zuhause einen Sonos Play 1. Diese haben einen klasse Sound und sind Prima per App zu bedienen.

Doch leider bieten diese kein Airplay, so das ich mal eben mit dem iPhone z.B. Musik von Youtube wiedergeben könnte.

Nun gab es ein Update von Sonos welches Airplay unter zuhilfenahme eine Airport Express nachrüstet. Das würde zwar in diesem einen speziellen Szenario passen, da ich im Wohnzimmer einen Airport Express verwende (bietet sich an, da man mit diesem Gerät ein öffentliches und ein Internes Netzwerk erstellen kann auch mit mehreren Accesspoints, doch dazu mehr in einem anderen Artikel).

Doch leider setzt das am Sonos einen Klinkenstecker voraus, welche erst ab dem Sonos Play 5 enthalten ist.

Von meinem Kollegen Norbert habe ich den Tip erhalten, das es eine Art Bridge gibt (Software: Airsonos).

Also habe ich mir schnell auf meinem ESXI eine VM aufgesetzt mit Ubuntu Server (LTS 14.04) mit folgender Ausstattung:

  • 2 Cores
  • 512 MB Ram
  • 40 GB HDD (Thin Provisioning)

Installiert habe ich Standardmäßig mit der Option SSHServer (Über den Terminal sind die Befehle einfacher einzugeben als in der ESXI Konsole abzutippen).

Installiert habe dann wie folgt:

$ sudo apt-get install libavahi-compat-libdnssd-dev libasound2-dev
$ sudo apt-get install npm git
$ sudo apt-get install nodejs
$ sudo apt-get install nodejs-legacy
$ git clone https://github.com/stephen/airsonos.git && cd airsonos
$ sudo npm install -g
$ adduser --no-create-home --disabled-login airsonos

 

$ sudo apt-get install daemontools daemontools-run
$ sudo mkdir /etc/service/airsonos
$ sudo nano /etc/service/airsonos/run

Im Nano dann folgendes Script erstellt und gespeichert (Strg + o, Strg + x):

#!/bin/sh
exec setuidgid airsonos sh -c '
  exec airsonos
'

Danach noch anpassen:

$ sudo chmod a+x /etc/service/airsonos/run
$ sudo initctl start svscan

Danach noch feste IP zuordnen und neustarten (sudo init 6).

Sollte man keinen ESXI haben, könnte man die Funktion auch von einem RaspberryPI (Raspi) ausführen lassen: http://hypedefender.de/2014/08/airsonos-airplay-fuer-dein-sonos-system-mittels-raspberry-pi/

Weitere Informationen:

http://stadt-bremerhaven.de/airsonos-airplay-unterstuetzung-sonos/

http://blog.widdi.eu/airsonos-ubuntu-14.04.html

 

Erfahrungen:

Airsonos ist empfindlich was Codecs angeht. Am stabilsten läuft es, wenn es nur als „Tonquelle“ angesprochen wird. Hat man einen Codec genutzt der nicht unterstützt ist oder Airsonos als Videoziel angesprochen (z.B. Mirroring), dann wird es nicht mehr angezeigt in der Auswahl.

Am einfachsten ist es, wenn ihr dann etwas einstellt was nur Audio wiedergibt (z.B. Musikapp) – dann könnt ihr wieder das Airplayziel auswählen und ansprechen.

Das Ziel kann auch Umlaute enthalten, ich hatte damit keine Probleme.

Update:

Mittlerweile gibt es ein weiteres Produkt auf der selben Basis – AirSonos. Damit kann man einfach ohne weitere Tools oder virtuelle Machine von einem Mac aus direkt die Sonos Player ansprechen. Die Lösung ist jedoch auch noch im Beta Stadium.

Hier die Downloadadresse: http://sonoair.mihosoft.eu/index.html#