# Remote Media Player Control your PC's media playback from Home Assistant. This monorepo contains two separate components designed to be split into independent repositories: ## Components | Component | Description | Future Repository | |-----------|-------------|-------------------| | [Media Server](media-server/) | REST API server for your PC | `media-server` | | [HAOS Integration](haos-integration/) | HACS-ready Home Assistant integration | `haos-remote-media-player` | ## Overview ``` ┌─────────────────────┐ HTTP/WebSocket ┌─────────────────────┐ │ Home Assistant │◄────────────────────────►│ Your PC │ │ │ (Token Auth) │ │ │ ┌───────────────┐ │ │ ┌───────────────┐ │ │ │ Media Player │ │ │ │ Media Server │ │ │ │ Entity │ │ │ │ (FastAPI) │ │ │ └───────────────┘ │ │ └───────┬───────┘ │ │ ┌───────────────┐ │ │ │ │ │ │ Script Button │ │ │ ┌───────▼───────┐ │ │ │ Entities │ │ │ │ Media Control │ │ │ └───────────────┘ │ │ │ - Windows │ │ │ │ │ │ - Linux │ │ └─────────────────────┘ │ │ - macOS │ │ │ │ - Android │ │ │ └───────────────┘ │ └─────────────────────┘ ``` ## Features - Play/Pause/Stop media - Next/Previous track - Volume control and mute - Seek within tracks - Display current track info (title, artist, album, artwork) - Real-time updates via WebSocket - Script buttons (shutdown, restart, lock, sleep, hibernate, custom) - Secure token-based authentication ## Quick Start ### 1. Set up the Media Server (on your PC) ```bash cd media-server pip install -r requirements.txt python -m media_server.main ``` See [Media Server README](media-server/README.md) for detailed instructions. ### 2. Set up Home Assistant Integration Copy `haos-integration/custom_components/remote_media_player/` to your HA config folder, or install via HACS. See [HAOS Integration README](haos-integration/README.md) for detailed instructions. ## Project Structure ``` / ├── media-server/ # Standalone Media Server │ ├── README.md # Server documentation │ ├── requirements.txt # Python dependencies │ ├── config.example.yaml # Example configuration │ └── media_server/ # Python package │ ├── main.py # Entry point │ ├── routes/ # API endpoints │ ├── services/ # Platform media controllers │ └── service/ # Service installers │ ├── haos-integration/ # HACS-ready HA Integration │ ├── README.md # Integration documentation │ ├── hacs.json # HACS configuration │ └── custom_components/ │ └── remote_media_player/ # Integration code │ └── README.md # This file ``` ## License MIT License