Text to speech is a two step process. The text to audio step uses the service (action) tts.speak with a target entity of the speech service. The second step uses a media player action with a target of the media device on which to play the audio.
tts.speak is a tts building block integration, and is used by adding a speech service integration to provide a full text to speech service. In such cases, the action would be something like ‘tts.google_translate_say’ and this action combines the tts.speak and the target text to speech service, thus the new action (speak using a tts service) only requires the media device entity-id as the target.
However, you can use the action ‘tts.speak’ on its own, but this then requires both the speech service and the media player. This is indicated by the help documentation requesting “media_player_entity_id” as a separate entry. These extra entries all go under the Data object.
With the update in HA to actions, the action still requires a target entity on which to perform the action, but in the Action Node the target entity has now moved from a distinct field in the UI down into the Data object. This is, as always, is called the ‘entity_id’. Yes, the documentation has not yet caught up with this change…
In HA Developer Tools, Actions, you have the target - ‘entity_id’ as “tts.google_translate_en_com” which is the target entity for speech. This, in the Node-RED action node, needs to go in the Data object under field “entity_id”.
Since you are using tts.speak, the media player (which is the output device) is not the target entity but rather an option entity, and this is now requested (for this action only) under “media_player_entity_id” and should be your media_player.dining_speaker
You will continue to get errors when attempting to call an Action if the options in the Data object are not correctly completed. Missing fields (entity_id), extra fields that are not expected (options) or incorrect values for fields will all generate errors.
For myself, the following is working under action ‘tts.speak’
{
"media_player_entity_id": "media_player.kitchen_display",
"entity_id": "tts.google_uk_co_uk",
"message":"My name is hanna",
"language":"fr"
}