Имеет ли NEST API индикацию текущего состояния нагрева/охлаждения/ожидания?

Есть ли способ узнать, находится ли система в настоящее время в режиме обогрева/охлаждения/ожидания? Другими словами: какого цвета дисплей термостата? (красный/синий/черный)?

Я не мог видеть значение для этого в документированном API. Могу ли я получить его из комбинации факторов? например, если hvac-mode=heat и target-temp > окружающего воздуха, то это должно быть отопление...


person dunzy123    schedule 27.11.2014    source источник


Ответы (2)


К сожалению, Nest не предоставляет эту информацию.

Обновить

Nest Thermostats теперь имеет hvac_state, который возвращается, если устройство выключено, обогрев или охлаждение.

person rdougan    schedule 11.12.2014
comment
Это очень плохо. Почти 2 года назад пользователи стали запрашивать больше данных об использовании (более 10 дней). community.nest.com/ideas/1010 С тех пор этот запрос понравился более 2100 пользователям, но Nest не доставила, и даже их API не позволяет. - person Automate; 04.02.2015
comment
Я добавил поддержку hvac_state в пример приложения Nest для Android, здесь вы можете найти ответвление проекта: github.com/karolbe/android-NestDK - person KarolBe; 03.10.2015

Вам необходимо отслеживать статус включения/выключения нагрева, чтобы правильно рассчитать. Я отслеживаю NEST с частотой 1 Гц и сохраняю последнее состояние (включено или выключено) как переменную. когда у вас есть эта информация, вы можете использовать следующую логику, и она будет точной:

        lastStatus.Contains("Off"))
        {
            if (temp_current < temp_setpoint)
                status = "Heat On";
            else
                status = "Heat Off";
        }
        else if (lastStatus.Contains("On"))
        {
            if (temp_current > temp_setpoint)
                status = "Heat Off";
            else
                status = "Heat On";
        }
        // Do the work....
        lastStatus=status;

Примечание. temp_current и temp_setpoint возвращаются из http-сообщения REST. Удачи!

person Ryan    schedule 26.12.2014