Event messages and system commands

An event message is a method of pushing data to the cloud. Specific logic triggers an event message. For example, an alarm triggers a NewAlarm event message.

Event messages

The CloudDevice contains a “concrete cloudFactory” to accomplish such things as getting message types to send to the cloud. For example, the SentienceCloudProtocolFactory located within the CloudSentienceDevice creates messages that are specifically formatted to work with the Niagara Cloud Honeywell Sentience Driver cloud platform. The types of event messages are listed here:

  • NewAlarms - sent to the cloud provider
  • AlarmAckRequests - from the cloud provider
  • AlarmAckResponses - to the cloud provider
  • As well as others such as DeviceAckRequests, etc.

System Commands

The cloud platform can send system commands down to the JACE/ Supervisor. Handling for these system commands is done by extending a specific class. This is done via the CloudCommandsDeviceExt.

When a system command is received via the CloudConnector, the CloudCommandsDeviceExt is called to determine if it has a registered command to handle the incoming message. If there is one, the appropriate registered command is called to process the message.

Currently, there are 12 built-in commands to read/write to the points that are in the Niagara Cloud. The commands are listed here.

  • AlarmAckCommand — Acknowledges an alarm.
  • BatchAlarmAckCommand — Acknowledges a list of alarms.
  • CloudMultiPointClearCommand — Releases the values and priority levels of a list of cloud accessible points in the station that were previously set with a CloudPointWriteCommand or CloudMultiPointWriteCommand.
  • CloudMultiPointReadCommand — Returns the values of a list of cloud accessible points in the station.
  • CloudMultiPointReadInputsCommand — Reads the active inputs to a list of cloud proxy points.
  • CloudMultiPointWriteCommand — Sets the values of a list of cloud accessible points in the station.
  • CloudPointReadCommand — Returns the values of an individual cloud accessible point in the station.
  • CloudPointReadInputsCommand — Reads the active inputs to a cloud proxy point.
  • CloudPointWriteCommand — Sets the value of an individual cloud accessible point in the station.
  • CovActiveCommand — Sets a list of points into COV mode.
  • CovInactiveCommand — Takes a list of points out of COV mode.
  • InvokeCommand — Allows invocation of an action on a component.
  • RetrieveCloudCommandsCommand — Lists the names of all commands that are available on this system, including the built-in ones, and any custom commands that are installed.
  • RetrieveCloudPointsCommand — Lists the names of all the points in the station that are accessible from the cloud.
  • SubscribePointsCommand — Tells one or more cloud proxy points to put their associated station point into subscription.
  • UnsubscribePointsCommand — Tells one or more cloud proxy points to put their associated station point out of subscription.

With Cloud Command Queues the JACE/ Supervisor now responds as soon as the command has been placed in the queue. When the command executes its output is sent to the cloud via NewEventMessage(s) and when the command exits another NewEventMessage is sent.

The CloudCommandsDeviceExt must be enabled before any individual command can run. Also, the PointReadAllowed and PointWriteAllowed properties for the NiagaraCloudNetwork must be set to “true” in order to service point-reads and point-writes, respectively.

Custom commands

In addition to providing many “built-in” commands, the Niagara Cloud also provides the capability to handle custom commands. This ability to invoke custom code provides greater flexibility, however, there are multiple restrictions and security requirements.

 CAUTION: There are known security risks in executing cloud-to-device commands. Refer to the “ Security recommendations” chapter in this guide for detailed information on design recommendations and security requirements for implementing Cloud Commands functionality on the station.