Klicken Sie in Python auf die Sesami-API

Was ich getan habe

Steuern Sie Ihr Home Smart Lock (Sesami) über die Raspeltorte.

Referenz

Sesame API Version 3 Tutorial

Schöpfungsteil

Verwenden Sie ein eindeutiges Token.

[STEP1] Holen Sie sich die Geräte-ID

python


#Rufen Sie Geräteinformationen mit str ab, indem Sie den Schlüssel angeben
# 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]

[SCHRITT2] Entriegeln oder sperren Sie den Schlüssel

Beachten Sie, dass sich die URL geringfügig von STEP1 unterscheidet. STEP1:https://api.candyhouse.co/public/sesames STEP2:https://api.candyhouse.co/public/sesame

#Entsperren, wenn der Schlüsselstatus gesperrt ist,entsperren, wenn entsperren
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"]

[SCHRITT 3] Überprüfen Sie, ob der Befehl normal ausgeführt wurde

python


# task_Geben Sie die ID an und geben Sie das Ausführungsergebnis als Booleschen Wert zurück
def check_task_state(task_id):
    url = "https://api.candyhouse.co/public/action-result?"
    headers = {"Authorization": token}

    # task_Tun Sie nichts, wenn die ID leer ist
    if task_id is None:
        return

    r = requests.get(url + "task_id=" + task_id, headers=headers)
    json_data = r.json()

    #Status abgeschlossen(terminated)Warte bis
    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:
        #Gibt den Status des Ausführungsergebnisses als boolesch zurück
        return json_data["successful"]

Recommended Posts

Klicken Sie in Python auf die Sesami-API
Klicken Sie auf die Web-API in Python
Hit Mastodons API in Python
Klicken Sie in Python auf die Firebase Dynamic Links API
Abrufen der arXiv-API in Python
[Python] Klicken Sie auf die Google Übersetzungs-API
Klicken Sie mit Python auf die Etherpad-Lite-API
Greifen Sie mit Python auf die Twitter-API zu
Versuchen Sie es mit der Wunderlist-API in Python
Versuchen Sie, die Kraken-API mit Python zu verwenden
Tweet mit der Twitter-API in Python
Evernote-API in Python
C-API in Python 3
Eine einfache Möglichkeit, die Amazon-Produkt-API in Python aufzurufen
Klicken Sie in Python auf die New Relic-API, um den Status des Servers abzurufen
Versuchen Sie es mit der BitFlyer Ligntning API in Python
Tipps zum Erreichen der ATND-API mit Python
Versuchen Sie, die DropBox Core-API mit Python zu verwenden
Blender Python API in Houdini (Python 3)
Rufen Sie die API mit python3 auf.
Grundeinstellungen bei Verwendung der foursquare-API mit Python
PHP- und Python-Beispiele, die die ChatWork-API treffen
Verwenden Sie die Such-API der National Parliament Library in Python
Drücken Sie einen Befehl in Python (Windows)
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
Python im Browser: Brythons Empfehlung
Speichern Sie die Binärdatei in Python
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Skriptpfad in Python
Im Python-Befehl zeigt Python auf Python3.8
Implementieren Sie das Singleton-Muster in Python
Erstellen Sie Google Mail in Python ohne Verwendung der API
Verwenden Sie die Flickr-API von Python
Ich habe die Warteschlange in Python geschrieben
Berechnen Sie den Vormonat in Python
Untersuchen Sie die Klasse eines Objekts mit Python
Holen Sie sich den Desktop-Pfad in Python
Implementieren Sie die REST-API schnell in Python
Holen Sie sich den Hostnamen in Python
Der erste Schritt von Python Matplotlib
Ich habe den Stack in Python geschrieben
Beherrsche das schwache Ref-Modul in Python
Python-Anfänger nutzen die inoffizielle API von Google Play Music, um Musik abzuspielen
Spielen Sie, indem Sie die Riot Games-API in Python First Half drücken
Lernen Sie das Entwurfsmuster "Prototype" mit Python
Lernen Sie das Entwurfsmuster "Builder" mit Python
Mausbedienung mit Windows-API in Python
Laden Sie das Remote-Python-SDK mit IntelliJ
Überprüfen Sie das Verhalten des Zerstörers in Python
Lernen Sie das Entwurfsmuster "Observer" in Python
Lernen Sie das Entwurfsmuster "Proxy" in Python
Schreiben Sie den Test in die Python-Dokumentzeichenfolge
Lernen Sie das Entwurfsmuster "Befehl" in Python
Nehmen Sie die logische Summe von List in Python (Zip-Funktion)
[FX] Hit oanda-API mit Python mit Docker
Zeigen Sie Python 3 im Browser mit MAMP an
Lernen Sie das Entwurfsmuster "Besucher" mit Python
Holen Sie sich Google Fit API-Daten in Python