Voilà Nabla,
J’ai repris l’article à cette adresse : https://www.kzenjoy.net/2016/personnaliser-louverture-des-volets-somfy-avec-jeedom-et-les-scripts/
Mon script est celui-ci après adaptation pour mon installation. J’ai aussi ajouté dans le script de base, le commentaire de ébouriffeur. J’ai modifier et enregistrer ce script dans Bloc-Note. Cela donne cela :
#!/bin/bash
#Usage :
#volets_jeedom -v VOLET -n NIVEAU
#VOLET = RF Volet Fenêtre - Cuisine, RF Volet Porte-Fenêtre - Cuisine, RF Volet Porte-Fenêtre - Salon
#NIVEAU = de 0 à 100%
Définition des variables
SERVER=« 192.168.1.220 »
CMD=« http://$SERVER/jeedom/core/api/jeeApi.php?apikey=ESjn5bHOCxIt46i9F3I1AOgL5v4k5xJZ&type=cmd&id= »
function help
{
echo « ######################################################################################################## »
echo « # volets_jeedom -v VOLET -n NIVEAU # »
echo « # # »
echo « # VOLET = RF Volet Fenêtre - Cuisine, RF Volet Porte-Fenêtre - Cuisine, RF Volet Porte-Fenêtre - Salon # »
echo « # NIVEAU = de 0 à 100% # »
echo « ######################################################################################################## »
}
On définit les options du script
while getopts :hp:n: option
do
case $option in§
h)
help;;
v)
VOLET=$OPTARG;;
n)
NIVEAU=$OPTARG;;
?)
echo « Il manque les options »
help;;

echo « Il n’y a pas d’argument »
help;;
esac
done
shift $((OPTIND-1))
Récupération des variables en fonction du volet choisi
Les ID sont à récupérer dans « Général/Résumé domotique » dans Jeedom
case $VOLET in
RF Volet Fenêtre - Cuisine)
TEMPS_CYCLE_VOLET=17 # Temps d’ouverture complet du volet
ID_Monter=122
ID_Descendre=123
ID_Stop=124;;
RF Volet Porte-Fenêtre - Cuisine)
TEMPS_CYCLE_VOLET=29 # Temps d’ouverture complet du volet
ID_Monter=118
ID_Descendre=119
ID_Stop=120;;
RF Volet Porte-fenêtre - Salon)
TEMPS_CYCLE_VOLET=20 # Temps d’ouverture complet du volet
ID_Monter=126
ID_Descendre=127
ID_Stop=128;;
esac
Exécution des commandes en fonction du niveau souhaitée
0% = fermé et 100% = ouvert
On regarde si le % souhaité est plus ou moins grand que 50. Cela évite, si on veut par exemple ouvrir le volet à 90% et
qu’il est déjà ouvert, de le fermer complètement pour le ré-ouvrir de 90%. On effectuera l’action dans l’autre sens, à savoir
le descendre de 10%.
On a rajouté deux bloc de commande en plus :
position de 0 à 1 , 2 à 50 , 51 à 98 , 99 à 100
ce qui donne si le temps de Montée est égal au temps de Descente :
if [[ « $NIVEAU » -ge 0 && « NIVEAU » -le 1 ]];
then
#On calcule le temps d’ouverture du volet pour le % souhaité
TEMPS_ATTENTE=$((($NIVEAU*$TEMPS_CYCLE_VOLET)/100))
On calcule le temps d’ouverture du volet
curl -s -i -H « Accept: application/json » « $CMD$ID_Descendre »
elif [[ « $NIVEAU » -ge 2 && « NIVEAU » -le 50 ]];
then
#On calcule le temps d’ouverture du volet pour le % souhaité
TEMPS_ATTENTE=$((($NIVEAU*$TEMPS_CYCLE_VOLET)/100))
On calcule le temps d’ouverture du volet
curl -s -i -H « Accept: application/json » « $CMD$ID_Descendre »
sleep $TEMPS_CYCLE_VOLET
curl -s -i -H « Accept: application/json » « $CMD$ID_Monter »
sleep $TEMPS_ATTENTE
curl -s -i -H « Accept: application/json » « $CMD$ID_Stop »
elif [[ « $NIVEAU » -ge 51 && « NIVEAU » -le 98 ]];
then
TEMPS_ATTENTE=$(($TEMPS_CYCLE_VOLET-(($NIVEAU*$TEMPS_CYCLE_VOLET)/100)))
curl -s -i -H « Accept: application/json » « $CMD$ID_Monter »
sleep $TEMPS_CYCLE_VOLET
curl -s -i -H « Accept: application/json » « $CMD$ID_Descendre »
sleep $TEMPS_ATTENTE
curl -s -i -H « Accept: application/json » « $CMD$ID_Stop »
elif [[ « $NIVEAU » -ge 99 && « NIVEAU » -le 100 ]];
then
TEMPS_ATTENTE=$(($TEMPS_CYCLE_VOLET-(($NIVEAU*$TEMPS_CYCLE_VOLET)/100)))
curl -s -i -H « Accept: application/json » « $CMD$ID_Monter »
fi
Ensuite, j’ai voulu suivre la méthode donnée dans l’article mais je me heurte à des retours comme : impossible de créer le fichier ou aucun fichier ou dossier de ce type …
Par contre, j’ai des doute que la mise à jour de Rasbian ce soit faite correctement lors de son installation ? Je viens de la refaire mais tout semble normal…
Merci pour ton aide. Je reviens vers toi après 16h00.
A bientôt.
Patrice