Default Node Outputs

Note that outputs are consistent across Alexa and Google Home issued commands, this is intentional in order to eliminate the need to re-engineer flows/ create complex logic to manage the different command directives.

General Capabilities/ Traits

Percentage Control

Adjust percentage command output, used when reducing/ increasing percentage (either by a specific amount or stating “increase”/ “decrease”):

msg : {
    topic: ""
    name: "Test Fan"
    _messageId: "ffa95808-dc09-4c50-a242-d166acb05d1b"
    _endpointId: "104"
    _confId: "bfd0fcf4.bc90e"
    command: "AdjustPercentage"
    extraInfo: object
    payload: 25
    acknowledge: true
    _msgid: "68eadf30.4f1a4"
}

Tip

msg.payload will be a +/- numerical value to be used in adjustment

Set percentage command output, used when specifying a percentage, such as 25%:

msg : {
    topic: ""
    name: "Test Fan"
    _messageId: "6851dbbf-e826-41f9-89ee-7cd4c9699a17"
    _endpointId: "104"
    _confId: "bfd0fcf4.bc90e"
    command: "SetPercentage"
    extraInfo: object
    payload: 25
    acknowledge: true
    _msgid: "a9433270.f9ea8"
}

Tip

msg.payload will be a numerical value for specific percentage

Power Control

Set percentage command output, for “turn on” commands:

msg : {
    topic: ""
    name: "Study Light"
    _messageId: "0791c4b3-c874-4192-a5ac-4c4b643c36ab"
    _endpointId: "17"
    _confId: "bfd0fcf4.bc90e"
    command: "TurnOn"
    extraInfo: object
    payload: "ON"
    acknowledge: true
    _msgid: "c94c43fa.41d31"
}

Tip

msg.payload will be a string, either “ON” or “OFF”

Scene Control

On scene activation:

msg : {
    topic: ""
    name: "Movie Night"
    _messageId: "3b6f7aa1-38c3-45a4-a94d-96e488c6d5ad"
    _endpointId: "7"
    _confId: "bfd0fcf4.bc90e"
    command: "Activate"
    extraInfo: object
    payload: "ON"
    acknowledge: true
    _msgid: "c3f50a98.9e0b08"
}

Tip

msg.payload will be string, and will always be “ON”

Light-Specific Capabilities/ Traits

Brightness Control

Adjust Brightness command output, used when reducing/ increasing brightness (either by a specific amount or stating increase/ decrease):

msg : {
    topic: ""
    name: "Bedroom Light"
    _messageId: "8cbe1407-34f1-4eef-97c9-007b4b4edcfd"
    _endpointId: "29"
    _confId: "bfd0fcf4.bc90e"
    command: "AdjustBrightness"
    extraInfo: object
    payload: -25
    acknowledge: true
    _msgid: "87891d99.acdbb"
}

Tip

msg.payload will be a +/- numerical value to be used in adjustment

Set brightness command output, used when specifying a percentage, such as 80%:

msg : {
    topic: ""
    name: "Bedroom Light"
    _messageId: "9c289ee2-fd71-4222-ad55-8a894f70b319"
    _endpointId: "29"
    _confId: "bfd0fcf4.bc90e"
    command: "SetBrightness"
    extraInfo: object
    payload: 80
    acknowledge: true
    _msgid: "c484148c.0aa918"
}

Tip

msg.payload will be a numerical value for specific percentage

Color Control

Set colour command output, used when specifying a colour, such as green:

msg : {
    topic: ""
    name: "Test Smartlight"
    _messageId: "245ae0ea-40cb-4a44-8618-fdea822de1bf"
    _endpointId: "99"
    _confId: "bfd0fcf4.bc90e"
    command: "SetColor"
    extraInfo: object
    payload: {
        "hue": 350.5,
        "saturation": 0.7138,
        "brightness": 0.6524
        }
    acknowledge: true
    _msgid: "334fa7b2.f8d148"
}

Tip

msg.payload will be a JSON object containing hue, saturation and brightness values

Color Temperature Control

Set color temperature command output, used when specifying values either by name, or numerical value in Kelvin:

  • warm || warmwhite: 2200
  • incandescent || soft white: 2700
  • white: 4000
  • daylight || daylight white:5500
  • cool || cool white: 7000
msg : {
    topic: ""
    name: "Bedroom Light"
    _messageId: "d506edb8-29a4-4009-9882-b17fe18e982d"
    _endpointId: "99"
    _confId: "bfd0fcf4.bc90e"
    command: "SetColorTemperature"
    extraInfo: object
    payload: 2200
    acknowledge: true
    _msgid: "47f1c84f.65f138"
}

Tip

msg.payload will a numerical value, representing colour temperature in Kelvin

Lock-Specific Capabilities/ Traits

Lock/ unlock command output:

msg : {
    topic: ""
    name: "Door Lock"
    _messageId: "5a15c0c4-1e05-4ca6-bf40-fca4393c2ec4"
    _endpointId: "128"
    _confId: "bfd0fcf4.bc90e"
    command: "Lock"
    extraInfo: object
    payload: "Lock"
    acknowledge: true
    _msgid: "7ce7f0e3.e96bd"
}

Tip

msg.payload will be a string, either “Lock” or “Unlock”

Media-Specific Capabilities/ Traits

Channel Control

Change channel command output, used when specifying a channel number, such as 101:

msg : {
    topic: ""
    name: "Lounge TV"
    _messageId: "01843371-f3e1-429c-9a68-199b77ffe577"
    _endpointId: "11"
    _confId: "bfd0fcf4.bc90e"
    command: "ChangeChannel"
    extraInfo: object
    payload: "101"
    acknowledge: true
    _msgid: "bd3268f0.742d98"
}

Tip

msg.payload will be a numerical value, representing the specific channel number

Command output, used when specifying a channel number, such as “BBC 1”:

msg : {
    topic: ""
    name: "Lounge TV"
    _messageId: "c3f8fb2d-5882-491f-b0ce-7aa79eaad2fe"
    _endpointId: "11"
    _confId: "bfd0fcf4.bc90e"
    command: "ChangeChannel"
    extraInfo: object
    payload: "BBC 1"
    acknowledge: true
    _msgid: "db9cc171.e30de"
}

Tip

msg.payload will be a string, representing the name of the channel requested

Warning

Channel names are only supported by Alexa, you can only use channel numbers when using this capability/ trait with Google Assistant.

Input Control

Select input command output, used when specifying an input such as “HDMI 2”:

msg : {
    topic: ""
    name: "Lounge TV"
    _messageId: "4e12b3dd-c5a0-457a-ad8b-db1799e10398"
    _endpointId: "11"
    _confId: "bfd0fcf4.bc90e"
    command: "SelectInput"
    extraInfo: object
    payload: "HDMI 2"
    acknowledge: true
    _msgid: "74f61e13.34871"
}

Tip

msg.payload will be a string, representing the requested input. Supported input names: HDMI1, HDMI2, HDMI3, HDMI4, phono, audio1, audio2 and “chromecast”

Playback Control

For playback control, msg.command changes, based upon the requested action (i.e. Play, Pause etc):

msg : {
    topic: ""
    name: "Lounge TV"
    _messageId: "f4379dcb-f431-4662-afdc-dc0452d313a0"
    _endpointId: "11"
    _confId: "bfd0fcf4.bc90e"
    command: "Play"
    extraInfo: object
    acknowledge: true
    _msgid: "fda4a47c.e79c08"
}

Tip

msg.payload will be a string, supported commands: Play, Pause, Stop, Fast Forward, Rewind, Next, Previous, Start Over

Volume Control

Tip

There are two speaker device types, a “Step Speaker” which is a “dumb” speaker that has no state and a “Speaker” which can return state (in terms of volume level).

Adjust volume command:

msg : {
    topic: ""
    name: "Test Speaker"
    _messageId: "77c8161c-8935-446a-9087-2ee0b9b90cdc"
    _endpointId: "98"
    _confId: "bfd0fcf4.bc90e"
    command: "AdjustVolume"
    extraInfo: object
    payload: 10
    acknowledge: true
    _msgid: "9f95ad7e.c2574"
}

Tip

msg.payload will be a +/- numerical value, if no value specified message msg.payload will be +/- 10

Warning

For “Step Speaker” devices, msg.payload will always be +/- 10.

Set volume command, used to set to specific value/ percentage:

msg : {
    topic: ""
    name: "Lounge TV"
    _messageId: "0bfd0aac-8dd1-4c8c-a341-9cfb14fa06d6"
    _endpointId: "11"
    _confId: "bfd0fcf4.bc90e"
    command: "SetVolume"
    extraInfo: object
    payload: 50
    acknowledge: true
    _msgid: "aa31e847.2da6e8"
}

Tip

msg.payload will be a +/- numerical value for specific percentage

Warning

“Step Speaker” volume cannot be set to a specific number.

Mute command:

msg : {
    topic: ""
    name: "Lounge TV"
    _messageId: "7fd278b4-1e9f-4195-9dc9-40e378a5f24b"
    _endpointId: "11"
    _confId: "bfd0fcf4.bc90e"
    command: "SetMute"
    extraInfo: object
    payload: "ON"
    acknowledge: true
    _msgid: "8fcd1348.907e1"
}

Tip

msg.payload will be a string, either “ON” or “OFF”

Thermostat-Specific Capabilities/ Traits

Adjust Temperature

Adjust the temperature through “lower,” “raise,” “turn up the heat” etc. commands:

msg : {
    topic: ""
    name: "Thermostat"
    _messageId: "3b618e03-f112-4e54-a291-62953467a1f3"
    _endpointId: "91"
    _confId: "bfd0fcf4.bc90e"
    command: "AdjustTargetTemperature"
    extraInfo: object
    payload: 1
    temperatureScale: "CELSIUS"
    acknowledge: true
    _msgid: "26950952.9183b6"
}

Tip

msg.payload will be +/- 1, the number to adjust the thermostat set point by

Set Target Temperature

Set target temperature:

msg : {
    topic: ""
    name: "Thermostat"
    _messageId: "67ebfd1b-dd16-4681-afb3-e0d0f3152865"
    _endpointId: "91"
    _confId: "bfd0fcf4.bc90e"
    command: "SetTargetTemperature"
    extraInfo: object
    payload: 22
    temperatureScale: "CELSIUS"
    acknowledge: true
    _msgid: "b8afdc95.b06fe"
}

Tip

msg.payload will be a numerical value, representing desired/ target temperature

Set Thermostat Mode

Available modes will depend upon device configuration within the Node-RED Smart Home Control service, as well as the physical device capabilities:

msg : {
    topic: ""
    name: "Thermostat"
    _messageId: "7f5b0559-f015-4e75-9443-3feac8fe6ac5"
    _endpointId: "91"
    _confId: "bfd0fcf4.bc90e"
    command: "SetThermostatMode"
    extraInfo: object
    payload: "OFF"
    acknowledge: true
    _msgid: "6a879991.5d6d38"
}

Tip

msg.payload will be a string, API supported modes: Auto, Eco, Heat, Cool, On, Off (support varies by smart assistant platform)