alexei.dolgolyov fb71555837 Convert subprojects to git submodules
- haos-integration -> haos-hacs-emby-media-player.git
- media-server -> media-player.git

Each component is now an independent repository that can be
developed and versioned separately.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 14:42:09 +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%