In this release

We introduce an ObservationFunction, a new base class for sensors to modify or transform sensor observations coming into ProptechOS. The ScaleFunction is the first use of ObservationFunction, applies scale factor and offset, useful to correct or change sensor units.

New functionality

Sensor ObservationFunction (ScaleFunction)

ObservationFunction – new twin base class that represents new sensor abilities. ObservationFunction will allow the sensor to modify the observation value of the observing sensor, according to specified rules. ScaleFunction – first implemented ObservationFunction subtype. ScaleFunction modifies original observation value into new unit via multiplication on scale factor value and adding offset value if it’s needed. Thus ProptechOS can serve in parallel two telemetry values from the same physical Sensor: original data and scaled data. In order to set up a Software Sensor, it should have assigned at least one observing sensor id (relation – ‘observesSensor’) and observation function id (relation – ‘hasFunction’).

ScaleFunction json schema:

{
    “class”: “ScaleFunction”,
    “ownedBy”: “0a357a4f-053f-453f-ad5d-62f626f183e3”,
    “scaleFactor”: double,
    “offset”: double
}

Endpoints to manage ObservationFunction:

  • GET /json/observationfunction/{id} – get single;
  • GET /json/observationfunction – get list;
  • POST /json/observationfunction – create single;
  • PUT /json/observationfunction – update single;
  • DELETE /json/observationfunction/{id} – delete single;
  • PUT /json/observationfunction/{id}/restore – restore single;
  • GET /json/observationfunction/{id}/includedin – get list of including collection;
  • GET /json/observationfunction/{id}/history – get history of the single function;

Breaking changes

None

Fixes and minor updated

New connectors:

  • Fidelix
  • Switch automation

Added edge management support for the connector types:

  • UbiqiSense
  • Terrabee

Improvements:

  • Application Specific Properties accepts a new data type ‘array’. Array accepts items only of simple types: integer, number and string.
  • Added class filter to GET /preview/json/logicaldevice/{id}/config/twins endpoint (PLAT-4397)
  • Implement “calculating” of Device edge status in statetroupe (PLAT-4325)

Defect fixes:

  • API can’t execute GET Application request with more than 158 app uuids (PLAT-4441)
  • Filter by “application_ids” does not work properly for organization admin (PLAT-4410)
  • Building address not returned for /json/twin/{id} (only_common_fields=false) (PLAT-4378)
  • SMHI edge connector is updated but there are no observations at new added sensors (PLAT-4391)
  • Edit Simple Sample Edge Connector functionality issue (PLAT-4377)
  • NullPointerException when processing Observation message (PLAT-4460)
  • Forbid create/update of LogicalDevice via general device endpoint (PLAT-4301)