Amazon Echo Control Thing/Bridge offline

It is a nonsense ;this was happening to me either and items where not working.

After Reboot they where not anymore online and I cannot anymore register the account in amazon.

I am also using Voice Monkey skill to setup triggers and link them to routines for now.

Go to voicemonkey.io link to amazon.. then setup a few trigger names and get the api call urls. Once triggers are established, setup a routine on alexa app to take the action. Then use a HTTP GET command in a script to call the trigger from the voicemonkey api.

Its sloppy but it will get some of your basic announcements back working or even some basic actions until a new solution works.

At least i got my doorbell and doors left open announcements back working.

Example:

Setup trigger called doorbell. Hit send doorbell to alexa.

Go to app and you will find the trigger doorbell available in the routine.

In alexa app Routine: When trigger “doorbell” it pushed

Take Action: Announce: Someone is at the front door.

In openhab Set Rule when front doorbell is pressed:

Script:

HTTP.sendHttpGetRequest(“https://api-v2.voicemonkey.io/trigger?token=TOKENREMOVED&device=doorbell”)

It is not that easy. I have the amazon air quality measurement devices, connected via the amazon binding. The device is mostly offline but it collects data for a few hours. So, it is connect for a while and gets disconnected again. I know that this is strange but I see that in the persistence service.

Hi

I opted for the RED node solution. I hadn’t used it before and I’m amazed at how easy it is. If you have an MQTT broker and ideally Docker running (I’m using a Raspberry Pi with Portainer where everything is installed), then it’s done in 1-2 hours max. Here’s a very good description:

Many thanks to Larsen, that was a great help.

I hope, however, that there will soon be a solution directly in OpenHAB.

When calling the Bootstrapping-URL (https://eu-api-alexa.amazon.com/api/bootstrap) manually in the browser there is the following information:

So, perhaps Amazon will set it online again after they have finished the changes ?!?!

Ralph

Alexa TTS Workaround Using TextVorlesen + VoiceMonkey + openHAB
This guide explains how to set up a working text-to-speech solution for Alexa using the TextVorlesen service, VoiceMonkey, and an openHAB rule.

  1. Open the Alexa app.
    Install the skill “Alexa Text-to-Speech (TTS)”.
    Go to “Alexa Text-to-Speech (TTS)”-Website : in with your account.

  2. Create a Trigger in VoiceMonkey
    In VoiceMonkey, create a new Monkey (Trigger).
    In the Alexa app, create a new Routine:

Trigger: your new Monkey
Action: choose Custom
Enter the phrase: “start text vorlesen”
This connects VoiceMonkey to the TextVorlesen skill.

  1. Test the Setup
    Visit:
    Enter a text and play it using your VoiceMonkey trigger.If Alexa speaks the text → the integration works.

  2. Add the openHAB Rule
    Add this rule to your openHAB configuration:

import java.net.URLEncoder*

rule “TTS TEST”
when
System started
then
var sText = “Hello!!! bla bla bla. This is a test”
val sTextencoded = URLEncoder::encode(sText, “UTF-8”)
logInfo(“SendCommandToVoiceMonkey”, sTextencoded)


// Upload the sentence to the TextVorlesen service
logInfo("SendCommandToVoiceMonkey",
    sendHttpGetRequest("https://esp8266-server.de/alexa/TextVorlesen/get/?id={MY ID}&hash={MY HASH}&SendeText=" + sTextencoded))

// Trigger Alexa via VoiceMonkey to speak the sentence
logInfo("SendCommandToVoiceMonkey",
    sendHttpGetRequest("https://api-v2.voicemonkey.io/trigger?token={MY TOKEN}&device={MY TRIGGERNAME}"))

end
  1. Replace Your Personal Data

Replace the placeholders:
From “Alexa Text-to-Speech (TTS)”-Website :

{MY ID}
{MY HASH}

You find them in your TextVorlesen account dashboard.
From VoiceMonkey:

{MY TOKEN}
{MY TRIGGERNAME}

You find these in your VoiceMonkey dashboard.
Done!

1 Like

check this out :clap::confetti_ball::tada::

openHAB fix is here: [amazonechocontrol] Fix authentication by digitaldan · Pull Request #19690 · openhab/openhab-addons · GitHub

6 Likes

Looks like the lastvoicecommand and setting volume levels isn’t working on the 4.3.9 version.

Fyi, Jay

Any chance to tell us how we can install this fix the easiest way, for the ones which are not on the latest revision but on the stable one.

1 Like

5.0.2: lastvoicecommand and TTS both works. I had to correct myself.

TTS didn’t work until a reboot was done.
Lastvoicecommand didn’t seem to work until I set logging to DEBUG - then it suddenly started. So it’s all ok, great work, thanks to Isiepel!!

the new OH v5.0.3 release already contains the again working Amazon-Echo binding.
@digitaldan , @lsiepel : just awesome. thank you.

6 Likes

Thank you very much for the work and efforts. :heart:Much appreciated! Let me know, if/how I can tip you a coffee or something :+1:t3:

working well on 5.1.0M2

1 Like

Thank you so much @lsiepel Leo for fixing this. You are a champion :trophy:

This bug report reintroduces the Amazon Air Quality bug that was fixed in 4.3.8 version of the binding.

[amazonechocontrol] Amazon Air Quality Monitors (amazonechocontrol:humidity) · Issue #19708 · openhab/openhab-addons

Best, Jay

Great job, many thanks @lsiepel!

Thanks @lsiepel and @digitaldan for fixing the binding!
Can i be so blunt and throw in some improvements? :wink:

  1. would it be possible to add the speakAtVolume functionality in the binding? Sometimes someone has set their alexa to a lower volume and therefore won’t get any normal speak commands. I usually include a “find current volume - speak at volume 70 - reduce to current volume”, which also means triple the API-calls than necessary. would be awesome, if the binding would support this.
  2. would it also be possible to fix the “getting items from list” error? perhaps introduce a “list”-channel? [1]

[1]
it should be possible to retrieve the list, perhaps the endpoint just switched or there’s an argument missing in the request? In the applestrudel-“workaround” there’s an “Alexa List”-node, which returns the current list.

the log-entry:

2025-11-24 16:55:47.192 [INFO ] [ntrol.internal.connection.Connection] - getting items from list 'XXX=' failed
org.openhab.binding.amazonechocontrol.internal.ConnectionException: https://eu-api-alexa.amazon.com/api/namedLists/XXXX=/items?_=1763999740955 failed with code 503: Service Temporarily Unavailable
	at org.openhab.binding.amazonechocontrol.internal.util.HttpRequestBuilder$HttpResponseListener.onComplete(HttpRequestBuilder.java:386) ~[?:?]
	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218) ~[?:?]
	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210) ~[?:?]
	at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:481) ~[?:?]
	at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:461) ~[?:?]
	at org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:424) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:374) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseFields(HttpParser.java:1188) ~[?:?]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1560) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:208) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:148) ~[?:?]
	at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:80) ~[?:?]
	at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131) ~[?:?]
	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:172) ~[?:?]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[?:?]
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555) ~[?:?]
	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410) ~[?:?]
	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164) ~[?:?]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[?:?]
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[?:?]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) ~[bundleFile:9.4.57.v20241219]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) ~[bundleFile:9.4.57.v20241219]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) ~[bundleFile:9.4.57.v20241219]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) ~[bundleFile:9.4.57.v20241219]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) ~[bundleFile:9.4.57.v20241219]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[bundleFile:9.4.57.v20241219]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[bundleFile:9.4.57.v20241219]
	at java.lang.Thread.run(Thread.java:1583) [?:?]

There is a way to offer a digital beer (paypal or similar) to @digitaldan and @lsiepel ?

1 Like

No need for any tips, appreciation is enough. We are always looking for contributors, no matter if it is about code, documentation, testing or any other way of ‘returning the favour’
While I started, it actually was @digitaldan who made the fix. All credits to him!

13 Likes