Node-Red Flow Samples/Sharing

You can use context variables. There are 3 levels of these; node, flow, and global level (the last two of which are like local/rule based and global variables in HE respectively). These are also persistent across a Node-RED restart.

https://nodered.org/docs/user-guide/context

2 Likes

When you open that through the browser, do you have to log in?

Also, have you tried a POST vs PUT?

Actually, maybe a GET is what they are looking for since it's all URL parameters and not a payload.

No authorization needed.
Tried POST, PUT, and GET.

Anyway, found another way to make it work using HubitatPublic/httpGetSwitch.groovy at master · hubitat/HubitatPublic · GitHub

Try this?

[{"id":"ea790395.75feb","type":"inject","z":"bf2927e5.5af798","name":"Set Profile","props":[{"p":"cmd","v":"setProfile","vt":"str"},{"p":"ind","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":1000,"y":580,"wires":[["56af21d.9b4c4e"]]},{"id":"56af21d.9b4c4e","type":"http request","z":"bf2927e5.5af798","name":"","method":"GET","ret":"txt","paytoqs":"query","url":"http://192.168.4.213:8090/command.cgi","tls":"","persist":false,"proxy":"","authType":"","x":1190,"y":580,"wires":[["da69786b.1b9358"]]},{"id":"da69786b.1b9358","type":"debug","z":"bf2927e5.5af798","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1350,"y":580,"wires":[]}]

or this (with the command as part of the payload object):

[{"id":"ea790395.75feb","type":"inject","z":"bf2927e5.5af798","name":"Set Profile","props":[{"p":"payload.cmd","v":"setProfile","vt":"str"},{"p":"payload.ind","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":1000,"y":580,"wires":[["ea882e9c.07a1e","56af21d.9b4c4e"]]},{"id":"56af21d.9b4c4e","type":"http request","z":"bf2927e5.5af798","name":"","method":"GET","ret":"txt","paytoqs":"query","url":"http://192.168.4.213:8090/command.cgi","tls":"","persist":false,"proxy":"","authType":"","x":1190,"y":580,"wires":[["da69786b.1b9358"]]},{"id":"da69786b.1b9358","type":"debug","z":"bf2927e5.5af798","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1350,"y":580,"wires":[]}]

Does anyone have a flow that monitors systems names/IPs on a local network where notifications would be sent to Pushover on a down state? I've seen a few out there with dashboards, and while it's neat it's completely not needed in my case. I could easily create separate flows that monitors a single Name/IP but I'm just having an issue wrapping my head around a single flow that could monitor many Names/IPs and send notifications with the correct Name/IP.

Title Log Proxmox data to influxDB

Summary -
A very simple flow to log CPU utilization, Memory usage and disk usage for a proxmox server

Flow

[
{
"id": "c91fde37.9e188",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": ""
},
{
"id": "2b9b14aa.15da2c",
"type": "group",
"z": "c91fde37.9e188",
"name": "Log Proxmox",
"style": {
"fill": "#bfdbef",
"label": true,
"color": "#0070c0"
},
"nodes": [
"d8ac4a74.7936f8",
"78d57918.4be748",
"5169f3e2.cfb74c",
"9457217c.43276"
],
"x": 34,
"y": 139,
"w": 852,
"h": 82
},
{
"id": "d8ac4a74.7936f8",
"type": "proxmox-api",
"z": "c91fde37.9e188",
"g": "2b9b14aa.15da2c",
"name": "",
"path": "/nodes",
"method": "GET",
"payload": "",
"server": "7baaadb4.455784",
"x": 410,
"y": 180,
"wires": [
[
"78d57918.4be748"
]
]
},
{
"id": "78d57918.4be748",
"type": "function",
"z": "c91fde37.9e188",
"g": "2b9b14aa.15da2c",
"name": "prep data",
"func": "msg.payload = [\n {\n measurement: "CPU",\n fields: {\n value:msg.payload[0].cpu \n },\n tags:{\n unit:"%",\n host:msg.payload[0].node\n },\n },\n {\n measurement: "Memory",\n fields: {\n value:msg.payload[0].mem / 1000000000\n },\n tags:{\n unit:"Gb",\n host:msg.payload[0].node\n },\n },\n {\n measurement: "Disk",\n fields: {\n value:msg.payload[0].disk / 1000000000\n },\n tags:{\n unit:"Gb",\n host:msg.payload[0].node\n },\n }\n];\nreturn msg;\n",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 600,
"y": 180,
"wires": [
[
"5169f3e2.cfb74c"
]
]
},
{
"id": "5169f3e2.cfb74c",
"type": "influxdb batch",
"z": "c91fde37.9e188",
"g": "2b9b14aa.15da2c",
"influxdb": "4bcce287.69402c",
"precision": "",
"retentionPolicy": "",
"name": "Load influx",
"x": 790,
"y": 180,
"wires": []
},
{
"id": "9457217c.43276",
"type": "cronplus",
"z": "c91fde37.9e188",
"g": "2b9b14aa.15da2c",
"name": "Every MInute",
"outputField": "payload",
"timeZone": "America/New_York",
"persistDynamic": false,
"commandResponseMsgOutput": "output1",
"outputs": 1,
"options": [
{
"name": "schedule1",
"topic": "schedule1",
"payloadType": "str",
"payload": "start",
"expressionType": "cron",
"expression": "0 * * * * *",
"location": "",
"offset": "0",
"solarType": "all",
"solarEvents": "sunrise,sunset"
}
],
"x": 150,
"y": 180,
"wires": [
[
"d8ac4a74.7936f8"
]
]
},
{
"id": "7baaadb4.455784",
"type": "proxmox-server",
"z": "",
"host": "192.168.1.32",
"port": "8006"
},
{
"id": "4bcce287.69402c",
"type": "influxdb",
"z": "",
"hostname": "192.168.1.183",
"port": "8086",
"protocol": "http",
"database": "hubitat",
"name": "",
"usetls": false,
"tls": ""
}
]

2 Likes

Title: Control lights specific to room with Alexa using same phrase

Summary: This allows you to use a single command to any Alexa and she will turn on lights based on which Alexa you are speaking.

Details: This flow allows for me to say "Illuminate" (Wesley Snipes in The Demolition Man); "Lumos Maxima" (Harry Potter), or "Make it light" to any Alexa and she will turn on the lights specific to the Alexa that I am speaking. With the node-red-contrib-alexa-remote2 node palette, there is a node that listens and msg.payload.description.summary is a summary of what she heard. The 1st Switch Node determines if she heard one of the phrases and acts appropriately. The Listening Node also provides msg.payload.deviceSerialNumber which is specific to each of the Alexas. The 2nd Switch Node determines which device to send command(s) based on Serial Number of device

I have a second flow that turns lights off to "Deluminate"; "Make it Dark" or "Lumos Minima". My third one will turn on appropriate fan to low when I say "It is hot in here".

I know this is not a complicated flow but the Listening Node in alexa-remote2 palette is powerful in this way and I thought some that installed it might not realize all of the information that it generates into a debug node. I recommend setting up the Listening Node and a Debug node (showing complete message object) and looking closely at the result in the debug window when you speak to Alexa. You might be surprised.

Note: You MUST also create a Routine in Alexa app with same name as the word/phrase you are using in flow and make it perform a 5 second wait. Otherwise, Alexa will try on her own to figure out what you mean and go looking out on the "interwebs". The 5 second wait won't affect the speed of your flow.

EDIT 9 MONTHS LATER: Instead of creating a bunch of dummy routines, you should be able to instead create an Alexa Q&A Blueprint and all of the phrase variations can all be in that one skill, thereby eliminating all of the dummy routines. See my post #461 below.

[{"id":"1dd953c7.b02acc","type":"alexa-remote-event","z":"f7404a38.ee3e88","name":"","account":"f3ed7c17.a3729","event":"ws-device-activity","x":170,"y":1700,"wires":[["3b54ccd6.116214"]]},{"id":"3b54ccd6.116214","type":"switch","z":"f7404a38.ee3e88","name":"Light It Up; Illuminate: or Lumos Maxima","property":"payload.description.summary","propertyType":"msg","rules":[{"t":"cont","v":"light it up","vt":"str"},{"t":"cont","v":"illuminate","vt":"str"},{"t":"cont","v":"lumos maxima","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":460,"y":1700,"wires":[["1c465de.e0a58a2"],["1c465de.e0a58a2"],["1c465de.e0a58a2"]]},{"id":"5abca6ca.45a228","type":"hubitat command","z":"f7404a38.ee3e88","name":"Ainsleys Fan Bulb ON","server":"e2175bd0.e82808","deviceId":"681","command":"on","commandArgs":"","x":1200,"y":1740,"wires":[[]]},{"id":"678d6870.abe8e8","type":"hubitat command","z":"f7404a38.ee3e88","name":"Declans Fan Bulb ON","server":"e2175bd0.e82808","deviceId":"347","command":"on","commandArgs":"","x":1160,"y":1880,"wires":[[]]},{"id":"9228e75e.a045d8","type":"hubitat command","z":"f7404a38.ee3e88","name":"Living Room ON","server":"e2175bd0.e82808","deviceId":"2185","command":"on","commandArgs":"","x":1100,"y":1440,"wires":[[]]},{"id":"401d936c.30afcc","type":"hubitat command","z":"f7404a38.ee3e88","name":"Master Bedroom Bulb ON","server":"e2175bd0.e82808","deviceId":"582","command":"on","commandArgs":"","x":1210,"y":1580,"wires":[[]]},{"id":"68d93176.6f7f6","type":"hubitat command","z":"f7404a38.ee3e88","name":"Kitchen ON","server":"e2175bd0.e82808","deviceId":"485","command":"on","commandArgs":"","x":1110,"y":1480,"wires":[[]]},{"id":"a8df8300.8d8b4","type":"hubitat command","z":"f7404a38.ee3e88","name":"Dining Room ON","server":"e2175bd0.e82808","deviceId":"37","command":"on","commandArgs":"","x":1150,"y":1520,"wires":[[]]},{"id":"de322c3c.8bca9","type":"hubitat command","z":"f7404a38.ee3e88","name":"Reading Nook ON","server":"e2175bd0.e82808","deviceId":"3142","command":"on","commandArgs":"","x":1190,"y":1620,"wires":[[]]},{"id":"ab9685bb.4a8cf8","type":"hubitat command","z":"f7404a38.ee3e88","name":"Master Lamp ON","server":"e2175bd0.e82808","deviceId":"967","command":"on","commandArgs":"","x":1190,"y":1660,"wires":[[]]},{"id":"84f133e3.265","type":"hubitat command","z":"f7404a38.ee3e88","name":"Ainsleys Lamp ON","server":"e2175bd0.e82808","deviceId":"852","command":"on","commandArgs":"","x":1190,"y":1780,"wires":[[]]},{"id":"f974442.d233cb8","type":"hubitat command","z":"f7404a38.ee3e88","name":"Ainsleys Night Light ON","server":"e2175bd0.e82808","deviceId":"851","command":"on","commandArgs":"","x":1210,"y":1820,"wires":[[]]},{"id":"3b8d1b62.9ac5c4","type":"hubitat command","z":"f7404a38.ee3e88","name":"Declans Lamp ON","server":"e2175bd0.e82808","deviceId":"40","command":"on","commandArgs":"","x":1130,"y":1920,"wires":[[]]},{"id":"11ade24c.5da0ee","type":"hubitat command","z":"f7404a38.ee3e88","name":"Declans Night Light ON","server":"e2175bd0.e82808","deviceId":"329","command":"on","commandArgs":"","x":1130,"y":1960,"wires":[[]]},{"id":"1c465de.e0a58a2","type":"switch","z":"f7404a38.ee3e88","name":"Which Device?","property":"payload.deviceSerialNumber","propertyType":"msg","rules":[{"t":"eq","v":"G000MW0474520JG4","vt":"str"},{"t":"eq","v":"90F0071863140022","vt":"str"},{"t":"eq","v":"G0014B05949214EG","vt":"str"},{"t":"eq","v":"G090LF1073240EBM","vt":"str"},{"t":"eq","v":"G090LF11822302U5","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":740,"y":1700,"wires":[["9228e75e.a045d8","68d93176.6f7f6","a8df8300.8d8b4"],["401d936c.30afcc","de322c3c.8bca9","ab9685bb.4a8cf8"],["401d936c.30afcc","de322c3c.8bca9","ab9685bb.4a8cf8"],["5abca6ca.45a228","84f133e3.265","f974442.d233cb8"],["11ade24c.5da0ee","3b8d1b62.9ac5c4","678d6870.abe8e8"]],"outputLabels":["LIVING ROOM","MASTER BEDROOM","ANTIQUE RADIO ECHO FLEX","AINSLEYS BEDROOM","DECLANS DOT"]},{"id":"f3ed7c17.a3729","type":"alexa-remote-account","z":"","name":"ALEXA-192.168.68.139","authMethod":"proxy","proxyOwnIp":"192.168.68.139","proxyPort":"3456","cookieFile":"authFile","refreshInterval":"3","alexaServiceHost":"pitangui.amazon.com","amazonPage":"amazon.com","acceptLanguage":"en-US","userAgent":"","useWsMqtt":"on","autoInit":"on"},{"id":"e2175bd0.e82808","type":"hubitat config","z":"","name":"HUBITAT HUB","usetls":false,"host":"192.168.68.124","port":"80","appId":"2569","nodeRedServer":"http://192.168.68.139:1880","webhookPath":"/hubitat/webhook","autoRefresh":false}]

EDIT: Since posting this originally, issues have arisen with the alexa2-remote palette. Instead, please use node-red-contrib-alexa-applestrudel which was forked from alexa2-remote.

11 Likes

Haven't done this (yet)

but should be easily done using this node

I use the Ping Node that @pat.richards mentioned but I have a node for each IP address. Immediately after each Ping Node, I use a Change Node to set the topic so that I can use the values to graph all of the results onto a single graph. You could do the same to send a single notification that specifies the name/IP.

The Ping Node does allow you to inject the IP address in the msg.topic so if you did a Function Node that would periodically spit out your IP addresses into the Ping Node, that would achieve your goal I think with only using one Ping Node. I don't know how to do that though. My flow generates a random number from 1-6 (I ping 6 different devices) then injects into the appropriate Ping Node.

EDIT: Flow added @stircwazy

Summary

[{"id":"4cc3a368.a54b6c","type":"ping","z":"a9a038bb.6321d8","mode":"triggered","name":"Hubitat A 192.168.68.124","host":"192.168.68.124","timer":"251","inputs":1,"x":730,"y":80,"wires":[["a5ee4a2.8ad3fb8"]]},{"id":"415c92e.5d5446c","type":"ping","z":"a9a038bb.6321d8","mode":"triggered","name":"SmartThings 192.168.68.127","host":"192.168.68.127","timer":"311","inputs":1,"x":740,"y":140,"wires":[["23c8775a.a82b88"]]},{"id":"9a0360b7.ae324","type":"ping","z":"a9a038bb.6321d8","mode":"triggered","name":"Pi 4 Pi-Hole 192.168.68.132","host":"192.168.68.132","timer":"291","inputs":1,"x":740,"y":200,"wires":[["5969fac3.df0d24"]]},{"id":"dba3888b.8f38e8","type":"ping","z":"a9a038bb.6321d8","mode":"triggered","name":"Pi Zero 192.168.68.140","host":"192.168.68.140","timer":"331","inputs":1,"x":740,"y":260,"wires":[["d07450ee.118c6"]]},{"id":"a5ee4a2.8ad3fb8","type":"change","z":"a9a038bb.6321d8","name":"Set to Hubitat","rules":[{"t":"set","p":"topic","pt":"msg","to":"HUBITAT","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1000,"y":80,"wires":[["1136ca32.945a56","7c8010ad.a22be"]]},{"id":"23c8775a.a82b88","type":"change","z":"a9a038bb.6321d8","name":"Set to SmartThings","rules":[{"t":"set","p":"topic","pt":"msg","to":"SMARTTHINGS","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":140,"wires":[["1136ca32.945a56","7c8010ad.a22be"]]},{"id":"5969fac3.df0d24","type":"change","z":"a9a038bb.6321d8","name":"Set to Pi Hole 4","rules":[{"t":"set","p":"topic","pt":"msg","to":"PI 4","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1000,"y":200,"wires":[["1136ca32.945a56","7c8010ad.a22be"]]},{"id":"d07450ee.118c6","type":"change","z":"a9a038bb.6321d8","name":"Set to Pi Zero Pi-Hole","rules":[{"t":"set","p":"topic","pt":"msg","to":"PI ZERO","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1020,"y":260,"wires":[["1136ca32.945a56","7c8010ad.a22be"]]},{"id":"96325f7f.25924","type":"ui_chart","z":"a9a038bb.6321d8","name":"","group":"fdbcb9aa.554fa8","order":12,"width":"24","height":"15","label":"PINGING","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"0","ymax":"8","removeOlder":"48","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"outputs":1,"x":1720,"y":200,"wires":[]},{"id":"ad6e010a.2b70f","type":"inject","z":"a9a038bb.6321d8","name":"reset","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Button","payload":"","payloadType":"json","x":1550,"y":320,"wires":[["96325f7f.25924"]]},{"id":"1136ca32.945a56","type":"switch","z":"a9a038bb.6321d8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gt","v":"0","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1370,"y":200,"wires":[["d8919679.ca4848","85752497.c638e8"]]},{"id":"d8919679.ca4848","type":"debug","z":"a9a038bb.6321d8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1530,"y":260,"wires":},{"id":"7c8010ad.a22be","type":"debug","z":"a9a038bb.6321d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1410,"y":120,"wires":},{"id":"85752497.c638e8","type":"smooth","z":"a9a038bb.6321d8","name":"","property":"payload","action":"mean","count":"5","round":"","mult":"multi","reduce":false,"x":1540,"y":200,"wires":[["96325f7f.25924"]]},{"id":"45887652.ca8348","type":"ping","z":"a9a038bb.6321d8","mode":"triggered","name":"Hubitat B 192.168.68.161","host":"192.168.68.161","timer":"247","inputs":1,"x":730,"y":320,"wires":[["8f69334c.e2723"]]},{"id":"8f69334c.e2723","type":"change","z":"a9a038bb.6321d8","name":"Set to Hubitat B","rules":[{"t":"set","p":"topic","pt":"msg","to":"HUBITAT B","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1000,"y":320,"wires":[["7c8010ad.a22be","1136ca32.945a56"]]},{"id":"437effb7.87342","type":"inject","z":"a9a038bb.6321d8","name":"","props":[{"p":"payload","v":"","vt":"date"},{"p":"topic","v":"","vt":"string"}],"repeat":"29","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":200,"wires":[["bdfabb46.506218"]]},{"id":"bdfabb46.506218","type":"random","z":"a9a038bb.6321d8","name":"Random 1-6","low":"1","high":"7","inte":"true","property":"payload","x":290,"y":200,"wires":[["75a5adfa.9bbee4"]]},{"id":"75a5adfa.9bbee4","type":"switch","z":"a9a038bb.6321d8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"7","vt":"num"}],"checkall":"true","repair":false,"outputs":7,"x":450,"y":200,"wires":[["4cc3a368.a54b6c"],["415c92e.5d5446c"],["9a0360b7.ae324"],["dba3888b.8f38e8"],["45887652.ca8348"],["2b662a0b.4a0356"],["399bbdc7.6f6472"]]},{"id":"399bbdc7.6f6472","type":"ping","z":"a9a038bb.6321d8","mode":"triggered","name":"Cloudflare 1.1.1.1","host":"1.1.1.1","timer":"247","inputs":1,"x":710,"y":440,"wires":[["c086482e.19f278"]]},{"id":"c086482e.19f278","type":"change","z":"a9a038bb.6321d8","name":"Set to Cloudflare","rules":[{"t":"set","p":"topic","pt":"msg","to":"CLOUDFLARE","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":440,"wires":[["7c8010ad.a22be","1136ca32.945a56"]]},{"id":"2b662a0b.4a0356","type":"ping","z":"a9a038bb.6321d8","mode":"triggered","name":"Hubitat C-7 192.168.68.166","host":"192.168.68.166","timer":"247","inputs":1,"x":740,"y":380,"wires":[["d5344d0a.0dfe1"]]},{"id":"d5344d0a.0dfe1","type":"change","z":"a9a038bb.6321d8","name":"Set to Hubitat C-7","rules":[{"t":"set","p":"topic","pt":"msg","to":"HUBITAT C-7","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":380,"wires":[["7c8010ad.a22be","1136ca32.945a56"]]},{"id":"fdbcb9aa.554fa8","type":"ui_group","z":"","name":"PING MONITOR","tab":"28e0f341.9ade5c","order":1,"disp":true,"width":"24","collapse":true},{"id":"28e0f341.9ade5c","type":"ui_tab","z":"","name":"MAIN","icon":"dashboard","order":6,"disabled":false,"hidden":false}]

1 Like

Hmmm, OK I think I get it, thanks @stephen_nutt. Would you mind exporting that flow so I can look at it?

This is awesome @stephen_nutt, many thanks for posting!!
This means if I remove all devices in Alexa, I no longer need to mess around with any of them in that bloody Alexa app. It doesn't alter my Alexa routines at all, and my NR is still configured, amazing :smiley: Thanks!!

Not only this, I can now open and close the curtains etc in any room :wink:

1 Like

This is a built-in feature with Alexa devices since at least 2017. Assign the lights and the echo device to the same room and when you ask Alexa to turn on the lights it will do it based on the Alexa you are speaking to.

While your flow will work, it still depends on the node having an up to date cookie so I'd estimate that it is only 95% reliable whereas the built-in one would be 100%.

1 Like

I know but you must group all of the lights in that room and can only say "Turn on/off Lights". I don't want to say it that way. My way doesn't require grouping and I can use the same phrase in any room and Alexa knows which room I am in and turns on/off appropriate lights. Also, my way let's me have one phrase "Its hot in here" that will turn on fan in the room of the Alexa that I am speaking.

1 Like

You will still have to create "dummy" Alexa routines for each phrase you want to use that don't do anything but wait for 5 seconds. Otherwise, Alexa will search the internet to try to find out how to process what you said. However, if you don't mind her saying something like "I don't know how to help you with that" or similar every time, you don't.

1 Like

Yeah, but I'll never have to change them again, even if I remove devices :+1:

I never would have thought of that. That's whats great about this forum Someone posts something they are doing different and it inspires others to take it to a whole new level. Good luck!

4 Likes

In fact, this is almost a way to not have your devices in Alexa in the first place :smiley:

2 Likes

You are probably right. And you could say "Turn on ceiling fan" in your bedroom or kids room and it would just turn on instead of having to remember to say "Turn on Master Fan" when in master bedroom and "Turn on Little Johnnie's Ceiling Fan" when in son's room.

EDIT: Keep us updated if you get it working that way reliably.

3 Likes

I have an Open the curtains, and close. This has always been somewhat of a pain in Alexa, well not any more. Tested in the Lounge and Master bed, and works like a charm :smiley: I can see the WAF going up here :joy:

5 Likes

So how late were you up last night creating all of the dummy Alexa routines and Node Red flows so you could get rid of all of your devices in Alexa????

2 Likes