Cher journal #3

La semaine dernière je n’ai pas pris le temps de raconter ce que j’ai fait. Rien d’extraordinaire du côté de la borne : un peu d’assemblage de bouton, et j’attends quelques composants pour pouvoir réparer le problème de puissance du Raspberry

Home Assistant

Je me suis penché un peu sur mon home assistant, car mon chauffage (piloté par Home Assistant) faisait un peu n’importe quoi. J’ai donc revu les « automations » et aussi l’interface Lovelace. Je reviendrais là dessus dans un vrai article, car Home Assistant mérite de s’attarder dessus : j’ai pas mal peiné à bien comprendre les principes (States, Entities, Sensor, Automation, Scripts) et à quoi servait chacun d’eux…

MITM

Cette semaine, j’ai aussi jeté un œil du côté du mitmproxy. Je voulais intercepter le trafic généré par l’application My Renault. Honnêtement, cette application est pourrie, mais le peu qu’on arrive à faire avec, j’aimerais bien le faire aussi depuis Home Assistant.

Donc un peu de recherche, quelques téléchargements, et voici le déroulé des opérations :

  • Installation d’un émulateur Android, car il est impossible d’installer le certificat de mitmproxy sur un téléphone Android non rooté. Pour l’émulateur, j’utilise celui du sdk, que j’ai initialisé avec Android Studio.
  • Démarrage de l’Android en mode « rooté », et redirigé sur le proxy mitm: #:~/Android/Sdk/emulator$ ./emulator -avd Pixel_2_XL_API_27 -writable-system -http-proxy 127.0.0.1:8080
  • Chargement du Certificat dans le système :
    adb root
    adb remount
    ca=~/.mitmproxy/mitmproxy-ca-cer
    hash=$(openssl x509 -noout -subject_hash_old -in $ca)
    adb push $ca /system/etc/security/cacerts/$hash.0
    adb unroot

Tout ceci a été trouvé sur https://appiumpro.com/editions/63. Les options de l’appli « emulator » du sdk sont disponibles à https://developer.android.com/studio/run/emulator-commandline#startup-options.

Pour My Renault, un mec a déjà bien bossé dessus (https://github.com/epenet/Renault-Zoe-API/blob/newapimockup/Test/MyRenault.py), mais il ne fait que récupérer les infos (ce qui est déjà pas mal) et ne gère pas les actions comme le conditionnement et la mise en charge. Après, sachant que ça marche 1 fois sur 4 depuis l’appli, est-ce que ça vaut bien le coup ?

Allez, à la semaine prochaine

Laisser un commentaire