API термостата NEST

Я пытаюсь разработать приложение для iOS, используя недавно опубликованный API NEST, но немного потерялся с их собственной документацией.

Вопрос: мне удалось получить токен доступа, но я не знаю конечную точку термостата для запроса и обновления состояния «Нет на месте»

Будем очень признательны за любые указатели.


person user3777689    schedule 28.06.2014    source источник
comment
Этот ответ должен охватывать вас   -  person thesimm    schedule 28.06.2014


Ответы (1)


Я предполагаю, что вы собираетесь использовать REST для запроса и обновления состояния отсутствия, поскольку вы упомянули конечную точку? Если нет, другой альтернативой является использование API Firebase. Это описано в вводном разделе.

Чтобы получить статус отсутствия, вам нужно запросить структуру / ы

curl -v -L https://developer-api.nest.com/structures?auth=<AUTH_TOKEN>

Ответ показывает состояние отсутствия в дополнение к термостатам / дымовой пожарной сигнализации в этой структуре.

{
    "g-9y-2xkHpBh1MGkVaqXOGJiKOB9MkoW1hhYyQk2vAunCK8a731jbg": {
        "away": "home",
        "country_code": "US",
        "name": "Home",
        "smoke_co_alarms": [
            "0NBM7-QfoLwhMldZ2CoIkQ7hRJoe1Jye"
        ],
        "structure_id": "g-9y-2xkHpBh1MGkVaqXOGJiKOB9MkoW1hhYyQk2vAunCK8a731jbg",
        "thermostats": [
            "GM6Z9JpSKU6_ua8AfD6WRA"
        ],
        "time_zone": "America/Los_Angeles"
    }
}

Чтобы обновить состояние отсутствия, вам нужно будет использовать команду PUT http:

curl -v -L -X PUT "https://developer-api.nest.com/structures/g-9y-2xkHpBh1MGkVaqXOGJiKOB9MkoW1hhYyQk2vAunCK8a731jbg?auth=<AUTH_TOKEN>" -H "Content-Type: application/json" -d '{"away":"away"}'

Обратите внимание, что идентификатор, используемый в параметре пути, является идентификатором структуры, возвращаемым в ответе на получение.

Надеюсь, это поможет Нагешу

person Nagesh Susarla    schedule 30.06.2014
comment
Нагеш, спасибо .. я застрял с проблемами oAuth, прежде чем я смогу протестировать ваш подход ... любые указатели на oAuth будут оценены - person user3777689; 10.07.2014
comment
Какая у вас проблема с oauth? На странице developer.nest.com/clients вы должны увидеть URL-адреса, необходимые для выполнения oauth. Обратите внимание, что POST требуется для получения access_token на api.home.nest.com/oauth2/access_token - person Nagesh Susarla; 10.07.2014
comment
Нагеш..как мне получить g-9y-2xkHpBh1MGkVaqXOGJiKOB9MkoW1hhYyQk2vAunCK8a731jbg .. из возвращенного json .. я считаю его динамическим - person user3777689; 12.07.2014
comment
Если вы напрямую подключаетесь к developer-api.nest.com с параметром auth, вам следует получить объект JSON, содержащий структуры и устройства. Отсюда объект структур просто содержит карту объектов String = ›StructureInfo. В java это будет определено как структуры Map ‹String, StructureInfo›. Отсюда вы получаете структуру с именем, которое соответствует вашим требованиям, и используете этот structure_id для отправки запроса PUT. Суть, чтобы показать вам пример java: gist.github.com/nageshs/178239fd37016bdceede - person Nagesh Susarla; 13.07.2014