Skip to content

v0.29.0 — TV control, camera wall, app data stays on the TV

Choose a tag to compare

@mhoogenbosch mhoogenbosch released this 23 Oct 19:35
1cb22e1

English

Feature release: control the TV without adb, a camera wall, and app data that stays on the TV. For the Home Assistant side (media player, pipup.launch_app, pipup.send_key, grid) you need ha-pipup 1.28.0.

  • TV control (no adb, no extra grant):
    • POST /launch?package=… starts an app, uri=… opens a deep link; a sleeping screen is woken first (wake=false to skip).
    • POST /key?key=… sends play_pause, play, pause, stop, next, previous, rewind or fast_forward to the app that is playing; home and back with the accessibility service.
    • GET|POST /volume: level=0-100, step=up|down, mute=on|off|toggle. On a box whose volume belongs to the TV or amplifier (HDMI-CEC) level answers 501 and /state.volume.fixed is true.
    • GET /apps lists what can be launched. /state gains control and volume; volume changes (also with the remote) are pushed as volume_changed.
  • Camera wall: media.grid shows up to nine WHEP streams in one popup, each with a label and poster, automatic or fixed columns, or fullscreen. One peer connection per tile with its own retry, so one camera that is down does not hold up the rest.
  • No backup or device transfer of app data: the settings (push webhook URL, stable device id) no longer go into Android backups or onto a new TV. A new TV starts clean and is discovered as a new device.

Tested on a Fire TV Stick 4K Max: app list, volume set/step/mute, media key, launch with wake, a full-screen 2×2 wall of four live cameras (first frame 3.6 s), and the WebRTC connections released on dismiss.

Nederlands

Featurerelease: de tv bedienen zonder adb, een cameramuur, en app-gegevens die op de tv blijven. Voor de Home Assistant-kant (mediaspeler, pipup.launch_app, pipup.send_key, grid) heb je ha-pipup 1.28.0 nodig.

  • Tv-bediening (geen adb, geen extra toestemming):
    • POST /launch?package=… start een app, uri=… opent een deeplink; een slapend scherm wordt eerst gewekt (wake=false om dat over te slaan).
    • POST /key?key=… stuurt play_pause, play, pause, stop, next, previous, rewind of fast_forward naar de app die speelt; home en terug met de toegankelijkheidsdienst.
    • GET|POST /volume: level=0-100, step=up|down, mute=on|off|toggle. Op een box waarvan het volume bij de tv of versterker hoort (HDMI-CEC) antwoordt level met 501 en is /state.volume.fixed true.
    • GET /apps geeft de apps die je kunt starten. /state krijgt control en volume; volumewijzigingen (ook met de afstandsbediening) worden gepusht als volume_changed.
  • Cameramuur: media.grid toont tot negen WHEP-streams in één popup, elk met label en poster, met automatische of vaste kolommen, of fullscreen. Eén verbinding per tegel met een eigen retry, dus één camera die uit is houdt de rest niet op.
  • Geen back-up of overdracht van app-gegevens: de instellingen (push-webhook-URL, vaste apparaat-id) gaan niet meer mee in Android-back-ups of naar een nieuwe tv. Een nieuwe tv begint schoon en wordt als nieuw apparaat gevonden.

Getest op een Fire TV Stick 4K Max: app-lijst, volume zetten/stappen/dempen, mediatoets, starten met wekken, een schermvullende 2×2-muur met vier live camera's (eerste beeld na 3,6 s), en de WebRTC-verbindingen die na het sluiten worden losgelaten.

Full changelog: CHANGELOG.md