Cluster LOCATION

En los ambientes inteligentes, la localización es un parámetro determinante para muchos de los servicios que puede ofrecer el sistema, por lo que merece una consideración especial. Aquí, podemos diferenciar entre dos tipos de dispositivos, aquellos que están fijos en una determinada posición, con lo que la este será un dato fijo que no cambiará, o bien aquellos que son móviles, en cuyo caso tendremos que la posición se irá actualizando a lo largo del tiempo.

Se debe indicar que la localización siempre se refiere a la localización del endpoint base. Es posible que un mismo sistema disponga de varios endpoints con distinto posicionamiento, de modo que en este caso el concepto de posición hace referencia al endpoint base, considerado como agregado de todos ellos, y facilitador de los mecanismos de comunicación.

Deberá contemplarse la posibilidad de que el dispositivo, pueda indicar su posición, ya sea bajo demanda vía comando, o de modo propio cada cierto tiempo.

Los comandos básicos de este cluster son:

  • REFRESH_LOCATION – 0x00. (OBL) – Discontinuado.
  • GET_LOCATION – 0x01. (OBL)
    • Descripción: Solicita la posición en la que se encuentra el dispositivo.
    • Parámetros: Ninguno
    • Respuesta: LOCATION_VALUE, DEV_ERROR.
  • SET_LOCATION – 0x02. (OBL)
    • Descripción: Define la posición en la que se encuentra el dispositivo.
    • Parámetros: 8|13 bytes. X, Y, Z Distancia expresada en mm (entero en complemento a 2) respecto al punto tomado como referencia.
      • locationX: 3 bytes.
      • locationY: 3 bytes.
      • locationZ: 2 bytes.
      • [ubicación]: 5 bytes. Descriptor carácter.
    • Respuesta: DEV_ACK, DEV_ERROR.
  • GET_LOCATION_REFRESH_RATE – 0x03. (OPC)
    • Descripción: Solicita el tiempo trascurrido entre envíos de la posición por parte del dispositivo.
    • Parámetros: Ninguno
    • Respuesta: LOCATION_REFRESH_RATE, DEV_ERROR.
  • SET_LOCATION_REFRESH_RATE – 0x04. (OPC)
    • Descripción: Define el tiempo trascurrido entre envíos de la posición por parte del dispositivo.
    • Parámetros: 2 bytes. Tasa de refresco entre informes de posición.
      • locationRefreshRate: 2 bytes. Tiempo en ms (entero positivo).
    • Respuesta: DEV_ACK, DEV_ERROR.

Los eventos generados por este cluster son:

  • LOCATION_VALUE. (OBL)
    • Descripción: El dispositivo informa de su posición.
    • Parámetros: 8|13|18 bytes. X, Y, Z Distancia expresada en mm (entero en complemento a 2) respecto al punto tomado como referencia.
      • locationX: 3 bytes.
      • locationY: 3 bytes.
      • locationZ: 2 bytes.
      • [ubicación: 5 bytes. Descriptor carácter.
      • [timestamp: 5 bytes]. Dependerá de la implementación del cluster TIME.
  • LOCATION_REFRESH_RATE. (OPC)
    • Descripción: El dispositivo informa del tiempo configurado entre envíos de la posición.
    • Parámetros: 2 bytes. Tasa de refresco entre informes de posición.
      • locationRefreshRate: 2 bytes. Tiempo en ms (entero positivo).