Controllers are the control applications that an end user or control room operator uses to control one or more Production Things. For example, a mobile control application can be the controller for Things inside a home. A web application may be the controller of multiple devices and robots in a manufacturing floor. Controllers connect to the platform using WebSockets, HTTP REST, MQTT or PlugNet™ if the Controller is a SmartPlug™.
- Controller Enrollment/Activation Parameteres.
- Controllers Management Console.
- Controller Properties Console.
Controllers enroll into the platform and acquire a Plug-ID and activation/connection password with the following credentials:
- Name – optional parameter that provides a name to the Controller. You can change the Name of the controller after enrollment using the Controller management console.
- Serial number – optional parameter to set a hardware ID that the controller can enroll with. It is important to add a serial number to a Controller if the control application will be associated with a physical control device and you want to associate the device’s serial number with the control application.
- Thing Serial Number/Hardware ID – required. It is the serial number of the Production Thing (as set in the Thing’s Production Template) that the Controller application will control.
- Control password – required. It is the Control password of the Production Thing (as set in the Thing’s Production Template) that the Controller application will control.
Controllers enroll into the platform using the libraries provided, using WebSockets if the enrollment takes place through an application developed with the Control Designer, or using the REST API. Once they are enrolled, the platform assigns to them a Plug-ID and an activation/connectivity password that are used in all future connections to the platform.
Controllers are displayed and can be managed from the Controllers management console. The management console allows you to Open () and edit the properties and status of a Controller as well as to select and Delete () Controllers.
The console shows the following columns:
- Name is the name under which the controller has enrolled. You can change the Name of the controller by opening it and editing the name field.
- Plug-ID is the unique id assigned to the Controller by the CloudPlugs platform.
- User Name indicates the optional but recommended user name associated with the controller application that was set during the Controller’s enrollment with the platform.
- Enabled indicates if the controller’s communication with the platform is Enabled or Disabled. The state of the controller can be changed by opening it.
- Connection status, which indicates whether the Controller is online or offline.
- Connection Type, which indicates the protocol that the Controller is using to connect to the platform.
- Triggers indicates how many, if any, Triggers have been programmed for the Controller. They can be modified by opening the Controller.
- Enrolled shows the date in which the Controller was enrolled by the platform.
- Notes any notes associated with the Controller and they can be modified by opening the Controller.
You can select which columns are displayed through the dropdown menu for each column. Some of the columns also allow additional filtering capabilities. See the images below that show the default display of the columns as well as the dropdown column selection menu.
The Controller properties console can be used to:
- Set or edit the Controller Device Profile.
- Set or edit Location.
- Program or edit Triggers. Please refer to the Triggers guide for details on how to program them.
- View traffic and storage usage statistics. Please refer to the Statistics guide for details.
- View the data published by the Controller, and to publish data as the Controller. Refer to the Publish data guide for details.
The Controller Device Profile is accessed by opening General () --> Device Profile ().
The window displays three panels:
The General Properties panel displays the Controller’s:
- Name provided either during enrollment or the name generated automatically by the platform.
- Plug-ID generated by the platform during the Controller’s enrollment process.
- User Name which is typically entered during enrollment.
- Enabled which allows you to enable or disable a Controller.
- Connection Status which indicates whether the Controller is online or offline.
- Connection Type which indicates the protocol used by the Controller for its connection.
- Notes which allows you to enter any notes related to this controller.
The Controller Additional Properties consist of metadata that you can associate with the Controller. They are exactly the same as those for Prototypes, Production Templates and Production Things.
For more details, please refer to the Additional Properties Guide.
The Permissions panel is used to:
- Set or reset the Controller password. Please note that if this is done, the related end user control application will only be accessible if the user enter the new password. Also note that this is not the Production Thing’s Control password which once set, never changes.
- Display the Production Things controlled by the Controller along with the Permissions granted to the Controller for each individual Production Thing.
- Remove a Production Thing from the control of the Controller. This does not delete the Production Thing. The Controller will no longer control the Production Things deleted from the list.
Permissions for the Controller are either Read only or Read/Write. These permissions are set either through the Production Thing’s Production Template, or through the individual Production Thing’s Permission’s panel under permissions for new control requests.
- Read/Write permission allows the controller to:
- Overwrite the properties of a Thing.
- Modify data already published by a Thing.
- Publish data as if it was a Thing.
- Delete data published by a Thing.
- Read only permission allows the controller to:
- Read data published by a Thing.
- Read the properties of a Thing.
- Enable a Thing to access the data published by the controller.