Alexa.InventoryUsageSensorインターフェース3
Alexa.InventoryUsageSensor
機能インターフェースを実装すると、デバイスが使用した消耗品の量をレポートできます。たとえば、デバイスがコーヒーカプセルを使用するコーヒーメーカーの場合、デバイスが前回レポートした後に使用したカプセルの数をレポートできます。コーヒーカプセルやミルクカプセル(またはクリーマーカプセル)を使用するコーヒーメーカーなど、複数の消耗品に対してAlexa.InventoryUsageSensor
の複数のインスタンスを実装できます。
デバイスに残っている消耗品の量を出力する場合は、代わりにAlexa.InventoryLevelSensor
インターフェースを実装します。寿命が不明な消耗品がデバイスに含まれている場合は、代わりにAlexa.InventoryLevelUsageSensor
インターフェースを実装します。
Alexa.InventoryUsageSensor
インターフェースがサポートする言語については、Alexaインターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。
Dash replenishment ID
スマートホームデバイスにAmazon Dash Replenishmentサービスを追加して、Alexaでデバイスの消耗品や交換部品の監視と再注文を行うことができます。Alexa.InventoryUsageSensor
を使ってインベントリー状況を出力すると、ユーザーはAlexaアプリ内で消耗品の量を確認したり、消耗品の量が少なくなった場合や部品交換が必要になった場合にAlexaから通知を受け取ったりすることができます。また、ユーザーはこれらの消耗品の自動再注文を設定することもできます。たとえば、ユーザーがインク切れにならないよう、プリンターのインク使用量をAlexaに出力することができます。詳しくは、Dash Replenishmentについてを参照してください。
デバイスをDash Replenishmentに登録すると、Amazonからデバイスの各消耗品についてReplenishment IDが提供されます。このReplenishment IDによって、消耗品の交換用にユーザーが注文できる商品を識別できます。これらのIDは、次の方法でAlexaに提供できます。
- デバイスの検出時にReplenishment IDがわかっている場合は、検出応答にIDを含めます。
- デバイスの検出時にReplenishment IDが不明の場合は、
AddOrUpdateReport
イベントで後から指定します。
発話
Alexa.InventoryUsageSensor
インターフェースにはユーザー発話が定義されません。
プロパティとオブジェクト
Alexa.InventoryUsageSensor
インターフェースには、次のプロパティとオブジェクトが含まれます。
出力可能なプロパティ
Alexa.InventoryUsageSensor
インターフェースには、出力可能なプロパティが定義されません。
Measurementオブジェクト
Measurement
オブジェクトは、消耗品を計測する方法を定義します。
プロパティ | 説明 | 型 |
---|---|---|
|
計測の種類です。 |
文字列 |
|
前回のレポート後に使用した消耗品の量です。使用量を出力するときに指定します。 |
文字列 |
|
そのタイプの標準測定単位です。 |
文字列 |
Replenishmentオブジェクト
Replenishment
オブジェクトにより、消耗品を識別します。
プロパティ | 説明 | 型 |
---|---|---|
|
IDの種類を識別します。 |
文字列 |
|
消耗品のDash Replenishment IDです。 |
文字列 |
検出
Alexa.InventoryUsageSensor
をサポートするエンドポイントは、Alexa.Discovery
の標準検出メカニズムを使用して表します。
エンドポイントは複数のセンサーに対応しています。センサーを区別するには、サポートする各センサーにAlexa.InventoryUsageSensor
を含め、instance
プロパティを指定します。
表示カテゴリーの一覧は、表示カテゴリーを参照してください。
Alexaにデバイスの健全性を通知する場合、Alexa.EndpointHealth
インターフェースも実装してください。
capabilities配列
機能配列の各Alexa.InventoryUsageSensor
エントリには、通常の検出応答フィールドのほかに、次のフィールドを含めます。
プロパティ | 説明 | 型 |
---|---|---|
|
センサーの名前です。 |
文字列 |
|
消耗品の測定方法です。 |
|
|
消耗品のDash Replenishment IDです。 |
|
|
ユーザーがセンサーとの対話に使用できる消耗品のフレンドリー名です。 |
|
検出応答の例
以下は、Alexa.InventoryUsageSensor
インターフェースをサポートするコーヒーメーカーのDiscover.Response
メッセージの例です。
{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "Discover.Response",
"payloadVersion": "3",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい"
},
"payload": {
"endpoints": [{
"endpointId": "エンドポイントの一意のID",
"manufacturerName": "コーヒーメーカープラス",
"description": "コーヒーメーカープラスのスマートコーヒーメーカー",
"friendlyName": "コーヒーメーカー",
"displayCategories": [
"OTHER"
],
"cookie": {},
"capabilities": [{
"type": "AlexaInterface",
"interface": "Alexa.InventoryUsageSensor",
"instance": "Sensor.CoffeePod",
"version": "3",
"configuration": {
"measurement": {
"@type": "Count"
},
"replenishment": {
"@type": "DashReplenishmentId",
"value": "リフィルオプションのReplenishment ID"
}
},
"capabilityResources": {
"friendlyNames": [{
"@type": "text",
"value": {
"text": "コーヒーカプセル",
"locale": "ja-JP"
}
},
{
"@type": "text",
"value": {
"text": "Capsules de café",
"locale": "fr-FR"
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.PowerController",
"version": "3",
"properties": {
"supported": [{
"name": "powerState"
}],
"retrievable": true,
"proactivelyReported": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.EndpointHealth",
"version": "3",
"properties": {
"supported": [{
"name": "connectivity"
}],
"proactivelyReported": true,
"retrievable": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
}]
}
}
}
AddOrUpdateReport
エンドポイントの機能サポートが変更された場合は、Alexa.Discovery.AddOrUpdateReport
イベントをプロアクティブに送信する必要があります。たとえば、最初のデバイス検出時に消耗品のReplenishment IDがなかった場合は、AddOrUpdateReport
イベントを送信することで、後からAlexaにReplenishment IDを指定できます。最初に指定したReplenishment IDは変更できません。
AddOrUpdateReportイベントの例
{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "AddOrUpdateReport",
"payloadVersion": "3",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい"
},
"payload": {
"endpoints": [
{
"endpointId": "エンドポイントの一意のID",
"manufacturerName": "コーヒーメーカープラス",
"description": "コーヒーメーカープラスのスマートコーヒーメーカー",
"friendlyName": "コーヒーメーカー",
"displayCategories": [
"OTHER"
],
"cookie": {},
"capabilities": [
{
"type": "AlexaInterface",
"interface": "Alexa.InventoryUsageSensor",
"instance": "Sensor.CoffeePod",
"version": "3",
"configuration": {
"measurement": {
"@type": "Count"
},
"replenishment": {
"@type": "DashReplenishmentId",
"value": "リフィルオプションのReplenishment ID"
}
},
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "コーヒーカプセル",
"locale": "ja-JP"
}
},
{
"@type": "text",
"value": {
"text": "Capsules de café",
"locale": "fr-FR"
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.PowerController",
"version": "3",
"properties": {
"supported": [
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
}
]
}
}
}
インベントリー更新イベント
Alexa.InventoryUsageSensor
インターフェースは、インベントリーの更新に使用する以下のイベントを定義します。
ChangeReport
Alexa.InventoryUsageSensor
インターフェースを実装するときは、一般的なChangeReport
イベントの代わりにInventoryConsumed
イベントを送信します。変更レポートの詳細については、状態および変更レポートについてを参照してください。
Alexa.PowerController
など、サポートするほかのインターフェースのChangeReport
イベントは引き続き送信します。詳細については、サポートする各インターフェースのドキュメントを参照してください。InventoryConsumedイベント
インベントリーをAlexaにプロアクティブにレポートするには、InventoryConsumed
イベントを送信し、デバイスが前回のイベント後に消費した消耗品の量を含めます。イベントはAlexaイベントゲートウェイに送信します。
Header
オブジェクトで説明されているように、イベントのヘッダーに含まれるmessageId
は一意である必要があります。InventoryConsumedイベントの例
以下の例では、ユーザーがコーヒーカプセルを消費したらAlexaに通知しています。
{
"event": {
"header": {
"namespace": "Alexa.InventoryUsageSensor",
"name": "InventoryConsumed",
"instance": "Sensor.CoffeePod",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"usage": {
"@type": "Count",
"value": 1
},
"timeOfSample": "2020-09-23T16:20:00.00Z"
}
}
}
InventoryConsumedイベントのペイロード
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
前回の |
|
◯ |
|
センサーが使用量を検知した時間です。 |
文字列 |
◯ |
関連トピック
最終更新日: 2024 年 12 月 09 日