In this release
The last step of the actuation flow is finally added and sensor status is estimated from telemetry patterns.
New functionality
Actuation endpoint
All phases of the actuation flow from request to response from the edge device and sensor observing the outcome, is collated in the response of the new endpoint /actuation/{id}.
{
“actuationId”: “<< ID of the actuation>>”,
“actuationRequest”: {
“agent”: “<< user or application making the request>>”,
“targetActuator”: “a4019775-cee8-45a1-b8ca-ae08c88f4bf8”,
“targetInterface”: “d00b5a67-03dd-4526-bbc7-2b52ba81b012”,
“payload”: “18”,
“requestTime”: “2021-06-09T07:00:00.50000Z”
},
“actuationRequestResponse”: {
“accepted”: true
},
“actuationCommand”: {
“actuatorId”: “a4019775-cee8-45a1-b8ca-ae08c88f4bf8”,
“value”: “18”
},
“actuationCommandResponse”: {
“responseCode”: 200
},
“actuationObservedBy”: “8c9871af-47e4-4eb2-a2ee-b5f43ca728ff”
}
When requesting an actuation (PUT /actuator/{actuator ID}/actuation), the response includes the resulting actuation ID. Since an actuation is an asynchronous process, following up the result of the actuation is a separate request to /actuation/{actuation ID}.
New endpoints:
GET /actuation/{id}
GET /json/actuation/{id}
Sensor Edge Status
With this feature, ProptechOS builds a statistical model of each sensor to estimate how often it is expected to send observations. Based on that model and the time since the last message, the status of the sensor is determined.
- OK: the time since the last observation is within the expected range, reasonably close to the typical interval.
- WARNING: the time since the last observation is significantly larger than the expected range.
(there is a 1 in 44 probability that normal behaviour would be categorized as warning.) - ERROR: the time since the last observation is so much larger than the expected range that it is unlikely to occur if the sensor is functioning normally.
(there is a 1 in 32 000 probability that normal behaviour would be categorized as error.) - WARM_UP: Awaiting sufficient observations to build the model for the sensor.
New endpoints:
GET /sensor/{id}/edgestatus
GET /json/sensor/{id}/edgestatus
POST /sensors/edgestatus
POST /json/sensors/edgestatus
Local coordinates for Assets
Asset location can now be determined via local coordinates (meters from the local origo of the building).
“isLocatedAtLocalCoordinates”: “22;4.40;0”
Previously, the location could only be inferred from the building component it was located in.
Updated endpoints:
GET /asset/
GET /asset/{id}/
POST /asset/{id}/
PUT /asset/{id}/
POST /assets/
PUT /assets/
ProptechOS Trace ID
Logging includes a trace ID, that is consistent across all involved components in ProptechOS. So when a warning or error is generated, it can quickly be found and investigated. Users will see the ProptechOS trace ID in a custom header ‘p8s-trace-id’ in all API responses:
cache-control: no-cache,no-store,max-age=0,must-revalidate
content-encoding: gzip
content-type: application/json
date: Wed,09 Jun 2021 10:04:15 GMT
expires: 0
p8s-trace-id: 8cdba1357a704492
pragma: no-cache
server: nginx/1.17.7
strict-transport-security: max-age=15724800; includeSubDomains
vary: Accept-Encoding,Origin,Access-Control-Request-Method,Access-Control-Request-Headers
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-property-owner:
x-xss-protection: 1; mode=block
Breaking changes
None.
Fixes and minor updated
New QuantityKind: Irradiance
http://qudt.org/vocab/quantitykind/Irradiance