In this release
In this release we introduce new capabilities for agents with the OrganizationAdmin role, allowing them to share access to resources they can manage, also OrganizationAdmin now have control over the Streaming API streams that belong to the Organization, enabling stream creation, updates, and consumer group management. Twin filtering for “in_range” queries has been improved by using associated twins global coordinates when the desired twin’s coordinates are missing. Additionally, a new SumObservationFunction has been added to calculate the sum value over multiple observed sensors’ values within a configurable period.
New functionality
Organization Admin access improvements
RPP management
Since this release agent with the OrganizationAdmin role will be able to share access to the resources which he has management access to. It means that only resources under the role management control could be shared. The own agent’s resource access can’t be shared. Detailed example:
Agent with OrganizationAdmin role:
OrganizationAdmin role:
In the example above person has two different types of resource access:
- own access to the resources
- management access to the resources
So only management access to the resources (resources included in the corresponding ResourcePermissionPolicy) could be shared.
All newly created ResourcePermissionPolicies are automatically added under the management control of the OrganizationAdmin.
Streaming API management
The OrganizationAdmin role now provides management access to the Streaming API that belongs to the Organization. OrganizationAdmin is allowed to:
- Create/Update/Delete Stream;
- Add new Stream to the existing Streaming API (new EventHub, the max number of eventhubs is 10);
- Remove Stream from the existing Streaming API;
- Add/Remove Stream consumer groups;
- Read Stream policies;
The only limitation is that the initial Streaming API setup should be requested either from PropertyOwner Admin or from ProptechOS onboarding team.
In range query based on coordinates of related twins
For endpoints utilizing the “in_range” filter, we have enhanced the logic to more precisely locate twins within the specified range. The filtering now leverages the global coordinates of associated twins when the desired twin lacks global coordinates e.g “in_range” filtering of devices will use the Room’s global coordinates if the Device itself does not have them. Applied to endpoints:
- GET /json/asset?in_range=10;10;10&page=0&size=50
- GET /json/device?in_range=10;10;10&page=0&size=50
- GET /json/sensor?in_range=10;10;10&page=0&size=50
- GET /json/actuator?in_range=10;10;10&page=0&size=50
- GET /json/room?in_range=10;10;10&page=0&size=50
- GET /json/storey?in_range=10;10;10&page=0&size=50
Filtering rules are in the table below.
Device:
Device → locatedIn BuildingComponent → isPartOfBuilding Building
Asset:
Asset → mountedIn BuildingComponent → isPartOfBuilding Building
BuildingComponent:
BuildingComponent → hasSuperBuildingComponent BuildingComponent
BuildingComponent → isPartOfBuilding Building
Sum (of N sensors) Function – Consolidate Observation
SumObservationFunction – SumObservationFunction calculates the sum value over the observed sensors’ values over a configurable period. If during the configured period any of the observed sensors didn’t provide any observation, the sum value will not be calculated. (Sensors with SumObservationFunction should observe at least 2 sensors).
SumValueFunction json schema:
In order to set up ‘recalculationPeriod’ ISO 8606 Duration format should be used, the example above is for a period of 1 hour.
Breaking changes
- None
Fixes and minor upgrades
Improvements:
- Added placement context Electrical Grid (PLAT-4602)
- Added opportunity to get AppRoles assigned to person/persons (PLAT-4569)
- Added support to manage Lindinvent connector edge config via EdgeManagement (PLAT-4551)
- Added support to manage Epspot connector via EdgeManagement (PLAT-4552)
- All newly created Applications will support OpenId (PLAT-4591)
Defect fixes:
- The /json/twin endpoint returns hasFunction for the sensor (PLAT-4587)
- Fixed status retrieve for LogicalDevice under VPN (PLAT-4534)
- Fixed batch update of asset `hasGeoReferenceOrigo` flips the coordinate latitude and longitude. (PLAT-4555)
- Fixed incorrect page size limitation for actuator observations endpoint (PLAT-4581)
- The collection endpoint doesn’t return areaQuantities for Tenant Units (PLAT-4557)
- ServedBy relation is missing in API response (PLAT-4601)