Skip to content

Overview ​

Within OpenSonde we store information and configuration for each device integrated with the platform. This can be broken down into two types:

  • Device model configuration
  • Device specific configuration

Device model information ​

Each physical device has a device model associated with it. A model holds information such as:

  • The model name e.g. BOB-2000
  • The expected heartbeat time i.e. how often the device is expected to speak to OpenSonde
  • Most importantly, any parameters which the device has as standard, i.e pH, ORP, DO etc.

Model parameters ​

Device model parameters provide the default configuration for each parameter on a device. This includes the display name, a parameter specific key used by devices when sending values up for that specific parameter, as well as a default unit of measurement.

This setup allows OEMs to configure any array of parameters for a device model, with different names. For example, you may have a device which records:

  • Air temperature
  • Water temperature
  • pH
  • Dissolved Oxygen

When configuring a device model, you can then create 3 parameters on it, like:

keydisplayNameunit
t0Air temperature°
t1Water temperature°
phpHpH
doDissolved Oxygenmg/L

Device specific information ​

Each device then has its own specific configuration which holds things including:

  • The device name e.g. Piddle Brook BOB
  • Overridden parameters

Overridden parameters ​

Although parameters are configured on the model level, they can be overridden specifically on the device too. For example, the end-user may want to rename a parameter, or perhaps extend the device with an extra parameter through an expandable AUX port. Or maybe the device wasn't shipped with one of the sensors. To save creating a specific model for this use-case, we can just remove that parameter from this device specifically, which avoids it appearing in the UI or in reports. This structure also allows the user to change the unit of measurement, for i18n purposes, e.g. using Fahrenheit rather than Celsius for a temperature parameter. OpenSonde would cover the recalculation here if the device is configured to send up the values in Celsius by default.