Node Red & Spotcast to multiple Media Players

Hi All,

I recently moved and in the new house, some of my devices have moved around. This made a bunch of my scripts and automations break or just be wrong. In the fix, I have decided to switch everything I can over to Node Red. I have switched pretty much everything over successfully, but am struggling with my media controls.

If I use the Spotcast script to play a playlist throughout the whole house, it works. When I create a sequence in Node Red to do the same thing I get either a

“Call-service API error. Error Message: Could not find device with name Whole House”

when I use the custom media group or

Call-service API error. Error Message: device_name is empty

when I list more than 1 media player in the Entity_Id. It runs fine when I list just 1 individual media_player.

Both work fine in a script or automation.

I’m pretty sure I am just missing something super easy.

This is the flow at it’s most basic, with everything but the spotcast striped away.
image

And the Data:

{
    "random_song": "true",
    "shuffle": "true",
    "uri": "spotify:playlist:##############"
}

Here is the whole flow code:

[{“id”:“521b145c.e57aac”,“type”:“tab”,“label”:“Flow 1”,“disabled”:false,“info”:“”},{“id”:“7835a38e.dc646c”,“type”:“api-call-service”,“z”:“521b145c.e57aac”,“name”:“Play Sleep Songs”,“server”:“7c7b8d73.2eae74”,“version”:1,“debugenabled”:true,“service_domain”:“spotcast”,“service”:“start”,“entityId”:“media_player.whole_house”,“data”:“{"random_song":"true","shuffle":"true","uri":"spotify:playlist:##############”}“,“dataType”:“json”,“mergecontext”:”“,“output_location”:”“,“output_location_type”:“none”,“mustacheAltTags”:true,“x”:570,“y”:200,“wires”:[]},{“id”:“a7813f1e.9e51c”,“type”:“inject”,“z”:“521b145c.e57aac”,“name”:”“,“props”:[{“p”:“payload”},{“p”:“topic”,“vt”:“str”}],“repeat”:”“,“crontab”:”“,“once”:false,“onceDelay”:0.1,“topic”:”“,“payload”:”",“payloadType”:“date”,“x”:310,“y”:200,“wires”:[[“7835a38e.dc646c”]]},{“id”:“7c7b8d73.2eae74”,“type”:“server”,“name”:“Home Assistant”,“addon”:true}]

Thanks for the help!

Just tried listing 2 speakers in Data as an array.

{
    "entity_id": [
        "media_player.nesthub1407",
        "media_player.google_home"
    ],
    "random_song": "true",
    "shuffle": "true",
    "uri": "spotify:playlist:##########"
}

that didn’t work either…

But I got a new error!

Call-service API error. Error Message: value should be a string for dictionary value @ data[‘entity_id’]

I’m beginning to think that for some reason this isn’t do-able with spotcast through Node Red. I may be sticking with scripts for speaker groups.

Your nodes are old. Looks like you need to update.

Did you ever get this to work?