1- Installation de l’addon SSH depuis le menu Superviseur

2- Génération de la clef ssh
Ouvrir le menu Terminal

Entrez la commande suivante pour générer la clef ssh. Laissez le path par défaut. Ne pas renseigner de passphrase sinon la connexion ssh va demander le mot de passe (appuyez sur entrée pour la laisser vide).
ssh-keygen -t rsa
Copiez la clef sur le serveur hyperion (ssh doit avoir été activé sur le serveur). Remplacez « pi » si nécessaire par l’utilisateur à utiliser pour la connexion au serveur.
ssh-copy-id pi@<ipduserveur
>
Vous pouvez tester que la connexion fonctionne avec la commande suivante :
ssh pi@<ipduserveur
>
Si vous avez testé la connexion, déconnectez vous du serveur hyperion par « exit ».
Créez le répertoire .ssh dans le répertoire config de hass :
mkdir /config/.ssh
Copiez les clefs dans le répertoire :
cp /root/.ssh/* /config/.ssh
3- Création des scripts shell sur le serveur hyperion
Sur le serveur hyperion créez les 3 fichiers suivants par exemple dans votre répertoire home dans le sous-répertoire « scripts ».
hyperion_start.sh :
#!/bin/bash
if pidof hyperiond; then
echo "hyperion already launched"
else
sudo systemctl start hyperion.service
echo "hyperion launched"
fi
hyperion_stop.sh :
#!/bin/bash
if pidof hyperiond; then
sudo systemctl stop hyperion.service
echo "hyperion stopped"
else
echo "hyperion is not started"
fi
hyperion_state.sh :
#!/bin/bash
if pidof hyperiond > /dev/null; then
echo "on"
else
echo "off"
fi
Modifier le droit des scripts pour les rendre exécutable :
chmod +x hyperion*.sh
4- Configuration du switch
Ajouter la configuration suivante dans le fichier configuration.yaml de hass. Remplacez « <ipduserveur> » par l’ip du serveur hyperion et éventuellement « pi » par l’utilisateur pour la connexion. Remplacez éventuellement « scripts » par le path où vous avez installé les scripts.
switch: - platform: command_line switches: hyperion_switch: command_on: "ssh -i /config/.ssh/id_rsa
\-o StrictHostKeyChecking=no
\pi@<ipduserveur> scipts/hyperion_start.sh" command_off: "ssh -i /config/.ssh/id_rsa
-o StrictHostKeyChecking=no \
pi@<ipduserveur> scripts/hyperion_stop.sh" command_state: "ssh -i /config/.ssh/id_rsa
\-o StrictHostKeyChecking=no
\pi@<ipduserveur> scripts/hyperion_state.sh" value_template: '{{ value == "on" }}'