Руководство по датчикам для умного дома
action.devices.types.SENSOR - Один датчик может выполнять несколько функций, например, контролировать температуру и влажность. Датчики могут сообщать как количественные данные (например, уровень угарного газа и дыма, измеренный в частях на миллион), так и качественные показатели (например, является ли качество воздуха здоровым или нездоровым).
Этот тип указывает на то, что устройство получает значок датчика, а также некоторые связанные с ним синонимы и псевдонимы.
Возможности устройства
Для получения подробной информации о реализации, такой как атрибуты и состояния, которые должна поддерживать ваша служба, а также о том, как формировать ответы EXECUTE и QUERY, обратитесь к соответствующей документации по трейту.
Рекомендуемые характеристики
Эти характеристики рекомендуются, если они применимы к вашему устройству. Однако вы можете свободно комбинировать все доступные характеристики, чтобы наилучшим образом соответствовать функциональности вашего существующего продукта.
Датчики также могут использовать другие характеристики, охватывающие данные, которые они могут передавать, например:
- HumiditySetting
- OpenClose
- TemperatureControl — используется для контроля температур, не связанных с климат-контролем (температура воды, поверхности, внутренних частей устройства).
- TemperatureSetting - Используется для отображения температуры окружающего воздуха.
Пример устройства: Простой датчик
В этом разделе приведены примеры полезной нагрузки намерений, представляющих собой типичный «датчик» на основе типа устройства и указанных выше характеристик. Если вы добавляете или удаляете характеристики в своей реализации, соответствующим образом измените свои ответы, чтобы отразить эти изменения.
Пример ответа SYNC
{
"requestId": "6894439706274654512",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.SENSOR", "traits": [ "action.devices.traits.EnergyStorage", "action.devices.traits.OccupancySensing", "action.devices.traits.SensorState" ], "name": { "name": "Simple sensor" }, "willReportState": true, "attributes": { "sensorStatesSupported": [ { "name": "AirQuality", "descriptiveCapabilities": { "availableStates": [ "healthy", "moderate", "unhealthy", "very unhealthy" ] } } ], "queryOnlyEnergyStorage": true, "occupancySensorConfiguration": [ { "occupancySensorType": "PIR", "occupiedToUnoccupiedDelaySec": 10, "unoccupiedToOccupiedDelaySec": 10, "unoccupiedToOccupiedEventThreshold": 2 } ] }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Пример ответа на запрос
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "currentSensorStateData": [ { "name": "AirQuality", "currentSensorState": "healthy" } ], "descriptiveCapacityRemaining": "HIGH", "capacityRemaining": [ { "unit": "PERCENTAGE", "rawValue": 90 } ], "occupancy": "OCCUPIED" } } } }