My first Node. Doorbell to Chromecast

Im a newbie
Using esphome I turned a d1 mini into a binary sensor node, than in node red I placed a change node to make the payload say “someone is at the door”. than a cast node which I set the ip to cast to all home minis in my home. It works!
but… I dont think i did everything correctly. For one I see a menu in the cast node to say a message which i coudnt get to work. also the volume doesnt effect the play.
Would love to hear feedback…
edit: just noticed another problem. if my node interrupts a song being played no a home device it doesnt resume the song. I hope there is a way to fix this.
here is the code
[{"id":"2488213a.b9ab1e","type":"server-state-changed","z":"ef3aec54.fe702","name":"ring","server":"a518c940.a263c8","entityidfilter":"binary_sensor.ringing","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"off","halt_if_type":"","halt_if_compare":"is_not","outputs":2,"output_only_on_state_change":true,"x":180,"y":140,"wires":[["2861aca1.ddb454"],[]]},{"id":"b2a82caa.8ebe2","type":"cast-to-client","z":"ef3aec54.fe702","name":"","url":"","contentType":"","message":"","language":"en","ip":"","port":"42731","volume":"100","x":770,"y":140,"wires":[[]]},{"id":"2861aca1.ddb454","type":"change","z":"ef3aec54.fe702","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"test someone is at the door","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":140,"wires":[["b2a82caa.8ebe2"]]},{"id":"a518c940.a263c8","type":"server","z":"","name":"Home Assistant"}]

There is a thread somewhere about playing alerts to squeezeboxes. The script in that thread resumes what was playing before. It might give you some ideas. If I can find it I’ll post back.

Thank you. This seems like a lot of work for a newbie.
I also came across a broadcast addon that may work but it seems to need google assistant json which Im not using because im using HASS cloud services for now.