Para controlar un dispositivo, puede llamar a la operación SetDeviceDesiredProperty en IoT Platform y establecer los valores de propiedades deseadas. Cuando se define un valor de propiedad deseada para un dispositivo en IoT Platform, el valor se actualiza en tiempo real si el dispositivo está en línea. Si el dispositivo está sin conexión, el valor de la propiedad deseada se almacena en caché en IoT Platform. Cuando el dispositivo vuelve a conectarse, obtiene el valor de la propiedad deseada y actualiza el valor existente. Este tema describe los formatos de mensaje relacionados con los valores de propiedades deseadas del dispositivo.
Para obtener más información sobre cómo llamar a la operación SetDeviceDesiredProperty en IoT Platform para establecer valores de propiedades deseadas para un dispositivo, consulte
.
Obtención de valores de propiedades deseadas
A continuación se muestran los topics que se utilizan cuando un dispositivo envía solicitudes a IoT Platform y esta plataforma responde al dispositivo:
Un dispositivo envía una solicitud para obtener los valores de propiedades deseadas from IoT Platform.
Topic de solicitud:
/sys/${productKey}/${deviceName}/thing/property/desired/getTopic de respuesta:
/sys/${productKey}/${deviceName}/thing/property/desired/get_reply
Ejemplo de solicitud en formato Alink JSON:
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" : [
"power",
"temperature"
],
"method":"thing.property.desired.get"
}
Ejemplo de respuesta en formato Alink JSON:
{
"id":"123",
"code":200,
"data":{
"power": {
"value": "on",
"version": 2
}
}
}
Tabla 1. Parámetros de solicitud
| Parámetro | Tipo | Descripción |
| id | String | El ID del mensaje. Valores válidos: de 0 a 4294967295. Cada ID de mensaje debe ser único para el dispositivo. |
| version | String | La versión del protocolo. Valor válido: 1.0. |
sys | Object | Parámetros de función extendida. Nota
Si utiliza un SDK del lado del dispositivo sin configurar funciones extendidas, este parámetro se omite y se aplican los valores predeterminados. |
ack | Integer | Indica si la nube devuelve una respuesta. Campo ubicado dentro de sys.
Importante
Thing Specification Language model usage examples. Si no se configura, este parámetro se omite y se devuelve una respuesta de forma predeterminada. |
| params | List | Lista de identificadores de las propiedades cuyos valores deseados desea obtener. En este ejemplo, se listan los siguientes identificadores de propiedad: El identificador de una propiedad de módulo personalizado tiene el formato |
| method | String | El método de solicitud. Valor válido: thing.property.desired.get. |
Tabla 2. Parámetros de respuesta
| Parámetro | Tipo | Descripción |
| id | String | El ID del mensaje. Valores válidos: de 0 a 4294967295. Cada ID de mensaje debe ser único para el dispositivo. |
| code | Integer | El código de estado HTTP en la respuesta. Para obtener más información, consulte Common codes on devices. |
| data | Object | Información del valor deseado que se devuelve. En este ejemplo, se devuelve la información del valor deseado para la propiedad power. La información incluye el value y la version de la propiedad. El identificador de una propiedad de módulo personalizado tiene el formato Nota Si no se ha establecido un valor deseado para una propiedad en IoT Platform o si el valor deseado se ha eliminado, los datos devueltos no contendrán el identificador de dicha propiedad. En este ejemplo, la propiedad temperature no tiene un valor deseado; por lo tanto, los datos devueltos no incluyen este identificador de propiedad. Para obtener más información sobre los parámetros en data, consulte la siguiente tabla. |
Tabla 3. data
| Parámetro | Tipo | Descripción |
| key | String | El identificador de la propiedad; por ejemplo, power en este caso. |
| value | Object | El valor deseado. |
| version | Integer | La versión actual del valor deseado. Nota Cuando establece el valor de la propiedad deseada por primera vez, la versión es 1. Posteriormente, la versión aumenta en 1 cada vez que establece el valor deseado. |
Eliminación de valores de propiedades deseadas
A continuación se muestran los topics que se utilizan cuando un dispositivo envía solicitudes a IoT Platform y esta plataforma responde al dispositivo:
Un dispositivo envía una solicitud para eliminar los valores de propiedades deseadas almacenados en caché en IoT Platform.
Topic de solicitud:
/sys/${productKey}/${deviceName}/thing/property/desired/deleteTopic de respuesta:
/sys/${productKey}/${deviceName}/thing/property/desired/delete_reply
Ejemplo de solicitud en formato Alink JSON:
{
"id": "123",
"version": "1.0",
"sys":{
"ack":0
},
"params": {
"power": {
"version": 1
},
"temperature": { }
},
"method":"thing.property.desired.delete"
}
Ejemplo de respuesta en formato Alink JSON:
{
"id": "123",
"code": 200,
"data": { }
}
Tabla 4. Parámetros de solicitud
| Parámetro | Tipo | Descripción |
| id | String | El ID del mensaje. Valores válidos: de 0 a 4294967295. Cada ID de mensaje debe ser único para el dispositivo. |
| version | String | La versión del protocolo. Valor válido: 1.0. |
sys | Object | Parámetros de función extendida. Nota
Si utiliza un SDK del lado del dispositivo sin configurar funciones extendidas, este parámetro se omite y se aplican los valores predeterminados. |
ack | Integer | Indica si la nube devuelve una respuesta. Campo ubicado dentro de sys.
Importante
Thing Specification Language model usage examples. Si no se configura, este parámetro se omite y se devuelve una respuesta de forma predeterminada. |
| params | Object | Lista de propiedades cuyos valores deseadas desea eliminar. Una propiedad se identifica mediante su identificador y su version. Ejemplo: El identificador de una propiedad de módulo personalizado tiene el formato Para obtener más información sobre los parámetros en params, consulte la siguiente tabla. |
| method | String | El método de solicitud. Valor válido: thing.property.desired.delete. |
Tabla 5. params
| Parámetro | Tipo | Descripción |
| key | String | El identificador de la propiedad. En este ejemplo, se listan los siguientes identificadores de propiedad: power y temperature. |
| version | Integer | La versión del valor deseado que se va a eliminar. Nota
|
Tabla 6. Parámetros de respuesta
|
Parámetro |
Tipo |
Descripción |
|
id |
String |
El ID del mensaje. Valores válidos: de 0 a 4294967295. Cada ID de mensaje debe ser único para el dispositivo. |
|
code |
Integer |
El código de estado HTTP en la respuesta. Para obtener más información, consulte Common codes on devices. |
|
data |
Object |
Los datos devueltos. En la respuesta a una solicitud de eliminación de valores de propiedades deseadas, no se devuelven datos. |