My Squeezebox TTS notification doesn't work anymore

For quite a while i was happy with announcements like this to my Squeezebox Radio (using the LMS integration):

notify:
    - platform: lms_tts_notify
      name: kitchen
      tts_service: tts.google_say
      media_player: media_player.kitchen
      device_group: group.all_persons
      alert_sound: Alert
      volume: 0.4

But I just noticed that it doesn’t work anymore. For about one second I see on the display of my SBR:
“Connection timed out:
Announcement”

Anybody knows how to solve that problem?

I’m not familiar with lms_tts_notify, so it might support other capabilities, but we support the native HA announce functionality in squeezebox now. Squeezebox (Lyrion Music Server) - Home Assistant

Same timed out message when using:

action: tts.speak
target:
  entity_id: tts.google_translate_de_com
data:
  media_player_entity_id: media_player.squeezebox_radio
  message: test

May be it’s caused because I switched from a HA installation on RP4 to a VM on a Proxmox?

Yes - that’s entirely possible. tts_speak will be creating a url for squeezebox to play. So, your LMS needs to be able to resolve that url. Maybe look in the logs for the url - they stay valid for a little while in my expecience and see if you can wget it from your LMS machine. Sounds like a networking issue to me tbh … I run my HA in a VM on proxmox and my LMS in an LXC container without any problems btw…

How did you do that? Do you have a good manual for that?
And how do you update LMS?

I have a script to do the LMS update



export TERM=linux

RELEASE="stable"


	case $RELEASE in
		release) LATEST="hhttps://lyrion.org/lms-server-repository/latest.xml";;
		stable) LATEST="https://lyrion.org/lms-server-repository/stable.xml";;
		devel) LATEST="https://lyrion.org/lms-server-repository/dev.xml";;
		*) LATEST="https://lyrion.org/lms-server-repository/stable.xml";;
	esac


# LATEST=http://downloads.slimdevices.com/releases/nightly/stable.xml

tmp=$(mktemp)
wget -q $LATEST -O $tmp

# Add linefeeds after elements for parsing
sed -E -i 's/>/>\n/g' $tmp

while read line; do
	echo $line | grep -q debamd64 
        if [ $? -eq 0 ]; then
        	DEBAMD64=$(echo $line)
        fi

done < $tmp
rm -f $tmp

if [ "$DEBAMD64" != "" ]; then
	NEW_REVISION=$(echo $DEBAMD64 | awk -F'revision=' '{print $2}' | cut -d' ' -f1 | sed 's|/>||' | sed 's|"||g')
	NEW_URL=$(echo $DEBAMD64 | awk -F'url=' '{print $2}' | cut -d' ' -f1 | sed 's|/>||' | sed 's|"||g')
	NEW_VERSION=$(echo $DEBAMD64 | awk -F'version=' '{print $2}' | cut -d' ' -f1 | sed 's|/>||' | sed 's|"||g')
	#echo "NEW_REVISION : $NEW_REVISION"
	#echo "NEW_URL : $NEW_URL"
	#echo "NEW_VERSION : $NEW_VERSION"
else
	echo "${YELLOW}No update information returned from slimdevices.com.${NORMAL}"
    	exit 1
fi

REVISION=$(head -n 1 /usr/share/squeezeboxserver/revision.txt)

if  [ $NEW_REVISION -eq $REVISION ]; then
	echo "${GREEN}Already running latest version v$NEW_VERSION r$REVISION${NORMAL}"
	exit 1
fi

echo "Updating LMS v$NEW_VERSION r$REVISION to r$NEW_REVISION"
echo ""
wget -O ./latestlms.deb $NEW_URL

systemctl stop lyrionmusicserver
dpkg -i latestlms.deb
systemctl start lyrionmusicserver

sleep 30
(echo "wipecache"; sleep 1; echo "exit") | nc localhost 9090 > nul


# rm latestlms.deb
echo ""

echo "Update Complete"

1 Like

HA VM was created using tteck script IIRC, and the LXC is just a Debian LXC with LMS installed

1 Like

The solution was so easy. I just had to add the IP of HA in the external url field in settings and my Squeezebox plays TTS…