[APP][Pro] Amazon Echo - Your Home, Your Assistant, Always Ready

Amazon Echo - Your Home, Your Assistant, Always Ready

An open source app that brings your Amazon Echo devices to Homey. Control playback and volume, let your Echos speak and announce, run routines, and use lists, alarms and Do Not Disturb in your Flows.

The app started as a test version in late 2024 and has been stable for quite a while now. Version 2 was rebuilt in Python on top of aioamazondevices, the library behind Home Assistant’s official Alexa Devices integration, which fixed the connection drops of the early versions.

Getting started

Requirements

  • Homey Pro with firmware 13 or newer
  • An Amazon account with 2-step verification through an authenticator app (Google Authenticator, Microsoft Authenticator, …). SMS and email codes don’t work.
  1. Install the app.
  2. Open the app settings, enter your Amazon email, password and a code from your authenticator app, then press Connect. Your region is detected automatically.
  3. Add your Echo devices.

Features

  • Playback & volume - play/pause, next/previous, volume and now playing info, updated in real time
  • Music - play a song, artist, album, playlist or station from a music service linked in the Alexa app, and stop playback on one Echo or on all of them
  • Speak - say, whisper and announce, also in a specific Amazon Polly voice, including languages Alexa doesn’t speak itself (e.g. Swedish, Danish, Polish)
  • Voice commands - send any text command, the same as saying “Alexa, …”
  • Sounds & routines - play notification sounds and run your Alexa routines
  • Alarms - turn alarms on or off, check whether an alarm is set, and skip the alarms on a public holiday
  • Alexa lists - start a Flow when something is added to your shopping or to-do list, read a list, remove or tick off items
  • Do Not Disturb - toggle it, check it, and react when it changes, including changes made in the Alexa app or by voice
  • Screen controls - display on/off, brightness and adaptive brightness for Echo Show, Echo Spot and Echo Dot with clock
  • Speaker groups - multi-room groups show up as one device for playback and volume
All Flow cards

When…

  • An item was added to a list
  • Do Not Disturb turned on / off
  • Screen turned on / off
  • An error occurred

And…

  • Do Not Disturb is on
  • The screen is on
  • Adaptive Brightness is on
  • An alarm is set (today / tomorrow)

Then…

  • Say Message (say, whisper, announce)
  • Say with Voice / Announce with Voice
  • Tell command
  • Play Sound
  • Play music / Stop playback / Stop playback on all devices
  • Run Routine
  • Turn an alarm on or off / Get the alarms for a day / Skip the alarms on a day
  • Do Not Disturb on / off
  • Screen on / off, Adaptive Brightness on / off
  • Get list items / Remove an item from a list / Tick off an item on a list

I deliberately keep the app focused on real Amazon Echo devices, not every Alexa-enabled device out there. Suggestions and pull requests on GitHub are always welcome.

Having trouble?

  • Sign-in needs a code from an authenticator app. SMS or email codes won’t work.
  • Disable or uninstall other Alexa apps on your Homey, they can interfere with the sign-in.
  • Some routers (e.g. eero) and ad blockers break the lookup of Amazon’s servers. Try Google DNS (8.8.8.8) or Cloudflare DNS (1.1.1.1), or pick your country under Amazon server in the app settings.
  • Still stuck? Turn on diagnostic logging in the app settings, reproduce the problem, send a diagnostic report, and post here or open an issue on GitHub.

The app talks to Amazon through an unofficial API, so when Amazon changes something on their side, things can break until an update is out.

Links

:heart: Thank you, sponsors!

A big thank you to everyone who supported the app over the last year:

Andreas B. · Andreas G. · Frank H. · Peter S. · Christoph W. · Daniel H.

If you like the app and want to support it too, you can buy me a beer through PayPal.

Amazon, Echo and Alexa are trademarks of Amazon.com, Inc. or its affiliates. This app is not affiliated with or endorsed by Amazon.

I’m looking for people willing to test this new app, as I really only have a limited number of Echo devices and can only test it via amazon.de. So please let me know if you run into any problems with some of your devices or authenticating to country specific Amazon pages.

I will certainly install, test and let you know how I get on. I have a fleet of echos and echo dots I can test it with and am in the UK.

Installed the app, went to add first device. I choose the device type ‘Echo’ and then when I click ‘Connect’, I straight away get the error message “Cannot read properties of undefined (reading ‘logger’)”

Did you connect your amazon account in the app settings? But good point that I should probably add a info page if the account is not yet setup.

Yeah just realised that, setting those now

OK, have set up app settings and successfully added all my devices. I will give them a good test over the next day or so and let you know how it goes. Excited to see if this is more stable than the pre-existing app.

