Node Red voice announcement with specific voice

When I create a voice notification automation in HA, the announcement is made using my chosen voice, en-GB Alfie. However, when I create the automation in NR, the announcement is made with the default voice. How can I set up the action in NR to use Alfie?

Please post the working yaml, action with data, that you want to convert.

Here is the YAML from a working notification that uses the Alfie voice.

action: assist_satellite.announce
metadata: {}
data:
  message: A package has been detected at the front door.
  preannounce: true
target:
  area_id:
    - office
    - den
    - front_bedroom_2
    - kitchen

This is the action node I am trying to set up

[{"id":"3e267faa97d1ba75","type":"api-call-service","z":"b30129bcf8773583","name":"","server":"64e3773e.19ea68","version":7,"debugenabled":false,"action":"tts.cloud_say","floorId":[],"areaId":[],"deviceId":[],"entityId":[],"labelId":[],"data":"{\"entity_id\":[\"media_player.home_assistant_voice_0907aa_media_player\",\"media_player.voice_pe_den_media_player\",\"media_player.voice_pe_kitchen_media_player\",\"media_player.voice_pe_front_bedroom_media_player\"],\"message\":\"{{payload}}\",\"options\":{\"voice\":\"en_GB\"}}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","blockInputOverrides":false,"domain":"tts","service":"cloud_say","x":1030,"y":960,"wires":[[]]},{"id":"64e3773e.19ea68","type":"server","name":"Home Assistant","addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":"","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"","statusYear":"2-digit","statusMonth":"short","statusDay":"2-digit","statusHourCycle":"h12","statusTimeFormat":"h:m","enableGlobalContextStore":false}]

Thanks for any help!

These are 2 different actions. You can use assist_satellite.announce in the action node. If you don’t want to use assist, tts.cloud_say is a legacy action use tts.speak instead.

If it still doesn’t work, in dev tools → actions, run the action there and see if it works in yaml.

1 Like

This is the way. Thank you very much!!

1 Like