Hi everyone,
I’ve published a new custom integration for AnyList:
GitHub: GitHub - moryoav/ha-anylist: Home Assistant custom integration for AnyList shopping lists and meal planning · GitHub
Latest release: Release v0.4.3 · moryoav/ha-anylist · GitHub
It exposes selected AnyList shopping lists in Home Assistant as standard todo entities, so they work with the normal Home Assistant todo UI, dashboard cards, automations, scripts, and services.
The big use case for me is shopping lists. This now makes it possible, not exactly trivial but working, to build a 3-way shopping list setup between:
- Alexa shopping list
- AnyList
- Home Assistant dashboard card
I previously wrote about my Alexa/Home Assistant shopping-list setup here:
With this AnyList integration, the Home Assistant side can now talk to AnyList directly through todo entities instead of treating a local text file as the main source of truth.
A recent improvement: when you add known grocery items from Home Assistant, the integration now sends AnyList category metadata too. So if AnyList knows that milk belongs in Dairy, adding milk from Home Assistant should land it in the Dairy category in AnyList instead of being added as an uncategorized item.
Features include:
- AnyList shopping lists as Home Assistant
todoentities - View, add, check/uncheck, and remove shopping-list items
- Automatic AnyList category reuse for known items added from Home Assistant
- Optional meal plan iCalendar URL sensor for Home Assistant’s iCal integration
- Recipe actions for automations/Node-RED:
- search recipes
- fetch a recipe
- create/update/delete recipes
- add recipe ingredients to a shopping list
- optionally scale ingredient quantities
- A refresh service
- List content signature attributes, useful for automations that need to detect actual list changes
Credit where it’s due: this started from the earlier work by ozonejunkieau/ha-anylist:
That project established the useful idea of exposing AnyList lists as Home Assistant todo entities. This version is now largely/completely rewritten internally. The original integration depended on pyanylist, which itself used a Rust package underneath. That made installation and platform compatibility more fragile, especially in Home Assistant environments.
This integration instead includes a local pure-Python AnyList client and talks to AnyList directly. There is no external AnyList client package and no Rust extension requirement.
Other differences from the original include:
- direct local client implementation rather than the third-party
pyanylistdependency - cloud polling with immediate refresh after local changes, instead of relying on websocket sync
- recipe services exposed to Home Assistant
- category-aware item creation
- reauth/reconfigure support for credentials
- diagnostics with sensitive values redacted
- bulk delete support for todo items
- cleaner Home Assistant config-entry/options handling
This is still unofficial, and AnyList does not publish a public API, so use it accordingly. But it is working well enough for my own shopping-list flow, especially with Alexa + AnyList + Home Assistant all in the loop.