[APP][Pro] Google Services - App for Translate and new Text-to-Speech for any device with url input

And a more direct reply; No, i wil not make the Google Service App a streaming service, because i want to save Homey’s memory/hdd/bandwidth.
But i also used the Soundboard App, so i created the Universal Media Player to send sounds (and wait to finish if you use the conditions) to my speakers before TTS (which you can trigger after a condition for UPnP sound, so its nicely after one another).
But a lott of (cheap) switches/wifi/accesspoints/routers you can stick a USB in and activate a UPnP service on it (and a lott of people allready have a UPnP server at home for Sonos).

Ok, clear but I do not have Sonos. In all my rooms I have HomePods installed.
I was hoping that it would be possible to make use of the Soundboard app to cast the mp3 sounds to the Google Nest Mini.
At the end I do mot want to use a Google Nest mini anymore and want to use TTS via my HomePods. But I know for now there will be no solution to cast to the HomePods.

What kind of Router or Wifi device do you have? What model?
Because many have a NAS/UPnP function now a days…

Just as a example:
ASUS RT-AC66U Zwart - Prijzen - Tweakers
or
https://tweakers.net/pricewatch/1495788/asus-rt-ac57u-v2.html
You can get it for about 50€.

These routers you can plug an USB in and activate the UPnP/Media Servers, and then you are ready to go :wink:
I tested the Asus routers, also the cheaper ones, for some friends who have them (and i also have some asus)

I have an ExperiaBox V10A as moden/router.

Do you have a UPnP under extra’s?
It should have a UPnP server on it. So stick a USB in it, active the UPnP service.

If you can’t find it, send me a printscreen (PM) of your routerpage

In the timeline I see several messages but I have no idea what they mean. It is not only today but also received yesterday a few times.

Does anybody know what this means?
When this happens at the moment I cast a TTS to Google Nest Mini, I hear the previous TTS cast and not the latest. When I repeat the cast, then I hear the latest.
To avoid this issue a bit I have built a delay of 2 seconds between Google Cloud TTS and the Google Nest Mini Cast.

Hai Rob,

Yeah, i build this notification especially so you know this happends: This means you have reached your quota. You can set the quota’s in the Google Cloud Console. You have to look for it. There are 2 global quota’s: 300 requests per minute, and 150.000 chars per minute.
BUT
There is also a 300 limit chars per minute during your trial account.
You can freelly upgrade to a full account, which will remove the 300 characters a minute and enforce the global 300req/p/m en 150k.char p/min.

During testing i also got this error, and it is always a quota. But because this happends during flows, i created the notification (which you can shut of ofc)

Ok thanks for the info. Now it is clear to me why some TTS flows did work well.

There is still one other thing which I have to figure out.
The casting URL is not always updated with the new TTS info. I built I delay between Google Cloud TTS and Google Nest Mini of 2 seconds. Do you thing that this has also to do with the quota’s?

No I dont actually, but I never had that bug.

Do you use the action card or the condition card?
Do you use the local Url token or the device url (you should use local token)?
When you send the url to your device AND phone, without the delay, is the url changed?

Because for every unique speech text/language/pitch/etc, you get a new URL. If you get a new url every time you change something on your phone, my app works correct and the issue might be the chrome cast app.
If the url on the phone is (also) wrong sometimes (as in not updated while it should) its a bug in my app.

The flow below is an example flow I just made. Here you can see which cards I am using.

I select the URL in Cast card by click on the label en type: URL.

Ah,

Remove the cast url from this flow.
Create a extra flow with the trigger from the tts device - Url triggered.
Then add the cast url action card to that flow with the local url token (first token in list).
Now it wil be triggered with the newest url.
Yours wil indeed sometimes be old because of asynchronised behavior (which would be correct, but not wat you want for this)

Ok I did and made the split.
I made an example of 2 different flows (Flow 1 & flow 2) and one output flow (Flow 3)
Can I use one flow to cast all the different flows I made in Homey?

Flow 1:

Flow 2:

Flow 3:

Hey Rob,

Not sure i am understanding you correctly, so let me first ask:

  1. Did you get it working?
  2. If you start Flow 1, does flow 3 gets executed?

Because thats how its supose to work, you setup a trigger (one time) that send the recieved URL from that trigger to a device: Your Flow 3.

Then al you need is a flow like flow 1 or flow 2 and start it.

So to me it looks like your ready to go and you should allready hear the voice when you start Flow 2 or 3?

Hey Arie,

It looks like everything works fine now. I have deleted all the cast card in the flows.
Yes, When I start the first demo flow, flow 3 gets executed.

I am now currently updating all my flows with contain the Google TTS.

Great,

And have a look at Universal Media Player - A Generic storages place for your Homey, speakers, tv’s or other media devices - Apps - Homey Community Forum (athom.com)

Is uses the same mecanics (Start condition/action and then a Url trigger) to play sounds from a UPnP (sometimes “called” dnla) device (most/alott-of routers/wifi have the ability for that) on devices.

Use it as a condition card (and set the delay correct in the devices (also in TTS device=check settings)) and it waits for the sound to finish playing before it sends the speech.

That way you get a real got announcement system ( How to make a Great Public Announcement (PA) System with any device! - Apps - Homey Community Forum (athom.com))

I am working on an App that wil make device-states (turning them on-off and reset-variables like volume) easier for the announcement system.

1 Like

I have looked to the Universal Media Player but unfortunately I cannot make use of this app. The Experiabox I use as modem/router does not allow me to use the USB port.

I do not have Sonos devices in my house but HomePods in all the rooms.There is currently no solution yet to use TTS for Apple devices (AirPlay 2). I still try to find a way to stream/cast (via AirPlay 2) audio to my HomePods. When I find a way how to, there is no need for me to use Google Nest Mini anymore.

This would be great! :+1:t3:

Is there any App for your HomePods?
Or not at all?

As fas as I know there is no app for it yet.