Notice: We're retiring Works with Nest. See the home page for more information.
Google is committed to advancing racial equity for Black communities. See how.
Эта страница переведена с помощью Cloud Translation API.
Switch to English

Архитектура Nest API

О сервисе Nest

Приложения Nest позволяют пользователям подключаться к своему дому, где бы они ни находились. Все устройства Nest (термостаты, защиты и камеры) и приложения (iOS, Android и веб-приложения) подключаются к службе Nest.

Пример преобразования облака в облако

Сервис Nest предоставляет модель данных дома. Устройства и приложения читают эту модель данных, чтобы предпринять соответствующие действия. Они обновляют модель данных, чтобы отразить изменения в системе.

Например, термостат считывает свою целевую температуру из модели данных. Он устанавливает температуру окружающей среды в соответствии с текущим измерением и отправляет данные датчика в систему Home / Away Assist, которая соответствующим образом регулирует режим конструкции.

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

Модель данных

Nest API представлен в виде документа JSON с атрибутами верхнего уровня metadata , devices и structures . Ваши продукты Works with Nest используют этот документ JSON для взаимодействия и реагирования на устройства Nest и связанные с ними изменения состояния.

structures гнезд представляют собой физические структуры в реальном мире. Они служат организующей точкой для devices и хранят данные обо всем здании. Обычно structure - это дом пользователя.

devices Nest представляют собой физические устройства (термостаты, защиты и камеры) внутри конструкции.

К каждому элементу данных в документе JSON можно обратиться по URL-адресу (также известному как «расположение данных»). Работающие с продуктами Nest могут читать и писать в разделы этого документа, а также подписываться на изменения. Эта возможность подписки позволяет продуктам Works with Nest реагировать в режиме реального времени на изменения, внесенные в систему, например выключать свет, когда пользователь устанавливает для структуры значение «Нет».

Объекты также работают в условиях реального мира. Модель данных защищает устройства и дом пользователя, предотвращая неожиданные и опасные действия. Например, термостат не запускает кондиционер, когда включен аварийный обогрев.

Изучите модель данных с помощью этого интерактивного справочника по API .

Предполагаемое состояние

Служба Nest сохраняет официальное состояние системы, а продукты Works with Nest подписываются на изменения. Изменение этого состояния (например, изменение целевой температуры термостата) заставляет службу отправлять уведомление об изменении всем подписчикам.

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

Эта документно-ориентированная модель публикации / подписки обеспечивает гибкое взаимодействие приложений.

Использование сервиса Nest

Чтобы получить доступ к конечным точкам REST в службе Nest, используйте HTTPS в своем продукте. Для этой цели можно использовать множество сторонних клиентских библиотек.

Разрешения и авторизация

Мы хотим позволить разработчикам создавать продукты и услуги, которые делают дома лучше, без ущерба для конфиденциальности и безопасности пользователей. Все наши коммуникации безопасны, а разрешение на доступ к данным всегда явно предоставляется пользователем. Для получения дополнительной информации см. Обзор разрешений .

Авторизация осуществляется по протоколу OAuth 2.0. Когда пользователь соглашается предоставить доступ к запрошенному уровню разрешений, Nest аутентифицирует запрос, и запрашивающей стороне предоставляется маркер доступа. Этот токен доступа можно использовать для доступа к Nest API и взаимодействия со структурами и устройствами пользователя.

Предоставление токена доступа устанавливает доверительные отношения между пользователем, продуктом Works with Nest и Nest. Пользователи могут отозвать доступ в любое время.

Чтобы узнать, как авторизовать подключение к Nest API, см. Обзор авторизации .