Как установить температуру, используя простой REST, а не Firebase API

Я не смог найти никакой информации о том, как установить целевую температуру или установить режим «Вне дома». Кто-нибудь успешно заставил его работать?

https://developer-api.nest.com/devices.json?auth=asdasdasd

^ Предоставляет информацию, но как изменить температуру или режим отсутствия??


person Mahes    schedule 27.06.2014    source источник


Ответы (1)


Сохраните аутентификацию в строке запроса и поместите изменение в формате JSON в соответствующую конечную точку. например (PHP):

Чтобы установить целевую температуру:

$ch = curl_init("https://developer-api.nest.com/devices/thermostats/$THERMOSTAT_ID?auth=$AUTH");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"target_temperature_c": 21.5}');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($ch);

Чтобы установить режим «Нет дома»:

$ch = curl_init("https://developer-api.nest.com/structures/$STRUCTURE_ID?auth=$AUTH");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"away":"away"}');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($ch);
person thesimm    schedule 28.06.2014
comment
Я думаю, то, что у вас есть, показывает, как изменить состояние отсутствия, где $ID — это framework_id. Если вы хотите изменить температуру, вам действительно нужно изменить URI на developer-api.nest.com/devices/thermostats/$ID с json, равным target_temperature_c или target_temperature_f. - person Nagesh Susarla; 30.06.2014