Class ControllerCommandMapped

java.lang.Object
org.openremote.agent.protocol.controller.ControllerCommand
org.openremote.agent.protocol.controller.command.ControllerCommandMapped

public class ControllerCommandMapped extends ControllerCommand
A ControllerCommandMapped represent a configuration to execute a Controller 2.5 command where exact command name to execute depend on a linked attribute value and the match between linked attribute value and command name is stored in a map where key is attribute value and value is the command name to execute

Example:

Control a fan with 3 speeds: low, mid, high
  • Controller 2.x: a command to read the state of the fan and a sensor associated with it + commands with no parameter to turn fan off, set it to low speed, medium speed or high speed
  • Manager 3.0: a read-write attribute (enum if it exists or string). Its value reflects the state of the sensor. If it is written to, appropriate command is sent to controller based on written value.

Mapping:

The end user defines the device_name and sensor_name to read the attribute value + the device_name for command execution and a mapping table for the command execution e.g.
 
 {
     "off": "cmd1",
     "low": "cmd2",
     "mid": "cmd3",
     "high": "cmd4"
 }
 
 
  • Constructor Details

    • ControllerCommandMapped

      public ControllerCommandMapped()
    • ControllerCommandMapped

      public ControllerCommandMapped(String deviceName, Map<String,String> actionCommandLink)
  • Method Details

    • getActionCommandLink

      public Map<String,String> getActionCommandLink()
    • setActionCommandLink

      public void setActionCommandLink(Map<String,String> actionCommandLink)