Frappez l'API Sesami en Python

Ce que j'ai fait

Contrôlez votre serrure intelligente domestique (Sesami) à partir de la tarte à la râpe.

référence

Tutoriel de l'API Sesame version 3

Partie création

Utilisez un jeton unique.

[STEP1] Obtenez device_id

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]

[ÉTAPE2] Déverrouillez ou verrouillez la clé

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"]

[ÉTAPE3] Vérifiez si la commande a été exécutée normalement

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"]

Recommended Posts

Frappez l'API Sesami en Python
Accédez à l'API Web en Python
Hit API de Mastodon en Python
Accédez à l'API Firebase Dynamic Links en Python
Obtenir l'API arXiv en Python
[Python] Accédez à l'API Google Translation
Accédez à l'API Etherpad-lite avec Python
Accéder à l'API Twitter avec Python
Essayez d'utiliser l'API Wunderlist en Python
Essayez d'utiliser l'API Kraken avec Python
Tweet à l'aide de l'API Twitter en Python
API Evernote en Python
API C en Python 3
Un moyen simple d'accéder à l'API produit Amazon en Python
Accédez à l'API New Relic en Python pour obtenir l'état du serveur
Essayez d'utiliser l'API BitFlyer Ligntning en Python
Conseils pour accéder à l'API ATND avec Python
Essayez d'utiliser l'API DropBox Core avec Python
API Blender Python dans Houdini (Python 3)
Appelez l'API avec python3.
Paramètres initiaux lors de l'utilisation de l'API foursquare avec python
Exemples PHP et Python qui ont atteint l'API ChatWork
Utiliser l'API de recherche de la Bibliothèque du Parlement national en Python
Appuyez sur une commande en Python (Windows)
Obtenez votre fréquence cardiaque à partir de l'API fitbit en Python!
Python dans le navigateur: la recommandation de Brython
Enregistrez le fichier binaire en Python
Obtenez le chemin du bureau en Python
Obtenez le chemin du script en Python
Dans la commande python, python pointe vers python3.8
Implémenter le modèle Singleton en Python
Créez Gmail en Python sans utiliser l'API
Utilisez l'API Flickr de Python
J'ai écrit la file d'attente en Python
Calculer le mois précédent en Python
Examiner la classe d'un objet avec python
Obtenez le chemin du bureau en Python
Implémentez rapidement l'API REST en Python
Obtenez le nom d'hôte en Python
La première étape de Python Matplotlib
J'ai écrit la pile en Python
Maîtriser le module lowref en Python
Les débutants en Python utilisent l'API non officielle de Google Play Music pour jouer de la musique
Jouez en accédant à l'API Riot Games en Python Première moitié
Apprenez le modèle de conception "Prototype" avec Python
Apprenez le modèle de conception "Builder" avec Python
Fonctionnement de la souris à l'aide de l'API Windows en Python
Charger le SDK Python distant avec IntelliJ
Vérifiez le comportement du destroyer en Python
Apprenez le modèle de conception "Observer" en Python
Apprenez le modèle de conception "Proxy" en Python
Ecrire le test dans la docstring python
Apprenez le modèle de conception "Commande" en Python
Prenez la somme logique de List en Python (fonction zip)
[FX] Hit oanda-API avec Python en utilisant Docker
Afficher Python 3 dans le navigateur avec MAMP
Apprenez le modèle de conception "Visiteur" avec Python
Obtenez les données de l'API Google Fit en Python