Switch HASS pour piloter le service hyperion

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" }}'

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *