Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

NestAPIのアーキテクチャ

Nest サービスについて

Nest アプリケーションを使うと、ユーザーはどこにいても自分の家に接続できます。すべての Nest デバイス(サーモスタット、Protect、Camera)とアプリケーション(iOS、Android、ウェブアプリ)が Nest サービスに接続されます。

クラウド間の例

Nest サービスが家のデータモデルを提供します。デバイスとアプリケーションは、このデータモデルから読み取って適切な対応を行います。データモデルを更新して、システムの変化を反映させます。

たとえば、サーモスタットがデータモデルから設定温度を読み取ります。気温を現在の測定値に設定し、センサーデータを在宅 / 外出アシストに送信します。在宅 / 外出アシストは、それに応じてストラクチャ モードを調整します。

Nest デバイスは、制約のある環境で動作します。電力が制限され、ホーム ネットワーク接続の信頼性が低くなる可能性があります。プロダクトやサービスは、Google のデバイス アルゴリズムを活用して、シンプルで直感的なスマートホーム体験をユーザーに提供できます。

データモデル

Nest API は、最上位属性である metadatadevicesstructures を含む JSON ドキュメントとして表されています。Works with Nest 製品は、この JSON ドキュメントを使用して、Nest デバイスと関連する状態の変化をやり取りし、対応します。

Nest structures は、現実世界の物理的構造を表します。devices の整理ポイントとして機能し、ビルディング全体のデータは保存されます。通常、structure はユーザーのホームです。

Nest devices は、構造内の物理デバイス(サーモスタット、Protect、カメラ)を表します。

JSON ドキュメント内のすべてのデータ要素は、URL(「データのロケーション」とも呼ばれます)でアドレス指定できます。Works with Nest 製品は、このドキュメントのセクションの読み取りと書き込み、および変更のサブスクライブが可能です。この登録機能により、Works with Nest 製品は、ユーザーがストラクチャを外出に設定したのに消灯するなど、システムに加えられた変更にリアルタイムで対応できます。

オブジェクトも実際の制約の下で動作します。データモデルは、意外な危険な操作を防止することでデバイスとユーザーの家を保護します。たとえば、緊急ヒーターが有効になっている場合、サーモスタットはエアコンを実行しません。

このインタラクティブ API リファレンスでデータモデルを確認する。

目的の状態

Nest サービスはシステムの信頼できる状態を保存し、Works with Nest 製品は変更にサブスクライブします。この状態を変更する(たとえば、サーモスタットの目標温度を変更する)と、サービスはすべてのサブスクライバーに変更通知を push します。

この伝 a には多少の遅れがあり、ネットワークの信頼性が低くなる可能性があるため、あるプロダクトで観察される状態は、他のプロダクトまたはサービスで現在観察される状態とは限りません。さまざまなサービス間でメッセージが転送されると、状態は最終的に同期されます。

このドキュメント指向の公開/サブスクライブ モデルでは、応答性の高いアプリケーション操作が提供されます。

Nest サービスの使用

Nest サービスで REST エンドポイントにアクセスするには、製品で HTTPS を使用します。 この目的で使用できるサードパーティのクライアント ライブラリは多数あります。

権限と承認

Google は、ユーザーのプライバシーとセキュリティを損なうことなく、住宅を改善するプロダクトやサービスをデベロッパーが構築できるようにしたいと考えています。Google の通信はすべて安全に保たれ、データへのアクセス権は常にユーザーによって明示的に付与されます。詳細については、権限の概要をご覧ください。

認証は OAuth 2.0 プロトコルによって処理されます。ユーザーがリクエストされた権限レベルへのアクセスに同意すると、Nest がリクエストを認証し、アクセス トークンがリクエスト元に付与されます。このアクセス トークンを使用して、Nest API にアクセスし、ユーザーのストラクチャやデバイスを操作できます。

アクセス トークンを付与すると、ユーザー、Works with Nest 製品、Nest の間で信頼関係が確立されます。ユーザーはいつでもアクセス権を取り消すことができます。

Nest API への接続を承認する方法については、承認の概要をご覧ください。