- FastAPI server for Windows media control via WinRT/SMTC - Home Assistant custom integration with media player entity - Script button entities for system commands - Position tracking with grace period for track skip handling - Server availability detection in HA entity Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
51 lines
1.2 KiB
Markdown
51 lines
1.2 KiB
Markdown
# Media Server for Home Assistant
|
|
|
|
## Project Overview
|
|
|
|
A server-client system to control PC media playback from Home Assistant.
|
|
|
|
- **Server**: FastAPI REST API on Windows controlling system-wide media via WinRT
|
|
- **Client**: Home Assistant custom integration exposing a media player entity
|
|
|
|
## Running the Server
|
|
|
|
### Manual Start
|
|
|
|
```bash
|
|
cd c:\Users\Alexei\Documents\haos-integration-media-player
|
|
python -m media_server.main
|
|
```
|
|
|
|
### Auto-Start on Boot (Windows Task Scheduler)
|
|
|
|
Run in **Administrator PowerShell** from the project root:
|
|
|
|
```powershell
|
|
.\media_server\service\install_task_windows.ps1
|
|
```
|
|
|
|
To remove the scheduled task:
|
|
|
|
```powershell
|
|
Unregister-ScheduledTask -TaskName "MediaServer" -Confirm:$false
|
|
```
|
|
|
|
## Home Assistant Integration
|
|
|
|
Copy `custom_components/remote_media_player/` to your Home Assistant config folder.
|
|
|
|
Integration files location: `U:\custom_components\remote_media_player`
|
|
|
|
## API Token
|
|
|
|
The API token is generated on first run and displayed in the console output.
|
|
Configure the same token in Home Assistant integration settings.
|
|
|
|
## Server Port
|
|
|
|
Default: `8765`
|
|
|
|
## Git Rules
|
|
|
|
Always ask for user approval before committing changes to git.
|