Alexa.InventoryLevelUsageSensorインターフェース3
AlexaスキルにAlexa.InventoryLevelUsageSensor
インターフェースを実装すると、デバイスにセットされている消耗品のおおよその使用量を出力できます。たとえば、デバイスが掃除機の場合、ダストフィルターのおおよその汚れ具合を出力できます。掃除機のダストフィルターやブラシなど、複数の消耗品にAlexa.InventoryLevelUsageSensor
のインスタンスを複数実装することができます。
デバイスに残っている消耗品の量を出力する場合は、代わりにAlexa.InventoryLevelSensor
インターフェースを実装します。デバイスで消耗品が使用されたタイミングで出力する場合は、代わりにAlexa.InventoryUsageSensor
インターフェースを実装します。
Alexa.InventoryLevelUsageSensor
インターフェースがサポートする言語については、Alexaインターフェースとサポートしている言語の一覧を参照してください。メッセージプロパティの定義については、Alexaインターフェースのメッセージとプロパティを参照してください。
Dash replenishment ID
スマートホームデバイスにAmazon Dash Replenishmentサービスを追加して、Alexaでデバイスの消耗品や交換部品の監視と再注文を行うことができます。Alexa.InventoryLevelUsageSensor
を使ってインベントリー状況を出力すると、ユーザーはAlexaアプリ内で消耗品の量を確認したり、消耗品の量が少なくなった場合や部品交換が必要になった場合にAlexaから通知を受け取ったりすることができます。また、ユーザーはこれらの消耗品の自動再注文を設定することもできます。たとえば、ユーザーがインク切れにならないよう、プリンターのインク使用量をAlexaに出力することができます。詳しくは、Dash Replenishmentについてを参照してください。
デバイスをDash Replenishmentに登録すると、Amazonからデバイスの各消耗品についてReplenishment IDが提供されます。このReplenishment IDによって、消耗品の交換用にユーザーが注文できる商品を識別できます。これらのIDは、次の方法でAlexaに提供できます。
- デバイスの検出時にReplenishment IDがわかっている場合は、検出応答にIDを含めます。
- デバイスの検出時にReplenishment IDが不明の場合は、
AddOrUpdateReport
イベントで後から指定します。
発話
Alexa.InventoryLevelUsageSensor
インターフェースにはユーザー発話が定義されません。
プロパティとオブジェクト
Alexa.InventoryLevelUsageSensor
インターフェースには、次のプロパティとオブジェクトが含まれます。
出力可能なプロパティ
Alexa.InventoryLevelUsageSensor
インターフェースには、出力可能なプロパティが定義されません。
Measurementオブジェクト
Measurement
オブジェクトは、消耗品を計測する方法を定義します。
プロパティ | 説明 | 型 |
---|---|---|
|
計測の種類です。 |
文字列 |
|
消耗品のおおよその使用量を期間で表します。使用量を出力するときに指定します。 |
文字列 |
Replenishmentオブジェクト
Replenishment
オブジェクトにより、消耗品を識別します。
プロパティ | 説明 | 型 |
---|---|---|
|
IDの種類を識別します。 |
文字列 |
|
消耗品のDash Replenishment IDです。 |
文字列 |
検出
Alexa.InventoryLevelUsageSensor
をサポートするエンドポイントは、Alexa.Discoveryの標準検出メカニズムを使用して表します。
エンドポイントは複数のセンサーに対応しています。センサーを区別するには、サポートする各センサーのinstance
プロパティにAlexa.InventoryLevelUsageSensor
を含めます。
表示カテゴリーの一覧は、表示カテゴリーを参照してください。
Alexaにデバイスの健全性を通知する場合、Alexa.EndpointHealth
インターフェースも実装してください。
capabilities配列
capabilities配列の各Alexa.InventoryLevelUsageSensor
エントリには、通常の検出応答フィールドのほかに、次のフィールドを含めます。
プロパティ | 説明 | 型 |
---|---|---|
|
センサーの名前です。 |
文字列 |
|
消耗品の測定方法です。 |
|
|
消耗品のDash Replenishment IDです。 |
|
|
ユーザーがセンサーとの対話に使用できる消耗品のフレンドリー名です。 |
|
検出応答の例
以下は、Alexa.InventoryLevelUsageSensor
インターフェースをサポートする掃除機のDiscover.Response
メッセージの例です。
{
"event": {
"header": {
"namespace": "Alexa.Discovery",
"name": "Discover.Response",
"payloadVersion": "3",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい"
},
"payload": {
"endpoints": [{
"endpointId": "エンドポイントの一意のID",
"manufacturerName": "Vacuum Plus",
"description": "Vacuum Maker Plusのスマート掃除機",
"friendlyName": "下の階の掃除機",
"displayCategories": [
"VACUUM_CLEANER"
],
"additionalAttributes": {
"manufacturer": "Vacuum Plus",
"model": "VPM1",
"serialNumber": "デバイスのシリアル番号",
"firmwareVersion": "デバイスのファームウェアバージョン",
"softwareVersion": "デバイスのソフトウェアバージョン",
"customIdentifier": "デバイスのカスタム識別子"
},
"cookie": {},
"capabilities": [{
"type": "AlexaInterface",
"interface": "Alexa.InventoryLevelUsageSensor",
"instance": "Sensor.DustFilter",
"version": "3",
"configuration": {
"measurement": {
"@type": "Duration"
},
"replenishment": {
"@type": "DashReplenishmentId",
"value": "リフィルオプションのReplenishment ID"
}
},
"capabilityResources": {
"friendlyNames": [{
"@type": "text",
"value": {
"text": "ダストフィルター",
"locale": "ja-JP"
}
},
{
"@type": "text",
"value": {
"text": "filtre à poussière",
"locale": "fr-FR"
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.InventoryLevelUsageSensor",
"instance": "Sensor.Brush",
"version": "3",
"configuration": {
"measurement": {
"@type": "Duration"
},
"replenishment": {
"@type": "DashReplenishmentId",
"value": "リフィルオプションのReplenishment ID"
}
},
"capabilityResources": {
"friendlyNames": [{
"@type": "text",
"value": {
"text": "ブラシ",
"locale": "ja-JP"
}
}]
}
},
{
"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": "Vacuum Plus",
"description": "Vacuum Maker Plusのスマート掃除機",
"friendlyName": "下の階の掃除機",
"displayCategories": [
"VACUUM_CLEANER"
],
"additionalAttributes": {
"manufacturer": "Vacuum Plus",
"model" : "VPM1",
"serialNumber": "デバイスのシリアル番号",
"firmwareVersion" : "デバイスのファームウェアバージョン",
"softwareVersion": "デバイスのソフトウェアバージョン",
"customIdentifier": "デバイスのカスタム識別子"
},
"cookie": {},
"capabilities": [
{
"type": "AlexaInterface",
"interface": "Alexa.InventoryLevelUsageSensor",
"instance": "Sensor.DustFilter",
"version": "3",
"configuration": {
"measurement": {
"@type": "Duration"
},
"replenishment": {
"@type": "DashReplenishmentId",
"value": "リフィルオプションのReplenishment ID"
}
},
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "ダストフィルター",
"locale": "ja-JP"
}
},
{
"@type": "text",
"value": {
"text": "filtre à poussière",
"locale": "fr-FR"
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.InventoryLevelUsageSensor",
"instance": "Sensor.Brush",
"version": "3",
"configuration": {
"measurement": {
"@type": "Duration"
},
"replenishment": {
"@type": "DashReplenishmentId",
"value": "リフィルオプションのReplenishment ID"
}
},
"capabilityResources": {
"friendlyNames": [
{
"@type": "text",
"value": {
"text": "ブラシ",
"locale": "ja-JP"
}
}
]
}
},
{
"type": "AlexaInterface",
"interface": "Alexa.PowerController",
"version": "3",
"properties": {
"supported": [
{
"name": "powerState"
}
],
"proactivelyReported": true,
"retrievable": true
}
},
{
"type": "AlexaInterface",
"interface": "Alexa",
"version": "3"
}
]
}
]
}
}
}
インベントリー更新イベント
Alexa.InventoryLevelUsageSensor
インターフェースは、インベントリーの更新に使用する以下のイベントを定義します。
ChangeReport
Alexa.InventoryLevelUsageSensor
インターフェースを実装するときは、ChangeReport
イベントの代わりにInventoryConsumed
イベントとInventoryReplaced
イベントを送信します。
Alexa.PowerController
など、サポートするほかのインターフェースのChangeReport
イベントは引き続き送信します。詳細については、サポートする各インターフェースのドキュメントを参照してください。変更レポートの詳細については、状態および変更レポートについてを参照してください。InventoryConsumedイベント
Alexaにインベントリーをプロアクティブに報告するには、デバイスにセットした消耗品のおおよその使用量を含めて、InventoryConsumed
イベントを送信します。このイベントは1日に約1回報告します。イベントはAlexaイベントゲートウェイに送信します。
Header
オブジェクトで説明されているように、イベントのヘッダーに含まれるmessageId
は一意である必要があります。InventoryConsumedイベントの例
以下は、デバイスがダストフィルターを30分使用した後にAlexaに報告している例です。
{
"event": {
"header": {
"namespace": "Alexa.InventoryLevelUsageSensor",
"name": "InventoryConsumed",
"instance": "Sensor.DustFilter",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"usage": {
"@type": "Duration",
"value": "PT30M"
},
"timeOfSample": "2020-07-02T16:20:00.00Z"
}
}
}
InventoryConsumedイベントのペイロード
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
消耗品のおおよその使用量を期間で表します。期間の値をマイナスにすることはできません。 |
|
◯ |
|
センサーが使用量を検知した時間です。 |
文字列 |
◯ |
InventoryReplacedイベント
ユーザーが消耗品を交換したら、AlexaにInventoryReplaced
イベントをプロアクティブに送信します。イベントはAlexaイベントゲートウェイに送信します。
messageId
は一意である必要があります。InventoryReplacedイベントの例
以下は、ユーザーがダストフィルターを交換した後にAlexaに通知している例です。
{
"event": {
"header": {
"namespace": "Alexa.InventoryLevelUsageSensor",
"name": "InventoryReplaced",
"instance": "Sensor.DustFilter",
"messageId": "一意の識別子、バージョン4 UUIDが望ましい",
"payloadVersion": "3"
},
"endpoint": {
"scope": {
"type": "BearerToken",
"token": "OAuth2.0ベアラートークン"
},
"endpointId": "エンドポイントID"
},
"payload": {
"replacedDate": "2020-01-15T14:30Z"
}
}
}
InventoryReplacedイベントのペイロード
プロパティ | 説明 | 型 | 必須 |
---|---|---|---|
|
ユーザーが消耗品を交換した日付です。 |
文字列 |
◯ |
関連トピック
最終更新日: 2024 年 11 月 19 日