[Release] Improved Shopping List Card

:open_book: Vorwort

Wie ist dieses Add-on entstanden? Ganz einfach: Ich habe eine Möglichkeit gesucht, meine Einkaufsliste direkt über Home Assistant zu führen.
Die eingebaute Liste ist leider sehr rudimentär. Dann habe ich Tandoor ausprobiert – ganz nett, aber es bot nicht das, was ich wollte.
Ein weiteres Shopping-List-Add-on gab es zwar, aber dessen Pflege war zu umständlich, und für jeden Artikel musste man eine eigene Karte anlegen.

Im Endeffekt blieb mir also nichts anderes übrig, als selbst etwas zu programmieren.
Die größte Herausforderung dabei war: der WAF musste erhalten bleiben :grinning_face_with_smiling_eyes:


:light_bulb: Was ist die Improved Shopping List Card?

Die Improved Shopping List Card ist eine erweiterte Karte für Home Assistant,
die die originale Einkaufsliste deutlich verbessert und die Bedienung um ein Vielfaches vereinfacht.

:warning: Hinweis:
Diese Karte basiert auf der originalen Home Assistant Einkaufsliste (shopping_list) und nutzt deren Datenstruktur.
Alle Einträge, die du in dieser Karte hinzufügst, erscheinen auch in der Standard-Einkaufsliste – und umgekehrt.


:gear: Funktionsübersicht

  • :puzzle_piece: Anzeige als normale Karte oder im Panel-Mode (Seite mit nur einer Karte)
  • :input_latin_letters: Alphabetische Sortierung der Einträge
  • :eyes: Möglichkeit, erledigte Artikel auszublenden, ans Ende zu verschieben oder in der Sortierung zu belassen
  • :artist_palette: Farbige Markierung erledigter Artikel
  • :plus: Anzahl ändern über + und −
  • :label: Chips zum schnellen Hinzufügen häufig genutzter Artikel
  • :globe_with_meridians: Unterstützung für Standard- (Config) und lokale (Browser-)Chips
  • :eight_pointed_star: Highlighting für spezielle Artikel (z. B. Butter, Bananen, Mehl)
  • :wastebasket: Einfaches Entfernen von Artikeln durch den Minus Button
  • :gear: Anpassbares Design: Farben, Schriftgrößen, Chip-Positionen u. v. m.

Im Panel Mode (1 Karte pero Seite)

Normale Ansicht mit Chips rechts

Config-Editor


Unser Küchentablet

2 „Gefällt mir“

v1.2.0-BETA-2 has been released

Popup style optimiert

Kategorien hinzugefügt

Kategorien werden im Artikelnamen im Format @Kategorie@ Artikel (2) gespeichert.
Die Karte selbst zeigt dieses Format nicht an, aber wenn du andere Add-ons oder Karten für dieselbe To-do-Liste verwendest, wird es angezeigt.

Die Kategorien können im Config Editor bearbeitet werden

Dies wird in YAML code gemacht, z.B.

- name: Fruit
  items:
    - Strawberries
    - Plums
    - Pears
    - Bananas
- name: Vegetables
  items:
    - Avocado
    - Arugula
- name: Household Items
  items:
    - Sponge
    - Dish Soap
- name: Meat
  items:
    - Chicken Breast Fillet
    - Schnitzel
- name: Beverages
  items:
    - Sparkling Wine
    - Beer

Wenn man einen Artikel hinzufügt, der einer definierten Kategorie zugeordnet ist, wird er automatisch dieser Kategorie zugewiesen.
Wenn man einen Artikel hinzufügt, der keiner definierten Kategorie angehört, erscheint ein Popup (kann deaktiviert werden), in dem man den Artikel eine Kategorie zuweisen kannst.

Wenn man die Kategorie später ändern möchte, einfach doppelt auf einen Eintrag klicken.

Demo Code, ihr müsst nur noch eure ToDo Liste zuweisen

type: custom:ha-shopping-list-improved
quantity: end
acknowledged: end
chip_click: single
show_quantity_box: true
show_quantity_one: false
show_submit_button: true
show_input_mask: true
chips_position: bottom
chips: >-
  Butter, Pepsi, Beer, Plums, Salmon, Olive Oil, Bread Rolls, Cheese, Salami,
  Dish Soap, Toilet Paper, Salad, Frozen Veggies, Ketchup, Arugula, Avocado,
  Cheese Spread, Lime Liqueur, Dry Food, Wet Food, Milk, Toothpaste, Pizza,
  Cream, Sour Cream, Broth, Eggs, Sparkling Wine, Vodka, Minced Meat, Onions,
  Potatoes
