Hello all.
I suppose I should mention that I am quite new to Node-RED.
I have a webhook from Plex being sent to Node-RED via http://webhookrelay.com. I have the connector node working, and RED is receiving messages, but I am having trouble with the message that is being received from webhook-relay. The message comes in as a JSON object, which I believe is a wrapper from webhook-relay.
Debug Output
21/12/2021, 16:45:34node: webhook_dbg
plexbucket : msg.payload : Object
object
type: "webhook"
meta: object
id: "##############################"
bucked_id: "##############################"
bucket_name: "plexbucket"
input_id: "##############################"
input_name: "Default public endpoint"
output_name: ""
output_destination: ""
headers: object
Accept: array[1]
0: "*/*"
Accept-Encoding: array[1]
0: "gzip"
Content-Length: array[1]
0: "12062"
Content-Type: array[1]
0: "multipart/form-data; boundary=------------------------c7b26957a9fb7c1b"
User-Agent: array[1]
0: "##############################"
query: ""
body: "--------------------------c7b26957a9fb7c1b↵Content-Disposition: form-data; name="payload"↵Content-Type: application/json↵↵{"event":"media.scrobble","user":true,"owner":true,"Account":{"id":1,"thumb":"##############################","title":"######"},"Server":{"title":"################","uuid":"############################"},"Player":{"local":true,"publicAddress":"###.###.###.###","title":"Microsoft Edge","uuid":"##############################"},"Metadata":{"librarySectionType":"show","ratingKey":"16633","key":"/library/metadata/16633","parentRatingKey":"16632","grandparentRatingKey":"16631","guid":"plex://episode/616457d0dcafa2bcb75c96db","parentGuid":"plex://season/61651249024c21eb63bf0a9e","grandparentGuid":"plex://show/616457cedcafa2bcb75c96b1","type":"episode","title":"Episode 1","grandparentKey":"/library/metadata/16631","parentKey":"/library/metadata/16632","librarySectionTitle":"TV","librarySectionID":2,"librarySectionKey":"/library/sections/2","g..."
method: "POST"
However, I am having trouble parsing out the BODY part of the message in to its own object for use in other thing like functions and switches. The content of body should already contain JSON data, which I hope to use in a switch...
[{"id":"db306fc76c716133","type":"switch","z":"f6f2187d.f17ca8","name":"Media Function","property":"payload.body.event","propertyType":"msg","rules":[{"t":"eq","v":"media.pause","vt":"str"},{"t":"eq","v":"media.play","vt":"str"},{"t":"eq","v":"media.rate","vt":"str"},{"t":"eq","v":"media.resume","vt":"str"},{"t":"eq","v":"media.scrobble","vt":"str"},{"t":"eq","v":"media.stop","vt":"str"}],"checkall":"true","repair":false,"outputs":6,"x":480,"y":260,"wires":[["acd8d7b6e0288518"],["acd8d7b6e0288518"],["acd8d7b6e0288518"],["acd8d7b6e0288518"],["c68cd89e5eacced5","acd8d7b6e0288518"],["acd8d7b6e0288518"]]}]
But the switch does not appear to respond to msg.payload.body.
I've tried running msg.payload.body through a JSON node...
[{"id":"96f5b34c29df3823","type":"json","z":"f6f2187d.f17ca8","name":"","property":"payload.body","action":"","pretty":true,"x":680,"y":780,"wires":[["66448228366602c1"]]}]
But all I get out of it is a string, containing the JSON Data, and I'm at a loss on how to get this as a usable object.
(Also, as an aside. I've also tried configuring direct input from Plex Webhook using a HTTP-IN node, but all I get I gibberish (a buffer msg.payload with hex values )
Any pointers or advice to remedy this would be greatly appreciated
H