Smart Home

Home Assistant mit dem Stream Deck steuern

Im Home-Office ist es natürlich praktisch, das eigene Zuhause direkt per Tastatur steuern zu können. Da ich mir dieses Jahr ein Elgato Stream Deck zugelegt habe, war es naheliegend dies hierfür zu nutzen. Ich habe mir eine “Seite” nur mit Smart-Home-Funktionen (s. Titelfoto) und eine Seite mit Sonos-Funktionen angelegt. Letztendlicher Empfänger der Tastendrücke ist mein neues Smart-Home-System “Home Assistant“, welches auf meinem alten Mac mini installiert ist.

Automatisierung in Home Assistant

Die beiden Systeme zu verknüpfen, ist gar nicht so schwierig. Schauen wir uns zunächst an, was wir in Home Assistant tun müssen. Hier müssen wir eine neue Automatisierung anlegen. Ich habe diese direkt in YAML erstellt, weil der Inhalt für alle Stream-Deck-Dinge recht ähnlich ist. Ihr könnt aber genauso gut den visuellen Editor von Home Assistant verwenden. Der YAML-Code sieht so aus:

  alias: Rollo per Webhook steuern
  description: ''
  trigger:
  - platform: webhook
    webhook_id: automation_cover_djfjgfh3746FShg2327gfw3
  condition: []
  action:
  - service: cover.toggle
    target:
      entity_id: cover.rollo
  mode: single

Das System definiert Automatisierungen grundsätzlich über Trigger (Auslöser), Bedingungen (die zusätzlich erfüllt sein müssen, optional) und Aktionen. Der Auslöser ist in unserem Fall ein sogenannter Webhook. Den legen wir selber fest und können ihn uns als Zeichenkette vorstellen, die wir vom Stream Deck an Home Assistant senden müssen, um unsere Automatisierung loszutreten. Die Zeichenkette sollte dabei so ähnlich wie ein gutes Passwort aufgebaut sein. Wenn nämlich jemand die externe Webadresse unseres Home-Assistant-Systems und den Webhook kennt, kann diejenige/derjenige ebenfalls die Automatisierung starten. In meinem Beispiel oben seht ihr daher auch nicht meine tatsächliche Zeichenkette. Im visuellen Editor sieht der Auslöser so aus:

Auslöser für meine Automatisierung im visuellen Editor von Home Assistant (Screenshot)
Bitte anklicken/antippen für größere Version

Der Auslösertyp ist “Webhook” und die Webhook ID unsere selbstgewählte Zeichenkette. Eine weitere Bedingung brauchen wir nicht, was in YAML zu der Zeile “condition: []” führt.

Die Aktion ist in diesem Fall “Dienst ausführen” und der Dienst heißt im visuellen Editor “Abdeckung: Toggle”. Als Entität wählen wir das gewünschte Rollo:

Rollo-Aktion in der Automatisierung (Screenshot)
Bitte anklicken/antippen für größere Version

Knopf-Belegung in Stream Deck

Weiter geht es in der Stream-Deck-Software. Hier müssen wir zunächst – falls noch nicht geschehen – ein Plugin aus dem Stream-Deck-Store (kostet nichts) installieren. Es nennt sich “Web Requests”:

Stream Deck Store (Screenshot)
Bitte anklicken/antippen für größere Version

Nun suchen wir uns ein freies Plätzchen auf unserem Stream Deck und belegen dieses mit einer Aktion des Typs “HTTP Request”. Die gibt es nur, wenn wir das o.g. Plugin installiert haben:

Button-Editor in der Stream-Deck-Software (Screenshot)
Button-Editor in der Stream-Deck-Software – bitte anklicken/antippen für größere Version

Ausfüllen müssen wir die Felder “URL” und “Method”. Letztere braucht den Wert “POST”. Die URL ist nach folgendem Schema einzutragen:

http://IP-ADRESSE-EURES-HOME-ASSISTANT:8123/api/webhook/EUER-WEBHOOK

Mit dem Webhook aus dem Beispiel oben und der Beispiel-IP-Adresse 192.168.12.24 wäre das in diesem Fall:

http://192.168.12.24:8123/api/webhook/automation_cover_djfjgfh3746FShg2327gfw3

Ich müsst hier natürlich eure tatsächlichen Daten einsetzen. Nun noch ein schönes Icon aussuchen oder zeichnen und der erste Smart-Home-Button sollte funktionieren. Nach diesem Schema könnt ihr alles steuern, was sich irgendwie als Aktion in Home Assistant lostreten läßt, ein Soundsystem wie Sonos inklusive.

Insgesamt 1.164 Artikel aus meinen Interessensgebieten Apple, Get Organized, Smart Home, Dänemark und Fahrrad erwarten euch in diesem mehrmals pro Woche aktualisiertem Blog. Darunter Tipps und Automatisierungen zu OmniFocus und GTD®, DEVONthink, AppleScript, Hazel, Obsidian, Home Assistant, Keyboard Maestro uvm.

Plus/Premium
Gefällt Dir dieser Artikel oder hast Du sogar Nutzen daraus gezogen? Du kannst mein Blog via Patreon unterstützen und erhältst dafür Zugriff auf aktuell 274 Plus-Artikel. Premium-Unterstützer bekommen weitere Inhalte, wie z.B. Videos. Auch jeder Link in sozialen Medien oder anderen Blogs zu meinen Inhalten hilft mir, Danke!

Erfolgreicher und produktiver werden
Mein E-Book und mein Coaching-Angebot zu den Themen "Get Organized" und "OmniFocus".

Unterstützung bei Apple-Automatisierungen
Ich arbeite seit 2008 mit iPhones und Mac-Computern und habe inzwischen Hunderte von Automatisierungen erstellt. Gerne stelle ich mein Wissen zur Verfügung! Weitere Infos hier.

Über den Autor

Markus Jasinski

Markus Jasinski ist ein Rostocker Unternehmer, Naturwissenschaftler, IT-Spezialist, Autor, Coach, Dänemark-Fan, überzeugter Radfahrer und nicht zuletzt „Computer Geek“ und Smart-Home-Enthusiast. Sein erstes iPhone kaufte der promovierte Naturwissenschaftler im Jahre 2008, kurze Zeit später wurde er dann auch zum Mac-Nutzer. Nach und nach gesellten sich iPad, Apple TV und Apple Watch hinzu.

Um diese vielfältigen Interessen und Aktivitäten "unter einen Hut" zu bekommen befasst sich der gebürtige Westfale seit über zehn Jahren mit den Themen Selbstorganisation und Aufgabenmanagement, die ebenfalls ein Schwerpunkt dieses Blogs sind.

4 Kommentare

Kommentar schreiben

Kommentare müssen zwischen 50 und 3000 Zeichen lang sein. Deine E-Mail-Adresse wird nicht veröffentlicht. Es erfolgt keine automatische Benachrichtigung bei Antworten auf einen Kommentar. Keine Werbung/Werbelinks/Firmenlinks, Hinweise unten beachten!


Alle Kommentare werden moderiert und nur freigeschaltet, wenn sie diesen Regeln entsprechen. Keine Werbung! Bitte nutzt E-Mail für allgemeine und sonstige Anfragen. Leider erlaubt meine Zeit es nicht, technische Hilfestellung oder Support zu leisten.

All comments are reviewed and manually unlocked. Comments that do not refer to the article, are not written in German or contain advertising will be deleted. Please use e-mail for general and other inquiries.