Guia de sensores para casa inteligente
action.devices.types.SENSOR: um único sensor pode ter várias funções, como monitorar temperatura e umidade. Os sensores podem informar medições quantitativas (por exemplo, nível de monóxido de carbono e fumaça medido em partes por milhão) e qualitativas (por exemplo, se a qualidade do ar está boa ou ruim).
Esse tipo indica que o dispositivo recebe o ícone "Sensor" e alguns sinônimos e aliases relacionados.
Recursos do dispositivo
Consulte a documentação da característica correspondente para detalhes da implementação, como atributos e estados que seu serviço precisa oferecer suporte, e como criar respostas EXECUTE e QUERY.
Traços recomendados
Esses traços são recomendados, se aplicáveis ao seu dispositivo. No entanto, você pode misturar e combinar todos os traços disponíveis para corresponder melhor à funcionalidade do produto.
Os sensores também podem usar outros traços que abrangem os dados que podem ser informados, como:
- HumiditySetting
- OpenClose
- TemperatureControl: use para temperaturas não climáticas (água, temperatura da superfície, interior do dispositivo).
- TemperatureSetting: use para temperaturas climáticas (ar ambiente).
Dispositivo de exemplo: sensor simples
Esta seção contém exemplos de payloads de intent que representam um "Sensor" comum com base no tipo e nas características do dispositivo acima. Se você adicionar ou remover características na sua implementação, modifique as respostas de acordo para refletir essas mudanças.
Exemplo de resposta de sincronização
{
"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" } } ] } }
Exemplo de resposta de QUERY
{ "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" } } } }