Contrôlez votre serrure intelligente domestique (Sesami) à partir de la tarte à la râpe.
Tutoriel de l'API Sesame version 3
Utilisez un jeton unique.
python
#Obtenir des informations sur l'appareil avec str en spécifiant la clé
# args: device_id, serial, nickname
def get_device_info(key):
url = "https://api.candyhouse.co/public/sesames"
headers = {"Authorization": token}
r = requests.get(url, headers=headers)
json_data = r.json()
return json_data[0][key]
Notez que l'URL est légèrement différente de STEP1. STEP1:https://api.candyhouse.co/public/sesames STEP2:https://api.candyhouse.co/public/sesame
#Déverrouiller si l'état de la clé est verrouillé,déverrouiller si déverrouiller
def toggle_device_key(device_id):
url = "https://api.candyhouse.co/public/sesame/" + device_id
headers = {"Authorization": token}
if key_is_locked(device_id) is True: # locked
r = requests.post(url, headers=headers, data='{"command":"unlock"}')
elif key_is_locked(device_id) is False: # unlocked
r = requests.post(url, headers=headers, data='{"command":"lock"}')
else:
print("error! toggle_device_key")
return
json_data = r.json()
return json_data["task_id"]
python
# task_Spécifiez l'id et renvoyez le résultat de l'exécution comme booléen
def check_task_state(task_id):
url = "https://api.candyhouse.co/public/action-result?"
headers = {"Authorization": token}
# task_Ne rien faire si l'identifiant est vide
if task_id is None:
return
r = requests.get(url + "task_id=" + task_id, headers=headers)
json_data = r.json()
#statut terminé(terminated)Attendre jusqu'à
while json_data["status"] != "terminated":
# wait
time.sleep(3)
# retry
r = requests.get(url + "task_id=" + task_id, headers=headers)
json_data = r.json()
else:
#Renvoie le statut du résultat de l'exécution comme booléen
return json_data["successful"]