Cookidoo smart home integration, free and open source

Your Cookidoo shopping list and week plan (Thermomix) in Gladys: sensors, widgets and scenes.
Bring your Cookidoo account — the recipe service of the Thermomix — into Gladys: the shopping list and the week plan become sensors, dashboard widgets and scene actions.
Not affiliated with Vorwerk. Cookidoo and Thermomix are trademarks of Vorwerk.
Developed without a Cookidoo account: feedback welcome. The integration follows the protocol of the open-source library cookidoo-api, used by Home Assistant, and is tested against its recorded answers, not against a real account yet.
Overview
- Shopping list: the ingredients of the recipes you added to the list and the free items you typed, checked or not; the number of items left to buy.
- Week plan: the recipes planned today (names, total time), and the "recipe of the day" widget.
- Subscription: its type (Premium, trial, free) and its end date.
- Scene actions: add an item ("Add milk" from a button or a voice command), check or uncheck an item, clear the checked items.
- Widgets: the shopping list with buttons to add, check and clear, and the recipe of the day.
Requirements
- Gladys Assistant 5.2.0 or later (the widget buttons open a short form, which needs 5.2.0).
- A Cookidoo account signing in with an e-mail and a password, with or without a subscription.
- Internet access from Gladys: the integration talks to Cookidoo's servers (cloud).
Configuration
Install the integration from Integrations → Install from GitHub, then fill in:
| Field | What to enter |
|---|---|
| E-mail, Password | The ones of your Cookidoo account. |
| Country of the account | The country chosen when the account was created: it sets the Cookidoo site (cookidoo.fr, cookidoo.de, cookidoo.international for the countries without their own site...). |
| Cookidoo language | Language of the recipes and items. Automatic picks the language of the country closest to the next field (French on cookidoo.fr, German on cookidoo.ch...). |
| Language of names and states | Language of the feature names (set once, when you add the device) and of the texts the device shows. French by default. |
| Refresh interval | How often the shopping list and the week plan are read: 2 to 30 minutes, 5 by default. Your own changes from Gladys show at once. |
Then go to the Discover tab and add the Cookidoo device.
Test the connection
The Test the connection button signs in again with the password and reads everything: the answer says how many items are left, the recipe of the day and the subscription, or why it failed. After a refused password, the integration stops signing in on its own (retrying could lock the account): fix the password or run this test.
Data and privacy
The password stays in the Gladys configuration. The sign-in tokens (valid 12 hours, refreshed
automatically) and the id of your Cookidoo profile are kept in the integration's data volume
(/data/cookidoo.json, readable by the integration only). Nothing is sent anywhere but to
Cookidoo, and no password, token or e-mail is ever written in the logs.
The device
One Cookidoo device per account, with these features (read-only):
| Feature | Type | Value |
|---|---|---|
| Items to buy | counter | unchecked items of the shopping list |
| Checked items | counter | checked items, still on the list |
| Shopping list | text | the items to buy, separated by commas ("Empty list" when none) |
| Today's recipes | text | the recipes planned today in Cookidoo ("No recipe planned" when none) |
| Number of today's recipes | counter | how many recipes are planned today |
| Time of today's recipes | duration (min) | total time of today's recipes |
| Subscription | text | Premium, Trial or Free |
| Subscription end | text | end date of the subscription ("None" without one) |
| Subscription days left | duration (days) | days until the subscription ends, 0 without one |
"Today" is the day in the time zone of Gladys.
Widgets
Add them from the dashboard editor (Integration widgets).
Shopping list (shopping_list)
The number of items to buy and checked, the first eight items (still to buy first, then the checked ones with a badge), and four buttons:
- Add: type the name of an item;
- Check / Uncheck: pick an item in the list;
- Clear checked: removes what was bought (asks for confirmation first).
The Gladys widgets have no checkbox by design: a tap on Check opens a short form whose list holds the items to buy.
Recipe of the day (recipe_of_the_day)
The recipes planned today, with their picture, their time and a link to open them in Cookidoo. When nothing is planned today, the next recipes of the week, with their day.
Scene actions
In a scene, Add an action → Integrations. The item name accepts scene variables.
Add to the Cookidoo list (add_item)
Adds a free item to the shopping list, unless an item of that name is already there to buy; a checked item of that name is put back on the list instead of doubled. Outputs: Item added (yes/no), Items to buy.
Check a Cookidoo item (check_item)
Checks the item of that name (case, accents and a leading article ignored: "du lait" finds "Lait"). When several items could match, nothing is checked. Outputs: Item found, Items to buy.
Uncheck a Cookidoo item (uncheck_item)
Puts a checked item back on the list, found the same way. Outputs: Item found, Items to buy.
Clear the checked Cookidoo items (clear_checked_items)
Removes the checked free items, and the recipes whose ingredients are all checked. Cookidoo only removes an ingredient with its recipe: a recipe partly bought stays on the list. Output: Items removed.
Scene examples
- "Add milk" from a button: trigger a button is pressed → action Add to the Cookidoo list
with
Lait→ Send a message "Milk added, {{items to buy}} items to buy". - Shopping reminder: every Saturday at 9:00, if Items to buy is above 0 → send a message with the value of the Shopping list feature.
- Back from the shop: when you arrive home on Saturday afternoon → Clear the checked Cookidoo items.
- Time to cook: every day at 18:30, if Number of today's recipes is above 0 → message "Tonight: {{today's recipes}} ({{time}} min)".
- Subscription: when Subscription days left goes below 7 → reminder.
Refresh and API usage
Gladys does not poll this device: the integration reads Cookidoo on its own timer, and only while someone looks (the device is added, or a widget was shown in the last hour). Each refresh is two requests (shopping list and week plan); the subscription is read every 6 hours; the access token is renewed twice a day. With the default 5 minutes, that is about 600 requests a day. Cookidoo publishes no quota and no terms for this use: do not set the interval lower than you need. The values are published only when they change, plus once every 6 hours.
Troubleshooting
- "Cookidoo refused the sign-in": check the e-mail, the password and the country. If Cookidoo asks for a step (new terms of use, an e-mail check), sign in once on the website or in the app, then run Test the connection.
- "Cookidoo refused the connection of the integration (anti-robot protection)": Cookidoo's protection refused the request. The integration never works around it: it waits 30 minutes and tries again. If it lasts, tell us on the forum.
- "Cookidoo answered in an unexpected format": Cookidoo changed its API; update the integration (and open an issue if no update exists yet).
- Empty items or recipes: check the country and the Cookidoo language.
- More details: set
LOG_LEVEL=debugon the integration and read its logs.
Limits
- Unofficial API: Cookidoo can change it at any time, and the sign-in may then fail until an update.
- Read every few minutes: a change made in the Cookidoo app shows after the next refresh.
- Only free items can be added; an ingredient is removed with its recipe.
- No control of the Thermomix itself, no recipe search, no planning from Gladys.
- One account per integration.
Configuration settings
These are the settings Cookidoo asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Cookidoo account | section | No | The account you use in the Cookidoo app or on the Thermomix. The password stays in Gladys; the sign-in tokens are kept in the integration's data. Not affiliated with Vorwerk. |
string | Yes | E-mail address of the Cookidoo account. | |
| Password | secret | Yes | |
| Country of the account | select | Yes | The country chosen when the account was created: it sets the Cookidoo site (cookidoo.fr, cookidoo.de...). |
| Cookidoo language | select | No | Language of the recipes and items. Automatic: the one of the country closest to the language below. |
| Language of names and states | select | No | Language of the feature names (set when the device is added) and of the texts the device shows. |
| Refresh interval | select | No | How often the shopping list and the week plan are read. Your own changes show at once. |
How to install Cookidoo in Gladys
- In Gladys, open Integrations: Cookidoo appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-cookidoo:1.0.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/guim31/gladys-cookidoo.
Cookidoo requires Gladys >=5.2.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Cookidoo is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation