Chiffrement d'ESPHome

Ceux qui suivent les releases d'ESPHome auront surement remarqué le chapitre "API Encryption". Pour résumer, ESPHome a ajouté une couche de chiffrement possible pour communiquer avec Home Assistant en utilisant l'API ESPHome.

A quoi ça sert me direz vous? Comme toute sécurité, ça sert à ralentir tout piratage si un jour ça arrive tout en espérant que ça ne serve à rien. Comme la serrure sur votre porte, ça ralenti juste les effractions ça ne pourra jamais les éviter complètement si quelqu'un y met les moyens :)

Bon, je vous entends déjà dire: "Ouais, ça va encore être compliqué, vais devoir réintégrer mes périphériques..." Même pas!

L'ajout du chiffrement se fait en 2 étapes:

Configuration ESPHome:

Prenons mon Shelly 1 qui commande mon imprimante. On clique sur le bouton EDIT dans l'interface ESPHome.

Puis, sous la partie api: on ajoute les deux lignes suivantes:

api:
  encryption:
    key: !secret enc_key_rostock

Et vu qu'on fait les choses correctement, on met la clé de chiffrement dans le fichier secret.yaml:

on clique sur les ... et puis Secrets Editor

Et on ajoute une entrée du style:

enc_key_rostock: MASUPERCLESECRETE

Attention: la clé doit être de 32 bits encodés en base64. (ou simplement aller sur la page: https://esphome.io/components/api.html et copier-coller la clé générée aléatoirement. (Cette clé est générée dans votre navigateur, donc en local :) )

Et voilà pour le coté ESPHome. Là vous reflashez votre périphérique et c'est bon.

Cliquez sur install pour mettre à jour votre périphérique.

Configuration Home Assistant

Là ça va se compliquer! Attendez que votre module se soit mis à jour, et Home Assistant vous notifiera:

Ouvrez le panneau de notification puis cliquez sur Check it out.

Là vous serez amenés dans le panneau des intégrations et votre module ESPHome sera affiché en rouge. Cliquez sur reconfigurer et entrez la clé que vous avez configuré dans ESPHome puis appuyez sur soumettre.

Et voilà! Vous pouvez répéter cette opération sur tous vos modules.