Not off topic for sure, but I get what the OP is saying now.
Your scenario doesn’t solve that (I think) … you tell me.
Can your “Alexa” command be:
Turn on
my wife says “Table Lights” and I say “Pergola LEDs”
Set whatever light that refers to whatever brightness I said with my voice
Set whatever light that refers to whatever color I said with my voice
So essentially … if my Wife says “Alexa, table lights 50% green”
and I say “Alexa, Pergola LEDs 50% green” the exact same thing happens.
Meaning you can use voice to not only select one thing by different names, you can set the actual brightness and color.
AFAIK … You can turn things on/off using multiple names BUT you can only do #2 (brightness, color) by using the exact name and not the collection of names the family may call them.
I would note I have almost you exact example, no Node Red at all. Just one script in Home Assistant. AND i can call it 10 different names in Alexa. Because you are setting light over fireplace to 20% … what if you want it to be “X%” where “X” is in the Alexa command. As in your command was “Turn on theater with fireplace 50%”. If you could do that in Node Red + Alexa, I would implement Node Red in a heartbeat.
Take this:
alias: Dax Outside
sequence:
- service: media_player.turn_on
target:
entity_id:
- media_player.xantech8_deck
- media_player.xantech8_hot_tub
data: {}
- service: media_player.volume_set
data:
volume_level: 0.2
target:
entity_id:
- media_player.xantech8_deck
- media_player.xantech8_hot_tub
- choose:
- conditions:
- condition: state
entity_id: input_boolean.spoton
state: "on"
sequence:
- service: input_select.select_option
data:
option: WiFi
target:
entity_id:
- input_select.dax_source_deck
- input_select.dax_source_hot_tub
- service: media_player.select_source
data:
source: WiFi
target:
entity_id:
- media_player.xantech8_deck
- media_player.xantech8_hot_tub
- service: media_player.select_source
data:
source: Rio Crest Zones
target:
entity_id: media_player.spotifyplus_kevin_brown
- service: media_player.volume_set
data:
volume_level: 1
target:
entity_id: media_player.spotifyplus_kevin_brown
- service: media_player.media_play
data: {}
target:
entity_id: media_player.spotifyplus_kevin_brown
- conditions:
- condition: state
entity_id: input_boolean.volumion
state: "on"
sequence:
- service: input_select.select_option
data:
option: Volumio
target:
entity_id:
- input_select.dax_source_deck
- input_select.dax_source_hot_tub
- service: media_player.select_source
data:
source: Volumio
target:
entity_id:
- media_player.xantech8_deck
- media_player.xantech8_hot_tub
- service: media_player.select_source
data:
source: Rio Crest Zones
target:
entity_id: media_player.rcvolumio
- service: media_player.media_play
data: {}
target:
entity_id: media_player.rcvolumio
- conditions:
- condition: state
entity_id: input_boolean.pandon
state: "on"
sequence:
- service: media_player.select_source
data:
source: MintyFresh
target:
entity_id:
- media_player.xantech8_deck
- media_player.xantech8_hot_tub
- service: media_player.turn_on
data: {}
target:
entity_id: media_player.pandora
- conditions:
- condition: state
entity_id: input_boolean.sportson
state: "on"
sequence:
- service: input_select.select_option
data:
option: PatioVizio
target:
entity_id:
- input_select.dax_source_deck
- input_select.dax_source_hot_tub
- service: media_player.select_source
data:
source: PatioVizio
target:
entity_id:
- media_player.xantech8_deck
- media_player.xantech8_hot_tub
- service: media_player.turn_on
data: {}
target:
entity_id:
- media_player.patio_vizio
- service: input_select.select_option
data:
option: DirecTV
target:
entity_id: input_select.patio_vizio_input
mode: single
icon: mdi:music
Lots of stuff, but I have an Alexa Routine (“Play music on deck”). …
Essentially that only turns on an input boolean.
And then runs this script among several others for lights and stuff.
You will note this one line:
volume_level: 0.2
Because I cannot say in one line … “Play music on deck at 15%” or “30%” or “50%”.
Not to mention that I also cannot say “Play {spotify/pandora/volumio/whatever other inputs I have} on {location} at {volume}”.
Now if Node Red solves that, please tell me and I will implement the greatest solution ever for my system.
Right now, I have this which is acceptable but cumbersome and only supports one input which is OK but not generic:
“Alexa, Play Spotify on Deck”
“Alexa, Set Music Group to Wine Tasting”
“Alexa, Set Volume to Party”
Three commands. One to start music, one to set what speaker set to use, one to set the overall volume using known increments by a name. if that could be a one liner, wow. I believe not possible.
There are 5 inputs (Spotify, Pandora, Airplay, Television, Volumio)
There are 6 location groups.
There are 5 volume levels.