Ausgangslage
Wer kennt es nicht: Nachdem man sich gemütlich ins Bett gelegt hat, beginnen die Gedanken, wild zu drehen, und an Einschlafen ist nicht mehr zu denken. Hilfreich können da Hörspiele oder Hörbücher sein, die Ablenkung schaffen und gedankliches Abschalten ermöglichen.
Spotify ist dabei eine nützliche Quelle für Hörspiele jeden Geschmacks und ein Sonos-Lautsprecher im Schlafzimmer ist als Musikwecker ohnehin installiert. Für das Einschalten eines Hörspiels ist jedoch meist Gefummel mit dem Smartphone nötig, welches grundsätzlich nicht ins Schlafzimmer gehört.
Mit Home Assistant lässt sich eine Gutenachtgeschichte-Fernbedienung einrichten, deren Aufbau ich in diesem Artikel beschreibe.
Dabei soll der Fokus nicht auf den Details liegen, sondern auf den Konzepten, welche sich auch auf andere Problemstellungen anpassen lassen. Interessanterweise hat diese Installation von all meinen Smarthome-Spielereien den höchsten FAF (Family Acceptance Factor) und ist nun schon über 7 Jahre in Benutzung.
Zutaten
- Home Assistant (auf Mini-Server mit Docker)
- Sonos-Lautsprecher
- Conbee II USB Stick
- Ikea Tradfri-Fernbedienung
- Spotify-Account auf Sonos eingerichtet
Einrichten
-
Conbee einstecken und mit Docker in Betrieb nehmen.
-
Deconz und Sonos-Integrationen in Home Assistant hinzufügen.
-
Ikea-Fernbedienung in Deconz hinzufügen
-
Blueprint zur Fernbedienung von EPMatt importieren
Kombinieren
Nun werden die Komponenten miteinander Verzahnt
Hörspiele auflisten
Auf der Spotify-Website gewünschte Hörspiele suchen und in der Adressleiste den Album-Hash kopieren. (https://open.spotify.com/album/ 15uEPZy8BcpGYEpMxfgHgM ) Danach einen Input-Select-Helper in Home Assistant hinzufügen. Dieser wird mit den gewünschten Hashes befüllt, nach folgendem Schema:
Der Mord im Tale von Bascombe, spotify:album:15uEPZy8BcpGYEpMxfgHgM
Nachträglich können die Einträge über die Developer-Tools in den Einstellungen angepasst werden.
action: input_select.set_options
target:
entity_id:
- input_select.story
data:
options:
- schwarzer tag, spotify:album:7ehMwTyKuIM4zdiltMxE4X
- nacht der gewitter, spotify:album:0qZ0R61AqoD2i8GnzUk91C
- rätsel der sieben, spotify:album:2AEzTekSWfyfzJH56jmhET
- nebelberg, spotify:album:6Mi4Smq7Fn8qNOg6Xnf0In
- singende schlange, spotify:album:7pkVk9UgZBBcc2D2ySHaRM
- Geisterbucht, spotify:album:6cPgVsZ6TPyVIP9BHP5ty5
Wichtiger Hinweis: Änderungen via die Developer-Tools überleben leider den Neustart/Update des Docker-Containers nicht. Die Action in den Developer-Tools bleibt allerdings gespeichert. Das verstehe ich konzeptionell überhaupt nicht, aber man muss nach jedem Neustart die Action input_select.set_options erneut ausführen.
Skripte definieren
Nun sind noch einige Skripte nötig, welche beim Drücken der Tasten ausgeführt werden. Bei mir sehen die folgendermassen aus:
Starten des im input_select gewählten Hörbuchs
alias: play current story
sequence:
- action: media_player.shuffle_set
metadata: {}
data:
shuffle: false
target:
entity_id: media_player.bedroom
- action: media_player.play_media
data:
enqueue: replace
media:
media_content_id: "{{ states.input_select.story.state.split(',')[1] }}"
media_content_type: album
metadata: {}
target:
entity_id: media_player.bedroom
description: ""
icon: mdi:book-open-outline
Setzt den Einschlaf-Timer auf den Wert einen sensors.sleep_fade_out_minutes.
alias: Set Sonos Sleep Timer
triggers:
- entity_id: input_boolean.sleep_status
to: "on"
trigger: state
actions:
- data_template:
entity_id: media_player.bedroom
sleep_time: "{{ states.sensor.sleep_fade_out_minutes.state | int * 60 }}"
action: sonos.set_sleep_timer
Befehle auf Fernbedienung legen
Nun füllt man noch den Blueprint mit den entsprechenden Skripten:
alias: Sonos_IKEA_Remote
description: Sonos Boxen im Schlafzimmer mit IKEA Fernbedienung steuern
use_blueprint:
path: EPMatt/ikea_e1524_e1810.yaml
input:
integration: deCONZ
helper_last_controller_event: input_text.last_remote_press
controller_device: 03d2d29e5cb6482796798aadf046d6ba
action_button_left_long: []
action_button_left_short:
- action: media_player.media_play_pause
metadata: {}
data: {}
target:
entity_id: media_player.bedroom
action_button_right_short:
- action: media_player.media_next_track
metadata: {}
data: {}
target:
entity_id: media_player.bedroom
action_button_up_short:
- action: media_player.volume_up
metadata: {}
data: {}
target:
entity_id: media_player.bedroom
action_button_down_short:
- action: media_player.volume_down
metadata: {}
data: {}
target:
entity_id: media_player.bedroom
action_button_up_long: []
action_button_up_release:
- action: script.play_current_story
metadata: {}
data: {}
enabled: true
- action: automation.trigger
metadata: {}
data:
skip_condition: true
target:
entity_id: automation.set_sonos_sleep_timer
action_button_down_release: []
action_button_left_release:
- action: automation.trigger
metadata: {}
data:
skip_condition: true
target:
entity_id: automation.set_sonos_sleep_timer
action_button_right_release:
- repeat:
count: 10
sequence:
- action: media_player.media_next_track
metadata: {}
data: {}
target:
entity_id: media_player.bedroom
action_button_left_double: []
Die Skripte lassen sich bequem und intuitiv auch im grafischen Editor verändern. Bei den data_templates muss man jedoch in den YAML-Modus wechseln.
Anwendung
Nun lässt sich die Sonos-Box bequem über die IKEA-Fernbedienung vom Bett aus steuern. Die vier Tasten erlauben grundsätzlich, die Musik zu pausieren, lauter und leiser zu stellen und zum nächsten Track zu springen. Bei langem Drücken der oberen Taste wird das gewählte Hörspiel gestartet und ein Einschlaf-Timer gesetzt. Gutes Einschlafen …
Quellen:
Titelbild: Le chat - Mistral AI ("A cozy, modern living room scene at night with soft, warm lighting. In the center, a sleek tablet or smartphone displays a "Gutenachtgeschichte" (bedtime story) app interface with Home Assistant, Sonos, and IKEA Tradfri logos subtly integrated. The background shows a comfortable couch, a bookshelf with children's books, and a dimly lit IKEA Tradfri smart lamp casting a gentle glow. The Sonos speaker is placed on a side table, emitting a soft, ambient sound wave visualization. The overall atmosphere is calm, inviting, and tech-savvy, with a focus on smart home integration for bedtime routines. The style is realistic with a touch of warmth and modernity, suitable for a tech article cover image.")
