Monday, October 5, 2026

PLANKA and Home Assistant: From meal plan to shopping list

I’ve been meal planning for years because it reduces the daily stress of deciding what to eat, cuts food waste, and helps us keep track of what we have. However, my process was very manual: I created a note card on my phone for each week, listed the meals, and then turned that plan into a shopping list.

We tried several home-management projects available online, but most were too complicated to set up and would have been difficult to maintain.

Because we already use PLANKA boards to manage household projects and tasks, I began experimenting with a meal-planning board that could also capture ingredients and automate the shopping list.

That experiment became the PLANKA-based meal-planning add-on for Home Assistant.

One meal plan, in the place we already look

The aim was to make meal planning easier to use day to day, without having to jump between separate systems to check what’s for dinner, work out what to buy, and keep an eye on grocery spending.

The result is a Home Assistant integration that connects our PLANKA meal board to our household dashboard. PLANKA remains where we plan meals; Home Assistant brings the useful information and shopping workflow together in one place.

How the meal plan is organized

The integration reads a selected PLANKA board and the board lists configured for meal planning. A meal is a card with a due date. The card’s name becomes the meal name, its labels are carried through, and the tasks in its task lists are treated as ingredients.

A configurable label distinguishes pudding cards from main meals. That lets the integration present the evening’s meal and pudding separately, rather than treating every card as the same kind of entry.

The board refreshes periodically, so changes in PLANKA appear in Home Assistant without manually copying the meal plan across.

What Home Assistant adds

The integration exposes Home Assistant sensors for today’s meal, today’s pudding, tomorrow’s meal, and the number of upcoming dated meals. The sensors also include useful details—such as meal names, dates, ingredients, and labels—as attributes.

That makes the information available not just for dashboards, but also for templates and automations. For example, a notification can include tonight’s meal by reading the meal sensor.

There is also a daily notification that sends us the planned meal and pudding via WhatsApp as part of our daily update. If more than one main meal has been scheduled for the same day, it adds a warning. The notification service can be selected in the integration’s setup.

Turning ingredients into a shopping list

The integration creates a persistent Home Assistant to-do shopping list. Each Friday morning, it refreshes the meal plan and gathers ingredients for meals due from Friday through the following Thursday.

Ingredients are matched without regard to capitalization, so the same item used by several meals can appear once rather than as multiple duplicate entries. The item’s description lists which meals need it.

The list is editable in Home Assistant: items can be added, checked off, updated, or removed. It can also be regenerated from the current meal plan when needed.

One important detail is that the shopping list is persistent. Items are not automatically deleted just because a meal is removed from the plan. That avoids silently losing things someone may still intend to buy, but it also means the list can contain older items until they are removed.

A dashboard for the whole workflow

There is an optional Home Assistant panel that brings the upcoming meal plan and shopping list together. It can show meal details and ingredients alongside the editable list, so the plan is useful while preparing to shop as well as when deciding what to make.

If House Finance (another add-on I created and will go into in a future blog) is installed, the panel can also link the shopping workflow to a grocery budget item. After a shop, the receipt total can be recorded as actual spend for the current finance month. That amount is added to the existing total, so each shop can be entered separately rather than requiring a running total to be calculated beforehand.

The integration does not estimate prices from ingredients, nor does checking off a shopping item count as spending. The receipt total remains the source of truth for the budget.

What it uses

The solution is built from a few parts:

  • PLANKA stores the meal plan as dated cards, with labels and task lists.
  • A custom Home Assistant integration, written in Python, reads the board and exposes its data through sensors and a to-do list.
  • Home Assistant storage keeps the shopping list between restarts.
  • An optional custom Lovelace panel, written in JavaScript, puts the meal plan, shopping list, and—when configured—grocery-budget progress together.
  • Home Assistant notifications and services make the meal information available to daily reminders and other automations.

The idea is not to replace PLANKA or build a separate meal-planning system inside Home Assistant. PLANKA continues to hold the plan; Home Assistant makes that plan easier to see and act on as part of the household’s normal dashboard.

A work in progress

This integration grew from our actual household workflow and will continue to evolve as we use it. Its value is not in adding more technology, but in making everyday tasks feel simpler: planning dinner, preparing the shopping list, and recording grocery spending in one familiar place. If it keeps reducing the effort behind those routines, then it is doing exactly what I built it to do.

And I will be sharing the code out in the near future – just want to run water through the pipes for a week or two before I release it to the world.

Related Posts with Thumbnails