highlight_words: Butter, Eggs, Wet Food, Dry Food
chip_merge: combined
chips_width: 300
list_font_size: 16
chip_font_size: 12
local_chips: true
chip_color: rgba(100,100,100,0.3)
highlight_color: "#D9534F"
chip_color_default: rgba(100,100,255,0.3)
sub_text: "Hint: Use chips to quickly add items again."
entity: todo.english_demo_shopping_list
categories:
  - name: Fruit
    items:
      - Strawberries
      - Plums
      - Pears
      - Bananas
  - name: Vegetables
    items:
      - Avocado
      - Arugula
  - name: Household Items
    items:
      - Sponge
      - Dish Soap
  - name: Meat
    items:
      - Chicken Breast Fillet
      - Schnitzel
  - name: Beverages
    items:
      - Sparkling Wine
      - Beer
cat_font_size: 21
show_cat_popup: true

1 „Gefällt mir“

Hallo… erstmal vielen Dank dafür.

Prinzipiell hätte ich Interesse das auszuprobieren zumal ich auch schon lange eine digitale Einkaufsliste nutze und eine gut gefüllte und kategorisierte DB auf dem Smartphone habe (lokal auf dem Gerät). Allerdings wurde der Support für die App schon vor Jahren eingestellt und auf Cloud mit jährlichem Kostenzwang umgestellt (obwohl ich die App ursprünglich gekauft hatte) Bei jedem Smartphonewechsel ist das immer nen kleiner Krampf die App in der alten Version wieder ans Laufen zu bekommen :wink:

Allerdings stelle ich mir eine Frage:

Funktioniert die Liste irgendwie lokal auf meinem mobilen Gerät? Also ich stelle mir das schon komfortabel vor, dass ich zuhause schnell Artikel zur Liste hinzufügen kann. Aber interessant wird es doch dann eben wenn ich unterwegs bin und einkaufe…

Ich bin zwar beim Verlassen meines zuhauses automatisch per VPN in meinem Netzwerk und kann auf HA zugreifen, aber wenn ich in den Läden bin, dann herscht halt sehr oft 0 Daten-Empfang und ich werde HA nicht erreichen können… deshalb die Frage… WIrd die Erstellte Liste lokal irgendwie auf dem Gerät erreichbar sein?

Das ist doch ein Projekt für HA, oder? Ich denke dann muss HA auch erreichbar sein.

Ja genau, das vermute ich auch. Frage mich halt wo der Sinn bleibt, denn ich benötige die Liste ja dann eben beim Einkaufen… Die will ich ja dabei abarbeiten… wenn ich aber genau dann gar keinen Kontakt bekomme, weil ich im Laden gar kein Netz habe, und lokal nichts auf dem Gerät liegt … dann brauche ich mir gar nicht die Arbeit machen und mich da reinarbeiten… daher die Frage…

Servus,

da es sich um eine Erweiterung für die originale HA Einkaufsliste (bzw den ToDo Listen) handelt, benötigt man Zugang zu HA. Kannst ja dann auch nicht auf Dein SmartHome zugreifen, um z.B. das Licht zu schalten.

Theoretisch könnte man auf dem Handy die Markierungen lokal speichern, nur leider spielt da die HA App nicht mit, denn die blendet dann die “Wird wieder verbunden Nachricht” ein. Damit bin ich leider raus mit meinen Möglichkeiten direkt in HA.

Ich habe mir allerdings schon Gedanken darüber gemacht, wie man das ggf lösen könnte. Bedarf dann aber zusätzlicher Schritte, da man die Liste exportieren müsste und sie dann wieder importieren müsste und natürlich dürfte dann keiner die Liste parallel bearbeiten, also zu Hause noch was ändern. Habe diese Idee aber noch nicht getestet/umgesetzt.

Ich habe gerade 1.2.0-BETA-3 released

  • added color and icons to the categories

Schema:

