#Alexa devices
1 messages ยท Page 1 of 1 (latest)
@pallid shale @untold spindle @junior crag @woven flint @full ore
@plucky sentinel
Do we know what Amazon expects with headers and such?
I think so, lib currently is able to retrieve all devices data
Only posting an announcement doesnโt currently work.
But Iโm quite sure we are pretty close for it as well.
What is Amazon devices ? You mean the Alexa integration ?
I starting writing a new lib: https://github.com/chemelli74/aioamazondevices
And a first implementation on HA side as well: https://github.com/home-assistant/core/pull/132154
Alexa media player. But the API supports more than echo devices
and more stable?
No, we don't want to disturb the known user experience.
to be fair its been stable for a while now
@pallid shale Do you have a link to the test script at hand?
@untold spindle you mean https://github.com/chemelli74/aioamazondevices/blob/main/library_test.py ?
Yes, thought it would have been somewhere else ๐ซฃ
All in the repo ๐
Just added testing info to readme: https://github.com/chemelli74/aioamazondevices?tab=readme-ov-file#test
I think I got it
at least I see in the log: Response 200 for url https://alexa.amazon.it/api/behaviors/preview
but not home to check if Alexa really speaks
PR updated
Works ๐ ๐ 
I used my camera to get the audio from home and I can hear the message
So @lunar galleon which is the next step ? Revitalize https://github.com/home-assistant/core/pull/132154 ? Open a new PR for notify platform only ? Any other idea ?
I would say merge in in between branch and get the new platform PR ready
Hi
finished also migration from httpx to aiohttp
Cookies needs a bit more handling. Anyone want to review the PR for letting me know if it's good to go ?
Found a simpler way
Released 0.14.0
Is ok to use from pydantic.utils import deep_update for nested dict update or there is a different, preferred way ?
nested dict update?
update some values of a dict inside a dict
Currently I used a if but wanted to optimize code: https://github.com/chemelli74/aioamazondevices/pull/155
Was thinking to optimize with something like:
source = {'hello': {'value': 'to_override', 'no_change': 1}} overrides = {'hello': {'value': 'over'}} deep_update(source, overrides) assert source == {'hello': {'value': 'over', 'no_change': 1}}
Hi, small (but not so small) update:
- Implemented both Alexa.Speak and AlexaAnnoucement
- Tested with httpx: all features implemented works fine !
- Tested with aiohttp: cannot pass login because of a missing redirect (getting 200 instead of 302)
- Added a draft PR with a httpx wrapper to allow easy swap from one library to another
I spent tens of hours trying to understand what's wrong.
Played with:
- headers
- cookies / cookie_jar
- encoding
everything without success
Anyone willing to help?
Hi!
a few news:
- added some features like "play music", "play sound", "send custom text command"
- code cleanup and optimization
- create branch "amazon_devices" on core side
- opened draft PR for the new integration
Hi guys, anyone that can help with the aiohttp issue ?
I will try to find some time in the coming week
Hi guys, what do you think if we temporary merge the PR for httpx, so we can progress on the HA side and leave the swap to aiohttp for later ?
We are stuck on that task since long time
I am happy to do that
as in
I thought I would have time now, but I did not and dove in other things and reviews
and I expect next week to be revolving around community day, and the week after around my new appartment
Thanks! When Iโll be back home I will proceed with the merge.
Hi,
notify platform is ready ๐
Will add tests and then prepare a PR
did we use entities?
You mean entities instead of actions? If so, yes !
oh awesome
@lunar galleon for Alexa I need to be able to specify a method/mode between ( speak, sound, announcement, etc. ).
I though to add a "mode: XXXX" key to notify.send_message data payload, but it fails.
Is that the correct approach ? OR should I instead create more notify entities one per each "method" ?
cc @fresh hull
Alexa supports specific device classes, like a doorbell using a notify entity. https://www.home-assistant.io/integrations/alexa.smart_home/#doorbell-events Not sure that is what you are looking at
Is not that we expose to Alexa is for talking to a echo
And we have different ways to do that: speak, announce, sound, etc.
They all work on my library
I just need to know if I can extend the data payload of the notify entity or instead I should create a entity for each type/mode
Just to clarify even more:
Current AMP behavior:
action: media_player.play_media
data:
media_content_id: Metti Radio deejay su tunein
media_content_type: custom
target:
entity_id: media_player.echo_dot_sala
note: "type can be custom, speak, sound, annount, etc
First idea for new integration:
action: notify.send_message
data:
message: test
mode: speak
target:
entity_id: notify.echo_dot_sala
note: "mode" can be custom, speak, sound, radio, etc.
Second idea:
action: notify.send_message
data:
message: test
target:
entity_id: notify.speak_echo_dot_sala
note: will create one entity for each mode
Morning, I decided to go ahead and commit notify platform and its tests.
Is based on the last idea exposed above
Hi everyone
I commited also the switch platform
We now have all the main features to include the new integration in core
What we miss compared to AMP ?
- sensors:
next alarm,next reminder,next timer - media player: real time status of what's playing
- switch:
music shuffle,music repeat
BTW, test coverage is 100% so far
Great job!
Thx!
Hi guys, integration is finally ready for review !!! Fingers crossed !!!
I'm not sure if it will make June release
As in. I don't really feel like rushing it in right now, although I do like the extra week of beta
Letโs review anyway please. Then we can await merging if not wanted in beta
@everyone Can you check what the mac addresses are for your alexa devices?
So far we have
C0:95:CF Amazon Technologies Inc
9C:C8:E9 Amazon Technologies Inc
74:D6:37 Amazon Technologies Inc
10:BF:67 Amazon Technologies Inc
You need the last 3 parts of the MAC?
first 3
4C:17:44
Thx, this resolve to Amazon Technologies Inc as well
d8:be:65
50:dc:e7
48:b4:23
I think we will find many more during beta
does a fire stick count too? if yes then ec:2b:eb
yeah, there will be a lot
yes please
do they work as well?
seems so
no I mean, do they have any use case in the integration?
you can send a custom command to start netflix for example of music and
those are present in AMP as well
yeah i use amp to send a turn tv off to a fire stick which sends to tv via hdmi-cec
you may also help finding those info for your devices:
"A2U21SRK4QGSE1": {
"model": "Echo Dot Clock",
"hw_version": "Gen4",
}
Current list is there: https://github.com/chemelli74/aioamazondevices/blob/main/src/aioamazondevices/const.py#L68
IIRC, AMP shows those info
I think AMP does also include the Alexa app on mobile. ๐ค
Yeah but IMHO this doesn't make really sense
well the bluetooth itelf is not connected
is that a bluetooth enabled for you that shows as connected ?
Device type for my Echo Dot Gen3 is already in your list.
Can we add a discovery thing where we log in the logs that we found a model ID we have not seen yet and ask them to open an issue against the library?
Will do tomorrow
Just walking off a mountain
will remove the deviceclass
1100 feet in 1k
Good idea!
be sure to smile ๐
Too tired

