Space Awareness

Overview

All claimed devices on Xyte are located in a single Space, which itself is part of a Space tree. As spaces can have space-level configuration settings, these are available to devices to better improve the End Customer experience.


Space Information

Devices can use the Get Space Info API to retrieve Space level information. The amount of information is constanting growing, with the following being available (if the End Customer configured the space or one of its parents).

{
    "location": {
        "coordinates": {
            "lat": 51.165691,
            "lng": 10.451526
        },
        "utc_offset": 60,
        "name": "Germany"
    },
    "temperature_units": "celsius",
    "maintenance": false,
    "name": "Interactive Class",
    "local_time": "2024-03-17T10:55:28+01:00"
}

The configuration settings currently allow Devices to get:

  1. Geographical location
  2. Timezone and current time
  3. Temperature unit
  4. Maintenance state (if the Space has been put in maintenance mode)
  5. Space name

Detecting Space Changes

From time to time, devices might be moved between spaces or the space's configuration changed. Xyte used the Send Telemetry API mechanism to communicate to the Device the current space_data_version

The value of space_data_version will be increased by the server any time a change is made to the space the device is in. Devices are recommended to save this value in persistent storage and compare it to the value returned by Send Telemetry API. When a change is detected, the Get Space Info API can be used to retreive the updated space configuration.

A 0 (zero) value indicated that the device is not Claiming Overview by any End Customer.