Je suis entrain de domotiser un établissement scolaire. La première étape consiste à installer un raspberry et un relais qui à l'aide de Domoticz commandera les sonneries (on verra pour l'éclairage et le chauffage plus tard...mais ça viendra).
Cependant, dans le cahier des charges, il faut que l'on puisse désactiver les sonneries au moyen d'un bouton poussoir. J'ai donc pensé écrire un script en python qui vérifie l'état de Domoticz. S'il est allumé (au moment de l'appui sur le bouton), le script l'éteint et inversement. Ma question est double :
- 1-Est-ce que cette solution vous parait judicieuse ?
- 2-Si oui, comment arriver à récupérer l'état du service ? (j'ai écrit un petit script indépendant de domoticz mais j'ai du mal à récupérer l'état du service)
Code : Tout sélectionner
from gpiozero import Button
import RPi.GPIO as GPIO
import os
import time
GPIO.setwarnings(False) #desactive le mode warning
GPIO.setmode(GPIO.BCM)
GPIO.setup(16, GPIO.OUT) #on definit le GPIO.16 en sortie pour la led
button = Button(26)
GPIO.output(16, True) #on allume par defaut la led
while True:
button.wait_for_press()
resultat = os.system('service domoticz status | grep "Active:" | cut -d ":" -f2 | cut -d " " -f2')
if resultat == "active":
print"arret de domoticz"
os.system('sudo service domoticz stop') #arret de domoticz
GPIO.output(16, False) #extinction de la led
else:
print "demarrage de domoticz"
os.system('sudo service domoticz start') #demarrage de domoticz
GPIO.output(16, True) #allumage de la led
time.sleep(1)
Merci pour votre aide précieuse.