No it worked flawlessly. So it is strange that LMS on the same Pi is not working.
Yes, HS is running as HassOS installation on a Pi 4 and LMS is running on a piCorePlayer installation on a Pi 4.
No it worked flawlessly. So it is strange that LMS on the same Pi is not working.
Yes, HS is running as HassOS installation on a Pi 4 and LMS is running on a piCorePlayer installation on a Pi 4.
Also, just to be sure (if using IPv4/v6 dual-stack), in your Fritz!Box, under Heimnetz â Netzwerk â Netzwerkeinstellungen â IPv6-Adressen
, you should have checked:
⊠if youâre not running a very special configuration.
Seems DuckDNS wouldnât handle IPv6 anyways: From their FAQ:
Q: why canât you detect IPv6 addresses?
A: our service is hosted in AWS, they do not support IPv6 on Elastic Load Balancers for the account type we have (VPC), when amazon do support it, we will start detecting it.
I set it to:
Unique Local Addresses (ULA) immer zuweisen
These are set like you wrote.
I donât think so. The only thing is that I am running AdGuard in my Home Assistant installation and this is set as DNS in the Fritz!Box.
Another set of complications. So another DNS server, who knows what kind of answers that generates ⊠Canât help you there.
On your wget
before, what address did it resolve to?
Looks somehow this:
Auflösen des Hostnamen »hassio.xxxxxxxxxxxxxxxx.myfritz.net (hassio.xxxxxxxxxxxxxxxx.myfritz.net)«... xxx.xxx.xx.xxx
You could probably also try this from another machine, like your Mac.
If that ever resolves to an IPv6 (or both an IPv4 and IPv6) address, LMS will most certainly not play your TTS file.
Oh sorry, I forgot to post it:
Connecting to xxxxxxxxxx.duckdns.org:8123 (xx.xxx.210.85:8123)
b0aea2edbe4ddc857176 100% |******************************************************************************************************************************************************************| 424k 0:00:00 ETA
That is my current external IPv4.
I tested the following in developertools:
This results in this log:
2020-06-05 14:04:08 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2918242256] extra keys not allowed @ data['data']
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 130, in handle_call_service
connection.context(msg),
File "/usr/src/homeassistant/homeassistant/core.py", line 1215, in async_call
processed_data = handler.schema(service_data)
File "/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py", line 272, in __call__
return self._compiled([], data)
File "/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py", line 594, in validate_dict
return base_validate(path, iteritems(data), out)
File "/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py", line 432, in validate_mapping
raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: extra keys not allowed @ data['data']
I donât really know what it means. That is an example from the tts documentation.
Gonna check mine, give example, moment âŠ
This works here (currently using PicoTTS).
I guess you should leave out the data:
line since youâre already in the âdataâ section. And un-indent message:
.
The data:
(or data_template:
) is when you use it in an automation.
Yes, that was correct and results in exactly nothing: No log, no speak, nothing at LMS log.
Ok. Time to go back some steps before weâre trapped in a rathole (or open the next Pandoraâs box).
config/www
folder with appropriate permissions.www
folder.https://xxxxxxxxxx.duckdns.org:8123/local/mytestfile.mp3
. (Donât miss the local
, it is used instead of www
.)Letâs see the results.
Should look like this. And play.
Ok, I did it.
The www folder exists already, so the files can be uploaded:
Then I have:
https://xxxxxxx.duckdns.org:8123/local/mymusic.mp3
https://xxxxxxx.duckdns.org:8123/local/mytestfile.mp3
The first is a real music mp3 file and the second is one of the larger tts files created with google translate.
Both are working fine on the Mac and are playing.
On LMS I switched on normal radio play to hear if it still plays something, there is sound.
Then I opened both URL:
For both files the seconds are counting and the bar goes round and round, but there is absolutely no sound. I set the volume to max but nothing can be heard.
There is no error-message inside the LMS log!
So what is the difference to the âapi/tts_proxyâ folder? And why no sound?
I put the mytestfile.mp3 into config/tts folder, but this can not be played on the Mac.
Hmm. /api/tts_proxy/âŠ
is special. Putting files into the tts
folder doesnât work.
Files from the local
(i.e., www
folder) should play.
I wonder if this could be a problem with LMS8. I use 7.9.3 here. Or maybe even PiCorePlayer, since you were mentioning you use that.
You donât by chance use a custom-convert.conf
? If so, you might try to disable this by renaming to, say, custom-convert.conf.sav
and restarting LMS.
We could now start getting LMS logs, but since this is the HA community, Iâd suggest you hop over to either the PiCorePlayer forum or https://forums.slimdevices.com/ and ask there. Hopefully someone more knowledgeable has a good idea how to diagnose this further.
I strongly suspect either a LMS8 or a networking issue, but itâs always difficult if you arenâƧ sitting in front of the systems. Sorry I couldnât help more! Must really get a LMS8 test machine soon âŠ
Are you running LMS8? Basically self signed certs dont work on LMS 7.9 and the patch is in LMS8 already.
Yes I am using 8. And I am using a Letâs Encrypt certificate.
What are your external and internal URL settings? It should be similar toâŠ
Port number should be your externally visible one for both.
External URL
https://null.duckdns.org:2222
Internal URL
http://null.duckdns.org:2222
This is different, because I use the Duckdns Integration. So I can only use https and not http. If I want to go internally to my Home Assistant I have to use https://192.168.178.108:8123, so the certificate will not be valid, as it is only for names and not for IP-addresses.
These are the links that LMS was getting back in May from Home Assistant. I donât know why. This was from the tts integration.
But now it seems that tts is not working anymore inside Home Assistant, as LMS is getting nothing. It seems that this is since HA 0.110.0.
I am doing this right now.
⊠a few hours later:
The solution is here:
In the LMS settings set Player/Audio/Streaming Method to âProxied streamingâ (âStreaming ĂŒber Proxyâ in German, donât know if my English translation is correct). and then it works, thatâs all.
I am very happy!
The only problem is a HA problem I think. After a few positive tests, I am only getting this:
2020-06-06 23:25:42 ERROR (MainThread) [homeassistant.components.google_translate.tts] Timeout for google speech
2020-06-06 23:25:42 ERROR (MainThread) [homeassistant.components.tts] Error on init TTS: No TTS from google_translate for 'Hallo'
Hey @carsten_h, happy that all the complicated rest works out for you. Proxied streaming might not always be the best bet, but as long as it works out, great!
Your new error might be either:
â There was a problem connecting to Google Translate, or
â you used the same file for testing longer than 5 minutes, and have the TTS (file) caching set to off. HA will only keep the TTS file in memory (1st cache, remember?) for a default of 300s, but you can modify this value. See cache
and time_memory
in the docs here: https://www.home-assistant.io/integrations/tts/
Same issues here⊠Still no luck with google_say tts, LMS and pCP.
MP3 file is being generated, itâs accessible and playable via browser, LMS âseesâ the file and tries to play it.
But no audio output. It just starts playing ânothingâ forever, like a stream with no audio.
Running the latest version of LMS, pCP and squeezelite.
Any ideaâs ?
Did some further testing by moving the TTS generated MP3 file to another location (amongst my music MP3âs).
LMS / Squeezelite seems to play this just fine. So there is no issue with the bitrate / encoding / ⊠of the file itself.
The only difference is that itâs not played as being a stream (what HA seems to do), but as a file.