[SOLVED] Node-Red converts character to hex code when calling service

EDIT: Problem solved! I improved my search terms and found this post by @Kermit: Prevent encoding of URL passed to Call Service node

Hello,

I keep reading that Node-Red is so much better for automations than YAML and I am trying to make the switch. While a lot has been relatively easy to convert without too much of a problem, getting a notification sent to my phone has been rather frustrating.

For context, I’m using joaoapps_join/send_tasker to push some state changes to my phone and then I use AutoNotification to populate the notification. My command from Home Assistant/Node-Red needs to contain =:= as a separator between variable names and values. When I debug messages in Node-Red it reports the payload properly like this, which is what I want:
‘“hanotification=:=Lock_front_door_lock=:=locked=:=TTS=:=locked by thumb turn=:=Lock_front_door_lock_update=:=12:24=:=LockID=:=ha-lock”’

However, whatever service I call, the value/command sent to that service substitues the equal-sign for the hex code & # x 3 D ; (without the spaces as this site translates the code to =)

How do I maintain my equal signs in the message being sent from Node-Red? This is not an issue when running the automation through HA.

Please see image below; the payload I want sent above, the actual message being sent below:

Hi, i know this is really old by now, did you ever get this resolved?
Sitting with the same issue at the moment. i’m setting at msg.payload as “Solar/Battery/Utility” then in the call service node i use {"option":"{{payload}}"} and i get an api failure that “Call-service error. Option Solar/Battery/Utility not valid for Output source priority”

But if i set the data field to {"option":"Solar/Battery/Utility"} it works perfectly fine. so using {{payload}} in my json the call service node converts the “/” to “&#x2F

Yes, I did! If you have the same issue I had, try changing your double brackets {{ to triple brackets {{{.

{"option":"{{{payload}}}"}

Good luck!

ok nice ill give that a try, but i just got it working also.
i set the msg.payload to {"option":"Solar/Battery/Utility"} and in the call service node, instead of using json i use jsonata (expression) and only call payload no brackets or quotes just plaintext payload