OctoPrint et Jeedom
Nous allons utiliser le menu d'Octoprint pour lancer des commandes domotiques sur Jeedom.
Création du script de passage de commandes vers Jeedom
Commençons par la création d'un mini script pour passer les ID des commandes jeedom. Il faudra adapter le DNS/IP utilisé par votre jeedom, en interne ou en externe.
pi@octopi:~/.octoprint $ cd /home/pi/.octoprint
pi@octopi:~/.octoprint $ vi Jeedom_ID.sh
Aide pour vi:
Pour passer en mode édition, faire "Echap" puis ":i"
Pour enregistrer et quitter : "Echap" puis":wq"
Récupération de l'ID de la commande sous Jeedom
Si vous connaissez les ID, vous pouvez passer ce chapitre.
Aller sur l'équipement sous Jeedom et cliquer sur l'onglet Commandes. Ensuite repérer la commande souhaitée (ici On) et se rendre dans les paramètres de commande en cliquant sur le bouton "engrenages" en (1) ci-dessous:
L'ID de la commande est donc disponible sur cette page :
Fin du chapitre De récupération des ID de commandes Jeedom
Saisir ou coller les deux lignes ci-dessous en remplaçant l'url de jeedom et la clé d'API (apikey=xxx).
Plus loin, il faudra connaitre également l'ID de commande de Jeedom qui permettra de faire l'action on et l'action off de votre lampe ou tout autre équipement. (pour ma part elles correspondent à 1733, 1734, etc (et non pas à la capture 5693).
Si vous n'avez pas de DNS Jeedom, vous pouvez utiliser l'adresse IP de votre jeedom qui est disponible sous les paramètres, en suivant la capture suivante :
En utilisant le DNS, ca sera de la forme :
Et en utilisant l'IP directement, ca sera sous la forme : (en remplaçant par l'IP de votre jeedom
On rend le script executable:
pi@octopi:~/.octoprint $ chmod +x Jeedom_ID.sh
Nous allons ensuite modifier le fichier de configuration d'OctoPrint qui contient la définition du menu de la façon suivante, on effectue une copie en cas de besoin au préalable :
pi@octopi:~/.octoprint $ cp -p config.yaml config.yaml_BKP
pi@octopi:~/.octoprint $ vi config.yaml
Modifier le fichier de la façon suivante en faisant appel au script et en passant l'ID des commandes Jeedom (1733, etc...).
Vous remarquerez que l'on demande une confirmation lors d'une extinction de prise (lampe ou imprimante), mais pas à l'allumage ces commandes n'étant pas critiques.
system:
actions:
- action: Lampe ON
command: sh /home/pi/.octoprint/Jeedom_ID.sh 1733
name: Lampe ON
- action: Lampe OFF
command: sh /home/pi/.octoprint/Jeedom_ID.sh 1734
confirm: Confirmer ?
name: Lampe OFF
- action: Imprimante ON
command: sh /home/pi/.octoprint/Jeedom_ID.sh 1025
name: Imprimante ON
- action: Imprimante OFF
command: sh /home/pi/.octoprint/Jeedom_ID.sh 1026
confirm: Confirmer ?
name: Imprimante OFF
Il suffira pour finir, de redémarrer le serveur Octoprint, possible via le menu web de octoprint > "Restart Octoprint".
Après redémarrage vous devriez vous les nouvelles options dans votre menu.
S'il vous manque des infos, n'hésitez pas à laisser un commentaire, merci !