This commit is contained in:
2026-02-23 15:34:13 -06:00
parent 87de29797e
commit e1ba4ad727
+81 -4
View File
@@ -20,6 +20,24 @@ It exposes your RelayTV server as a `media_player` (plus services), supports que
---
# ⭐ Key Mobile UX Feature: “Share to Home Assistant” → Play / Enqueue
One of the best day-to-day workflows is using your phone like a “remote link picker”:
1. On iOS/Android, **share a link** (YouTube, Twitch, a direct stream URL, etc.)
2. Choose **Home Assistant** from the share sheet
3. Home Assistant fires an event (`mobile_app.share`) containing the shared `url` or `text`
4. An automation can then **play now** or **enqueue** on RelayTV
This feels *incredible* in practice: you browse normally on your phone, tap Share, and your TV starts playing.
> Pro tip: Use the HA UI automation editor to duplicate this automation into variants:
> - “Share → Play Now (Living Room)"
> - “Share → Enqueue (Bedroom)"
> - “Share → Ask which TV” (roadmap: actionable notification picker)
---
# 🔵 Practical Automation Use Cases (Available Now)
- 🚪 Doorbell / camera pop on the TV
@@ -27,6 +45,7 @@ It exposes your RelayTV server as a `media_player` (plus services), supports que
- 🌙 Bedtime routines (relaxing queue + auto stop)
- 🏠 Home/Away/Movie mode scenes that change whats on screen
- 📺 Queue-based “experiences” (workouts, parties, timers, intros)
- 📲 **Mobile Share → Play/Enqueue** from iOS/Android browsing (see below)
---
@@ -65,6 +84,67 @@ It exposes your RelayTV server as a `media_player` (plus services), supports que
# ✅ Automation Examples (YAML)
## 0) Drop-in: Share to Home Assistant → Play Now (Mobile)
**What it does:** When you share a link to the Home Assistant app, this plays it immediately on RelayTV.
- Trigger: `mobile_app.share`
- Uses: `trigger.event.data.url` (preferred) or `trigger.event.data.text`
```yaml
alias: RelayTV - Mobile Share -> Play Now
mode: queued
trigger:
- platform: event
event_type: mobile_app.share
action:
- variables:
shared_url: >-
{{ trigger.event.data.url
if trigger.event.data.url is defined
else (trigger.event.data.text if trigger.event.data.text is defined else '') }}
- condition: template
value_template: "{{ shared_url | length > 0 }}"
- service: relaytv.play_now
target:
entity_id: media_player.relaytv_living_room
data:
url: "{{ shared_url }}"
- service: notify.notify
data:
title: "RelayTV"
message: "Playing: {{ shared_url }}"
```
### Variant: Mobile Share → Enqueue Instead of Play Now
```yaml
alias: RelayTV - Mobile Share -> Enqueue
mode: queued
trigger:
- platform: event
event_type: mobile_app.share
action:
- variables:
shared_url: >-
{{ trigger.event.data.url
if trigger.event.data.url is defined
else (trigger.event.data.text if trigger.event.data.text is defined else '') }}
- condition: template
value_template: "{{ shared_url | length > 0 }}"
- service: relaytv.enqueue
target:
entity_id: media_player.relaytv_living_room
data:
url: "{{ shared_url }}"
- service: notify.notify
data:
title: "RelayTV"
message: "Enqueued: {{ shared_url }}"
```
---
## 1) Doorbell → Show Front Door Camera (RTSP)
```yaml
@@ -230,9 +310,6 @@ party_mode_relaytv:
## 6) “AI Announcement” Pattern (TTS + Video)
This example uses HA TTS to speak, then plays a related clip.
(You can swap TTS for Assist, Piper, cloud TTS, etc.)
```yaml
alias: RelayTV - AI Announcement Pattern
mode: single
@@ -315,7 +392,7 @@ Insert custom “house announcements” during downtime or between queued items.
Copy `custom_components/relaytv` into:
```text
/config/custom_components/relaytv
/ config / custom_components / relaytv
```
Restart Home Assistant.