Hi everybody, this is my first attempt at a node-red flow. The purpose of this was to get my Aeon z-wave light bulb to change colour randomly at random interval. This light bulb is part of my Christmas decoration outside. You'll need the following paletts "node-red-contrib-homeseer", "node-red-contrib-random-event-generator", and "node-red-node-random". In Homeseer, the bulb has 7 controls, a control for the red, blue and green channels, a control for the Cool-White and Warm-White, another for a RGB setting, and a control for Dimming. I couldn't get node-red to send anything to the RGB control and the dimmer is set to 100% when the bulb comes on in homeseer. So I'm only using 5 of the 7 controls.
I setup it up in Homeseer that I have a virtual switch that comes on when it's time for the Holiday lights to be on (sunset to 10pm). In Node-red, when this virtual switch comes on, it activates the random event which sends a trigger between 30 and 120 seconds. It also turns off the Cool & Warm white. When the event is triggered it sends a random number between 1 and 255 to the red channel, then another to green channel and finally another to the blue channel.
When the virtual switch turns off, it resets the bulb's colour to Warm-White and all the rest to off. It also turns off the event timer.
[
{
"id": "736c96e8.5b772",
"type": "inject",
"z": "2bcb81e0.3bf1ee",
"name": "toggle",
"props": [
{
"p": "topic",
"vt": "str"
},
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "control",
"payload": "toggle",
"payloadType": "str",
"x": 790,
"y": 540,
"wires": [
[
"5c3b1ea5.d3edf8"
]
]
},
{
"id": "3c87bd13.713992",
"type": "debug",
"z": "2bcb81e0.3bf1ee",
"name": "Event Message",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 1320,
"y": 480,
"wires": []
},
{
"id": "5c3b1ea5.d3edf8",
"type": "event",
"z": "2bcb81e0.3bf1ee",
"name": "",
"controlTopic": "control",
"startCmd": "start",
"stopCmd": "stop",
"meanInterval": "120",
"distribution": "uniform",
"minInterval": "30",
"maxInterval": "120",
"outputTopic": "event",
"outputPayload": "timestamp",
"x": 1110,
"y": 600,
"wires": [
[
"3c87bd13.713992",
"787f1624.3eb21",
"97e255e.7707aa8",
"e3b3ce0f.b33688"
]
]
},
{
"id": "d8afe4cd.65a53",
"type": "inject",
"z": "2bcb81e0.3bf1ee",
"name": "start",
"props": [
{
"p": "topic",
"vt": "str"
},
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "control",
"payload": "start",
"payloadType": "str",
"x": 790,
"y": 460,
"wires": [
[
"5c3b1ea5.d3edf8"
]
]
},
{
"id": "c4ce78c3.2705f8",
"type": "inject",
"z": "2bcb81e0.3bf1ee",
"name": "stop",
"props": [
{
"p": "topic",
"vt": "str"
},
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "control",
"payload": "stop",
"payloadType": "str",
"x": 790,
"y": 500,
"wires": [
[
"5c3b1ea5.d3edf8"
]
]
},
{
"id": "6ad7b0f0.4d0a68",
"type": "debug",
"z": "2bcb81e0.3bf1ee",
"name": "Holiday Switch",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 800,
"y": 820,
"wires": []
},
{
"id": "106e319c.2d07ce",
"type": "hs-device",
"z": "2bcb81e0.3bf1ee",
"name": "Holiday Lights Control",
"device": "231",
"server": "3e12b471.f3aa44",
"feature": "232",
"reportonstartup": true,
"x": 600,
"y": 760,
"wires": [
[
"6ad7b0f0.4d0a68",
"d6e343c6.56ae8",
"691c1045.28a388"
]
]
},
{
"id": "d6e343c6.56ae8",
"type": "switch",
"z": "2bcb81e0.3bf1ee",
"name": "if (on) else",
"property": "payload.value",
"propertyType": "msg",
"rules": [
{
"t": "eq",
"v": "100",
"vt": "num"
},
{
"t": "else"
}
],
"checkall": "true",
"repair": false,
"outputs": 2,
"x": 610,
"y": 600,
"wires": [
[
"b9640f2b.cc02c"
],
[
"e82c8239.cf2fe8"
]
]
},
{
"id": "b9640f2b.cc02c",
"type": "change",
"z": "2bcb81e0.3bf1ee",
"name": "Start",
"rules": [
{
"t": "delete",
"p": "payload",
"pt": "msg"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "start",
"tot": "str"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "control",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 790,
"y": 580,
"wires": [
[
"5c3b1ea5.d3edf8"
]
]
},
{
"id": "e82c8239.cf2fe8",
"type": "change",
"z": "2bcb81e0.3bf1ee",
"name": "Stop",
"rules": [
{
"t": "delete",
"p": "payload",
"pt": "msg"
},
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "stop",
"tot": "str"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "control",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 790,
"y": 620,
"wires": [
[
"5c3b1ea5.d3edf8",
"6a4a1436.1fd56c",
"4e1d4779.956088"
]
]
},
{
"id": "34453b76.3e3414",
"type": "hs-device",
"z": "2bcb81e0.3bf1ee",
"name": "Lamp Post Bulb Blue",
"device": "1107",
"server": "3e12b471.f3aa44",
"feature": "1112",
"reportonstartup": true,
"x": 1780,
"y": 540,
"wires": [
[
"ce51e459.5015f"
]
]
},
{
"id": "8b05f115.9cb06",
"type": "hs-device",
"z": "2bcb81e0.3bf1ee",
"name": "Lamp Post Bulb Green",
"device": "1107",
"server": "3e12b471.f3aa44",
"feature": "1111",
"reportonstartup": true,
"x": 1780,
"y": 600,
"wires": [
[
"ce51e459.5015f"
]
]
},
{
"id": "94588645.c4aac8",
"type": "hs-device",
"z": "2bcb81e0.3bf1ee",
"name": "Lamp Post Bulb Red",
"device": "1107",
"server": "3e12b471.f3aa44",
"feature": "1110",
"reportonstartup": true,
"x": 1780,
"y": 660,
"wires": [
[
"ce51e459.5015f"
]
]
},
{
"id": "9017aea0.c1f0d8",
"type": "hs-device",
"z": "2bcb81e0.3bf1ee",
"name": "Lamp Post Bulb CW",
"device": "1107",
"server": "3e12b471.f3aa44",
"feature": "1109",
"reportonstartup": true,
"x": 1780,
"y": 740,
"wires": [
[
"ce51e459.5015f"
]
]
},
{
"id": "d2e9686d.ed0218",
"type": "hs-device",
"z": "2bcb81e0.3bf1ee",
"name": "Lamp Post Bulb WW",
"device": "1107",
"server": "3e12b471.f3aa44",
"feature": "1108",
"reportonstartup": true,
"x": 1780,
"y": 800,
"wires": [
[
"ce51e459.5015f"
]
]
},
{
"id": "691c1045.28a388",
"type": "change",
"z": "2bcb81e0.3bf1ee",
"name": "Off",
"rules": [
{
"t": "set",
"p": "payload.value",
"pt": "msg",
"to": "0",
"tot": "num"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "control",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1530,
"y": 800,
"wires": [
[
"9017aea0.c1f0d8",
"d2e9686d.ed0218"
]
]
},
{
"id": "ce51e459.5015f",
"type": "debug",
"z": "2bcb81e0.3bf1ee",
"name": "Bulb Other Message",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 2060,
"y": 660,
"wires": []
},
{
"id": "787f1624.3eb21",
"type": "random",
"z": "2bcb81e0.3bf1ee",
"name": "",
"low": "0",
"high": "255",
"inte": "true",
"property": "payload",
"x": 1300,
"y": 540,
"wires": [
[
"70bb1ba5.06031c"
]
]
},
{
"id": "70bb1ba5.06031c",
"type": "change",
"z": "2bcb81e0.3bf1ee",
"name": "",
"rules": [
{
"t": "move",
"p": "payload",
"pt": "msg",
"to": "payload.value",
"tot": "msg"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "control",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1500,
"y": 540,
"wires": [
[
"34453b76.3e3414"
]
]
},
{
"id": "97e255e.7707aa8",
"type": "random",
"z": "2bcb81e0.3bf1ee",
"name": "",
"low": "0",
"high": "255",
"inte": "true",
"property": "payload",
"x": 1300,
"y": 600,
"wires": [
[
"899b9b1c.8b92d"
]
]
},
{
"id": "e3b3ce0f.b33688",
"type": "random",
"z": "2bcb81e0.3bf1ee",
"name": "",
"low": "0",
"high": "255",
"inte": "true",
"property": "payload",
"x": 1300,
"y": 660,
"wires": [
[
"9d26c75d.a4a5d8"
]
]
},
{
"id": "899b9b1c.8b92d",
"type": "change",
"z": "2bcb81e0.3bf1ee",
"name": "",
"rules": [
{
"t": "move",
"p": "payload",
"pt": "msg",
"to": "payload.value",
"tot": "msg"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "control",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1500,
"y": 600,
"wires": [
[
"8b05f115.9cb06"
]
]
},
{
"id": "9d26c75d.a4a5d8",
"type": "change",
"z": "2bcb81e0.3bf1ee",
"name": "",
"rules": [
{
"t": "move",
"p": "payload",
"pt": "msg",
"to": "payload.value",
"tot": "msg"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "control",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1500,
"y": 660,
"wires": [
[
"94588645.c4aac8"
]
]
},
{
"id": "6a4a1436.1fd56c",
"type": "change",
"z": "2bcb81e0.3bf1ee",
"name": "Off",
"rules": [
{
"t": "delete",
"p": "payload",
"pt": "msg"
},
{
"t": "set",
"p": "payload.value",
"pt": "msg",
"to": "0",
"tot": "num"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "control",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1530,
"y": 720,
"wires": [
[
"34453b76.3e3414",
"8b05f115.9cb06",
"94588645.c4aac8",
"9017aea0.c1f0d8"
]
]
},
{
"id": "4e1d4779.956088",
"type": "change",
"z": "2bcb81e0.3bf1ee",
"name": "On",
"rules": [
{
"t": "delete",
"p": "payload",
"pt": "msg"
},
{
"t": "set",
"p": "payload.value",
"pt": "msg",
"to": "255",
"tot": "num"
},
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "control",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1530,
"y": 760,
"wires": [
[
"d2e9686d.ed0218"
]
]
},
{
"id": "1ca5586.0c02aa8",
"type": "inject",
"z": "2bcb81e0.3bf1ee",
"name": "Off",
"props": [
{
"p": "payload.value",
"v": "0",
"vt": "num"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "control",
"payloadType": "str",
"x": 390,
"y": 780,
"wires": [
[
"106e319c.2d07ce"
]
]
},
{
"id": "dd83f2eb.b3ffb",
"type": "inject",
"z": "2bcb81e0.3bf1ee",
"name": "On",
"props": [
{
"p": "payload.value",
"v": "100",
"vt": "num"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "control",
"x": 390,
"y": 740,
"wires": [
[
"106e319c.2d07ce"
]
]
},
{
"id": "3e12b471.f3aa44",
"type": "hs-server",
"name": "homeseer",
"host": "<your.homeseer.ip.address>",
"port": "80"
}
]