Auto-bound Gateways
When you configure the auto_bind group of an EMS, it is very important to note the difference between the settings, "gateway":true and "gateway":false. When used with a valid "name" property, either value results in the EMS attempting to bind the Thing with the ThingWorx Platform. In addition, either value allows the EMS to respond to file transfer and tunnel services that are related to the automatically bound Things. However, the similarities end here.
Auto-Bound Gateway
An auto-bound gateway can be bound to a ThingWorx Platform instance ephemerally if there is no Thing to bind with on the instance. Ephemeral binding is a temporary association between a platform instance and the EMS that lasts only until the EMS unbinds the gateway. In general, ephemeral Things are created on a ThingWorx Platform when no Remote Things with a matching Thing Name exist on it.
When the EMS is attempting to bind as a gateway, a Thing is automatically created on the ThingWorx Platform, using the EMSGateway Thing Template. The ThingWorx Platform binds the auto-bound gateway with this ephemeral Thing. This Thing is accessible only through the EMS REST Web Service. Once the EMS unbinds the gateway, the ephemeral Thing is deleted
If you do not want the automatically bound gateway to be ephemeral, you can create a Thing for it and choose the EMSGateway Thing Template in ThingWorx Composer. If you do not choose this template for the Thing, the platform does not bind the gateway with your Thing.
When used both normally and ephemerally, the
EMSGateway Thing Template provides some services that are specific to gateways. These services are not accessible to Things that are created with the
RemoteThing (and derivatives) Thing Templates.
|
The devices for which an EMS acts as a gateway can be set up to identify themselves to the EMS when they initialize and connect to it. Alternatively, when these devices are well known, you may want to define them explicitly in the EMS configuration. For examples of these two types of gateway configurations for an EMS, refer to the section, Example Configurations.
|
Auto-bound, Non-Gateway Things
A Thing that is automatically bound but is not a gateway has the following requirements:
• For the EMS to respond to messages that are related to properties, services, or events for a non-gateway, automatically bound Thing, a Lua Script Resource must exist. Custom Lua scripts must exist within the LSR to provide the capabilities to handle services, properties, and events.
• For the non-gateway Thing to bind successfully, you must first create a corresponding Thing on ThingWorx Platform, using the RemoteThing Thing Template (or any template derived from RemoteThing, such as RemoteThingWithFileTransfer).
The most common use of this type of automatically bound Thing is to bind a simple Thing that can handle file transfer and tunnel services but does not need any custom services, properties, or events.