Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Script Jeedom volet

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
scoobidou
Timide
Messages : 23
Inscription : 07 août 2016, 07:53

Script Jeedom volet

Message par scoobidou » 22 mai 2019, 10:45

Bonjour,
j'utilise le script de Arnaud pour gérer l'ouverture de mes volets Somfy.
Celui marchait très bien mais depuis hier il me renvoie l'erreur suivante à chaque commande :

Erreur exécution de la commande [Bureau][Poucentage volet Bureau][50] : Erreur dans l'exécution du terminal, la valeur retournée est : 7. Détails :

vu que je n'utilise ce script que lorsque les périodes chaudes commencent je ne sais pas depuis quand il ne marche plus et si cela provient de mises à jour du plugin script.

j'ai essayé de lancer le script en ligne de commande dans un terminal et le résultat est le même.
Si d'autres personnes utilise ce même script gentiment proposé par Arnaud, est-ce que vous avez les mêmes soucis ?
Ce script a fonctionné à merveille jusqu'a maintenant.
voici le script en question :

#!/bin/bash

#Usage :
#volets_jeedom -p PIECE -n NIVEAU
#PIECE = bureau, salon, cuisine, chambre
#NIVEAU = de 0 à 100%

# Définition des variables
SERVER="192.168.0.42"


function help
{
echo "#####################################################"
echo "# volets_jeedom -p PIECE -n NIVEAU #"
echo "# #"
echo "# PIECE = bureau, manon, cuisine, parents #"
echo "# NIVEAU = de 0 à 100% #"
echo "#####################################################"
}

# On définit les options du script
while getopts :hp:n: option
do
case $option in
h)
help;;

p)
PIECE=$OPTARG;;

n)
NIVEAU=$OPTARG;;

\?)
echo "Il manque les options"
help;;

:)
echo "Il n'y a pas d'argument"
help;;
esac
done

shift $((OPTIND-1))

# Recupetation des variables en fonction de la pièce choisie
# Les ID sont à récupérer dans "Général/Résumé domotique" dans Jeedom
case $PIECE in
manon)
TEMPS_CYCLE_VOLET=29 # Temps d'ouverture complet du volet
TEMPS_CYCLE_VOLET_FERM=19
ID_OUVRIR=548
ID_FERMER=550
ID_STOP=551;;

cuisine)
TEMPS_CYCLE_VOLET=29
TEMPS_CYCLE_VOLET_FERM=19
ID_OUVRIR=538
ID_FERMER=539
ID_STOP=540;;

bureau)
TEMPS_CYCLE_VOLET=29
TEMPS_CYCLE_VOLET_FERM=19
ID_OUVRIR=524
ID_FERMER=535
ID_STOP=536;;

parents)
TEMPS_CYCLE_VOLET=29
TEMPS_CYCLE_VOLET_FERM=19
ID_OUVRIR=563
ID_FERMER=565
ID_STOP=566;;
esac

# Exécution des commandes en fonction du niveau souhaitée
# 0% = fermer 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 completement pour le réouvrir de 90%. On effectuera l'action dans l'autre sens, à savoir
# le descendre de 10%.

if [[ "$NIVEAU" -ge 0 && "NIVEAU" -le 50 ]];
then
#On calcule le temps d'ouverture du volet pour le % souhaité
TEMPS_ATTENTE=$((($NIVEAU*$TEMPS_CYCLE_VOLET)/100)) # On calcul le temps d'ouverture du volet
curl -s -i -H "Accept: application/json" "$CMD$ID_FERMER"
sleep $TEMPS_CYCLE_VOLET
curl -s -i -H "Accept: application/json" "$CMD$ID_OUVRIR"
sleep $TEMPS_ATTENTE
curl -s -i -H "Accept: application/json" "$CMD$ID_STOP"
elif [[ "$NIVEAU" -ge 51 && "NIVEAU" -le 100 ]];
then
TEMPS_ATTENTE=$(($TEMPS_CYCLE_VOLET_FERM-(($NIVEAU*$TEMPS_CYCLE_VOLET_FERM)/100)))
curl -s -i -H "Accept: application/json" "$CMD$ID_OUVRIR"
sleep $TEMPS_CYCLE_VOLET
curl -s -i -H "Accept: application/json" "$CMD$ID_FERMER"
sleep $TEMPS_ATTENTE
curl -s -i -H "Accept: application/json" "$CMD$ID_STOP"
fi


merci beaucoup pour votre aide.
Bonne journée
Dernière édition par scoobidou le 22 mai 2019, 19:21, édité 1 fois.

scoobidou
Timide
Messages : 23
Inscription : 07 août 2016, 07:53

Re: Script Jeedom volet

Message par scoobidou » 22 mai 2019, 18:37

Bonsoir à tous,
je me réponds à moi même mais peut être que cela pourra servir à quelqu'un.
Il y a quelques temps j'ai changer de boxe Internet et j'ai du changer l'adresse IP de mon serveur jeedom de 192.168.0.x en 192.168.1.x
le problème c'est que j'avais complètement oublié que dans le script il y a aussi l'adresse IP du serveur jeedom.
Voilà le problème est réglé et le script marche toujours aussi bien.
Bonne soirée

Avatar de l’utilisateur
Poumi
Actif
Messages : 660
Inscription : 21 mars 2019, 22:41

Re: Script Jeedom volet

Message par Poumi » 22 mai 2019, 18:49

Si le script tourne en local, pourquoi ne pas mettre 127.0.0.1 ?

Ça t’evitera de le reoublier la prochaine fois...

scoobidou
Timide
Messages : 23
Inscription : 07 août 2016, 07:53

Re: Script Jeedom volet

Message par scoobidou » 22 mai 2019, 19:15

c'est pas faux.
c'est ce que je vais faire.
Merci beaucoup

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité