HubAction Object

From Hubitat Documentation
Jump to: navigation, search

Constructor

Create a HubAction object. While protocol is optional, it is recommended that it be provided. If it is not specified the system will default to the LAN protocol.

Signature
HubAction()
HubAction(String request)
HubAction(String request, Protocol protocol, String dni)
HubAction(String request, Protocol protocol, String dni, Map options)
HubAction(String request, Protocol protocol)
HubAction(String request, Protocol protocol, Map options)
HubAction(Map params)
HubAction(Map params, String dni)
HubAction(Map params, String dni, Map options)
Parameters
request - The command to send as a String, this can be a ZigBee, Z-Wave or Lan message to send.
protocol - The protocol to use when sending the message. See the Protocol documentation for more info.
dni - The device network Id to use when sending the message.
options - Optional settings when sending the command. See examples for usage. Possible values:
callback - A method name to pass the response from the HubAction back to. If not specified the response will be handed to the parse method of a Device or will be discarded if this HubAction was called from an App.
destinationAddress - The destination address to use when sending LAN messages. In the format ip:port, if no port is specified it defaults to 80.
destinationPort - The port number to use when sending UPNP discovery messages. Defaults to 1900.
type - The type of message to send if its not a standard HTTP request.
HubAction.LAN_TYPE_UDPCLIENT - Send message as a UDP package.
HubAction.LAN_TYPE_RAW - Send message as a raw TCP message.
secureCode - Used as part of a wake on lan request.
encoding
ignoreResponse - Used as part of UDP messages, instructs the system to ignore any response from the device to this message.
timeout - Used as part of UPD or TCP messages. Sets the timeout for response from the device, defaults to 10 seconds, acceptable range is 1 to 300.
params - a list of parameters for sending a Lan message. Possible values:
method - The http method to use, ie GET, POST, etc.
path - The path to access on the http endpoint.
query - Any query parameters to use when calling the path.
body - The request body to send.
headers - Additional headers to use in the http request.
Examples
//Create and send a Z-Wave message
def hubAction = new hubitat.device.HubAction(new hubitat.zwave.commands.basicv1.BasicGet().format(), hubitat.device.Protocol.ZWAVE)
sendHubCommand(hubAction)
// Protocol.LAN examples

// Send UDP Message
new HubAction("My UDP Message", Protocol.LAN, [type: HubAction.Type.LAN_TYPE_UDPCLIENT])

// Send Binary UDP Message 
new HubAction("48756269746174", Protocol.LAN, [type: HubAction.Type.LAN_TYPE_UDPCLIENT, encoding: HubAction.Encoding.HEX_STRING])

// Send Wake On Lan to mac address 00:11:22:33:44:55
new HubAction("wake on lan 00:11:22:33:44:55", Protocol.LAN)

// Send Wake On Lan to mac address 00:11:22:33:44:55 with secure code
new HubAction("wake on lan 00:11:22:33:44:55", Protocol.LAN, [secureCode: "112233"])

getAction

Can be used to get the request value of the HubAction.

Signature
String getAction()

getCallbackMethod

Signature
String getCallbackMethod()

getURI

Signature
URI getURI()