Je poste ici un script python qui récupère une variable Domoticz et l'envoie par SMS via l'api de chez Free
Si votre opérateur n'est pas Free il faudra adapter le script suivant les spécifications.
Ce module nécessite la présente du module requests python (sudo pip install requests)
Plusieurs paramètres sont nécessaires , regardez le code du script il est assez explicite pour comprendre les valeurs a renseigner dans la partie haute
Un mode debug est prévu qui affiche les valeurs que l'on manipule dans ce script , passez à 1 pour voir puis à 0 quand ca marche
Copiez ce script, faites un chmod +x pour le rendre executable, lancez le par un ./lenomduscript
Lorsque cela fonctionne placez le dans un crontab, liez le à un switch domoticz ou comme bon vous semble
Pour que ce script fonctionne il faut l'IDX de la variable Domoticz
Pour l'obtenir un http://IP:port/json.htm?type=command¶m=getuservariables affiche la liste de toutes les variables, trouvez la votre et l'idx associé que vous configurerez dans le script python à la ligne idx=???
Je poste le script ici
Code : Tout sélectionner
#!/usr/bin/python
# -*- coding: utf-8 -*-
# il faut le module requests
# sudo pip install requests
# on retire une varaible avec son idx
#et on envoie un sms via https de chez free
import os
import requests
############# Parametres #################################
#debug = 1 on affiche les chaines de caracteres recues
debug=1
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# les parametres de Domoticz
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
domoticz_ip='192.168.1.81'
domoticz_port='8080'
# l'idx de la variable
# a recuperer avec un
# http://IP:port/json.htm?type=command¶m=getuservariables
# on trouve ainsi l'idx de la variable à utiliser ici
idx="3"
# les user et pass de free
free_user="xxxxxx"
free_pass="yyyyyyyyy"
# fin du parametrage #
############### fin des parametres #############################
#le terme a rechercher dans le resultat JSON
terme="Value"
# l URL Domoticz pour recuperer la variable
json_url1='/json.htm?type=command¶m=getuservariable&idx='
url_free1='curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?user='
url_free2="&pass="
url_free3="&msg=ma variable : "
#curl -s -i -k "https://smsapi.free-mobile.fr/sendmsg?user=xxxxx&pass=yyyyyyyyy&msg=$var !!"
requete='http://'+domoticz_ip+':'+domoticz_port+json_url1+idx
r=requests.get (requete).json()
valeur=str(r['result'][0][terme])
url_free=url_free1+free_user+url_free2+free_pass+url_free3+valeur+"\""
result=os.system(url_free)
#print valeur
# main #
if debug!=0:
print "_______________________"
print ("Requete : ",requete)
print ("Valeur trouvee : ",valeur)
print ("url_free",url_free)
print ("resultat sms",result)
print "_______________________"