- Introduce DisplayCoordinator polling /api/display/monitors once per
cycle and fan out to all per-display entities via CoordinatorEntity.
Removes ~9x redundant requests per polling cycle that came from each
binary_sensor/number/select/sensor/switch entity calling
get_display_monitors() in its own async_update.
- Optimistic write-through via coordinator.apply_optimistic(...) keeps
sibling entities in sync after slider/select writes without an extra
network round-trip.
- Make CONF_TOKEN optional. The media server already supports running
without auth (auth_enabled() returns False when api_tokens is empty),
so the integration omits the Authorization header and ?token= query
from REST/WS/album-art URLs when no token is configured. Server-side
auth-enabled rejections still surface as invalid_auth in the UI.
- Bump manifest version to 0.3.2.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Remote Media Player integration for controlling PC media playback
from Home Assistant via the Media Server API.
Features:
- Full media player controls (play, pause, stop, next, previous)
- Volume control and mute
- Seek support with smooth timeline updates
- Real-time updates via WebSocket
- Script buttons for PC control (shutdown, restart, lock, etc.)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>