|
|
---
|
|
|
title: Behaviour Details
|
|
|
---
|
|
|
|
|
|
# **Subscription behaviour** #
|
|
|
## Subscription creation ##
|
|
|
- A subscription POST to create datapoint subscription will not create duplicates
|
|
|
Example: The subscription POST subscribes to a device aswell as a location with expand behaviour containing the device, will not result to duplicate callbacks
|
|
|
- Subscription Secret is a mandatory member, the API requires atleast one character with whitespace/empty not beeing accepted
|
|
|
|
|
|
## Subscription expiration ##
|
|
|
- The expiration lifetime is checked before sending callbacks and when creating a subscription
|
|
|
- Lifetime 0 results in a arbitrary very long lifetime of the subscription
|
|
|
|
|
|
## Subscription deletion ##
|
|
|
- As per recommendation of specification datapoint subscriptions are dropped when a new semantic export is uploaded
|
|
|
- The new semantic export may not contain the same datapoints as the previous
|
|
|
|
|
|
## Subscription resource expression ##
|
|
|
- As per specification recommendendation not all attributes of a subscriptions are expressed in subscription resources
|
|
|
- For example a /subscription/{subscriptionId} result may not contain the secret member
|
|
|
|
|
|
## Subscription PATCH ##
|
|
|
- The API considers a call back client (or endpoint / receiver) as a combination of URL and Secret
|
|
|
- Creating two identical Subscriptions will result in two Subscription Resources with theire own Id but no duplicate Datapoint callbacks
|
|
|
- Changing one of the Subscription Resources URL or Secret will not lead to changes of the other Subscription
|
|
|
- Instead the API considers the Subscription related two different call back clients/endpoints/receiver
|
|
|
|
|
|
# **Date Time value expression** #
|
|
|
- The API will use the current time of the host system to complete Date Times to the mandated ISO format
|
|
|
- This is relevant for DPT Date and TimeOfDay and DPT which uses such as compounds
|
|
|
|
|
|
|
|
|
## **Datapoint values** ##
|
|
|
- Datapoint values are currently not persitantly stored
|
|
|
- After a restart all datapoint values will not have a value
|
|
|
- Note: If the API was "offline" the values reliability is degraded, a persistant storage is therefore not implemented |