From 4702c9534cb2e232cd353b415f3394158bf4db13 Mon Sep 17 00:00:00 2001 From: James Mackay Date: Thu, 8 Oct 2026 08:36:11 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20correct=20Phase=202=20volume=20expectat?= =?UTF-8?q?ions=20=E2=80=94=20androidtvremote2=20has=20no=20absolute=20vol?= =?UTF-8?q?ume=20set=20(core=20closed=20it=20not=5Fplanned);=20VOLUME=5FST?= =?UTF-8?q?EP|MUTE=20only,=20level=20from=20push?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/MVP_PLAN.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/MVP_PLAN.md b/docs/MVP_PLAN.md index c13a26a..417f404 100644 --- a/docs/MVP_PLAN.md +++ b/docs/MVP_PLAN.md @@ -267,10 +267,14 @@ Files: - `remote.py` (new platform) — protocol-backed remote entity (port of core: SHORT/START_LONG/END_LONG command prefixes, num_repeats/delay/hold, activity = current app). -- `media_player.py` — command routing switches to protocol keys; volume gains - absolute level (VOLUME_SET) + real mute state; availability and is_on come +- `media_player.py` — command routing switches to protocol keys; volume gains a + push-based level readout + real mute state (NOTE: androidtvremote2 has NO + absolute volume set — HA core closed volume_set for androidtv_remote as + not_planned; only VOLUME_STEP | VOLUME_MUTE are claimed, level comes from + volume_info push); availability and is_on come from protocol callbacks; `_is_power_on` ladder: protocol is_on → ADB wake → plug off. + plug off. - `media_player.py` `async_play_media` — §7 channel port via protocol `send_key_command` digits (0.1 s delay) + task-cancel guard; ADB keyevent fallback when the protocol is down.