Passer au contenu principal

LAB - Little Android (TV) Brother

labtv.jpg

LAB — Little Android Brother

Dépôt : https://github.com/LgHS/lab

LAB est une app Android (Kotlin), en paysage, qui tourne sur une box Android TV. Elle remplace le launcher : elle démarre à l'allumage et revient quand on appuie sur Home (clavier F10).

Ce qu'elle affiche

Panneau Contenu Source Rafraîchissement
Caméras Porte d'entrée + SAS vélo UniFi Protect (RTSP) continu
Porte État de la serrure (vert = verrouillée et fermée, cadre rouge sinon) Bridge Nuki 5 s
Livraison Code livreur Deliveroo, décompte, « proche » mis en évidence Scrapping custom 15 s
Musique Titre en cours, pochette moOde (MPD + Spotify/AirPlay/Deezer) instantané / 2 s
Bus Prochains départs TEC (ligne 11, arrêts Simenon, Congrès…) GTFS-RT TEC + horaires générés 30 s
Trains Trains directs SNCB iRail 60 s
Météo Météo à Outremeuse Open-Meteo 10 min

Modifier les arrêts de bus et les trains

Pas besoin de recompiler l'app.

  1. Éditer dashboard/transport.json directement sur GitHub.
  2. tec.stops : quais TEC (stop_id GTFS, un quai = un sens). Pour chaque quai, lines liste les lignes à afficher et leur destination. Une ligne qui n'est pas listée n'est pas affichée. L'ordre des quais compte : un bus qui passe par plusieurs quais s'affiche au premier où sa ligne apparaît.
  3. sncb.routes : paires de gares (noms iRail).
  4. Pour trouver un stop_id : stops.txt du GTFS TEC.
  5. Pousser. La GitHub Action dashboard-tec.yml régénère les horaires théoriques (dashboard/tec_*.csv, generated.json : ne pas les éditer à la main). Elle tourne aussi chaque lundi.
  6. Attendre que l'Action se termine (onglet Actions). L'app relit la config au démarrage puis toutes les heures.

Le flux temps réel TEC ne contient que les retards. Sans l'horaire théorique généré, les bus d'un nouveau quai n'apparaissent pas.

Compiler et installer

./gradlew assembleRelease
adb connect <ip-de-la-box>
adb install -r app/build/outputs/apk/release/app-release.apk
adb shell cmd package set-home-activity be.lghs.lab/.MainActivity
  • Toujours installer la version release : en debug, l'app est environ 50 fois plus lente.
  • Les secrets vont dans local.properties, qui n'est jamais commité : clé API TEC, URLs RTSPS des caméras et jeton Nuki. Sans jeton Nuki, la tuile Porte affiche « Nuki ? ».
  • Les réglages réseau (moOde, bridge Nuki, coordonnées météo) sont dans app/src/main/java/be/lghs/lab/Config.kt.

Android TV / Google TV : désactiver le launcher d'origine

# Android TV
adb shell pm disable-user --user 0 com.google.android.tvlauncher
# Google TV
adb shell pm disable-user --user 0 com.google.android.apps.tv.launcherx
adb shell pm disable-user --user 0 com.google.android.tungsten.setupwraith

Pour annuler : pm enable.

Sur place

  • Ouvrir les réglages Android : touche Menu/Réglages de la télécommande, ou appui long sur OK.
  • La touche Retour ne quitte pas le tableau de bord. C'est voulu.