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 se quitte quand on appuie sur Home (ou 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.

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.