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:

  • idactuator 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:

  • idactuator 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:

Unset

{
  “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:

Unset

{
  “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

Per Karlberg, a distinguished technology executive, demonstrates deep expertise in the nexus of real estate, technology, and ESG. Holding advanced degrees from Lund University, and with key roles as CEO of our company and Co-Founder of ProptechOS, he has shaped the proptech field through significant contributions to real estate technology advancements. His instrumental work in co-authoring “The realestatecore ontology” has facilitated digital transformation and ESG breakthroughs in the real estate sector.

Read his full bio and information here.