Comme il n'y a rien à la TV ce soir
J'ai ajouté les états à Domoticz.
Donc, il faut créer 5 dispositifs sous Domoticz, je ne fais pas d'explication dessus.
Chez moi, j'ai créé 5 interrupteurs (On/Off), je vais voir plus tard si je change ou pas.
Alarme Somfy Boitier
Alarme Somfy Etat
Alarme Somfy Piles
Alarme Somfy Porte
Alarme Somfy Radio
Il faudra mettre les IDX dans le script au début, je laisse un peu de script avant et après pour retrouver dans le script plus haut.
Code : Tout sélectionner
declare -A CarteAuthentification
AlarmeSomfyPilesIDX=xxx
AlarmeSomfyBoitierIDX=xxx
AlarmeSomfyRadioIDX=xxx
AlarmeSomfyEtatIDX=xxx
AlarmeSomfyPorteIDX=xxx
Debug=False
Ensuite, il faut donner l'adresse IP et Port du serveur Domoticz
Code : Tout sélectionner
# Adresse IP du serveur Somfy
SrvSomfyIp="http://192.168.0.xxx/"
SrvDomoticzIp="192.168.0.xxx:xxxx"
# Code Utilisateur1
CodeUtilisateur1=xxxx
Pour finir, dans le script, il faut mettre le code suivant
Code : Tout sélectionner
# Affichage des etats
echo "Etat Porte = "$EtatPorte
echo "Etat Piles = "$EtatPiles
echo "Etat Communication Radio = "$EtatRadio
echo "Etat Alarme = "$EtatAlarme
echo "Etat Boitier = "$EtatBoitier
# Envoi des etats a Domoticz
# Etat des piles
if [ "$Debug" = "True" ]; then
if [ "$EtatPiles" = "Piles OK" ]; then
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyPilesIDX&switchcmd=On"
else
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyPilesIDX&switchcmd=Off"
fi
else
if [ "$EtatPiles" = "Piles OK" ]; then
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyPilesIDX&switchcmd=On" > /dev/null
else
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyPilesIDX&switchcmd=Off" > /dev/null
fi
fi
# Etat Boitier
if [ "$Debug" = "True" ]; then
if [ "$EtatBoitier" = "Boîtier OK" ]; then
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyBoitierIDX&switchcmd=On"
else
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyBoitierIDX&switchcmd=Off"
fi
else
if [ "$EtatBoitier" = "Boîtier OK" ]; then
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyBoitierIDX&switchcmd=On" > /dev/null
else
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyBoitierIDX&switchcmd=Off" > /dev/null
fi
fi
# Etat Communication Radio
if [ "$Debug" = "True" ]; then
if [ "$EtatRadio" = "Communication radio OK" ]; then
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyRadioIDX&switchcmd=On"
else
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyRadioIDX&switchcmd=Off"
fi
else
if [ "$EtatRadio" = "Communication radio OK" ]; then
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyRadioIDX&switchcmd=On" > /dev/null
else
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyRadioIDX&switchcmd=Off" > /dev/null
fi
fi
# Etat Alarme Somfy
if [ "$Debug" = "True" ]; then
if [ "$EtatAlarme" = "Pas d'alarme" ]; then
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyEtatIDX&switchcmd=Off"
else
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyEtatIDX&switchcmd=On"
fi
else
if [ "$EtatAlarme" = "Pas d'alarme" ]; then
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyEtatIDX&switchcmd=Off" > /dev/null
else
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyEtatIDX&switchcmd=On" > /dev/null
fi
fi
# Etat Porte
if [ "$Debug" = "True" ]; then
if [ "$EtatPorte" = "Porte ou fenêtre fermée" ]; then
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyPorteIDX&switchcmd=Off"
else
curl "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyPorteIDX&switchcmd=On"
fi
else
if [ "$EtatPorte" = "Porte ou fenêtre fermée" ]; then
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyPorteIDX&switchcmd=Off" > /dev/null
else
curl -s "http://$SrvDomoticzIp/json.htm?type=command¶m=switchlight&idx=$AlarmeSomfyPorteIDX&switchcmd=On" > /dev/null
fi
fi
# Logout du site Somfy
if [ "$Debug" = "True" ]; then
echo ""
curl -L --cookie cjar --cookie-jar cjar $UrlMLogout | iconv -f iso8859-1 -t utf-8
echo ""
else
echo ""
curl -s -L --cookie cjar --cookie-jar cjar $UrlMLogout | iconv -f iso8859-1 -t utf-8 > /dev/null
echo ""
fi
fi
Voilà pour aujourd'hui, c'est pas mal non
Chez moi, cela fonctionne parfaitement... Putain depuis le temps que je voulais le mettre en place ce truc !!!
Il faut aussi ajouter le script dans la CronTab pour le lancer toutes les 10mn par exemple.
Code : Tout sélectionner
crontab -e (pour editer)
*/10 * * * * sudo /home/pi/domoticz/scripts/shell/EtatSomfy.sh -v
Prochaine version, je vais activer/desactiver l'alarme et je vais commencer à faire la liste des éléments afin de savoir quel élément à un problème.
Exemple, si j'ai porte ouverte, aujourd'hui je ne sais pas qu'elle porte ou fenêtre qui est ouverte, avec la liste des éléments je pourrai le savoir.
Allez dite moi si cela fonctionne chez vous aussi...