# -*- coding: utf-8 -*- #!/usr/bin/python import RPi.GPIO as GPIO import time import urllib import json import requests from requests.auth import HTTPBasicAuth GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(20, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(21, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(26, GPIO.IN) GPIO.setup(19, GPIO.IN) GPIO.setup(13, GPIO.IN) GPIO.setup(6, GPIO.IN) GPIO.setup(5, GPIO.IN) # retard au démarrage de la sirène extérieure de 20 secondes time.sleep(20) # La séquence de la sirène est 3 passages de 20 secondes y=0 j=0 while y<3: y+=1 while j<10: url= 'http://127.0.0.1:8080/json.htm?type=devices&rid=171' r=requests.get(url) status=r.status_code if status == 200: # l'API renvoie 200 si tout est OK getinfos=r.json() for i, v in enumerate(getinfos["result"]): #Récupération données du switch State= getinfos["result"][i]["Status"] if State=="On": GPIO.output(21, GPIO.HIGH) time.sleep(2) else: GPIO.output(21, GPIO.LOW) j+=1 GPIO.output(21, GPIO.LOW) j=0 time.sleep(10)