Comment faire fonctionner un module Razberry 2 (GPIO) avec Home Assistant ?
J’ai recyclé un vieux Raspberry Pi 3D avec un module Razberry 2 (supportant les modules Z-Wave) pour y installer Home Assistant. Malheureusement, pas moyen de le faire fonctionner.
En gros, ça rentre en conflit avec le Bluetooth du Raspberry Pi.
Je vais donc détailler toutes les étapes par lesquelles je suis passé pour vous aider à résoudre ce problème. Je vais essayer d’être rapide et concis pour ne pas vous faire perdre de temps.
Mise à jour du Razberry 2
Cette étape n’est pas obligatoire, mais comme je l’ai fait, je me suis dit que j’allais l’inclure. Mon module datant de quelques années, c’était le moment de le mettre à jour. Il y a bien une procédure de MAJ du firmware avec ZMESerialUpdater mais n’étant pas sûr de la version du firmware à utiliser, j’ai emprunté un autre chemin.
Pour cela, j’ai installé Raspberry OS sur une carte SD et je l’ai booté sur mon Raspberry Pi. Jusque là, rien de foufou. Puis j’ai installé Z-Way, l’OS de Z-Wave qui permet de pilote le Razberry. Le but étant de l’utiliser pour mettre à jour le firmware.
Donc une fois connecté en SSH à mon Rpi, j’ai lancé la commande suivante :
wget -qO - https://storage.z-wave.me/RaspbianInstall | sudo bash
Une fois que c’était installé et que le service Z-Way est lancé, il suffit d’aller sur cette URL : find.z-wave.me. Sous le formulaire de login, vous devriez alors voir l’adresse IP de votre Raspberry. Cliquez dessus et vous accèderez à l’interface Z-Way.
Ensuite, rendez-vous dans le menu “Management” (accessible en haut à droite)…
Et vous pourrez alors faire la MAJ du firmware.
Voilà donc une bonne chose de faite.
Passage de Home Assistant en mode Debug
Maintenant je pars du principe que vous avez déployé Home Assistant OS sur votre Raspberry Pi. L’objectif ici c’est d’avoir un accès en SSH à HAOS (Home Assistant OS).
La première étape consiste donc à aller dans le Store des applications de Home Assistant et d’installer “Advanced SSH & Web Terminal”. Lancez-le en mode non protégé.
On va en avoir besoin pour la suite de l’opération. Sauf que ce terminal web ne donnera pas accès à tout le système HAOS… On n’a pas d’accès à la configuration du boot par exemple.
On va donc paramétrer HAOS pour le faire passer en mode débug afin d’avoir un accès SSH qui donne un accès système complet.
Pour cela, munissez-vous d’une simple clé USB formatée au choix en FAT32, EXT4 ou NTFS. Renommez cette clé “CONFIG” en majuscule. C’est important, car c’est ce qui fait que ce sera détecté par HAOS.
Dessus, on va mettre une clé SSH publique. Sous Windows, vous pouvez télécharger un client SSH tel que PuTTY et utiliser l’utilitaire PuTTYgen inclus pour générer la paire de clés.
Sinon, sous Linux, macOS (et Windows), si OpenSSH est installé, vous pouvez générer une paire de clés avec la commande suivante :
`ssh-keygen -t rsa -b 4096`
Donnez-lui un nom, rentrez un mot de passe et voilà. Vous aurez une paire de clés genre ~/.ssh/id_haos.pub
et ~/.ssh/id_haos
sur votre système. id_haos, c’est la clé privée, vous n’y touchez pas.
Par contre, id_haos.pub, c’est la clé publique que vous allez copier sur la clé USB. Renommez cette clé publique sur la clé USB : authorized_keys. Vous pouvez aussi faire une copie colle ceci :
cat /Users/manu/.ssh/id_haos.pub > /Volumes/BT/authorized_keys
Ensuite, insérez cette clé USB dans votre Raspberry Pi. Puis là deux choix s’offrent à vous. Soit vous rebootez le Raspberry et au chargement, HAOS intégrera votre clé. Soit vous retournez dans l’interface web de Home Assistant, et dans Advanced SSH & Web Terminal, vous entrez la commande suivante :
ha os import
Cela importera la clé. Ensuite, ouvrez un terminal sur votre ordinateur et lancez une connexion SSH comme ceci en utilisant le port 22222 et en spécifiant le chemin vers votre clé privée avec le paramètre -i :
ssh [email protected] -p 22222 -i /Users/manu/.ssh/id_haos
Et voilà, vous êtes connecté en SSH à votre HAOS sans aucune restriction.
Correction du problème lié au conflit entre Z-Wave et le Bluetooth
Maintenant on va pouvoir régler le problème lié au Z-Wave / Bluetooth. Toujours en SSH, vous allez éditer avec vi, le fichier suivant :
vi /mnt/boot/config.txt
Vi, vous connaissez… Il faut appuyer sur “i” pour éditer le contenu. Et quand vous avez fini, vous appuyez sur “Echap” pour sortir du mode édition et vous faites “:wq” pour sauvegarder et quitter l’éditeur.
Donc on va éditer le fichier et décommenter la ligne dtoverlay et lui adjoindre la ligne force_turbo comme ceci :
dtoverlay=miniuart-bt force_turbo=1
Dès que c’est fait, vous sauvegardez, vous quittez Vi et vous rebootez le Raspberry Pi
reboot
Et voilà. Ensuite, vous retournez dans l’interface de Home Assistant, et vous pourrez configurer comme il se doit votre réseau Z-Wave.
C’est le bonheur !
Et en bonus…
Rejoignez la team sur le Patreon !!