- name: Vegetables
  icon: mdi:apple
  bgcolor: "#247645"
  items:
    - Avocado
    - Arugula
  • added option to move an item to another category (double click on the name for edit mode)
    → This works as long as the item has not been deleted. If you delete the item and create a new one, it will be assigned to the configured category, or to Uncategorized if no matching configuration exists.

  • Added an option to export the list as an HTML file.
    This allows you to use your shopping list offline (e.g., when you don’t have network access in the supermarket).
    If you wish, you can assign a long-lived access token to your profile to enable the sync function.
    The sync function allows you to easily (push the button in the offline export) synchronize your offline list to Home Assistant (note: synchronization only works one way — from the offline list to Home Assistant).
    How it works: Click the export button, open the saved HTML file in your browser, check your items, and when you’re back at home (or within network range when using an external URL), click the sync button. If your browser clears the cache when you close it, syncing may not work correctly. Warning: Treat the token confidentially as it grants (full) access to your system. Also note that if HTTP is used instead of HTTPS, the token is transmitted unencrypted and is therefore insecure.

Config:

Export Button

Offline List

Using the html export file on an iPhone

Shortly after finishing this version, I realized that there is no official way to open a locally stored HTML file on my iPhone (shame on you, Apple). You need an additional app such as HTML Viewer Q:

There might be other options, like using Firefox or Edge, but it does not work with Chrome or Safari.

Ich habe die verbesserte Liste heute mal ausprobiert und ich finde sie sehr gelungen.
Allerdings stelle ich mich dumm an, meine anderen to Do Listen dar zu stellen. Gibt es eine Möglichkeit andere Entitäten zu selektieren?

Nur wenn Du dei BETA verwendest

Um auf die BETA zu wechseln, einfach den Screenshots folgen.

Danach den Frontend Cache löschen.

Dann die Karte bearbeiten und ganz oben kannst Du die Liste auswählen

1 „Gefällt mir“

v1.2.0-BETA-4 is verfügbar

  • Added optional item count display for categories (e.g. “Vegetables (2/12)”)
  • Categories in the edit popup now respect the same sorting order as in the list
  • Categories are now collapsible (click on category name to expand/collapse)

  • Added PDF export option
    Generate and download the list as a PDF document with checkboxes. You can check/uncheck items within the PDF, but currently there is no synchronization option with Home Assistant.

v1.2.0-BETA-5 ist zum testen verfügbar

Added an option for Bubble PopUp Card

Enable this option, if you want to use the card in the Bubble PopUp Card.
In the Bubble Card, the following settings must be set for the card to function correctly.

background_update: true
close_by_clicking_outside: false

Renamed the chip sorting options and added a new option Automatic Panel / Bottom (depends on screen size) to automatically switch between panel mode and mobile view

Implemented Global Chips

With this feature, you can save chips in a text file (e.g., via the file editor), and these chips will optionally be available in all cards.
You can also merge the Global Chips with the Standard and Browser Chips.

In the input field, you need to specify the path to the chips file.
Example: /local/chips.txt if the file is named chips.txt and located in the www folder. And yes, local points to the www folder.
Each chip must be placed on a separate line.

You might also need to add the www folder (or your specific folder) to the allowlist_external_dirs in your configuration.yaml and restart Home Assistant afterwards:

# Loads default set of integrations. Do not remove.
default_config:

# add your path to the file here
homeassistant:
  allowlist_external_dirs:
    - "/config/www/"

v1.2.0-BETA-6 has been released

Have fun with this release :slight_smile:

Implemented Global Categories

With this feature, you can save categories in a text file (e.g., via the file editor), and these categories will optionally be available in all cards.
You can also merge the Global Categories with the Standard Categories.

In the input field, you need to specify the path to the categories file.
Example: /local/categories.txt if the file is named categories.txt and located in the www folder. And yes, local points to the www folder.

Text file Format:

[Fruits]
icon = mdi:apple
bgcolor = #247645
items = Apples, Plums, Pears, Bananas

[Beverages]
icon = mdi:bottle-soda
bgcolor = #528B8B
items = Beer, Sparkling Wine, Cola

You might also need to add the www folder (or your specific folder) to the allowlist_external_dirs in your configuration.yaml and restart Home Assistant afterwards:

# Loads default set of integrations. Do not remove.
default_config:

# add your path to the file here
homeassistant:
  allowlist_external_dirs:
    - "/config/www/"

Implemented Dishes

