Split monorepo into separate units for future independent repositories: - media-server/: Standalone FastAPI server with own README, requirements, config example, and CLAUDE.md - haos-integration/: HACS-ready Home Assistant integration with hacs.json, own README, and CLAUDE.md Both components now have their own .gitignore files and can be easily extracted into separate repositories. Also adds custom icon support for scripts configuration. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.0 KiB
3.0 KiB
Remote Media Player - Home Assistant Integration
A Home Assistant custom integration that allows you to control a remote PC's media playback as a media player entity.
Features
- Full media player controls (play, pause, stop, next, previous)
- Volume control and mute
- Seek support with smooth timeline updates
- Displays current track info (title, artist, album, artwork)
- Real-time updates via WebSocket (with HTTP polling fallback)
- Script buttons - Execute pre-defined scripts (shutdown, restart, lock, sleep, etc.)
- Configurable via Home Assistant UI
Requirements
- Home Assistant 2024.1.0 or newer
- A running Media Server on your PC
Media Server
This integration requires the Media Server to be running on the PC you want to control.
Media Server Repository: TODO: Add repository URL
See the Media Server documentation for installation and setup instructions.
Installation
HACS (Recommended)
- Open HACS in Home Assistant
- Click the three dots menu > Custom repositories
- Add this repository URL:
https://github.com/YOUR_USERNAME/haos-remote-media-player - Select category: Integration
- Click Add
- Search for "Remote Media Player" and click Download
- Restart Home Assistant
Manual Installation
- Download the latest release from the Releases page
- Extract and copy the
custom_components/remote_media_playerfolder to your Home Assistantconfig/custom_components/directory - Restart Home Assistant
Configuration
- Go to Settings > Devices & Services
- Click + Add Integration
- Search for "Remote Media Player"
- Enter the connection details:
- Host: IP address or hostname of your PC running Media Server
- Port: Server port (default: 8765)
- API Token: The authentication token from your Media Server
- Name: Display name for this media player (optional)
Usage
Once configured, the integration creates:
Media Player Entity
A full-featured media player entity with:
- Play/Pause/Stop controls
- Next/Previous track
- Volume control and mute
- Seek functionality
- Current track information
Script Button Entities
Button entities for each script defined on your Media Server:
- Lock/unlock workstation
- Shutdown, restart, sleep, hibernate
- Custom scripts
Example Lovelace Card
type: media-control
entity: media_player.remote_media_player
Documentation
For detailed documentation, see custom_components/remote_media_player/README.md.
Support
License
MIT License