@bravenel RM doesn't wait for the speak command to finish before sending the Stop though. So, when I tried this, the announcement was cut off before it completed. So, wouldn't you have to have a separate action invoked by the rule that had a delayed custom command of stop? I tested them together and it doesn't work. My home hub only got about 3 words out before stopping.
Wouldn't it be easier if the device itself issues the stop command after the speaker was done with the announcement? It can read the device's status going to Idle after the message is played. That would be a perfect time to issue the Stop command. If we wanted to do that through rule machine, we'd have to use WATO with a whole bunch of virtual switches. It would be a mess but we could do it.
I know it's against Hubitat's 4th commandment or something but I actually already implemented a webCoRE piston that did exactly that with the Home Hub's status changing to Idle. Worked perfectly. I'd like to make another +1 for custom device attribute access in RM. It would make some of this stuff a lot easier.
EDIT: Actually, I just went into add a WATO for this, and there is no virtual device necessary. You can access the stop command from directly within WATO. So, I have this set up now and it also seems to be working. Thank you @bangali!! WATO to the rescue again! For anyone interested, here's what I have setup in WATO to get the display to turn "off" after a spoken command.