there's a list on the echo-speaks repo not sure if you might want to use those or only trust newly collected data?
along with other devices that have alexa built in which may crop up
they are at the bottom of the linked above
yeah, thats fair. i have no idea how that data was sourced. if nothing else it gives you a list of possible random devices that might crop up
ok whats still left ot merge
we don't need to have that one
there's a default implementation for discovery steps
it just starts a new flow with the user step, but only if there is no flow running or when there's no config entry added
But nothing is discovered
oh, DHCP is not getting data on the dev container lately
let me try live
it worked for me at least
Guys, everything that was reasy in now merged !!!
Cannot wait you all giving feedback and testing during beta !
Did it make it into this beta?
Yeah, thx to great help of @lunar galleon
Can't wait to retire AMP.
We still have 3 things to implement:
- 3 sensors:
next alarm,next reminder,next timer - 2 services:
send soundandsend custom command - media player entity with real time WS
please allow for multiple timers to be seen and used in some kind of reasonable way... I have some wild stuff with AMP to get data from and display 3 timers on my kitchen dashboard ๐
Open to suggestion on how to implement the 3 sensors
Maybe a binary sensor that is "ON" if at least 1 timer is on and then in the extra_attributes list all those that are active ?
Will start with the services as those are ready from the library point of view
I'm going to veto that already ๐
attributes are on the way out i think ๐
it's just like spices
you sometimes need them
this is the chaos I currently have to give you inspiration on what NOT to do - https://pastebin.com/a7jxnyk5
I wrote this quite a while ago so... whilst i will take questions i may not be able to answer them...
throw an idea on the table
services could work
IIRC it works because in the extra_attributes of AMP you have the full raw json
?
How you see the state of the timer with a service ?
response values of a service
what's the full flow ?
We have data in the coordinator that are refreshed on a schedule, and then ?
yeah, i remember trying to make sense of it for a while before i got this method "working"
you can use service to get that data for an automation
I assume you mean like the weather.get_forecasts action?
yes
if the data is only on request then there needs to be some kind of push for when an alarm is set/canceled. perhaps an event too.
event types be something like timer set / timer cancelled / timer adjusted so can automate on when something happens
PR for services: https://github.com/home-assistant/core/pull/145645
Is draft because it needs more love:
- better schema for device list
- handle a list of devices
- validate sound against the sounds list from library
Hi guys
fine for everyone if I gather data only for active "schedules" ( Timers, Reminders and Alarms ) ?
I don't see a use case for those that are already OFF
when is a timer no longer active? when it reaches the end or when its silenced by the user?
I feel that seeing "recently active" timers would be nice. but to be fair i am not sure this means you need to pull the data from expired timers. its just a matter of a user being able to see it. using an event when things happens means a user to pull that data.
not exactly sure on implementation but hopefully my use case thoughts are sort of sensible
@pallid shale are we able to run both AMP and this integration at the same time? I would assume yes. Just asking before I attempt to use it later today
yes
thanks chemelli74
@rigid sphinx a Timer is no longer active when it expires or it's silenced by the user.
This is the structure I have in mind:
AmazonSchedule(
type='Alarm',
status='ON',
label=None,
original_date='2025-05-28',
original_time='06:00:00.000',
recurring_pattern='XXXX-WD',
remaining_time=0
)```
I would say for Alarm we may want 3 entities in the UI:
- switch: enabled/disabled
- sensor: time
- sensor: recurrence
creating and removing them dinamically ?
when you say "or" that implies its inactive whilst its erm "alerting"
Plus 3 hardcoded and for "next alarm"
it's on but as soon as I silence it then it goes off.
@lunar galleon what do you thin kabout the above design ?
I want to rapresent all 3 kind of "schedules": timer, alarm and reminder
whats the label
yeah therees subtle differences in what may be wanted. e.g. timer wants to know the length/progress of the timer. whereas an alarm probably only needs "time until"
Yup, will rapresent different data for different types
would "remaining time" be a timedelta or just a number (e.g. in seconds)?
we should do a remaining time, but rather the end time
is always a timestamp but one will be named "Alarm schedule" the other one "Timer"
The label is the name of the object you gave for example "Alexa set timer Pasta 5 minutes", so label="Pasta"
or could be None; in this case I would use the internal number like "Timer nยฐ 27"
so its not a sticking one?
Exactly
from what i remember from AMP stuff they have a UUID too right? is it worth adding this as a guanteed unique thing between things in case there is some need at some point?
Only sticking would the the โnext alarmโ
hmpf, I think this isn't ideal
i remember a situation
if you:
set 10 min timer
set 5 minute timer
using alexa refering to "2nd timer" it will be the 5 min timer.
however on the timer list the 5 minute timer was first because it was "next up"
this means that if you have multiple timers of different lengths they change places in the data.
this is a "known issue" of my kitchen dashboard that the order changes
The thing is, this will create entities that appear and dissapear on the go
I also have this issue with squeezebox
They also want to add alarms
Maybe this should be an entity type that just returns a list or so
was there any thought about the concept of a "timer" within ha itself? which could be used by integrations? e.g. seeing the timer on a VPE. i remember it coming up during a stream or afterparty at some point but no idea if it went anywhere
there is a proposal for that laying around
If you use the version to sort them this wonโt happen first is always first second is always second
And we are still on httpx, imagine when we swap to aiohttp
So a sensor for alarm with a list of all alarms ? But that needs 3 info at least so a list of what ? Dict ?
I would lean towards something more architectural changing
but it will likely be a difficult one
As in, I don't see a nice way to do entities for alarms
- They dissapear and are created whenever they feel like
- Thus they are hard to automate with
Depends, if you use always the same name for a timer or a reminder or a alarm then automation is easy
For example timer for cooking or timer for irrigation
The trick is to give those object a name (label in my data class)
i imagine the majority of people dont set a name for their timers
you need to do some fancy templating stuff to be able to properly see them
Autoentities does the trick quite easily
so yes, you can put everything in entities, but it will be very hard to manage
yes, but that is not core
True
Like, yes, it's a solution, but it's not the user experience I would want to give to a user
out of the box
I agree; one solution that would help in a lot of use cases is to first integrate autoentities ๐
I think even with auto entities this will be horrible tbh
But hence I think a new platform might fit better here, but I will have to check what others think of this
Why ? I use that a lot in my dashboard and is amazing the result (for me at least )
About https://github.com/home-assistant/core/pull/145645 can I have a help for the device selector ? Dunno how to handle it properly
And if possible I would also avoid picking up entities
how silly of a suggestion is it to use a calendar? it will no doubt have some issues but I mean in concept, it does stuff at a specified time and you can measure how long until an event? and it has data fields?
yeah, fair enough. it felt silly but it also felt like it "could work"
@lunar galleon want to comment about sounds ?
I just did lol
but I am now going to bed because I need to sign documents tomorrow to get my house
Not getting anouncements from the new integration, are we 100% sure you can have both amp and ad running at the same time?
Works on my device
Getting
I think that crashed the thread running it too. Just restarted to see if I can make it work
Yeah, definitely a bug somewhere here that crashes the speak/announce thread or callback
That exception above is what crashes it, reload does not fix it.
have to restart
well, that wasn't the reason it wasn't working at first. It's working now, still getting the above exception in the logs.
That's, interesting?
Check
I donโt see it always here.
Is there a shared session for httpx like there is one for aiohttp ?
Yes
So probably we need to swap to it to avoid the warning ?
Or use the shared session
This is what I mean swap to the shared httpx session
Ah
I thought you wanted to swap to aiohttp
Which is also fine
But
I don't want you to take on that pressure right now if you don't feel like it
Not yet, aiohttp is still not working for some reason
And I spent 10+ hours investigating without any luck
Found: create_async_httpx_client
Will code it once I have a PC in my hands
I checked with the core team and I think it would be nice to improve the alarm entity proposal and give that a shot
Be sure to check with @wraith vessel because he also is working on alarms, but in squeezebox
With the demise of attributes, we really do need an alarm entity
Context I started implementing alarm clock support in home-assistant/core#117755, but I was guided here to propose and have a discussion over it. Currently, setting up an alarm clock in Home Assist...
time entity
not sure how that would work with entities getting created and removed on the fly
as an FYI, WLED does that if you add/remove segments
because we don't use attributes, it's going to be very challenging for anyone to properly use anything but "next alarm"
probably will need a responding service to get active alarms
๐
maybe a new timer event entity with the new entity in the attribute, then dynamically create time entities while also having a next timer entity?
@lunar galleon thoughts?
still won't make automations easy though.
But you don't do that daily
Uh yes people do
WLED is literally designed to have presets create & destroy segments
it's a fucking nightmare to manage on HA"s side because of the thought that "people don't do that daily"
it was such a pain in the ass, that I just spent hours building presets in WLED instead of using normal automations in HA
it gets even worse if you use a real controller outside wled to control wled devices
anyways, maybe just a timer event entity? That would be a single entity that handles timers. Each new timer would just be an event. Users can use the time provided in the attributes of the entity to key off of
event.timers, with new_timer event type, update_timer event type, and attributes that describe the total duration and when it's ending. I.e. duration with timedelta, end with datetime, and source amazon device.
That wouldn't be too hard to automate with.
and it's in-line with HA's core philosophys
Event would suck here as well as neither integrations are push based
Alright, then what? Something's gotta give, either a new platform or follow in line with current platforms, or dynamically created entities.
a sensor with attributes wouldn't make it through a PR
Well that's why I'm saying, I think it's worth to explore a new platform
Will your team members agree with that? I have my doubts.
I checked today and there wasn't an immediate no
As in, I still can't guarantee that we want it, but we think it's worth exploring
Also because we now have 2 core integrations that both have active developers
Amazon devices and squeezebox
There probably are more, but now they both are looking into alarms
Squeezebox now has basic support for it this release
But it's meh
They don't have names
So it's literally Alarm (asdakajdjdhsjabsbshsjwsomthing)
I still think that that is shitty in a way, but it's something
Like, I'd rather explore this solution than have more entities in the future like a time
Or a service to modify the schedule
I mean, what are people looking to get out of alarm?
And I'm sure there are more integrations that can use this. I'm wondering if integrations that provide some sort of timer can also make use of this, like SmartThings
I'd assume it would be a single entity, alarms. With services to get / set active alarms like todo, calendar, and weather
Dont' forget Timers and Reminders, that area particular way of setting a "Alarm"
well, that's why I was leaning towards time entity because it's supported by the time trigger with offset
but I have no idea what this new "trigger system" is going to be
for Amazon Devices we can use "Name" (label) if provided by the user or the number under the wood, that won't change
so, that could solve alot of these weirdness
Well, do we want ephermal entities that create and remove on the fly for timers?
Or what do we do with recurring alarms?
and we will still need to decide if we report only active objects or all retrieved objects
typically people are pushed to calendar with reoccuring events
for example Alarms in Alexa App are all listed so even if inactive you can enable them with a click
Can they be combined? Or should they be separate? Because they have similarities
What about calendar? Now that I think about it
it's essentially a schedule
it has all the abilities we are looking for
But we can't mutate it
what do you mean? Calendars are polled and events update on poll
they have a start and end time
is there no way to update an event?
So far we don't want those mutable as those probably would be too complex and the native app or way of configuring would be way better
No
so if an event is updated in google calendar, it's not updated in HA downstream?
that just seems like we add a new service for calendar to adjust it
with via supported features
I mean, alarms will likely end up close to calendar in functionality
just thinking out loud
Well that's what I say, we don't do that
Because that's likely complex
Because yes, you could use that to configure alarms
But what if you want to configure the alarm sound for that event?
Volume?
Yes, we could support the basics but that would still be useless for a ton of people
Check all the services for charging schedule in wallbox and renault
Didn't think about volume/alerts
what you mean exacly ?
Maybe that one single entity type with a few features will make it for all ? If this is the idea, I strongly agree
Yes, that's what the current idea is
at least from what I gathered
it follows the same principles we have for weather, calendar, todo, etc
1 entity with things happening in the background for easy use in automations
I mean is a recurring alarm a different type of entity than a timer? Or are they similar enough in behaviour?
I suppose 1 entity type that will be used one for each object, not 1 entity for everything
They are basically all the same
Well, timers can be temporary, while some are not
Same for alarms
and reminders, so basically they are very similar eachother ๐
@dataclass
class AmazonSchedule:
"""Amazon schedule class."""
type: str
status: str
label: str # alarmLabel, reminderLabel, timerLabel
original_date: str
original_time: str
recurring_pattern: str
remaining_time: int
with that class you have all you need
Right, but can we try to model that in an entity type for HA?
for example if type = Timer than you use remaining_time, and not if it's an Alarm. But still...
Entity model could be something like:
value = timestamp based on remaining_time for Timer, based on original_date/time for Alarms. Reminders is one of the other 2, need to recheck.
name = label or version (internal number)
persistent = if recurring_pattern not None
You can, I'm currently in a hardware shop
we can make one in projects
if you send me a link when you open it, I'd be interested as well
Task completed ๐
nice
The fact that Paulus is now also commenting and giving directions also helps ๐
Oh, don't worry, I agree it's a bit crap, but without attributes, which as @plucky sentinel says aren't allowed anymore and without a new platform, we're pretty stuffed
I know, hence I am connecting you 2 up so you have another reason to not weed the weeds and to make sure alarms are nicely integrated
I had to do more weeding this afternoon - a sure sign we need something new ๐ I posted an architecture discussion earlier to add "extra" to async_search - weeding is good thinking time ....
Morning, anyone that has an Amazon account from a country that is not Italy, Japan, Uk ?
@brave drum for example ๐
What do you need?
Please go to https://www.amazon.it/ap/signin and then post the redirected url. I'm mainly interested in the openid.assoc_handle parameter for now
UK needs a fix that will be fine for Italy as well
for PL: openid.assoc_handle=plflex
Thx
@pallid shale how is debugging going?
Do we expect much more of these issues?
If so, we should try to debug more in the public so others can also try to figure out what's going on
Some users are also reporting issues in the documentation repository, if you need more testers.
Ah I don't have eyes on that
@lunar galleon 3 things so far:
- UK users are unable to authenticate, even if with a small change they are able to login. Under investigation
- swap from httpx to aiohttp is progressing now; a huge debugging and reverse ingeneering work. WiP
- documentation: need to add an alert about only supporting MFA via App right now
what small change?
but that's a wrong approach
IMHO
to get an authenticated session teh value needs to be similar to:
DEFAULT_ASSOC_HANDLE = "amzn_dp_project_dee_ios"
I thing that "_<country>" needs to be appended only for non English speaking ones. But not sure. Cannot test on my own ๐ฆ
About aiohttp: code is not finally working ๐ ๐ 
It was a huge journey, really hard to go through, but in the end it's there
Really proud of not giving up and made it working
may you guys test https://github.com/chemelli74/aioamazondevices/pull/205 and report back ?
So I'll merge and release
I don't have the time to test right now
Using pip and the testscript doesn't test those changes, right?
yup it will but need a complete syntax
I thought it would need a pypi release.
pip install "git+https://github.com/chemelli74/aioamazondevices.git@chemelli74-cookies#aioamazondevices==3.0.2"
If I didn't type any typos, should work
which country are you using for aioamazondevices ?
Germany (de)
Using the script with the syntax
python library_test.py --country de --email mymail@gmail.com --password abcd12334 --otp_code 123456
seems to login, but there are a few error messages.
File "d:\jorgw\Downloads\HDD\Home Assistant\library_test.py", line 267, in <module>
asyncio.run(main())
File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 195, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\asyncio\base_events.py", line 691, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "d:\jorgw\Downloads\HDD\Home Assistant\library_test.py", line 176, in main
save_to_file(f"{SAVE_PATH}/output-login-data.json", login_data)
File "d:\jorgw\Downloads\HDD\Home Assistant\library_test.py", line 93, in save_to_file
with Path.open(Path(filename), mode="w", encoding="utf-8") as file:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\pathlib.py", line 1013, in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'out\\output-login-data.json'
2025-05-31 20:08:11.288 ERROR (MainThread) [asyncio] Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x00000112EF47F770>
2025-05-31 20:08:11.289 ERROR (MainThread) [asyncio] Unclosed connector
connections: ['deque([(<aiohttp.client_proto.ResponseHandler object at 0x00000112F0AB1FD0>, 27835.234)])', 'deque([(<aiohttp.client_proto.ResponseHandler object at 0x00000112F0CF67B0>, 27836.156)])']
connector: <aiohttp.connector.TCPConnector object at 0x00000112F06C8380>```
seems out folder is not created, I use that to same html and investigate what's wrong
you can add:
Path(filename).parent.mkdir(parents=True, exist_ok=True)
at line 93 of library_test.py, just before Path.open()
I can run it with the options in the json file and the otp parameter
"country": "DE",
"email": "mail@gmail.com",
"password": "abcd1234",
"single_device_name": "Echo Dot",
"cluster_device_name": "Everywhere",
"login_data_file": "out/login_data.json",
"save_raw_data": "True"
}```
Nice !
@plucky sentinel what about you ? Can you test, so if we are 3 from 3 different countries I think we can go with it
But it still gives errors and doesn't play any sound.
Oh, you didn't post anything after the change I suggested
please share updated output then
The output without your changes?
It does create the login data files now. And it does recognize the Echo Dot.
With the suggested change, the folder is created right ?
The folder has been created even without those changes. It needed the login_data_file parameter.
So when you run the library_test.py script, it doesn't sound.
But the script output where is ?
The output is stored in the out directory as expected.
Traceback (most recent call last):
File "d:\jorgw\Projekte\amazon\library_test.py", line 188, in main
device_cluster = find_device(
^^^^^^^^^^^^
File "d:\jorgw\Projekte\amazon\library_test.py", line 117, in find_device
return next(
^^^^^
StopIteration
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "d:\jorgw\Projekte\amazon\library_test.py", line 267, in <module>
asyncio.run(main())
File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 195, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\asyncio\base_events.py", line 691, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
RuntimeError: coroutine raised StopIteration
2025-05-31 20:29:46.271 ERROR (MainThread) [asyncio] Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x000001DEF40B0BC0>
2025-05-31 20:29:46.271 ERROR (MainThread) [asyncio] Unclosed connector
connections: ['deque([(<aiohttp.client_proto.ResponseHandler object at 0x000001DEF552E1B0>, 29131.171)])']
connector: <aiohttp.connector.TCPConnector object at 0x000001DEF5505280>```
Do we also need @clear cliff to run it?
@untold spindle please share the full output
the more the better
Every CLI output from the login data on:
https://dpaste.org/N3hoZ
Yes.
Can you double check on Alexa app ?
Ok the script needs to be updated for such scenario
Going to
It wouldn't be sufficient to remove the cluster_device_name parameter from the login json?
if args.cluster_device_name:
device_cluster = find_device(
devices, args.cluster_device_name, lambda d: len(d.device_cluster_members) > 1
)
else:
device_cluster = device_single
should work, not tested
instead of the block device_cluster = find_device(...
without the log who can say that
Ah. User error.
Forgot to remove the parameter.
Now it is working and it played TTS, TTS with sound and music.
And a pasta timer.
It is.
So everything works fine with aiohttp and DE as country
Sorry for the difficulties.
BTW, can you double check is aiohttp (it's reported on opening the session and closing the session as well) ?
no worries, nice we sorte dit out. And I'll now update the script to handle that
...
2025-05-31 21:50:26.096 DEBUG (MainThread) [aioamazondevices] Closing HTTP session (aiohttp)```
It is.
Thx!
Hopefully some one else from a differnt country than DE and IT will test and report back
if you want you can download the latest script: https://github.com/chemelli74/aioamazondevices/pull/207
Installing the library to test:
pip install "git+https://github.com/chemelli74/aioamazondevices.git@chemelli74-cookies#aioamazondevices==3.0.2"
Test script:
https://github.com/chemelli74/aioamazondevices/blob/main/library_test.py
The parameters for the test script:
https://github.com/chemelli74/aioamazondevices?tab=readme-ov-file#test
I created a library_test.json like this one:
"country": "DE",
"email": "name@mail.com",
"password": "secretpassword",
"single_device_name": "Name of an Echo device",
"login_data_file": "out/login_data.json",
"save_raw_data": "True"
}```
and ran the test script with the parameters:
`python library_test.py --configfile library_test.json --otp_code 123456`
(The OTP code is only needed on the first run).
what am I testing now?
If the aiohttp version is working in your region.
So far we only checked DE and IT.
Does @wraith vessel use alexa?
Guessing I need to download the lib itself?
so yes, DL the lib
I'll just run it through vscode
NOT TODAY THO
dinner time ๐
3.0.2 as above:
Just tried pulling the request made to https://www.amazon.co.uk/ap/signin?... when using the browser amazon login flow and the difference it uses for the login flow on the site is assoc_handle=gbflex. Tried hardcoding this on the latest main commit in oauth_params and it appears to get further when running library_test.py. Get a 200 for that initial /ap/signin request, but then get a
2025-06-01 00:03:08.720 WARNING (MainThread) [aioamazondevices] Saving data to out\ap-signin_7.html
2025-06-01 00:03:08.736 DEBUG (MainThread) [aioamazondevices] Cannot find "auth-mfa-otpcode" in html source [https://www.amazon.co.uk/ap/signin/xxx-xxxxxxxx-xxxxxxx]
The HTML page it returns looks like this (under this is my email with a password prompt. I have a special character in my password if that means anything at all
UK
Or GB country code wise
Oh I got my email wrong lol, so if I fix that I get way further using assoc_handle=gbflex
Now get an error here:
Traceback (most recent call last):
File "C:\Users\atims\repos\aioamazondevices\library_test.py", line 280, in <module>
asyncio.run(main())
~~~~~~~~~~~^^^^^^^^
File "C:\Users\atims\AppData\Roaming\uv\python\cpython-3.13.3-windows-x86_64-none\Lib\asyncio\runners.py", line 195, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "C:\Users\atims\AppData\Roaming\uv\python\cpython-3.13.3-windows-x86_64-none\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "C:\Users\atims\AppData\Roaming\uv\python\cpython-3.13.3-windows-x86_64-none\Lib\asyncio\base_events.py", line 719, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "C:\Users\atims\repos\aioamazondevices\library_test.py", line 183, in main
devices = await api.get_devices_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\atims\repos\aioamazondevices\.venv\Lib\site-packages\aioamazondevices\api.py", line 577, in get_devices_data
do_not_disturb_node = device[NODE_DO_NOT_DISTURB]
~~~~~~^^^^^^^^^^^^^^^^^^^^^
KeyError: 'doNotDisturbDeviceStatusList'
Just opened my alexa app and its a mess, so this is probably unrelated. Apparently everything just sticks around even if unavaliable for months
The โflexโ assoc is used when browsing in all languages but wonโt work for auth session.
You should try using the same as for us
No, sorry. No Amazon devices in the house
@clear cliff let me know when you are available for digging into it
I submitted a pr in your repo for launching skills as well
are you sure you opened it on aioamazondevices repo ?
I think so
These are the Sonos Devices btw (both are the same speaker)
So those are correctly shown by the integration as they are supported
the sonos speakers don't have BT, only the newer models
This also applies to the Alexa Companion Windows App:
'4A18BFF7D5939CB4625B0D300B433A9D': AmazonDevice(
account_name='Florian PC',
capabilities=['DEEZER', 'TUNE_IN', 'AUDIO_PLAYER', 'APPLE_MUSIC', 'I_HEART_RADIO', 'VOLUME_SETTING', 'CHANGE_NAME', 'REMINDERS', 'TIMERS_ALARMS_NOTIFICATIONS_VOLUME', 'ADAPTIVE_LISTENING', 'FLASH_BRIEFING', 'KINDLE_BOOKS', 'AMAZON_MUSIC', 'DISPLAY_BRIGHTNESS_ADJUST', 'SIRIUSXM', 'MUSIC_SKILL', 'SLEEP', 'DREAM_TRAINING', 'SUPPORTS_CONNECTED_HOME_CLOUD_ONLY', 'TIMERS_AND_ALARMS', 'DEREGISTER_DEVICE', 'EARCONS', 'SET_LOCALE', 'SOUND_SETTINGS', 'PERSISTENT_CONNECTION', 'TIDAL', 'AUDIBLE', 'MICROPHONE'],
device_family='REAVER',
device_type='A1RTAM01W29CUP',
device_owner_customer_id='A2V9S9YNS6348M',
device_cluster_members=['4A18BFF7D5939CB4625B0D300B433A9D'],
online=True,
serial_number='4A18BFF7D5939CB4625B0D300B433A9D',
software_version='2103540',
do_not_disturb=False,
response_style='CONCISE',
bluetooth_state=False
),
Does it make sense to have it in the integration ? IMHO it would be better to filter it out
Don't have it installed to confirm
This remind me that we should also check for "online=True" before trying to send a message or perform an action
when its off all entities are unavailable
@pallid shale is the list of supported devices just what we have test or all devices that currently are supported?
those that are actively reported in the log from the aioamazondevices
because the list in the docs only mention 2
can you please review the 2 ready PRs ?
which one
2 families of devices, not 2 devices
I am asking this because one of the creators is asking this
yes, hence I am asking, what about the rest?
Aren't they tested or don't they provide anything
mainly not tested; I expect some to provide usefull features some not
can we then expand the list with the information we have now
beside the fact that the device is on not in the list, if it has the capabilities then it works
it's just not diplayed nicely
But can we then expand the list? Then we can have the creators put out the correct info
Didnโt get your point
well, the docs currently only show 2 device types
while I think we support more
and there are people who make content consumed by end users
and they want correct information
so I am looking if we can expand that list
Yeah, docs need a bit of love. Will take care of that today
I also would like to know if we want to swap to aiohttp now that it works, at least for a couple of people
I spoke with Nick about the issues I found while developping and trying to swap out from httpx; he was awesome as always and has already fixed the most important of the two, releasing an rc version of the library.
So the question is: do we want to swap to aiohttp even if few people tested the PR in aioamazondevices ?
https://github.com/home-assistant/core/issues/145821 this is the only open issue for amazon devices and will be fixed by the swap
Any thoughts on my last comment there?
https://github.com/chemelli74/aioamazondevices/pull/209
I think we can create a list of well-known skills and the last item of the list would be "Custom".
If you select it then you have a text field that allow you to specify the full skill name
So will have the best of both ๐
Updated to the latest beta and am now able to finish the config flow and my devices show up. Thanks for the fixes ๐
No worry just install b5 and report back
Thx for testing !
What you think @rotund flax ?
Sounds good, but wouldn't it be better to maintain this within the HA integration?
And how do we decide which skills are common and working as well? Because it seems random which skills can be launched and which not
I think we should create a list with a boolean property โsupportedโ
Shouldnt be included at all when its not supported, should it?
exactly, if we know it's not supported we add it to the list as supported=false so we filter that out from the list and if you use it from custom we can raise a NotSupported error ๐
Ahhh gotcha, good idea
someone the other day was talking about a home/away state which i dont think is attached to the device but instead its a alexa skill of some sort. they were complaining that it wasn't exposed with AMP. i told them that new integration is coming but that kind of thing might just not be exposable no idea if you have seen anything related to that?
#1376329927120523366 - i was and still am pretty sure that its not device related so probably out of scope. but something to keep an eye out for i guess
Ask them if the Alexa App can set this on the device; if so it should be douable by the integration, if it's not in the app but it's a skill or something else then it won't.
Hi all, I would like to finally drop HTTPX support: https://github.com/chemelli74/aioamazondevices/pull/221
but before proceeding would be ncie to know how many of those 169 integration users are on b5
why?
To know if the main part of them is using aiohttp
Which the library version with b5 uses
No way to know that
ic, so what you suggest ? Wait or proceed with the cleanup ?
First 2 additional sensors from Echos:
sensors=[AmazonDeviceSensor(name='temperature', value=27.0, scale='CELSIUS'), AmazonDeviceSensor(name='illuminance', value=8, scale=None)])}
Just do it
Waiting for https://github.com/home-assistant/core/pull/145645 to be approved and then I'll work adding above sensors
Can we consider https://github.com/home-assistant/core/pull/146333 a bugfix ? Currently it shows "Amazon" also for non Amazon devices
I think so
Okay, shall we consider renaming to Alexa Device?
I donโt think is a good name honestly; if any โAmazon Linked Devicesโ
Meh, not a big fan of that one as
- you need to explain what "linked" means
- Kindle also is a device you link to amazon
Amazon Alexa Devices?
I'm thinking if we should drop โAmazonโ. Yes itโs โAmazon Alexaโ, but โAmazon Alexa Devicesโ could be taken to implicate only Amazon's devices specifically
Are supported
Which is not true
I would say that everything should be aligned as itโs new and we have no constrain to do a clean job
Yup but only for 15min
Then I have a work call and then I need to move by car
Why? It was not more work
well
it was to now try to cherry pick the right changes on the beta
that would be aweful if we had more PRs like new platforms
Ic
Has the "custom" notify entity to send commands to Alexa not been included in the integration, yet?
I'm assuming the custom commands didn't make the release?
because many people are asking about it from the docs
Yeah not yet merged
I have 3 PRs with new staff pending
Hopefully they will be merged soon so I can proceed with other thing (too much pending changes are a hell to maintain) and next release will be full feature compared to AMP
Yes, it's a pain in the ass
dealing with it in template entities. It really holds back development speed
Exactly
As Nabu Casa support, I want to strongly advocate for a name that reflects what the integration does and doesn't do. We get too many tickets about AMP as it is.
Alexa Control? Alexa Speakers? Alexa Notify or Announce? Or is using "Alexa" as a reference too specific?
The majority of tickets are wondering why they don't get TTS functionality with a Nabu Casa sub, yet they also have AMP, and it all requires an elaborate explanation about media_players, tts, local media, custom integrations, etc.
anyway, my 2 cents...which are EUR cents because we just got back from Ireland and I didn't spend all my coins!
Lmao
But other integrations also don't have that in the name
870 users and just a small bunch of issuesโฆ not bad, really not bad
Something important to remember especially for forum moderators: https://github.com/home-assistant/core/issues/146672#issuecomment-2971330718
@pallid shale Which of the files besides the api-phoenix.json do you need exactly? There are some containing login data in the out folder.
The 2 api-phoenix json
The test script just created one phoenix file before failing.
It just creates more of those phoenix files, if I run the script multiple times.
C:\Program Files\Python312\Lib\site-packages\aioamazondevices\api.py:355: RuntimeWarning: coroutine 'AmazonEchoApi._ignore_ap_sigin_error' was never awaited
if not self._ignore_ap_sigin_error(resp):
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Traceback (most recent call last):
File "D:\jorgw\Projekte\amazon\library_test.py", line 280, in <module>
asyncio.run(main())
File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 195, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\asyncio\base_events.py", line 691, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "D:\jorgw\Projekte\amazon\library_test.py", line 183, in main
devices = await api.get_devices_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\aioamazondevices\api.py", line 701, in get_devices_data
devices_sensors = await self._get_sensors_states(entity_ids_list)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\aioamazondevices\api.py", line 562, in _get_sensors_states
for sensors in json_data["deviceStates"]:
~~~~~~~~~^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
2025-06-14 12:46:41.072 ERROR (MainThread) [asyncio] Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x0000022D17FEE990>
2025-06-14 12:46:41.073 ERROR (MainThread) [asyncio] Unclosed connector
connections: ['deque([(<aiohttp.client_proto.ResponseHandler object at 0x0000022D18020350>, 6411.984)])']
connector: <aiohttp.connector.TCPConnector object at 0x0000022D16F475C0>
Yes indeed but if clean up the folder and then run once the script there will be just 2 of those
The screenshot I posted is the state of the script being run once. Just one file.
Well, one containing "phoenix".
Ok we need to debug this more in depth together
Can you fire up the aioamazondevices container in VScode by any chance ?
I never used Studio Code for anything else than HA configuration.
Not sure if I got it fully running.
It stopped with an error in Studio Code.
Installing the current project: aioamazondevices (3.1.2)
An error has occurred: FatalError: git failed. Is it installed, and are you in a Git repository directory?
Check the log at /home/vscode/.cache/pre-commit/pre-commit.log
[33159 ms] postCreateCommand from devcontainer.json failed with exit code 1. Skipping any further user-provided commands.
Just did a fresh install and it worked flowlessly
Basically yuou should go with https://developers.home-assistant.io/docs/development_environment and just use aioamazondevices repo instead of core
Sorry, on my computer I cannot get it running.
๐ฆ
It is just throwing lots of errors.
Even with other repo ?
I only got it (potentially) working by downloading your repo and using that to create a container. It also threw an error, but at least it got me into the container environment.
We can try that one. Don't know what exactly you need.
Nice
I want to save json_data before parsing so that we can see what's missing/different in your scenario
I transferred the login data to the container. So if you have some time, we can try it.
Hi, sorry was busy during the WE
I also noticed that I was so concetrated in making aiohttp work, that I badly managed exceptions
Fix on the way: https://github.com/chemelli74/aioamazondevices/pull/276
@pallid shale Hi, I dont know if you have seen my comment on your commit, but the URI_SIGNIN is wrong on the new definition : https://github.com/chemelli74/aioamazondevices/pull/285/files#diff-ac6825022c440fec9556aa86bf1641797dff08b4822d989d06eb7747114855fbR76
Hi
@steep grove, building v3.1.10, please once ready test and report back
login worked fine on command line, still with the error of doNotDisturb, that does not appear when I run the test program again with the login data saved.
File "/usr/local/lib/python3.13/site-packages/aioamazondevices/api.py", line 728, in get_devices_data
do_not_disturb_node = device[NODE_DO_NOT_DISTURB]
~~~~~~^^^^^^^^^^^^^^^^^^^^^
KeyError: 'doNotDisturbDeviceStatusList'
On HA I'm getting 503 which gives me impression that something is different on HA environment, maybe different headers that gives the error from amazon servers.
I changed the requirements files and did the upgrade inside the container. The correct version was used but something that I did not understand is different and giving 503 response from amazon. I will try to put more debug prints again tomorrow to try to see differences between sent data.
Found one thing, if I use curl or wget with default user agent to get https://www.amazon.com I got same 503 response and information that came from cloudfare, if I change the user-agent if gives me the 200 response. Apparently something on the request is really making cloudfare/amazon give the 503 response. I will do more tests tomorrow.
Free shipping on millions of items. Get the best of Shopping and Entertainment with Prime. Enjoy low prices and great deals on the largest selection of everyday essentials and other products, including fashion, home, beauty, electronics, Alexa Devices, sporting goods, toys, automotive, pets, baby, books, video games, musical instruments, office ...
We fixed the agent in the latest 3.1.10 to be exactly the same as Alexa Mobile App
if you get the error only on HA, plaese remove integration config, restart HA and try again after updating manifest.json in order to use 3.1.10
Just found that error is repeatable on command line inside the HA container. Then not exactly related to User-agent. will try to debug more and change headers to see what is different between environments. But as my tests with CURL and WGET show that they give 503 based on request something probably is going different between environments.
That doesn't make really sense as the headers and all the stuff of the call are hardcoded by the library, not by HA
Only option is you are using a old version of the library inside HA compared to the one used from command line testing
its the same version. I have run the pip upgrade, checked the code and put prints. added call to request http://www.amazon.com.br failed with 503, changing user-agent to standard chrome that request passed but not the login. I have also checked the aiohttp that is the same version.
Encontre o que precisa na Amazon. Ofertas em Livros, Kindle, Echo com Alexa, Fire TV, Eletrรดnicos, Bebidas, Casa, Beleza e mais. Frete GRรTIS com Amazon Prime.
Can you proxy Alexa app ? We need to check the specific parameters for Brazil
did not have the environment for that. have to install and test .
But it very strange that same code works on different container, something else is different that I did not see. I have tested both forcing IPV4 only, then is not the case of V4/V6. I have forced all other pip dependencies for same version that are inside the HA container.
And also it was giving the 404 before and now only 503.
might be aiohttp though
did you see the recent change regarding the cookie_jar in aiohttp
maybe they don't like getting other cookies
and/or reusing the client and you need to use your own one instead of the shared ClientSession
But same library version has the same behavior ๐
And yes I know about the cookie change as I dealed about it with Nick
ah then maybe I just misunderstood - just saw "different behaviour in HA and lib" and my mind jumped to the session
got again some 404 but not continuing and printing () for history on 404
# Endpoint URI_SIGNIN replies with error 404
_LOGGER.debug(f"history = {response.history}")
as i'm getting same error from command line I understant that there is no shared ClientSession, or aiohttp can share clients between two different process ?
I'm sure now that I'm getting any kind of web firewall. after more tests I only get 503 again. I will leave it and test again tomorrow. But that response.history behaviour is related to the aiohttp that is not returning the url used every time.
IF you think to have found a issue with aiohttp, please open a issue on its repo
I will try to create a small code to try to reproduce.
@pallid shale appear that empty history is the correct case, it will only have data when redirected as I understand from doc
https://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ClientResponse.history
ClientResponse also have the URL : https://docs.aiohttp.org/en/stable/client_reference.html#aiohttp.ClientResponse.url
I understand now that the check should try first to use response.url like before and when there is a history also check for the first one as its done now.
Apparently amazon sometimes does a single response and sometimes a redirect.
signin if working always ridirect
if it doesn't is because some parameters are wrong
Nope, 100% of working login has a redirect
you can verify by inspecting Alexa Mobile App via proxy
Would it be possible to add support for the shopping/todo list as a todo entity
The nodered module is able to work with the lists : https://github.com/Apollon77/alexa-remote/blob/c5708e65d1654464fd2db1d3d846b95da60ce470/alexa-remote.js#L1351
And is there any plan on implementing the websocket connection to handle the events in realtime?
@rotund flax Will look into the first thing as soon as the pending PRs are merged ๐
Donโt want to open thousands of things
About the second question, yes once everything else is accepted and merged
Evening
I would like to ask for a wide test of https://github.com/chemelli74/aioamazondevices/pull/265
I added the key I saw, I for sure missed some
so if someone can check would be amazing
is ther a published version with this or We have to get the patch and apply ?
you can install 3.1.19, which is part of the beta btw
I already made some tests with this version, just did not checked this data, I think that email should be redacted also on the json data. Itล being changed on the place that indicates logging but not inside the json contents .
I dont know what is the lifetime of session ids, if they are long maybe more data should be redacted
About my problem with 503 I have some progress, I have tested today with this 3.1.19 and I can reproduce consistently, but cant find the exactly root cause.
yeah we alrady found a few placed I missed
and a couple of fields as well
going to wrap up a PR in the afternoon
but at least it's a start ๐
will be easier to share logs in public without personal data.
Full debug log please, you can share in PM
indeed
I have a questions about countries that don't have a amazon domain and are redirected to amazon.com.
Should we add them all to https://github.com/chemelli74/aioamazondevices/blob/main/src/aioamazondevices/const.py#L28 or should we filter them out from the Country selection forcing users to use "US" like amazon does ?
@pallid shale just checked that in the logs I have sent to you the addresses are not redacted, check for deviceAddress and deviceAddressModel they should be redacted,
I've cleaned up the issues at the documentation issue tracker. To summarize: There are still some issues with Brazil and Chile specific accounts. I've directed them to the core issue tracker so hopefully that moves forward.
Overall, people are happy with it becoming part of core, so keep up the great work being done on this. ๐
Morning everyone, I have stil l4 things in my todo list:
- fix the retry for 429 like Alexa docs says => PR draft but seems to cause more trouble than what it fix
- custom action => PR draft, need advice on the right way to go
- alarm/time/schedules => need to open an architecture discussion for the way to go ?
- HTTP2 websocket for Media Player management
Expecially for nยฐ 2 and nยฐ 3 I need help for taking a decision
2 is that about the list of devices?
And for 3 i think we should find a way how we could put alarms and timers into an entity platform in a way together with the other integrations and their abilities
As in, that takes effort, but trying to put alarms and timers and whatnot in the current entities sounds very hacky
As in, I'm happy to look at quick wins so it at least becomes a bit usable, but I would be opposed to putting the whole functionality in what we have today as that effort would be better put in a solution that could benefit all integrations
2 is about selector
device or entity id ?
how does the PR code looks https://github.com/home-assistant/core/pull/145645 ? Fine or need tweak ?
Only idea I have for a quick win is a sensor with timestamp value that shows only the next firing timer/alarm/schedule per each device. And if none => not available
Once we have a better solution ,then we can move there
Please let us know if/when we can test a fix for #1 - looking forward to it.
There is a draft PR for it: https://github.com/chemelli74/aioamazondevices/pull/309
seems to block login for some somehow, but cannot figure out why ๐
Another to test please:
https://github.com/chemelli74/aioamazondevices/pull/335
This will block all errors from wrong selected country
Right but I'm wondering how useful it is as one moment it will show the next schedule, then it will show your timer, and when that's done it will show your schedule again
nope, i was thinking about 3 entities: next alarm, next schedule, next timer
Anyone that can help testing PR #335 and #309 please ?
I can give it a shot, with a bit of direction on how to apply them
I was able to add the integration again now, but still failing, so it looks like I can reproduce the issue. Yesterday, I wasn't even able to activate the integration at all
Yeah, I see 429 in the logs.
yes, phoenix
let me see if I can figure this out - one sec
Where can I get the manifest.json?
found it
ah, I guess the changes are in a library, not the main integration?
Oh man, what a headache ๐ Is there an easy way to test this without enabled root access to the container? @pallid shale
Correct
Not that know
I have a few different docker folders - any idea how to determine which one is active?
this is kinda nuts ๐
might have found a better way to test
@pallid shale I think I am testing the branch for the phoenix fix, but it doesn't seem to work. Not sure how I can confirm 100% that I am on the correct branch of the library
I am using this method:
https://developers.home-assistant.io/docs/creating_integration_manifest/#custom-requirements-during-development--testing
debug log would hopefully help
sent
@pallid shale Still having issues, even on 2025.7. Not sure what to do
As first thing, updated debug log
sent in DM
Just was able to test the latest release, seems like many of the previous issues are gone, nice job @pallid shale and helpers
I'm overwhelmed by requests about timers and alarms
95% of people will be able to get rid of AMP if we add those
how can we progress on that task ?
with alarms, you can make timestamp sensors
but you won't have snooze, etc
nore do they have an alarming state, etc
oh yeah, this goes back to the previous discussion
Wouldn't a first workaround be the command notify entity, so that they can set, deactivate and snooze the alarms or timers by "voice"?
Well, IIRC there were discussions about how to handle this in the past
the problem is, if we go entity route, there will be an n number of entities with no official clean way of doing things
in regards to other entities, we should have something that is similiar to a calendar or forecast that has specific triggers, conditions, and actions
At this point, someone basically needs to write up a proposal in arch discussions, then enact the plan
@plucky sentinel do you mind helping writing a template for the "last_called" ?
Like AMP did
What do you mean?
a template entity to get last_called?
something like this?
{% set target = 'speak' %}
{% set last_notify = integration_entities('alexa_devices') | select('match', '^notify') | select('search', target ~ '$') | select('has_value') | expand | sort(attribute='state', reverse=True) | first | default %}
{{ last_notify.name }}
Wow interesting, can you check both speak and announce ?
Then I think we should add it to docs
yah
{% set last_notify = integration_entities('alexa_devices') | select('match', '^notify') | select('search', '(speak|announce)$') | select('has_value') | expand | sort(attribute='state', reverse=True) | first | default %}
{{ last_notify.name }}
son of a bitch
oh
wait
just this
{% set last_notify = integration_entities('alexa_devices') | select('match', '^notify') | select('has_value') | expand | sort(attribute='state', reverse=True) | first | default %}
{{ last_notify.name }}
Nice, thx
Asking user from AMP to tell me if this is enough for replacing the old "last_used" sensor or not
I'm not using it and I don't know exactly when it's updated
if only from HA or also from voice
They all want the one that's polled
i.e. if a user outside HA says "Alexa, turn on xyz", HA will reflect that
I suspected it
let's first add HTTP2 websocket then and once we have real time we will see how to add this
one of my main goals is to get all my automations our of Alexa and into home assistant, but I've tried and tried and no matter what I can't tell my echo show to show the front door ring camera on motion or ding. I would also like to send a snapshot on that trigger to certain cell phones, but that's step 2...
Not implemented in the current HA version, yet.
yeah
the frustrating part is that it's simple af to set up in Alexa, and out of reach of HA
do they have to negotiate these things with ring or alexa(amazon), "hey, give us access please, you benefit from giving us this access by broadening your audience/reach"?
Ecosystems 
yeah
like, if they gave us access to this, they would have lost you
if they don't they will lose more bc that turns people off/sends them elsewhere
so they lose any way
and, they're never getting a paid subscription from me anyway
but if they broaden the reach/open up, more people would be like "I can use ring now, they're HA friendly"
but they don't
because they are not HA friendly
or well, they probably know we exist and they tolerate us
that makes people like us go "once bitten, twice shy" and go elsewhere(ditch ring).
If I knew I was going to get into HA, I would have told my brother "don't go Ring cams, you can't do anything but view it w/o a subscription"
They should make an add-on or integration that rides off the ring integration and can take a snapshot or record like 15-30 seconds of vid
@lunar galleon in the dashboard, both in chrome and on my iphone, there is a thing on the bottom right corner of the ring popup that says "download snapshot", too bad there's not a way to automate that, or trigger that automatically given a condition. It's hypertext or something when you open the camera on the dashboard @pallid shale
Hi
I have a couple of PRs that I would like a few more people to test before merging:
Hi guys
I started adding Server-Send-Events via HTTP2: https://github.com/chemelli74/aioamazondevices/pull/389
Unfortunately I get only the first directive and nothing else
Anyone can help checking the code ?