|
If a local Thing and a Remote Thing have a property with the same name, and another property is bound to the remote property setting, the remote property also sets the local property value.
|
|
After changing the value of remote property on remote Thing through the Composer, it is not saved in ThingWorx, and the DataChange event does not get triggered. Only the property update is sent to the edge.
|
|
For information on setting up property bindings, whether local or remote, see Manage Property Bindings.
|
Option
|
Description
|
---|---|
UpdatePropertyValues
|
Accepts a single values InfoTable parameter consisting of multiple rows. Each row contains the property name, value, and quality, accompanied by the update timestamp. Property values cannot be set to null.
By default, the value updates are performed for each property separately. To have the values sorted and grouped by timestamp rather than by property, the GroupPropertyValuesByTime setting should be set to true in theBasicSettings section of platform-settings.json.
When the above setting is set to true, the data-triggered events and alerts for all properties updated with the same timestamp are fired together. As a result, multi-event subscriptions registered for some or all these events will execute only once per timestamp, having the matched events passed in the events parameter.
|
UpdatePropertyValuesBatched
|
Accepts a single batches InfoTable parameter consisting of multiple rows. Each row contains a batch of properties’ values and the update timestamp.
The batch field value is an InfoTable consisting of multiple rows. Each row contains the property name, value, and quality. Property values cannot be set to null.
The properties' values are sorted and grouped by batches' timestamps, meaning that the data-triggered events and alerts for all properties updated with the same timestamp are fired together. As the result, multi-event subscriptions registered for some or all these events will execute only once per timestamp, having all matching events passed in the events parameter.
|
|
When writing custom services, avoid generating code which may concurrently modify the same property of a given entity. For example, do not concurrently increment or decrement a property value, as it can result in unpredictable property values. Similarly, incrementing properties to act like counters within subscriptions is a common misuse that will result in inaccuracy.
|
|
If the data change event fails to fire under certain circumstances, the value stream entry may not be logged, but the property value set is retained. It is possible that properties can be set on an entity, but the corresponding value stream write may be dropped, due to the queue containing those writes becoming full and unable to empty to the database. This may occur if the volume of incoming writes is greater than how fast the queue is configured to empty. This can be tuned in platform-settings.json per persistence provider. Loss of connection from ThingWorx to the database may also cause the queue to back up and not empty in a performant manner.
|
Option
|
Description
|
||
---|---|---|---|
Remote Property Name
|
The name of the property, as it exists at the Edge.
|
||
Cache Method
|
Cache method provides the following ways to read bound Edge property values:
• Read from server cache prohibits server requests to the Edge property value. It only retrieves the value from the server. Any updates to the server-cached Edge property value depend on the Edge property's Data Change Type and the scan rate (Edge property value push definition). Without the proper settings at the Edge property, it is possible for the server to never have the Edge property value and to only return the server property default value. If the Data Change Type of the Edge property to which you are binding equals ALWAYS or VALUE, the cache type will default to this setting.
• Fetch from remote every read retrieves the Edge property value from the Edge for every request. There is no caching with this option. If the Data Change Type of the Edge property to which you are binding equals NEVER, the cache type defaults to this setting.
• Cached for specific time controls the frequency of requests to the Edge property. After the first request, the server accesses the Edge property for its value and does not make another request to the Edge property for the defined number of seconds. Note that the Edge property may update the server value (via push) during that time.
|
||
Cache Interval
|
The time period (in seconds) for which the server caches the Edge property value before a request for the property value retrieves it from the Edge. The value is always retrieved from the Edge at the first request.
|
||
Start Type
|
Specifies the value used to initialize a remotely-bound property when its Thing starts or restarts. This initialized value does not trigger a property change event.
• Use Default Value — sets the initial value of the property to the specified default value, despite the edge-side value. If the property is persisted, then the initial value will be set to the last value persisted to the database.
• Read Edge Value — queries the edge for its current value, so that the value on the server is always in sync with the value on the edge, even when the Thing restarts on the server.
|
||
Push Type
|
Push Type applies only to Edge enhanced Thing properties. These components can push their value changes to the server. You can configure this ability using the server property binding.
• Pushed based on value change: you can configure a value change threshold. When you use this setting, you can also set the Push Threshold value, a deadband that must be exceeded before a new value is pushed to the server from the edge.
• Never pushed
• Always pushed
|
||
Push Threshold
|
This option is available if Push Type is set to Pushed based on value change. It specifies the range (plus or minus) around the edge property value for the property value push to occur. The property value must change by more than the specified value.
|
||
When Disconnected
|
Specifies how the remote property value binding should be handled if the connection to the Remote Thing is temporarily lost.
• Ignore values that are changing while disconnected.
• Fold all the changes into a single last changed value — Send the last changed value when the connection is restored.
|
||
Timeout
|
The timeout used for calls to Remote Things during a property read or write.
• Use system default — The default is 30 seconds.
• Custom timeout. Add to Timeout Interval (sec).
|