Googleは、黒人コミュニティのための人種的衡平の促進に取り組んでいます。 方法をご覧ください。
このページは Cloud Translation API によって翻訳されました。
Switch to English

Nest APIのアーキテクチャ

Nestサービスについて

Nestアプリケーションを使用すると、ユーザーはどこにいても自宅に接続できます。すべてのNestデバイス(サーモスタット、プロテクト、カメラ)とアプリケーション(iOS、Android、ウェブアプリ)がNestサービスに接続します。

クラウドツークラウドの例

Nestサービスは、家のデータモデルを提供します。デバイスとアプリケーションは、このデータモデルから読み取り、適切なアクションを実行します。システムの変更を反映するようにデータモデルを更新します。

たとえば、サーモスタットはデータモデルから目標温度を読み取ります。周囲温度を現在の測定値に設定し、センサーデータをホーム/アウェイアシストに送信して、それに応じて構造モードを調整します。

Nestデバイスは制約のある環境で動作します。電力が制限されており、ホームネットワーク接続が信頼できない場合があります。あなたの製品とサービスは、デバイスアルゴリズムを活用して、ユーザーにシンプルで直感的なホームエクスペリエンスを提供できます。

データモデル

Nest APIは、 metadatadevicesstructures最上位属性を持つJSONドキュメントとして表されます。 Works with Nest製品は、このJSONドキュメントを使用して、Nestデバイスおよび関連する状態の変化と対話し、それに反応します。

structuresは、現実世界の物理的な構造を表しています。これらは、 devices整理ポイントとしてdevicesし、建物全体のデータを格納します。通常、 structureはユーザーの家です。

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

JSONドキュメントのすべてのデータ要素は、URL(「データの場所」とも呼ばれます)でアドレス指定できます。 Nest製品と連携して、このドキュメントのセクションを読み書きしたり、変更をサブスクライブしたりできます。このサブスクリプション機能により、Works with Nest製品は、ユーザーが構造体をAwayに設定したときにライトをオフにするなど、システムに加えられた変更にリアルタイムで反応することができます。

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

このインタラクティブなAPIリファレンスでデータモデルを調べてください。

意図した状態

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

この伝播にはある程度の遅延があり、ネットワークが信頼できない可能性があるため、製品によって監視される状態は、他の製品またはサービスによって現在監視される状態ではない場合があります。状態は、さまざまな製品間でメッセージが送信されるときに最終的に同期されます。

このドキュメント指向のパブリッシュ/サブスクライブモデルは、応答性の高いアプリケーション相互作用を提供します。

Nestサービスの使用

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

権限と許可

開発者がユーザーのプライバシーとセキュリティを損なうことなく、家をより良くする製品とサービスを構築できるようにしたいと考えています。すべての通信は安全であり、データへのアクセス許可は常にユーザーによって明示的に許可されます。詳細については、「 権限の概要」を参照してください。

承認はOAuth 2.0プロトコルによって処理されます。ユーザーが要求されたアクセス許可レベルへのアクセスを提供することに同意すると、Nestは要求を認証し、アクセストークンが要求者に付与されます。そのアクセストークンを使用して、Nest APIにアクセスし、ユーザーの構造やデバイスを操作できます。

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

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