alexei.dolgolyov e26df64e4b Refactor project into two standalone components
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>
2026-02-04 14:36:23 +03:00

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 REST API server for your PC media-server
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)

cd media-server
pip install -r requirements.txt
python -m media_server.main

See Media Server README 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 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

Description
No description provided
Readme 163 KiB
Languages
Markdown 100%