Alexa Media Player Alternatives for TTS & Announcements [Node Red Palette]

Okay, I don’t see a post here for this, but I guess it’s inevitable given PSA: Alexa Media Player v4.13.3 breaks all versions of Home Assistant - Configuration - Home Assistant Community (home-assistant.io) and the fact that the developer is no longer supporting it.

I chose yesterday as a day to sort out all my Alexa announcement routines using AMP (great timing!) and create a dashboard button to handle custom announcements
image

But now I’ve got AMP disabled and am concerned that it’s likely to have seen it’s day

I’ve been googling - I’ve seen VoiceMonkey (which apparently is $ tho not tested), but other than that I’m coming up short?

Is there a way to send custom announcements using HA to Alexa that I’m missing?
I only use that function of AMP (I also use it for warnings - e.g. windows are open when leaving the house)

I use Node Red for all of my automations and it can create announcements on both Alexa and Google.

Only using the AMP Integration tho right?
I use Node Red too, but you’re only going to get the notify.alexa_device if you have AMP setup?

Or are you saying there is a way to do it without that?

Without AMP. This pallet doesn’t need it.

4 Likes

Oh nice - will give that a try!

During setup is the nodered IP just the IP of HA?
And is it sensible to set a filepath?

It also has a node with ability to listen for activity and provide which device heard you speak but it’s been inconsistent for some. I can say “it’s hot in here” in any room with a ceiling fan and my flow will turn on correct fan. I can also say “make it light” and the lights in the room I am in will turn on. It doesn’t work with every Echo device and some have struggled with it though.

One other cool thing you can do is it can send a custom command. Therefore, anything you could say to Alexa to get “her” to do something, this pallet has node than can send through a flow without you actually speaking it.

I would assume so but not sure. I am running Node Red on a Raspberry Pi, not the Home Assistant add-on. In my case, it is the IP Address of the Pi. Someone else will have to confirm for HA.

I’m hoping that the planned release of an assist satellite device by Nabu Casa will help. I think I saw something in the 2024.10 release that suggests that such a device will be able to make announcements (I hope).

I’d like to see such a device also be able to ask a question and listen for a response.

I currently rely on AMP quite a bit. The lack of support from the original developer and, I believe, the use of an unofficial API are not a good combination.

AMP can do this to.

Just want to say, this works AMAZINGLY.
I see some comments about random sign outs in the github so will see how this plays out (I couldn’t find the right way to enter a path), but in the words of the Mandalorian… this is the way

In my case, it’s been inoperative for many months (after using it without issues for a long time). It’s a known bug and I have tried every suggestion to fix it and none have worked. It apparently works for some but no one can definitively identify the reason it fails for others; like you said, it’s “inconsistent”.

What continues to work is sending commands, so basic communication is not the culprit. The node responsible for detecting Alexa events is simply not receiving any. That’s the node I needed most and so, after it stopped working, I abandoned alexa-remote2-applestrudel.

Ah, I’ve not tested that - I mostly need it for sending, but just looking at the flows I was using for AlexaMediaPlayer I have a few where i was capturing the last used device (i.e. for setting the right thermostat)

Is that an option with this? Still getting to grips as I’m not quite sure the use case of the different nodes (esp the grey ones
image
)

The Alexa Event node is the one that ceased to work for me. The issue is documented here:

image

Ah, so that’s the one that I would need to determine which device was last called I think… right?

EDIT: this wasn’t working but when I went into my settings for the server and set the third checkbox to on it worked once but now not working again

Yes, it’s very bizarre that some people have never had any luck with the Event node in that pallet and others, like me have had it work consistently. Knock on wood, the Event node is working fine for me right now. I haven’t had issues with any of the other nodes in that pallet nor have I read others having issues other than with the Event node.

Can you confirm for me - is there any way to identify which Alexa device has the last command? I assumed it was that node but I didn’t see it in the (one) payload that I got from it anyway!

Edit, yeah it’s super weird - I actually just got three outputs from it when I asked the time for 3 different devices… but now I’m getting nothing

FWIW, I have the same configuration and the Alexa Event node still fails to report any events.

In the past, when it worked, whenever an Alexa device heard a command, the Alexa Event node would report all of the event’s details (which Alexa device heard it, what was the command, etc).

The fact that it does work for some installations, apparently with the same configuration, but not for others is problematic; you can’t guarantee it will work for someone until they try it. If it fails to work, nobody has found a guaranteed way to fix it.

I use msg.payload.deviceSerialNumber to determine the device.

Recognising this problem with AMP - and, I too, use it almost exculsively for TTS and announcements - does anyone know if the Lambda route through Amazon Developer still works?
I do not wish to go through the entire rigmarole that is getting Lambda configured if the problem exists via that route, as well.

From the On Device Activity node I assume?

Sadly, like others, that’s not working (at least not reliably) for me…

I’ve found the Alexa Other Node set to Get Activities, when called will output an array which includes the last command, but I see no clear way to obtain what is the last successful command - it seems to log all devices that may hear that command - I have no idea how to fish through that in order to know which device was the last one that actually was spoken to

[to give context, with AMP before I had a routine called “Boost the Heating” - when it was called, it toggles a boolean in HA, which triggers a call of “last alexa device” then boosts the relevant TRV depending on the room - maybe there is a better / different way to do this with the Node Red variant]