Look into Tasker. There is a “say” part of that that is TTS.
It’s kind of like Home Assistant for your phone in a way except it’s phone automation.
Combined with the plugins for Autoremote or perhaps Join it might be relatively simple. Well once you get your head around tasker anyway. Autovoice can be used at the other end if you want the tablet to be used as a voice control point.
There is a Join component for HASS that works with the notify platform.
Probably not the solution you’re looking for, but I use Pushbullet on my Android devices and a TTS app called Enhanced SMS & Caller ID (eCID) that allows two way TTS. While it’s primary use is for hearing and replying to SMS while I’m driving, you can also have it read notifications from any other app. I just added Pushbullet to that list and whenever I send a Pushbullet notification from my HA, eCID reads it out loud on the device.
Before the TTS component was implemented, this was my method of getting voice notifications from HA. It’s one of the first apps I ever bought and is the first thing I install on new devices. Works extremely well and is regularly updated by the dev.
On the android, I am running tasker with the “MQTT Client” plugin. It subscribes to say/a5 (it is a Samsung A5) and simply speaks whatever the MQTT message payload is. So, the only thing changing between different notifications, is the payload - and a single profile&task combo within Tasker handles the lot. Very easy and effective.
The android in question is also a webcam so it is stationary - very convenient!
Note you will need to create your own HASS automations to send the topics and messages. I left an example in the original message above.
Ok you need to add the tasker mqtt plugin from the Google play store first - onto your phone. Don’t confuse that with your MQTT server (although it was installed as a plugin within HASS).
Once you have installed the tasker MQTT plugin into your phone, launch it, and you can configure it to connect to your HASS mqtt, and to listen to the mqtt topic you chose earlier to send your TTS messages (within the HASS automations I referred to).
Then the tasker profile should be easy to create: New Profile, Plugin, MQTT, Message Arrived.
Where it says “varmessage” and “varmqtttopic” you should choose an arbitrary variable to use in the TTS action (which the profile will trigger).
If you get to this point, let me know. Like I said though - Tasker is a steep learning curve, you will need to self-teach yourself the basics of how it works first. You should also self teach yourself the basics of MQTT - or you will just be flying blind, unable to troubleshoot or fix anything.
I hope I made my self clear in the question - within Tasker, can I use a variable etc to pick the text to speak from the MQTT Payload (sent from HA)? So far I’ve only been able to define the text to be spoken inside Tasker and trigger the message by MQTT from HA.