Устройство Nest Thermostat отобразит на экране, «охлаждает» или «нагревает». Как мне получить это состояние через Nest API?
Свойство hvac_mode
, кажется, просто показывает, чем может управлять пользовательский термостат, и не изменяется при охлаждении или нагревании.
На данный момент я использую простую, но небезупречную логику:
if (can_cool && target_temperature < ambient_temperature) --> isCooling
if (can_heat && target_temperature > ambient_temperature) --> isHeating
else --> isDoingNothing
Под «не безупречным» я подразумеваю, что я сталкивался с ситуациями, когда эта логика неверна. Например, в данной ситуации, когда ambient_temperature
равно 20 Celsius
, а target_temperature
равно 21 Celsius
с can_heat
, установленным на true
, мой пользовательский интерфейс скажет, что термостат нагревается, хотя на самом деле это не так.
Вероятно, это связано с тем, что целевая температура и температура окружающей среды слишком близки, но я не знаю, каков порог.
Есть ли другой или лучший способ определить состояния нагрева и охлаждения?