Calculate your proptech boost!

2025-04-28

Release notes – version 5.5.0

In this release

We’ve added new aggregation capabilities to both ArithmeticFunction and AggregateFunction and rolled out new endpoints for retrieving actuator history. Lastly, a new system-level endpoint now provides a quick overview of sensor edge status percentages.

New functionality

ArithmeticFunction – more perSensorAggregation

Two new aggregation types – Min and Max, that calculate minimum and maximum values during the period for each sensor respectively. 

ArithmeticFunction JSON schema:

 
 {
      "formula": "f(s1,s2)=s1+s2+25",
      "params": {
        "s1": "d3ac6734-c3e1-41ca-af2b-d793f5f281bc",
        "s2": "21c979f4-d3a2-44e1-b348-c61dd75d8078"
      },
      "period": "PT10M",
      "inputFallbackMode": "RequireCompleteInput",
      "ownedBy": "0a357a4f-053f-453f-ad5d-62f626f183e3",
      "class": "ArithmeticFunction",
      "perSensorAggregation": "(Sum|Mean|Median|Max|Min|LatesObservation)"
 }
 

AggregateFunction – perSensorAggregation, accrossSensorsAggregation

The general Aggregate function has not per sensor, and across sensor aggregations.  Bot ‘perSensorAggregation’  and ‘accrosSensorsAggregation’support the Min and Max aggregations.

AggregateFunction  JSON schema:

 
 {
      "period": "PT10M",
      "inputFallbackMode": "RequiredCompleteInput",
      "accrosSensorsAggregation": "(Sum|Mean|Median|Max|Min)",
      "perSensorAggregation": "(Sum|Mean|Median|Max|Min|LatesObservation)",
      "ownedBy": "61bcb8cb-ebfd-4179-85b9-3014c8c14d3a",
      "class": "AggregateFunction"
 }
 

Actuation History Per Actuator

Two new endpoints for actuation history for an actuator.

New endpoints to fetch latest actuation:

  • GET /actuator{id}/actuation/latest
  • GET /json/actuator{id}/actuation/latest

Parameters:

  • id – actuator identifier

A new endpoints for fetching actuations  for a period of time:

  • GET /actuator{id}/actuations/
  • GET /json/actuator{id}/actuations/

The response will be paginated, and a “next page token” is generated and returned to let the client make subsequent requests for the next page – until the final page (and all actuations) have been returned. 

The request parameters are:

  • id – actuator  unique identifier from where to get the actuations
  • startTime – ISO 8601 dateTime in UTC (Zulu)
    • “now” if empty
  • endTime – ISO 8601 dateTime in UTC (Zulu)
    • “now” – 24 hours if empty
  • size – the size of the page to be returned. 15 000 actuations on one page are max.
    • 1000  – if empty
  • nextPageToken – token for fetching a particular page. If specified a particular page will be returned, and if omitted, the first page will be returned. If there are subsequent pages, the response will include a token for fetching the next page.
    • initial page – if empty

Request:

  • GET /json/actuator/11b56f53-9626-4392-80b6-52f99158ec98/actuations?startTime=2025-03-28T00%3A00Z&endTime=2025-03-31T00%3A00Z&size=1000

Response:

 
 None

 {
  "last": true,
  "size": 2,
  "nextPageToken": null,
  "previousPageToken": null,
  "content": [
    {
      "actuationId": "115cfbb2-1e92-41cd-a338-ea2a764c690b",
      "actuationObservedBy": "11ac6734-c3e1-41ca-af2b-d793f5f281bc",
      "actuationRequest": {
        "agent": "11a9809c-37e5-4163-8af6-b1fafa5c4de3",
        "targetActuator": "11b56f53-9626-4392-80b6-52f99158ec98",
        "targetInterface": "11f22ac3-4d9c-4e27-be85-d936bdb73b28",
        "payload": "1",
        "requestTime": "2025-03-28T17:40:20.287195856Z"
      },
      "actuationRequestResponse": {
        "accepted": true
      }
    },
    {
      "actuationId": "116a2932-351b-4eda-973e-89731548a4c6",
      "actuationObservedBy": "11ac6734-c3e1-41ca-af2b-d793f5f281bc",
      "actuationRequest": {
        "agent": "11a9809c-37e5-4163-8af6-b1fafa5c4de3",
        "targetActuator": "11b56f53-9626-4392-80b6-52f99158ec98",
        "targetInterface": "11f22ac3-4d9c-4e27-be85-d936bdb73b28",
        "payload": "0",
        "requestTime": "2025-03-28T18:00:11.433684096Z"
      },
      "actuationRequestResponse": {
        "accepted": true
      }
    }
  ]
 }

 

Edge Status Overview for System

A new endpoint to return percentage number of the sensor edge statuses in a system.

Request:

  • GET /json/system/e6e344fb-c6bc-4698-8f55-8b9d49a6349d/edgestatus/overview

Response:

 
 None

 {
  "systemId": "e6e344fb-c6bc-4698-8f55-8b9d49a6349d",
  "edgeStatus": "NOT_STARTED",
  "edgeStatuses": {
    "UNKNOWN": 0,
    "WARM_UP": 0,
    "OK": 0,
    "WARNING": 0,
    "ERROR": 0,
    "NOT_STARTED": 100
  }
 }


 

Breaking changes

Fixes and minor upgrades

Improvements:

  • Change the percentages for System Edge statuses (PLAT-4793)
  • Do not allow decimal commas in the Arithmetic function representation (PLAT-4783)

Defect fixes:

  • Fix the edge connector status retrieve for singleton type connectors(simple-sample, smhi) (PLAT-4765)
  • Fixed aliases validation on batch update (PLAT-4822)

Fixed delete functionality (PLAT-4759)

Per Karlberg

CEO

Related posts

2025-10-20

Release notes – version 5.6

2025-03-07

Release notes – version 5.4.8

2025-02-24

Release notes – version 5.4.7

Subscribe to newsletter

By subscribing you agree to with our Privacy Policy.

Ready to see ProptechOS in action?

Take a leap into the future. See how ProptechOS can deliver real business value and support your journey toward a data-driven real estate business.