@Katodude I've only done a little experimenting from the examples others posted in this thread, but only the basic stuff:
1) "Turn Spa On/Off" using the package "node-red-contrib-amazon-echo." For this I had to do some remapping in iptables on pi (basically Amazon discovery looking on port 80, so I remapped to a higher unused port so I wouldn't have to run node-red as root)
2) Use "node-red-contrib-alexa-remote2-v2" and a "Routine Speak" node to have Alexa speak from one (or ALL) of your echo devices. This package seems to use a proxy server that is sets up on your pi to login to your actual Alexa account.
While node-red-contrib-amazon-echo is nice, it seems like it is limited in that:
1) The Amazon echo hub node does not give you any indication of which echo the request came from- so if you reply back using (2) above, you don't know which device to have Alexa speak from.
2) In looking at the node-red-contrib-amazon-echo package code, it appears to be based off the Philips hue Alexa-controlled light bulbs. That being said, I would assume you are limited to commands like what can be found here:
Philips Hue Commands
That being said, you could probably add a device node to the hub node called "Pool Temperature," discover it, and say "Alexa TURN ON Pool Temperature," and have that node kick off a flow that would get the pool temp from your global variables, assign it to the payload, and then use the "Routine Speak" node to say it. (If the temperature is a string, and is "85," the "Routine Speak" node will announce it properly).
Something like this in a function node before the Routine Speak node: (...Actual code untested...)
// Get Pool Temperature
var x = global.get("PoolTemp")
var AlexaMsg = "The Pool temperature is " + x + " degrees";
msg.payload = AlexaMsg;
return [msg];
Its a hack, as "Alexa TURN ON Pool Temperature," is not "Alexa WHAT IS Pool Temperature"... but its all I got right now