Presence Sensors
Automate media based on location.
Smart entertainment is about unifying all your media - streaming, local content, and music - into one system that integrates with your smart home. This guide covers streaming devices, media servers, and multi-room audio.
| Device | 4K/HDR | Price ~ | HA Integration | Best for |
|---|---|---|---|---|
| Apple TV 4K | ✅ DV/HDR10+ | $180 | ⭐⭐⭐⭐ | Apple ecosystem |
| NVIDIA Shield Pro | ✅ DV/HDR10+ | $200 | ⭐⭐⭐⭐⭐ | Power users, Plex |
| Fire TV Stick 4K Max | ✅ DV/HDR10+ | $70 | ⭐⭐⭐⭐ | Budget 4K |
| Chromecast Google TV | ✅ DV/HDR10+ | $50 | ⭐⭐⭐⭐⭐ | Google ecosystem |
| Roku Streaming Stick | ✅ DV/HDR10+ | $55 | ⭐⭐⭐ | Simple interface |
Price: ~$180
Apple TV 4K is the most polished streaming experience:
Disadvantages:
Apple TV integrates via Apple TV integration:
# Auto-discovery - or manual addition# Settings → Devices → Add Integration → Apple TV
# Entities:# - media_player.apple_tv_living_room# - remote.apple_tv_living_room
# Example automationautomation: - alias: "Dim lights during movie" trigger: - platform: state entity_id: media_player.apple_tv_living_room to: "playing" condition: - condition: template value_template: "{{ state_attr('media_player.apple_tv_living_room', 'media_content_type') == 'movie' }}" action: - service: light.turn_on entity_id: light.living_room data: brightness_pct: 10Buy: Apple.com, Amazon, Best Buy
Price: ~$200
Shield TV Pro is the power user’s favorite:
Disadvantages:
Shield TV Pro can run full Plex Media Server:
Advantages vs. NAS:
Limitations:
Shield integrates via Android TV integration:
# Auto-discovery via Android TV# Settings → Devices → Add Integration → Android TV
# Entities:# - media_player.shield_tv# - remote.shield_tv
# Start Plex movieautomation: - alias: "Movie night" trigger: - platform: event event_type: call_service event_data: domain: script service: movie_night action: - service: media_player.select_source target: entity_id: media_player.shield_tv data: source: "Plex"Buy: Amazon, Nvidia.com
Price: ~$70
The best value in 4K streaming:
| Pros | Cons |
|---|---|
| ✅ 4K HDR, Dolby Vision | ❌ Ads in interface |
| ✅ Wi-Fi 6E support | ❌ Amazon-centric UI |
| ✅ Alexa built-in | ❌ No USB ports |
| ✅ Sideloading possible | ❌ Limited storage |
| ✅ Kodi support | |
| ✅ Good Home Assistant integration |
# Fire TV integrates via Android TV Debug Bridge# Requires ADB debugging enabled on Fire TV
# Settings → Devices → Add Integration → Android TV
# Entities:# - media_player.fire_tv_living_room# - remote.fire_tv_living_roomBuy: Amazon
| Feature | Plex | Jellyfin | Emby |
|---|---|---|---|
| Price | Freemium | 100% Free | Freemium |
| Open Source | ❌ | ✅ | ❌ |
| Interface | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Metadata | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Hardware Transcoding | Plex Pass | Free | Premiere |
| Live TV/DVR | Plex Pass | Free | Premiere |
| Client Apps | All platforms | Most | All platforms |
| Remote Streaming | ✅ Easy | ⚠️ Requires setup | ✅ Easy |
Price: 100% Free
Jellyfin is the best free alternative to Plex:
Disadvantages:
# docker-compose.ymlversion: "3"services: jellyfin: image: jellyfin/jellyfin container_name: jellyfin network_mode: host volumes: - /path/to/config:/config - /path/to/cache:/cache - /path/to/media:/media restart: unless-stopped # Hardware acceleration (Intel) devices: - /dev/dri:/dev/driJellyfin is also available as a HACS Add-on for easy installation.
# Settings → Devices → Add Integration → Jellyfin
# Requires:# - Jellyfin server URL# - API key (Dashboard → API Keys)
# Entities:# - media_player.jellyfin_living_room_tv# - sensor.jellyfin_watching
# Automation exampleautomation: - alias: "Pause Jellyfin on doorbell" trigger: - platform: state entity_id: binary_sensor.doorbell to: "on" condition: - condition: state entity_id: media_player.jellyfin_living_room_tv state: "playing" action: - service: media_player.media_pause entity_id: media_player.jellyfin_living_room_tvPrice: Free / Plex Pass $120/year
Plex is the most popular media server:
Plex Pass features:
Disadvantages:
# Plex auto-discovered# Settings → Devices → Add Integration → Plex
# Entities per client:# - media_player.plex_living_room_tv# - media_player.plex_bedroom
# Sensor for what's playing# - sensor.plex_watching
# Automation: Movie lightsautomation: - alias: "Theater mode" trigger: - platform: state entity_id: media_player.plex_living_room to: "playing" attribute: media_content_type condition: - condition: template value_template: "{{ trigger.to_state.attributes.media_content_type == 'movie' }}" action: - service: scene.turn_on entity_id: scene.theater_mode| System | Protocol | HA Integration | Price/speaker |
|---|---|---|---|
| Sonos | WiFi/AirPlay | ⭐⭐⭐⭐⭐ | $200+ |
| IKEA SYMFONISK | Sonos/AirPlay | ⭐⭐⭐⭐⭐ | $130 |
| HomePod mini | AirPlay | ⭐⭐⭐⭐ | $99 |
| Google Nest | Chromecast | ⭐⭐⭐⭐ | $80+ |
| Amazon Echo | Alexa | ⭐⭐⭐⭐ | $55+ |
| Chromecast Audio | Chromecast | ⭐⭐⭐⭐ | Discontinued |
Sonos is the standard for multi-room audio:
Popular models:
| Model | Type | Price ~ |
|---|---|---|
| Era 100 | Compact | $280 |
| Era 300 | Spatial Audio | $490 |
| Beam Gen 2 | Soundbar | $490 |
| Arc | Premium Soundbar | $1,050 |
| Sub Mini | Subwoofer | $490 |
IKEA SYMFONISK is Sonos at half price:
| Model | Price | Best for |
|---|---|---|
| Bookshelf | $130 | Shelf, desk |
| Picture Frame | $180 | Wall decoration |
| Floor Lamp | $250 | Living room corner |
| Table Lamp | $210 | Nightstand |
Fully compatible with Sonos app and all Sonos features!
# Sonos auto-discovered# Settings → Devices → Add Integration → Sonos
# Entities per speaker:# - media_player.sonos_living_room# - media_player.sonos_kitchen# - media_player.sonos_bedroom
# Group speakersautomation: - alias: "Morning music whole house" trigger: - platform: time at: "07:00:00" condition: - condition: state entity_id: binary_sensor.workday state: "on" action: - service: sonos.join data: master: media_player.sonos_kitchen entity_id: - media_player.sonos_living_room - media_player.sonos_bathroom - service: media_player.play_media target: entity_id: media_player.sonos_kitchen data: media_content_type: "music" media_content_id: "spotify:playlist:37i9dQZF1DXcBWIGoYBM5M"automation: - alias: "Dim lights on TV playback" trigger: - platform: state entity_id: media_player.living_room_tv to: "playing" action: - service: light.turn_on entity_id: light.living_room data: brightness_pct: 20 transition: 5
- alias: "Restore lights on pause/stop" trigger: - platform: state entity_id: media_player.living_room_tv from: "playing" action: - service: light.turn_on entity_id: light.living_room data: brightness_pct: 80 transition: 3# scenes.yamlscene: - name: Theater Mode entities: light.living_room: state: on brightness_pct: 5 color_temp: 500 light.tv_backlight: state: on brightness_pct: 30 rgb_color: [50, 50, 100] cover.living_room_blinds: state: closed
automation: - alias: "Activate theater on movie start" trigger: - platform: state entity_id: media_player.plex_living_room to: "playing" condition: - condition: template value_template: > {{ state_attr('media_player.plex_living_room', 'media_content_type') == 'movie' }} - condition: sun after: sunset action: - service: scene.turn_on entity_id: scene.theater_modeautomation: - alias: "Announcement on doorbell" trigger: - platform: state entity_id: binary_sensor.doorbell to: "on" action: # Pause music - service: media_player.media_pause entity_id: media_player.sonos_living_room # Announcement - service: tts.google_translate_say entity_id: media_player.sonos_living_room data: message: "Someone is at the door" # Wait and resume - delay: "00:00:05" - service: media_player.media_play entity_id: media_player.sonos_living_roomPresence Sensors
Automate media based on location.
Smart Lighting
Sync lights with media.
Last updated: December 2025