récupérer l’état d'un switch en script python
Publié : 17 oct. 2015, 08:57
bonjour voici mon souci,
je vais d’abord parler de ma configuration, j'ai une rpi b+ et une piface sur le quelle tourne domoticz et yana ( domotique vocal ). tous les produits fonctionne très bien séparément.
pour des questions de réactivées avec mes interrupteurs j'ai du faire un script en python qui commande l’éclairage de ma cuisine. c'est donc un script qui ne préoccupe pas de domoticz pour le moment.
voici donc mon probleme :
-j'allume la lampe avec mon interrupteur irl : le script bascule l'output a 1
-je sors de ma cuisine et je m'installe a mon bureau et je veux éteindre ma lampe.
-ou je vais sur l'interface domoticz et je commande l'extinction de ma lampe ou je sors mon smartphone et je demande a yana d’éteindre la lampe dans la cuisine
-la lampe dans la cuisine change d’état.
ET C EST LA QUE MON PROBLÈME INTERVIENT.
en effet mon script ( télérupteur.py) ne sais pas que j'ai éteint la lampe donc si je veux retourner dans la cuisine, j'actionne l’interrupteur et la le script qui pensait la lampe encore allumée tente d’éteindre la lampe, je suis donc dans la cuisine et dans le noir, je dois faire une deuxième action sur mon interrupteur pour rallumé la lampe.
MA QUESTION :
est t'il possible que je connaisse l’état du switch domoticz dans mon script python afin qu'il connaisse l"état de l'output qui commande la lampe.
VOICI LE CODE TELERUPTEUR.py
dans le script je pilote la sortie mais je signale quand même a domoticz sont changement d’état.
si vous avez des idées parce que la je sèche j'ai explorer la fait de pouvoir récupéré l’état d'une sortie dans le script mais dans la bibliothèque pifacedigitalio je ne trouve rien a ce sujet. je m'oriente donc vers la recuperation de l’état du switch dans domoticz
je vais d’abord parler de ma configuration, j'ai une rpi b+ et une piface sur le quelle tourne domoticz et yana ( domotique vocal ). tous les produits fonctionne très bien séparément.
pour des questions de réactivées avec mes interrupteurs j'ai du faire un script en python qui commande l’éclairage de ma cuisine. c'est donc un script qui ne préoccupe pas de domoticz pour le moment.
voici donc mon probleme :
-j'allume la lampe avec mon interrupteur irl : le script bascule l'output a 1
-je sors de ma cuisine et je m'installe a mon bureau et je veux éteindre ma lampe.
-ou je vais sur l'interface domoticz et je commande l'extinction de ma lampe ou je sors mon smartphone et je demande a yana d’éteindre la lampe dans la cuisine
-la lampe dans la cuisine change d’état.
ET C EST LA QUE MON PROBLÈME INTERVIENT.
en effet mon script ( télérupteur.py) ne sais pas que j'ai éteint la lampe donc si je veux retourner dans la cuisine, j'actionne l’interrupteur et la le script qui pensait la lampe encore allumée tente d’éteindre la lampe, je suis donc dans la cuisine et dans le noir, je dois faire une deuxième action sur mon interrupteur pour rallumé la lampe.
MA QUESTION :
est t'il possible que je connaisse l’état du switch domoticz dans mon script python afin qu'il connaisse l"état de l'output qui commande la lampe.
VOICI LE CODE TELERUPTEUR.py
Code : Tout sélectionner
# Relais desactivé
etatRelais = False
# Dernier etat connu de l'entrée
dernierEtatEntree = 0
while( True ):
time.sleep(0.05)
# Lecture de l'etat de l'entrée
etatEntree = pfio.digital_read( 0 )
# Si Etat entrée change
if( etatEntree != dernierEtatEntree ):
# agir seulement quand relâche le bouton
if( etatEntree == 0 ):
# Changer l etat logique du relais
etatRelais = not etatRelais
# Appliquer l'etat au relais
if( etatRelais == True ):
pfio.digital_write( 5, 0 )
urllib.request.urlopen("http://127.0.0.1:8080/json.htm?type=command¶m=switchlight&idx=11&switchcmd=On&level=0")
else:
pfio.digital_write( 5, 1 )
urllib.request.urlopen("http://127.0.0.1:8080/json.htm?type=command¶m=switchlight&idx=11&switchcmd=Off&level=0")
# Se souvenir de l etat de l'entrée
dernierEtatEntree = pfio.digital_read(0)
si vous avez des idées parce que la je sèche j'ai explorer la fait de pouvoir récupéré l’état d'une sortie dans le script mais dans la bibliothèque pifacedigitalio je ne trouve rien a ce sujet. je m'oriente donc vers la recuperation de l’état du switch dans domoticz