Trying to get Alexa to read out a temperature

As has been mentioned, typically you would use a variable to store things like this, you should look at this documentation context

It quite a steep learning curve, I know I'm still on it :wink:

Put simply your mqtt node should feed into a change node, where you store the value you want to a flow.variable, you can do that with just those 2 nodes.

To "playback" the temperature the device activity node should trgger a function node to create the the message for alexa, and then feed into the routine node, so only 3 nodes required for this bit.

If you post your flow here I could "fix" it for you, that way perhaps you can see how it works, and adapt it for other things ?

Here is my flow Sean, it's very simple. I've been reading dynamicdaves reply but am struggling to get Alexa to respond with the current temperature from the MQTT data. I can get individual messages but not at the same time in one message. I'm not very good at this coding business I'm afraid.

[{"id":"7645643a735d0b3d","type":"tab","label":"Alexa temperature","disabled":false,"info":"","env":[]},{"id":"43792bd173fc3684","type":"alexa-remote-event","z":"7645643a735d0b3d","name":"","account":"f5c58b4876dbd6b3","event":"ws-device-activity","x":150,"y":120,"wires":[["c203e2ff394feb8a"]]},{"id":"c4f9456675725f0c","type":"mqtt in","z":"7645643a735d0b3d","name":"Room temp","topic":"tele/garage/SENSOR","qos":"2","datatype":"auto","broker":"22f544be.780a3c","nl":false,"rap":false,"inputs":0,"x":110,"y":320,"wires":[["7989d4d47ac9d210"]]},{"id":"c203e2ff394feb8a","type":"switch","z":"7645643a735d0b3d","name":"Filter","property":"payload.alexaResponse","propertyType":"msg","rules":[{"t":"cont","v":"front room temperature","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":390,"y":120,"wires":[["a12e7f80151d64fc","6407cb409cfe9d9b"]]},{"id":"6407cb409cfe9d9b","type":"alexa-remote-routine","z":"7645643a735d0b3d","name":"","account":"f5c58b4876dbd6b3","routineNode":{"type":"speak","payload":{"type":"announcement","text":{"type":"msg","value":"payload.alexaResponse"},"devices":["G090LF1173660KCR"]}},"x":700,"y":120,"wires":[[]]},{"id":"f7a685ae4e8af586","type":"ui_numeric","z":"7645643a735d0b3d","name":"","label":"numeric","tooltip":"","group":"cd6795c64a8551d8","order":3,"width":0,"height":0,"wrap":false,"passthru":true,"topic":"topic","topicType":"msg","format":"{{value}}","min":0,"max":10,"step":1,"x":660,"y":240,"wires":[[]]},{"id":"a12e7f80151d64fc","type":"debug","z":"7645643a735d0b3d","name":"2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":630,"y":60,"wires":[]},{"id":"f0592dd7c33fd3ca","type":"debug","z":"7645643a735d0b3d","name":"4","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":730,"y":400,"wires":[]},{"id":"4e3f1726e25e0bec","type":"change","z":"7645643a735d0b3d","name":"get value/set topic","rules":[{"t":"set","p":"payload","pt":"msg","to":"$string(payload)","tot":"jsonata","dc":true}],"action":"","property":"","from":"","to":"","reg":false,"x":670,"y":320,"wires":[["f0592dd7c33fd3ca","f7a685ae4e8af586"]]},{"id":"ba24eebf062fb6d1","type":"change","z":"7645643a735d0b3d","name":"get value/set topic","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.SI7021.Temperature","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"Outside","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":320,"wires":[["4e3f1726e25e0bec"]]},{"id":"7989d4d47ac9d210","type":"json","z":"7645643a735d0b3d","name":"","property":"payload","action":"","pretty":false,"x":270,"y":320,"wires":[["ba24eebf062fb6d1"]]},{"id":"f5c58b4876dbd6b3","type":"alexa-remote-account","name":"opt","authMethod":"proxy","proxyOwnIp":"192.168.1.147","proxyPort":"3456","cookieFile":"authFile","refreshInterval":"3","alexaServiceHost":"alexa.amazon.co.uk","amazonPage":"amazon.co.uk","acceptLanguage":"en-UK","onKeywordInLanguage":"on","userAgent":"","useWsMqtt":"on","autoInit":"on"},{"id":"22f544be.780a3c","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.1.147","port":"1883","clientid":"","usetls":false,"compatmode":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""},{"id":"cd6795c64a8551d8","type":"ui_group","name":"Group 1","tab":"efbf209f210e1c76","order":1,"disp":true,"width":6},{"id":"efbf209f210e1c76","type":"ui_tab","name":"Alexa","icon":"dashboard","order":4,"disabled":false,"hidden":false}]
[{"id":"43792bd173fc3684","type":"alexa-remote-event","z":"7645643a735d0b3d","name":"","account":"f5c58b4876dbd6b3","event":"ws-device-activity","x":150,"y":120,"wires":[["c203e2ff394feb8a"]]},{"id":"c4f9456675725f0c","type":"mqtt in","z":"7645643a735d0b3d","name":"Room temp","topic":"tele/garage/SENSOR","qos":"2","datatype":"json","broker":"22f544be.780a3c","nl":false,"rap":false,"inputs":0,"x":130,"y":60,"wires":[["ba24eebf062fb6d1"]]},{"id":"c203e2ff394feb8a","type":"switch","z":"7645643a735d0b3d","name":"Filter","property":"payload.alexaResponse","propertyType":"msg","rules":[{"t":"cont","v":"front room temperature","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":310,"y":120,"wires":[["6407cb409cfe9d9b"]]},{"id":"6407cb409cfe9d9b","type":"alexa-remote-routine","z":"7645643a735d0b3d","name":"","account":"f5c58b4876dbd6b3","routineNode":{"type":"speak","payload":{"type":"announcement","text":{"type":"msg","value":"payload"},"devices":["G090LF1173660KCR"]}},"x":700,"y":120,"wires":[[]]},{"id":"ba24eebf062fb6d1","type":"change","z":"7645643a735d0b3d","name":"store value","rules":[{"t":"set","p":"temperature","pt":"flow","to":"payload.SI7021.Temperature","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":60,"wires":[[]]},{"id":"b5f3e48e4b2edb54","type":"function","z":"7645643a735d0b3d","name":"","func":"msg.payload = \"The temperature is\" + flow.temperature\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":490,"y":120,"wires":[[]]},{"id":"f5c58b4876dbd6b3","type":"alexa-remote-account","name":"opt","authMethod":"proxy","proxyOwnIp":"192.168.1.147","proxyPort":"3456","cookieFile":"authFile","refreshInterval":"3","alexaServiceHost":"alexa.amazon.co.uk","amazonPage":"amazon.co.uk","acceptLanguage":"en-UK","onKeywordInLanguage":"on","userAgent":"","useWsMqtt":"on","autoInit":"on"},{"id":"22f544be.780a3c","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.1.147","port":"1883","clientid":"","usetls":false,"compatmode":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]

Thanks Sean. I'll have a go at that tomorrow.

Hi Sean
That flow you posted back very nearly works. In its raw state, when I run your flow Alexa says "the temperature is undefined". If I replace the + flow.temperature in the function node with a string "22" for example, Alexa reads the message ok. So it seem like Alexa need a string and not a numerical value to report back. I've just been trying (unsuccessfully) to change the stored flow.temperature variable into a string by using ghayne's suggestion of $string(payload) but I must be putting it in the wrong place or not getting the format quite right. Any pointers?

Here's an example of converting a numeric to a string.
let text_string = some_numeric_variable.toString();

Then use text_string as part of the message that goes to Alexa.

You could try...
msg.payload.toString()
... to convert a number to a string.

Can you post your latest flow?

Here's my flow Dave, it's basically what Sean posted with a few debug node to try to see whats happening:

[{"id":"d72fe351b906a44a","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"bb2203207cd8d41c","type":"alexa-remote-event","z":"d72fe351b906a44a","name":"","account":"f5c58b4876dbd6b3","event":"ws-device-activity","x":150,"y":180,"wires":[["512be1dd0973b722"]]},{"id":"beb19f6fdbe0b9c2","type":"mqtt in","z":"d72fe351b906a44a","name":"Room temp","topic":"tele/garage/SENSOR","qos":"2","datatype":"json","broker":"22f544be.780a3c","nl":false,"rap":false,"inputs":0,"x":150,"y":120,"wires":[["af849fa78b1684d6"]]},{"id":"512be1dd0973b722","type":"switch","z":"d72fe351b906a44a","name":"Filter","property":"payload.alexaResponse","propertyType":"msg","rules":[{"t":"cont","v":"temperature is","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":350,"y":180,"wires":[["5dd120da56d3b69b","53acd8558beb7b80"]]},{"id":"5932608ff00cdf22","type":"alexa-remote-routine","z":"d72fe351b906a44a","name":"","account":"f5c58b4876dbd6b3","routineNode":{"type":"speak","payload":{"type":"announcement","text":{"type":"msg","value":"payload"},"devices":["G090LF1173660KCR"]}},"x":860,"y":180,"wires":[[]]},{"id":"af849fa78b1684d6","type":"change","z":"d72fe351b906a44a","name":"store value","rules":[{"t":"set","p":"Temperature","pt":"flow","to":"payload.SI7021.Temperature","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":120,"wires":[["41b615e8d1091d31"]]},{"id":"53acd8558beb7b80","type":"function","z":"d72fe351b906a44a","name":"","func":"msg.payload = \"The temperature is\" + flow.temperature\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":520,"y":180,"wires":[["3272c44211778873","5932608ff00cdf22","f655a95a1eed2b4e"]]},{"id":"3272c44211778873","type":"debug","z":"d72fe351b906a44a","name":"6","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":750,"y":120,"wires":[]},{"id":"5dd120da56d3b69b","type":"debug","z":"d72fe351b906a44a","name":"7","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":470,"y":260,"wires":[]},{"id":"41b615e8d1091d31","type":"debug","z":"d72fe351b906a44a","name":"9","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":510,"y":60,"wires":[]},{"id":"f655a95a1eed2b4e","type":"debug","z":"d72fe351b906a44a","name":"11","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":840,"y":260,"wires":[]},{"id":"f5c58b4876dbd6b3","type":"alexa-remote-account","name":"opt","authMethod":"proxy","proxyOwnIp":"192.168.1.147","proxyPort":"3456","cookieFile":"authFile","refreshInterval":"3","alexaServiceHost":"alexa.amazon.co.uk","amazonPage":"amazon.co.uk","acceptLanguage":"en-UK","onKeywordInLanguage":"on","userAgent":"","useWsMqtt":"on","autoInit":"on"},{"id":"22f544be.780a3c","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.1.147","port":"1883","clientid":"","usetls":false,"compatmode":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]

And here's a screen grab with the debug node information:

Your flow variables aren't the same. One has a capital the other hasn't.
I'm not near my computer so can't check if this is the issue/problem.
Could you try making them the same 'case' ?
Screen Shot 01-27-22 at 01.05 PM 001
Screen Shot 01-27-22 at 01.05 PM

[quote="

You could try...
msg.payload.toString()
... to convert a number to a string.

[/quote]

Would that go in the function node or the change node called "store value" Dave, and if so how could I incorporate it?

Yes Dave I did notice that earlier and corrected it but the flow I posted had different capitalisation for some reason. Anyway I just changed them all to capitals and it's still the same unfortunately. It has caught me out in the past the old capitalisation error.

Here's the flow with caps the same:

[{"id":"d72fe351b906a44a","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"bb2203207cd8d41c","type":"alexa-remote-event","z":"d72fe351b906a44a","name":"","account":"f5c58b4876dbd6b3","event":"ws-device-activity","x":150,"y":180,"wires":[["512be1dd0973b722"]]},{"id":"beb19f6fdbe0b9c2","type":"mqtt in","z":"d72fe351b906a44a","name":"Room temp","topic":"tele/garage/SENSOR","qos":"2","datatype":"json","broker":"22f544be.780a3c","nl":false,"rap":false,"inputs":0,"x":150,"y":120,"wires":[["af849fa78b1684d6","3272c44211778873"]]},{"id":"512be1dd0973b722","type":"switch","z":"d72fe351b906a44a","name":"Filter","property":"payload.alexaResponse","propertyType":"msg","rules":[{"t":"cont","v":"temperature is","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":350,"y":180,"wires":[["5dd120da56d3b69b","53acd8558beb7b80"]]},{"id":"5932608ff00cdf22","type":"alexa-remote-routine","z":"d72fe351b906a44a","name":"","account":"f5c58b4876dbd6b3","routineNode":{"type":"speak","payload":{"type":"announcement","text":{"type":"msg","value":"payload"},"devices":["G090LF1173660KCR"]}},"x":860,"y":180,"wires":[[]]},{"id":"af849fa78b1684d6","type":"change","z":"d72fe351b906a44a","name":"store value","rules":[{"t":"set","p":"Temperature","pt":"flow","to":"payload.SI7021.Temperature","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":120,"wires":[["41b615e8d1091d31"]]},{"id":"53acd8558beb7b80","type":"function","z":"d72fe351b906a44a","name":"","func":"msg.payload = \"The temperature is\" + flow.Temperature\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":520,"y":180,"wires":[["5932608ff00cdf22","f655a95a1eed2b4e"]]},{"id":"3272c44211778873","type":"debug","z":"d72fe351b906a44a","name":"6","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":310,"y":40,"wires":[]},{"id":"5dd120da56d3b69b","type":"debug","z":"d72fe351b906a44a","name":"7","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":470,"y":260,"wires":[]},{"id":"41b615e8d1091d31","type":"debug","z":"d72fe351b906a44a","name":"9","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":510,"y":60,"wires":[]},{"id":"f655a95a1eed2b4e","type":"debug","z":"d72fe351b906a44a","name":"11","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":840,"y":260,"wires":[]},{"id":"f5c58b4876dbd6b3","type":"alexa-remote-account","name":"opt","authMethod":"proxy","proxyOwnIp":"192.168.1.147","proxyPort":"3456","cookieFile":"authFile","refreshInterval":"3","alexaServiceHost":"alexa.amazon.co.uk","amazonPage":"amazon.co.uk","acceptLanguage":"en-UK","onKeywordInLanguage":"on","userAgent":"","useWsMqtt":"on","autoInit":"on"},{"id":"22f544be.780a3c","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.1.147","port":"1883","clientid":"","usetls":false,"compatmode":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]

I've re-written part of the flow. Try this and see if it works...

[{"id":"fdedac607f20a384","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"d9cef3911a340322","type":"alexa-remote-event","z":"fdedac607f20a384","name":"","account":"f5c58b4876dbd6b3","event":"ws-device-activity","x":170,"y":280,"wires":[["d9dd3578e3584bfa"]]},{"id":"c596f864e8ddf6d2","type":"mqtt in","z":"fdedac607f20a384","name":"Room temp","topic":"tele/garage/SENSOR","qos":"2","datatype":"json","broker":"22f544be.780a3c","nl":false,"rap":false,"inputs":0,"x":150,"y":120,"wires":[["23949a4c8a9421e3","48d81bc5f11542c5"]]},{"id":"d9dd3578e3584bfa","type":"switch","z":"fdedac607f20a384","name":"Filter","property":"payload.alexaResponse","propertyType":"msg","rules":[{"t":"cont","v":"temperature is","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":370,"y":280,"wires":[["fa4ad52f77a3a689","138e818ddc1d6dd3"]]},{"id":"64da3017d499a99a","type":"alexa-remote-routine","z":"fdedac607f20a384","name":"","account":"f5c58b4876dbd6b3","routineNode":{"type":"speak","payload":{"type":"announcement","text":{"type":"msg","value":"payload"},"devices":["G090LF1173660KCR"]}},"x":760,"y":280,"wires":[[]]},{"id":"138e818ddc1d6dd3","type":"function","z":"fdedac607f20a384","name":"","func":"let temperature = flow.get(\"temperature\") || 0;\ntemperature = temperature.toString();\n\nmsg.payload = \"The temperature is \" +temperature;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":280,"wires":[["64da3017d499a99a","92381d845bdd0256"]]},{"id":"23949a4c8a9421e3","type":"debug","z":"fdedac607f20a384","name":"6","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":310,"y":40,"wires":[]},{"id":"fa4ad52f77a3a689","type":"debug","z":"fdedac607f20a384","name":"7","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":490,"y":360,"wires":[]},{"id":"bdf074cfd2a75ec3","type":"debug","z":"fdedac607f20a384","name":"9","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":630,"y":80,"wires":[]},{"id":"92381d845bdd0256","type":"debug","z":"fdedac607f20a384","name":"11","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":730,"y":360,"wires":[]},{"id":"48d81bc5f11542c5","type":"function","z":"fdedac607f20a384","name":"","func":"flow.set(\"temperature\",payload.SI7021.Temperature);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":340,"y":120,"wires":[[]]},{"id":"dd868057aab722b3","type":"function","z":"fdedac607f20a384","name":"Test setting temperature to 21","func":"flow.set(\"temperature\",msg.payload);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":410,"y":180,"wires":[[]]},{"id":"fcb0cd6fa3135761","type":"inject","z":"fdedac607f20a384","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"21","payloadType":"num","x":130,"y":180,"wires":[["dd868057aab722b3"]]},{"id":"0335514a2b601c42","type":"inject","z":"fdedac607f20a384","name":"Click to test the text sent to Alexa","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":410,"y":220,"wires":[["138e818ddc1d6dd3"]]},{"id":"f5c58b4876dbd6b3","type":"alexa-remote-account","name":"opt","authMethod":"proxy","proxyOwnIp":"192.168.1.147","proxyPort":"3456","cookieFile":"authFile","refreshInterval":"3","alexaServiceHost":"alexa.amazon.co.uk","amazonPage":"amazon.co.uk","acceptLanguage":"en-UK","userAgent":"","useWsMqtt":"on","autoInit":"on"},{"id":"22f544be.780a3c","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.1.147","port":"1883","clientid":"","usetls":false,"compatmode":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]

As I haven't got your MQTT input I'm using the top inject node to set the flow variable to numeric 21.
Clicking the lower inject node should send the text "The temperature is 21" to Alexa.

This does indeed work Dave when using the inject nodes. Alexa announces the values perfectly. However there is a reference error: payload is not defined associated with the top function node as can be seen here:

Your flow doesn't look the same as the one I posted.

Can you also expand the debug message for node 6 so I can see what the object looks like.
Screen Shot 01-27-22 at 01.56 PM

EDIT: Have a look at this thread by Steve as it explains how to find the path.

Let me double check

I've just imported your last posted flow again and expanded the debug node 6 as you asked.

Oops - sorry, typo in the top function node.
I missed msg. off of the first part of the path.
This is what it should look like...
Screen Shot 01-27-22 at 02.15 PM

That's got it Dave, brilliant mate, love you to bits, go get a nice cup of tea. Seriously though thanks for sticking with me on this. Now you've laid the ground work I can do the same for all of the temperature sensors I have around the house and garden.

I may come back soon with the next part of my project when I need to ask Alexa to change the set temperature for a given space, but that will be a while yet. I'll have a good go at it myself first though.

Thanks everyone for your input.

Glad to hear it is working for you.
You should be able to "crib" some of this to make your own dedicated message.
Have fun.

var hostname = flow.get("hostname");
var ip_address = flow.get("ip_address");
var cpu_temperature = flow.get("cpu_temperature");

var message = "<break time='0.25s'/> Here's your report on your raspberry pie<break time='0.5s'/>";
    
message += "hostname is <break time='0.1s'/>"+hostname+ "<break time='0.25s'/>";
message += "IP address is <break time='0.1s'/>"+ip_address+ "<break time='0.25s'/>";
message += "CPU core temperature is <break time='0.1s'/>"+cpu_temperature+ "degrees sea <break time='0.25s'/>";

// This the footer for the message
message += "<break time='0.75s'/> that's the end of the report";

msg.payload = message;
return msg;
1 Like

Ha Ha thats a whole other can of worms then :wink:

1 Like