With dishes you can add multiple items at once. Each dish starts with - name: and contains a list of items under ‘items’. Example: - name: McDonalds items: - Cheeseburger - BigMac (2) - Fries - Hamburger (4). Each dish can optionally have a background color (bgcolor, e.g. #247645). Dishes will be always added at the end of the other chips.

- name: McDonalds
  bgcolor: #000000
  items:
    - Hamburger (2)
    - Cheeseburger (3)
    - BigMac
    - French Fries
- name: Burger King
  items:
    - French Fries (2)
    - BigKing

Implemented QR Code Scanner

Allows scanning one or multiple items at once via QR code.

[!IMPORTANT]
You must access Home Assistant via a https:// connection for the QR scanner to work.

QR Button
grafik

You have to allow camera access

Scan the code. If the scan was successfully, the scan window will disappear.

Configuration option:

For multiple items, each item must be on a separate line. Quantities can be specified in parentheses, e.g., Bananas (6).

Generate your QR Codes in this format

If you want to add bananes

bananas

If you want to add 6 bananas at once

bananas (6)

if you want to add more items like for a dish

bananas (6)
plums (33)
apples (2)
peach
beer

You can generate QR Codes here:

v1.2.0-BETA-8 has been released

:sparkles: Implemented EAN Code Reader

This feature currently supports EAN-13 barcodes, limited to food products only.
The reason is simple — there is no free global EAN database available, except for the Open Food Facts project:
:link: https://world.openfoodfacts.org

In the future, I might add support for a local EAN list (similar to the local categories or local chips feature).

How to use

The feature is automatically triggered when:

  • an EAN-13 barcode is scanned using the camera, or
  • an EAN-13 number is entered manually into the input field.

You can test it by entering this example code: 4337256383165

:spiral_calendar: Added ToDo Mode

The new ToDo Mode transforms the Home Assistant ToDo list into a kind of task manager with recurring due date functionality.

Key features include:

  • Set recurring due dates and due times for each item.
  • Automatic calculation and display of remaining time until due, with intuitive formatting (e.g., days & hours, months & days).
  • Flexible options when marking tasks complete, such as removing the due date or scheduling the next due date based on custom intervals.
  • Visual indicators for upcoming or overdue tasks with configurable warning thresholds (currently only via YAML, see below).
  • Streamlined UI without quantity input or export buttons, optimized specifically for task management.

List View:

Edit Mode:

Acknowledge an item:

Configuration of Warning Thresholds for ToDo Due Dates

In ToDo Mode, you can configure when upcoming tasks are visually marked as “due soon” based on configurable warning thresholds. These thresholds are defined in minutes and differ depending on the type of interval or due date format:

Configuration Parameter Description Default Value (Minutes)
todo_yellow_m Warning threshold for intervals in months 1440 (24 hours)
todo_yellow_d Warning threshold for intervals in days 120 (2 hours)
todo_yellow_h Warning threshold for intervals in hours 10 (10 minutes)
todo_yellow_s Warning threshold for due dates without time 120 (2 hours)

If the remaining time until the due date is within the configured threshold, the task will be highlighted in orange to remind you in time.

Example Configuration

todo_yellow_m: 2880  # 2 days (in minutes) for monthly intervals
todo_yellow_d: 240   # 4 hours for daily intervals
todo_yellow_h: 15    # 15 minutes for hourly intervals
todo_yellow_s: 60    # 1 hour for dates without time

v2.0.0 has been released - Final Version

Changes since last BETA

  • Added a general category for all items without a category. Now you can also collapse these items.
  • In ToDo mode, the number of items shown for each category is now inverted. The number before the ‘/’ only counts entries that are not yet due. (Example: 3/5 means that out of 5 entries, 3 are still pending.) This way, when you see (5/5), you know there are currently no tasks left to do.

For all other changes from v1.0.0 to 2.0.0, please refer to the release notes:

It’s too much to post here. :wink:

Ich habe diese Einkaufsliste gerade mal drei Tage aber kann jetzt schon sagen, dass es klasse ist! Und ich war noch nicht mal einkaufen :rofl:

Ich habe mehrere Einkaufslisten ausprobiert und jedes hatte einen klaren Vorteil aber auch immer Nachteile. Diese bringt einfach alle Vorteile zusammen.

Vielen Dank und vielleicht finde ich noch Verbesserungsmöglichkeiten :slightly_smiling_face:

1 „Gefällt mir“

v2.1.0 has been released

  • Added collapsible configuration sections in the Config Editor

  • Added option to set a title for the card

  • Added font size option for the title

  • Added icon option for the title

  • Clicking on the title now collapses/expands the entire card
    grafik

  • Added option to show/hide the exclamation mark (Todo Mode)

  • Exclamation mark for due items is now also shown in the title (Todo Mode)

  • Warning thresholds for ToDo due dates are now available in the GUI editor

  • Implemented local EAN file support (formats: EAN-8, UPC (12), EAN-13, and GS1-14)

You might also need to add the www folder (or your specific folder) to the allowlist_external_dirs in your configuration.yaml and restart Home Assistant afterwards:

# Loads default set of integrations. Do not remove.
default_config:

# add your path to the file here
homeassistant:
  allowlist_external_dirs:
    - "/config/www/"
  • Added Copy / Paste buttons

If you press the copy button, the current date, time, and interval will be saved to local storage (browser). You can then use the paste button to quickly apply these settings to a new entry or update an existing one.

v2.2.0-BETA-1 has been released

Implemented Dynamic Categories

Dynamic categories make it possible to assign items to categories that are not predefined, even from outside the card (e.g., through automations in the format: @Category@ Item). Additionally, new categories can be created when adding items through the card. These categories remain available until the last item in the category has been removed.

Due to the implementation of dynamic categories, the category merge mode has been reworked. There are many new options available to choose how local, global, and dynamic categories should be merged. 'local_only' shows only the locally defined categories, 'global_only' shows only the global categories, and 'dynamic_only' shows only the dynamic categories. All other options combine two or all three types in different ways.

The priority in which categories are merged follows the order in which they appear, from left to right. At first, it may look overloaded and some options might seem duplicated, but in the background this only happens if you don’t have overlapping categories.

For example, if you have the category “Vegetables” both in the local and global categories, the merge order matters. If “Vegetables” is red in the local category and green in the global category, then in the mode Local → Global the color will be red, while in Global → Local it will be green.

Additionally, there are different options to sort the merged categories. You can sort each block (global/local/dynamic) by name, or you can sort all categories together. And of course, there is also an option without sorting, meaning that the categories will be displayed as defined in the config editor, the text file for the global categories, and as detected in the items for dynamic categories.

Dont forget to enable dynamic categories AND change the merge mode for categories to use this feature.

Add an item to a dynamic category

Here you can see the dynamic category

If you add another item, you have to option to chose the earlier created dynamic category

New Options for ToDo Mode

  • Option to show/hide the title info about the next due item
    Displays the next due date of all items from all categories under the title when in ToDo mode, provided a title is set.
    Expired items are not shown here; they are indicated by an exclamation mark to the right of the name.

  • Option to show/hide the title info icon
    Displays a calendar icon before the due date as a visual highlight.

  • Option to show the next due date inside a category
    If this option is enabled, the next due date will be displayed under the category name in ToDo mode.
    This allows you to see at a glance when the next item in that category is due.

  • Option to show/hide the title exclamation mark (ToDo only)

New Options for Chips

  • option to hide the chips

  • option to show chips in the color of the category (the item must be part of a defined local or global category)
    If a chip is assigned as an ‘item’ to a category and that category has a defined color, the chip will be displayed in that color.
    The color priority order is: Highlight → Category → Global → Standard → Browser.

General Options

  • option to show the input mask at top / bottom
  • clear all button now also works in ToDo mode

General Category Options

  • option to show the category icon larger (approx. 2x)
    If the next due date is displayed, this option allows enlarging the icon so that it fits visually better.

New Options Overview

Parameter Type Description Default
show_title_info Boolean Option to show the next due date info under the title in ToDo mode true
show_title_info_icon Boolean Displays a calendar icon before the due date as a visual highlight true
show_title_exclamation_mark Boolean Shows an exclamation mark next to the title for due items (ToDo mode only) true
input_row_position String Position of the input mask (top or bottom) "top"
chips_with_cat_color Boolean Shows chips in the color of the assigned category true
show_cat_next_due Boolean Shows the next due date below the category name in ToDo mode true
cat_double_sized_icon Boolean Enlarges the icon when the next due date is displayed to better fit visually true
show_cat_exclamation_mark Boolean Shows an exclamation mark on the category for due items true
allow_dynamic_categories Boolean Allows the use of dynamic categories false
category_merge_mode String Defines how local, global, and dynamic categories are merged "local_only"

category_merge_mode Options

Mode Description
local_only Show only locally defined categories
standard_only (old) Only standard categories
global_only Show only global categories
dynamic_only Show only dynamic categories
local_only_sorted Local categories, sorted alphabetically
global_only_sorted Global categories, sorted alphabetically
dynamic_only_sorted Dynamic categories, sorted alphabetically
local_global Combine local + global categories (order matters)
local_first (old) Local first, then global
local_dynamic Combine local + dynamic categories
global_dynamic Combine global + dynamic categories
global_local Combine global + local categories (order matters)
global_first (old) Global first, then local
dynamic_local Combine dynamic + local categories
dynamic_global Combine dynamic + global categories
local_global_sorted Local + global categories, sorted alphabetically
local_dynamic_sorted Local + dynamic categories, sorted alphabetically
global_dynamic_sorted Global + dynamic categories, sorted alphabetically
global_local_sorted Global + local categories, sorted alphabetically
dynamic_local_sorted Dynamic + local categories, sorted alphabetically
dynamic_global_sorted Dynamic + global categories, sorted alphabetically
local_global_sorted_total Local + global categories, alphabetically sorted and merged
global_combined (old) Global categories merged
local_dynamic_sorted_total Local + dynamic categories, alphabetically sorted and merged
global_dynamic_sorted_total Global + dynamic categories, alphabetically sorted and merged
global_local_sorted_total Global + local categories, alphabetically sorted and merged
dynamic_local_sorted_total Dynamic + local categories, alphabetically sorted and merged
dynamic_global_sorted_total Dynamic + global categories, alphabetically sorted and merged
local_global_dynamic Combine local + global + dynamic categories
local_dynamic_global Combine local + dynamic + global categories
global_local_dynamic Combine global + local + dynamic categories
global_dynamic_local Combine global + dynamic + local categories
dynamic_local_global Combine dynamic + local + global categories
dynamic_global_local Combine dynamic + global + local categories
local_global_dynamic_sorted Combine local + global + dynamic categories, sorted alphabetically
local_dynamic_global_sorted Combine local + dynamic + global categories, sorted alphabetically
global_local_dynamic_sorted Combine global + local + dynamic categories, sorted alphabetically
global_dynamic_local_sorted Combine global + dynamic + local categories, sorted alphabetically
dynamic_local_global_sorted Combine dynamic + local + global categories, sorted alphabetically
dynamic_global_local_sorted Combine dynamic + global + local categories, sorted alphabetically
local_global_dynamic_sorted_total Combine local + global + dynamic categories, sorted and merged
local_dynamic_global_sorted_total Combine local + dynamic + global categories, sorted and merged
global_local_dynamic_sorted_total Combine global + local + dynamic categories, sorted and merged
global_dynamic_local_sorted_total Combine global + dynamic + local categories, sorted and merged
dynamic_local_global_sorted_total Combine dynamic + local + global categories, sorted and merged
dynamic_global_local_sorted_total Combine dynamic + global + local categories, sorted and merged

v2.2.0-BETA-2 has been released

Implemented Admin Options

With this new option, you can easily copy changes from your list to the configuration section.
Simply click the Copy button to transfer the content of the text area to your clipboard.
Inside the configuration editor, use your device’s paste function to insert the content into the configuration field.

Position of the Admin Button

Option in the Config Editor

Admin Options


Dynamic Categories – Include Items

If you check this checkbox, the assigned items of the dynamic category will also be included in the generated text area.
Use this function to copy the new categories—including their items—to your clipboard, then paste them into the defined local categories within the configuration editor.


Manual Assigned Items – Include Already Configured Items

If you check this checkbox, all items already assigned to a category (not only the changes) will be included in the generated text area.
Use this function to copy the complete updated configuration to your clipboard and replace the content of the categories section inside the configuration editor.

Ich habe es nicht probiert aber danke und ganz sicher tolle Arbeit!

Für meine Frau war ein großes Akzeptanzkriterium, ob sie die Reihenfolge der Items manuell verschieben kann, entsprechend der Räumlichkeiten bei Edeka, etc. Würde Deine Liste dieses Feature bieten?

PS: Wir benutzen eine einfache Android App “Einkaufszettel”.