I have a function node that send msg.payload to a terminal program for communication with a 4G modem.
How can I put " " so that the outgoing 'meg.payload +text' looks like "value my text "
and not just like, value-my-text
The code below almost works, but I have to use - to concatenate the sentence into a 'word', but it doesn't work with negative values
if (msg.payload < 0 && !context.sentAlert) {
msg.payload = msg.payload.toFixed(1) +"temperature-below-freezing-point";
context.sentAlert = true;
return msg;
} else if (msg.payload > 1.0) {
context.sentAlert = false;
}
return null;
JavaScript lets you use either ' or " for strings. So if you want the string to contain ", then use ' as the string delimiter:
msg.payload = '"' + msg.payload.toFixed(1) +'"temperature-below-freezing-point"';
Some other JavaScript ways of doing it:
msg.payload = `"${msg.payload.toFixed(1)} temperature-below-freezing-point"`;
msg.payload = "\"" + msg.payload.toFixed(1) +"\"temperature-below-freezing-point\"";
Thank you for your answer!
Have tested most combinations of this, without getting it to work with spaces or - characters from the temperature gauge.
Ended up with this solution which works satisfactorily, without having understood why this works.
Also works with negative values
msg.payload = "OutTemp," + msg.payload.toFixed(1) + "°C";
Hi @Aurgelme
I don't see how that relates to your original question about including double quotes in a string... but I'm glad you figured out a solution to the problem.
Double quotes disappear from the output in the function node with the first solution, but are intact with this solution
Output "OutTemp,-0.3°C"
@Aurgelme you are not adding " to your string.
If you are viewing this in the Debug sidebar, it is showing the " to indicate it is a string - the actual value doesn't contain them.
I'm a total noob so I don't understand the whole sequence, but I get "" these in the exec node now, and the message is sent to the phone, like this
/4G/send-sms.js 12345678 "text message"
"text message" is add msg.payload in exec-node
I really appreciate any corrections, so maybe there is hope for an old man to learn some programming 
@knolleary Thanks for setting me on the right track
I finally figured out the problem, firstly there was a mistake in your suggestions with one " character too much, which I should have seen myself. The second was that what I typed in the node-red editor was not correct even windows is set to English keyboard, so had to write the code line in notepad and paste the whole line into the node-red editor. (haven't found out why)
Starting msg.payload with a text string instead of a number also solved the problem with negative values. So end up with this option.
msg.payload = "\"Out Temp Warning " + msg.payload.toFixed(1) + "°C\"";