mirror of
https://github.com/niels-emmer/wall-cast.git
synced 2026-09-13 23:53:36 +02:00
[PR #7] [MERGED] feat: Android TV Remote wake/sleep + admin panel pairing #7
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
github-mirrors/wall-cast#7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/niels-emmer/wall-cast/pull/7
Author: @niels-emmer
Created: 3/27/2026
Status: ✅ Merged
Merged: 3/27/2026
Merged by: @niels-emmer
Base:
main← Head:remote-control📝 Commits (2)
397aeadfeat(caster): add Android TV Remote wake/sleep controlaabee04feat(pairing): admin panel pairing flow for Android TV Remote📊 Changes
8 files changed (+670 additions, -2 deletions)
View changed files
📝
.gitignore(+3 -0)📝
backend/app/routers/config.py(+71 -1)📝
caster/Dockerfile(+3 -1)📝
caster/cast.py(+91 -0)➕
caster/pair.py(+261 -0)➕
caster/remote.py(+104 -0)📝
config/wall-cast.example.yaml(+12 -0)📝
frontend/src/admin/AdminPanel.tsx(+125 -0)📄 Description
Summary
remote.pymodule usesandroidtvremote2(port 6466, the same protocol the Google TV app uses) to sendKEYCODE_WAKEUP/KEYCODE_SLEEP; falls back to Wake-on-LAN magic packet ifchromecast_macis setcast.pypicks them up each cycle; pairing runs as a background subprocess so it doesn't block castingNew files
caster/remote.pywake_screen()/sleep_screen()helperscaster/pair.pyConfig
Pairing flow
New API endpoints
GET/api/admin/pairing/{screen_id}POST/api/admin/pairing/startPOST/api/admin/pairing/pinPOST/api/admin/casting/wakePOST/api/admin/casting/sleepTest plan
docker compose up --build -don server — caster image rebuilds withandroidtvremote2+wakeonlanpair-start-<sid>.signalis consumed within one cast cycle (≤60 s)config/atv-certs/<screen-id>/on the server🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.