Initial commit: Media server and Home Assistant integration

- 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>
This commit is contained in:
2026-02-04 13:08:40 +03:00
commit 67a89e8349
37 changed files with 5058 additions and 0 deletions

50
CLAUDE.md Normal file
View File

@@ -0,0 +1,50 @@
# 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.