Legacy Support > ThingWorx XMPP Edge MicroServer (EMS) Software > Server Side Configuration of Edge Things > Edge Thing Properties
  
Edge Thing Properties
There are three types of properties for an Edge or Edge Enhanced Thing on the server:
Local properties, not related to edge data.
Properties that have values that are pushed on change from the edge data.
Properties that are read from the edge data based on demand and a defined cache rule.
Using a combination of property settings, plus the edge software configuration, you can control these behaviors.
When you create a property on any edge thing, you have three options:
Add My Property (default) — This is just creating a property like you would for any server defined thing.
With Local Binding — Similar to binding any Thing type property to another property.
With Edge Binding — Specifically creating a property that is bound to an edge data point.
Let's focus on With Edge Binding, since that is unique to Edge Things. A property that is edge bound has some specific configuration options. It must be bound to a specific property on the remote Edge Thing (Edge Property Name field). The other fields to be defined are as follows:
Cache Options
For Edge Enhanced Things, Cache Options gives you three ways to read bound Edge Property values. Read from Server Cache prohibits server requests to the Edge Property value. It will only retrieve the value from the Server. Any updates to the Server cached Edge Property value are dependent upon the Edge Property's Data Change Type and the Scan Rate (i.e. 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 only ever return the Server property's 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. Fetched from Remote Every Read will retrieve the Edge Property value from the Edge for every request. There is no caching involved with this option. If the Data Change Type of the Edge Property to which you are binding equals NEVER, the Cache Type will default to this setting. Cached for # Seconds allows you to control the frequency by which requests to the Edge Property are made. Upon the first request the server will access the Edge Property for it's value, then not make another request to the Edge Property per the defined number of seconds, though the Edge Property may update the server value (via push) in that time frame.
Push Type
Push Type applies only to Edge Enhanced Thing Properties. These components have the ability to push their value changes to the server. This ability is can be configured via the server property binding. The configuration choices are as follows:
Pushed based on Value Change — you can also configure a value change threshold. When you use this setting, you can also set the Push Threshold value, which is a deadband that must be exceeded in order for a new value to be pushed to the server from the edge.
Never Pushed
Always pushed every change: For a Lua Script edge software component, the value will be pushed every time the data is read at the edge, which is determined by the scanRate setting at the Edge Thing.
Regardless of the configuration settings at the remote Edge Thing, when you save new push and cache settings at the server, the edge configuration will be overridden by the server settings. The server settings are considered the master settings. Whenever a Thing starts up on the server, or the server configuration changes, the edge software will look up the property configuration from the server and use those settings.
Property Configuration
It is possible to browse the Edge Thing component configuration and "mass" bind edge bound properties. Binding these properties all at once allows you to fully configure the Edge Thing on the platform by binding to the properties defined at the device. This can alleviate a lot of manual configuration at the server.
Suppose you have a remote device, with the ThingWorx edge software components already installed and configured. On the Server Edge Thing Properties tab, press the Manage Bindings button. On the Manage Property Bindings dialog, select Edge. You will see a list of the edge thing properties. You can drag them individually (to the Drag HERE to create new properties area) or Add All. You can then individually edit the server property name and binding definition to suit your needs. You can also bind the edge properties to already defined server thing properties by dragging an edge property onto an existing server property. When you bind properties from the edge, the cache and push settings from the edge will be set based on the configuration settings of the edge device. You can choose to override by changing the settings at the server.
You can always manually create the properties, as well, using the standard property configuration dialog.