Closed jazzmonger closed 11 months ago
Are there any errors in the add-ons logs? If you have watchdog enabled for the addon make sure to disable it while grabbing the logs or it'll restart the addon and override the crash logs
I posted all the logs above including from the add-on.
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[20:30:04] INFO: Starting server on port 8085
> anylist@1.0.0 start
> node index.js
Server listening on port 8085
no errors...
Ok. To try to pin down the cause of the issue, could you try adding an item through home assistant's todo integration? The service call looks something like this
service: todo.add_item
data:
item: Milk
target:
entity_id: todo.anylist_costco
service: todo.add_item data: item: Milk target: entity_id: todo.anylist_costco
nothing happens when I call that service other than the checkbox going green:
If I delete the old service and re-add a new service I get this in the logs
2023-12-11 15:00:34.547 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new todo.anylist entity: todo.anylist_jeff_is_list_home_to_rv
2023-12-11 15:00:35.419 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new todo.anylist entity: todo.anylist_walmart_shared
2023-12-11 15:00:36.165 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new todo.anylist entity: todo.anylist_costco
2023-12-11 15:00:36.931 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new todo.anylist entity: todo.anylist_tractor_supply
.....and another 20+ entries...
And the lists are all there showing how many items are in the lists, and that count matches what I see in my Anylist app.
But again, calling that service on any of the lists does nothing. I don't even see it in the log file.
gives this:
{"lists":["Jeff is list- Home To RV","Walmart Shared","COSTCO","Tractor Supply","Hardware","Funk Tunes","Prepped","Napa Auto Parts","RV To Fix","Europe","LORI - HOME To RV","Trader Joe’s","Gig Rember List","Van Slyke To Do","Amazon","Restaurant Supply","Walgreens Caldwell ","Harbor Freight ","Model A","Target","Alexa Shopping List","Rv To Buy","Office Depot","Craig’s Boat trip","Model T","Asian Food Store","Winterize Property"]}
Hmm. Thanks for all the additional info. I've tried to reproduce multiple times on my end but haven't gotten it to fail yet. Let's try further narrowing down the problem. Could you try adding an item using the addon's rest endpoint directly? With curl it'll look something like this:
curl -X POST http://192.168.1.250:8085/add -H 'Content-Type: application/json' -d '{"name":"Milk","list":"COSTCO"}'
Note that the list name is case-sensitive.
that works perfectly each time.
AHA!! case... That was the clue. This works:
service: todo.add_item
data:
item: Tires
target:
entity_id: todo.anylist_COSTCO
But the auto population of the list names has the wrong case for all of the list names (at least for my lists):
so If I manually change it to todo.anylist_COSTCO, it works.
If you choose the list name from the Entities button, it populates all list names in lower case...
You might may want to check how you handle case in your Add-On.... especially when we start throwing mixed case at your service calls using Willow and Assist using Voice! And that is exactly what led me to your integration!
on a different topic, did you ever reach out to the owners of Anylist about supporting an API officially? I'd hate for us to lose this method and integration in the future. Seems to me like they should be open to it. They must have a dev program somewhere - they have a skill on Alexa... but thinking about it, they probably wrote it themselves.
Jason Marr is their CTO and a co-founder https://jmarr.net/- he was a SW engineer at Apple in the past. His personal email address is likely this:
or you could send it to team@anylist.com
that works perfectly each time.
AHA!! case... That was the clue. This works:
service: todo.add_item data: item: Tires target: entity_id: todo.anylist_COSTCO
But the auto population of the list names has the wrong case for all of the list names (at least for my lists):
so If I manually change it to todo.anylist_COSTCO, it works.
If you choose the list name from the Entities button, it populates all list names in lower case...
You might may want to check how you handle case in your Add-On.... especially when we start throwing mixed case at your service calls using Willow and Assist using Voice! And that is exactly what led me to your integration!
Interesting, good catch! I'll look into how to better handle the different cases in list names.
on a different topic, did you ever reach out to the owners of Anylist about supporting an API officially? I'd hate for us to lose this method and integration in the future. Seems to me like they should be open to it. They must have a dev program somewhere - they have a skill on Alexa... but thinking about it, they probably wrote it themselves.
Jason Marr is their CTO and a co-founder https://jmarr.net/- he was a SW engineer at Apple in the past. His personal email address is likely this: or you could send it to team@anylist.com
I actually did reach out to them a few months ago and the reply was since they are a small team, they don't have enough manpower to create and maintain a public API. I saw that one of the co-founders replied to an issue in the repo for the anylist nodejs library (https://github.com/codetheweb/anylist) regarding anylist's authentication changes so it seems like they're not openly against third-party integrations at least.
Just release a new update for the addon that makes list lookups case insensitive so it should better accommodate voice use cases.
Works like a champ! Thanks for all the work!
Glad everything's working now!
Got both the addon and integration installed. latest versions of everything. HA supervised. I had to use port 8085 and configured the server to use that port
And in the integration shows all my lists
this results in a 500 error.
as doex this
why does it say "todo.anylist_costco"? or is that just how you present all lists?
Not sure what to do or look at from here...