I’m in the US and have successfully loaded/linked one of my devices, an Echo 8 (gen 1). Will test and expand capabilities.

Just pushed a small update which should be in the store soon to make the startup a bit more stable and give a more meaning full error if the amazon account is not yet connected.

EDIT: Seems like since there is no stable version yet the test version in the store does become unavailable while waiting for approval by Athom. If someone doesn’t want to wait and know what they are doing you can always download the Github repo install it with “homey app install”

Working generally well so far. Sometimes there are long (>1 minute in some cases) delays before a flow that finished successfully on Homey to result in the action happening on the Echo, but that was also true with the other app and presumably more to do with Amazon’s API.

I have found with the Echo Dot 2nd Gen I’ve tested with so far that the volume control cards appear to do nothing, both relative and absolute versions

Are you by any chance playing music in a speaker group? Or only on a single device?

I noticed that if playing on a speaker group that the volume can get ignored sometimes.

Just on a single device

There is a WHEN card which should give you any error messages, can you hook that up to a notification to see if you get any errors when changing the volume? Also does using the “THEN Ask set volume to XX” card work?

Ask set volume to X works (if I use numbers like 1-10). I hooked up the when card for error and then tried the normal volume control cards and for no error was triggered.

I wonder if there’s an issue translating the % values from the volume control cards to whole numbers like 1-10 that the Echo seems to want?

For my Echo Dot 3rd Gen I have no problems with setting the volume either via card or the volume settings of the device in homey (I assume you tried that as well?). So I don’t think the conversion is the problem. Can you go into the device settings and send me the capabilities listed there?

I see these capabilities for my echo:

WAKE_WORD_SENSITIVITY, DEREGISTER_DEVICE, GOLDFISH, EFDCARDS, EQUALIZER_CONTROLLER_TREBLE, TIMERS_AND_ALARMS, AMAZON_MUSIC, LEMUR_ALPHA, SET_TIME_ZONE, DS_VOLUME_SETTING, CHANGE_NAME, TIDAL, SUPPORTS_LOCALE_SWITCH, SUPPORTS_CONNECTED_HOME_CLOUD_ONLY, VOICE_TRAINING, SIRIUSXM, TUNE_IN, TUPLE, MULTI_WAKEWORDS_SUPPORTED, GADGETS, MUSIC_SKILL, ALEXA_NETWORKING_WIFI, ALEXA_PRESENCE, PERSISTENT_CONNECTION, SUPPORT_CALENDAR_ALERT, TAHOE_BYOD, ADAPTIVE_LISTENING, ACTIVE_AFTER_FRO, ASCENDING_ALARM_VOLUME, AUDIO_PLAYER, UPDATE_WIFI, SET_LOCALE, FLASH_BRIEFING, POPTART, ALEXA_DEVICE_REBOOT, BT_PAIRING_FLOW_V2, PANDORA, DIALOG_INTERFACE_VERSION, FAR_FIELD_WAKE_WORD, TIMERS_ALARMS_NOTIFICATIONS_VOLUME, CUSTOM_ALARM_TONE, KINDLE_BOOKS, APPLE_MUSIC, EARCONS, PAIR_BT_SOURCE, VOLUME_SETTING, MICROPHONE, FACE_TO_TALK, SALMON, I_HEART_RADIO, SUPPORTS_SOFTWARE_VERSION, LOCALIZATION, DREAM_TRAINING, ALEXA_NETWORKING, EQUALIZER_CONTROLLER_BASS, PAIR_REMOTE, ALEXA_VOICE, DEEZER, SOUND_SETTINGS, PAIR_BT_SINK, TUPLE_CATEGORY_A, REMINDERS, REQUIRES_OOBE_FOR_SETUP, AUDIBLE, GUARD_EARCON, EQUALIZER_CONTROLLER_MIDRANGE, SLEEP, AUDIO_CONTROLS, SUPPORTS_LOCALE, SPEECH_RECOGNIZER_USS

I tried changing volume on the device in Homey and that also has no effect.

Seems normal so far, I will try to add some additional logging to the next version.

I have submitted a version to the store which includes additional logging, I will let you know once it has passed the review.

Thank you. In the meantime, another possible clue? I just got the error when card to fire one time while I was changing the volume (although oddly it was using an ‘Ask’ command card. which otherwise has been working) and the error was:

getaddrinfo ENOTFOUND eu-api-alexa.amazon.de

Maybe something was hard coded to amazon.de (since I am using amazon.co.uk)?

This is more or less a generic network error, it was not able to resolve the address of server. It should only be transient and work again later. But I might need to add some additional error handling to not crash the app. As for why it uses the amazon.de is because there is only 3 api servers (us, europe+india and far east) and the europe one is on amazon.de. The other setting is simply for the login page you will see.