Special property names

Help DevicePilot to understand your data

DevicePilot is schemaless, so you can stream-in your device properties and metadata without changing their name. This means that when you use DevicePilot to analyse your device estate, all properties have the names that you're used to.

However there are just a few property names which DevicePilot treats specially, to make your life easier:

  • $id - this is the only mandatory property name that must be supplied when data is posted into DevicePilot - every device must have a unique value of $id so that DevicePilot can distinguish one device from another. It can be a number or a string. If you subscribe to a broker such as MQTT, DevicePilot automatically maps whatever name or topic it uses as the unique device id into the $id property.
  • $ts - if you're posting old data then supply this property to timestamp it (and perhaps think about timezones).
  • icon - if supplied as a string this tells DevicePilot which icon to use for this device in maps and lists
  • latitude and longitude - if you supply the device location as decimal degrees in these two properties then Maps will just work (otherwise you'll have to adjust the Maps settings to tell it which property names you're using for location).
  • timezone - if your devices exist in multiple timezones, set this property to their IANA timezone so that operations such as group-by-time-of-day work correctly and read this.

In addition, properties First seen and Last seen are automatically set to the earliest and latest ever timestamps for each device.