alias: Alexa-Einkaufsliste zu Bring übertragen
description: >-
Überträgt neue Alexa-Einkaufseinträge nach Bring! und setzt sie
anschließend in Alexa auf erledigt.
triggers:
- trigger: todo.item_added
target:
entity_id: todo.ALEXA
conditions: []
actions:
- alias: Neue Alexa-Einträge übernehmen
variables:
neue_ids: "{{ trigger.item_ids | default([], true) }}"
- alias: Prüfen ob neue Einträge vorhanden sind
condition: template
value_template: "{{ neue_ids | count > 0 }}"
- alias: Alexa-Einkaufsliste abrufen
action: todo.get_items
data:
entity_id: todo.ALEXA
status: needs_action
response_variable: alexa_antwort
- alias: Neu hinzugefügte Alexa-Einträge bestimmen
variables:
neue_alexa_eintraege: >-
{{
alexa_antwort[
'todo.ALEXA'
]['items']
| selectattr('uid', 'in', neue_ids)
| list
}}
- alias: Neue Alexa-Einträge einzeln verarbeiten
repeat:
for_each: "{{ neue_alexa_eintraege }}"
sequence:
- alias: Aktuelle Bring-Einkaufsliste abrufen
action: todo.get_items
data:
entity_id: todo.BRING
status: needs_action
response_variable: bring_antwort
- alias: Vorhandene Bring-Artikel aufbereiten
variables:
vorhandene_bring_artikel: >-
{{
bring_antwort['todo.BRING']['items']
| map(attribute='summary')
| map('trim')
| map('lower')
| list
}}
- alias: Artikel nur hinzufügen wenn noch nicht in Bring vorhanden
if:
- condition: template
value_template: >-
{{
repeat.item.summary | trim | lower
not in vorhandene_bring_artikel
}}
then:
- alias: Artikel zu Bring hinzufügen
action: todo.add_item
data:
entity_id: todo.BRING
item: "{{ repeat.item.summary | trim }}"
- alias: Alexa-Eintrag auf erledigt setzen
action: todo.update_item
data:
entity_id: todo.ALEXA
item: "{{ repeat.item.uid }}"
status: completed
- alias: Amazon-Anfragen begrenzen
delay:
seconds: 2
mode: queued
max: 10
Empfehlung: Zuerst die Alexa-Einkaufsliste leeren.
Ich habe Alexa dazu gesagt: „Setze bitte die komplette Einkaufsliste auf erledigt.“
Die Automation arbeitet damit so:
Neuer Artikel wird per Alexa eingetragen.
Home Assistant prüft, ob er bereits in Bring! vorhanden ist.
Falls nicht, wird er zu todo.BRING hinzugefügt.
Anschließend wird er in Alexa auf erledigt gesetzt.
Schlägt das Hinzufügen zu Bring! fehl, wird der Alexa-Eintrag nicht erledigt und bleibt erhalten.
Wegen der Alexa-Abfrage kann die Übertragung bis zu ungefähr fünf Minuten dauern.
Kannst du mir bitte kurz erläutern, wie du die Bring Liste aus HA fütterst? Reicht der Bring-Skill in Alexa aus?
Ich nutze aktuell auch noch den Umweg über den ioBroker.
Klar Seit HA 2026.7 geht das bei mir direkt ohne ioBroker. Ich nutze in Home Assistant die Integrationen „Alexa Devices“ und „Bring!“. Dadurch stehen beide Einkaufslisten als To-do-Listen in HA zur Verfügung.
Eine Automation übernimmt neue Einträge aus der Alexa-Einkaufsliste nach Bring und setzt sie anschließend bei Alexa auf erledigt. Der Bring-Skill in Alexa wird dafür nicht benötigt. Ich sage einfach weiterhin: „Alexa, setze Milch auf die Einkaufsliste.“ Die Übernahme nach Bring erfolgt bei mir praktisch sofort.
Ja das geht, ABER: Das Wichtigste in Kürze: Der Schlüssel zum Erfolg liegt darin, Alexa immer zuerst zu sagen, dass sie Bring! öffnen soll, bevor du deine Artikel nennst.
Und dazu habe ich keine Lust.
Ich nutzt die Alexa Liste und übertrage automatisch mit HA.
Bring-Skill habe ich gelöscht.
Habe ich eingerichtet und teste ich. Mir geht es genau wie dir: Ich habe auch keine Lust immer “öffne Bring” bla bla zu sagen.
Ich gebe dir morgen eine Rückmeldung. Danke für das Script, nun kann ich es im ioBroker ablösen.
Gruß
Martin
@harryp ja, bei mir geht es ohne Automation.
mit “… öffne Bring und füge xyz hinzu” klappt das gut.
Und wenn du mehrere Artikel nacheinander eintragen lassen willst, musst du zuerst “Öffne Bring” sagen. Das quittiert Alexa und ab dann kannst du nacheinander Artikel hinzufügen.
Man muss aber immer zwischendurch warten, bis Alexa gesagt hat “ok, ich habe xyz hinzugefügt”.
Coole Sache, danke!
Muss ich gleich morgen mal versuchen.
Was ist denn, wenn ich dann Alexa frage, was auf der Einkaufsliste steht? Die ist ja quasi immer leer, oder? Dann bräuchte man aber doch noch den Skill, um die ja dann aktuelle Bring-Liste per Alexa abfragen zu können. Denkfehler meinerseits am späten Abend?
Die Alexa-Liste ist dadurch quasi immer leer. Wenn du die Einkaufsliste per Sprache abfragen möchtest, benötigst du vermutlich weiterhin den Bring-Skill.
Ich selbst nutze das nicht. Ich sehe auf dem Tablet in der Küche, was auf der Liste steht, oder schaue direkt in die Bring-App.
Die Frage von knuti1960 hat mich noch auf eine zusätzliche Idee gebracht:
Was passiert eigentlich, wenn HA gerade offline ist, zum Beispiel wegen eines Neustarts oder Updates, und der Chef im Haus trotzdem etwas auf die Einkaufsliste setzt?
Dafür habe ich die Automation noch erweitert.
Falls Home Assistant oder Bring gerade offline ist, geht trotzdem nichts verloren. Sobald HA neu startet oder Bring wieder erreichbar ist, werden alle noch offenen Alexa-Einträge nachträglich übertragen. Bereits vorhandene Artikel werden dabei nicht doppelt in Bring eingetragen.
alias: Alexa-Einkaufsliste nach Bring übertragen - V2
description: >-
Überträgt alle offenen Einträge aus der Alexa-Einkaufsliste nach Bring
und setzt sie anschließend bei Alexa auf erledigt.
triggers:
- trigger: todo.item_added
alias: Neuer Alexa-Eintrag
target:
entity_id: todo.greyfuchs_gmail_com_einkaufsliste
- trigger: homeassistant
alias: Home Assistant wurde gestartet
event: start
- trigger: state
alias: Alexa-Liste wieder verfügbar
entity_id: todo.greyfuchs_gmail_com_einkaufsliste
from: "unavailable"
- trigger: state
alias: Bring-Liste wieder verfügbar
entity_id: todo.zuhause
from: "unavailable"
actions:
- alias: Auf Alexa und Bring warten
wait_template: >-
{{
states('todo.greyfuchs_gmail_com_einkaufsliste')
not in ['unknown', 'unavailable']
and
states('todo.zuhause')
not in ['unknown', 'unavailable']
}}
timeout: "00:05:00"
continue_on_timeout: false
- alias: Alle offenen Alexa-Einträge abrufen
action: todo.get_items
target:
entity_id: todo.greyfuchs_gmail_com_einkaufsliste
data:
status: needs_action
response_variable: alexa_antwort
- alias: Vorhandene Bring-Einträge abrufen
action: todo.get_items
target:
entity_id: todo.zuhause
data:
status: needs_action
response_variable: bring_antwort
- alias: Listen vorbereiten
variables:
alexa_eintraege: >-
{{
alexa_antwort
.get('todo.greyfuchs_gmail_com_einkaufsliste', {})
.get('items', [])
}}
bring_namen: >-
{{
bring_antwort
.get('todo.zuhause', {})
.get('items', [])
| map(attribute='summary')
| map('lower')
| list
}}
- alias: Prüfen ob offene Alexa-Einträge vorhanden sind
condition: template
value_template: "{{ alexa_eintraege | count > 0 }}"
- alias: Alle Alexa-Einträge nacheinander bearbeiten
repeat:
for_each: "{{ alexa_eintraege }}"
sequence:
- alias: Prüfen ob Artikel bereits in Bring vorhanden ist
if:
- condition: template
alias: Artikel ist noch nicht in Bring
value_template: >-
{{ repeat.item.summary | lower not in bring_namen }}
then:
- alias: Artikel zu Bring hinzufügen
action: todo.add_item
target:
entity_id: todo.zuhause
data:
item: "{{ repeat.item.summary }}"
- alias: Alexa-Eintrag auf erledigt setzen
action: todo.update_item
target:
entity_id: todo.greyfuchs_gmail_com_einkaufsliste
data:
item: "{{ repeat.item.uid }}"
status: completed
- alias: Amazon-Anfragen begrenzen
delay:
seconds: 2
mode: queued
max: 10
Danke! Als das damals entfernt wurde, fand ich das ziemlich nervig. Gefühlt landete ständig irgendwas auf der falschen Liste, weil vorher niemand dran gedacht hatte, Bring zu starten.
Die Familie wird die Lösung lieben, endlich läuft der Sync im Hintergrund, ohne dass man selbst aktiv werden muss.
Funktioniert perfekt!
Habe gleich die V2 genommen.
Den Skill habe ich trotzdem noch am Laufen. Erstens, weil wir uns bestimmt erstmal daran gewöhnen müssen, nicht mehr ein “Öffne Bring” voranzustellen und das somit auch noch funktioniert.
Zweitens wegen der Möglichkeit die (Bring-)Einkaufsliste per Sprachbefehl abfragen zu können, das wird bei uns halt recht häufig benutzt.
Der Parallelbetrieb schadet nicht, nach ersten Tests jedenfalls klappt alles so, wie man es sich vorstellt. Und das geht ja echt flott, anscheinend findet durch Devices eine Push-Synchronisierung statt.
Ein lange bestehendes Ärgernis endlich beseitigt, super, freue ich mich echt drüber
Ich nutze zum Befüllen meiner Bring! Einkaufsliste die App “Alexa Sync”
in Verbindung mit der Integration von Bring!
Ich sage “Alexa füge Butter zur Einkaufsliste hinzu” und sie landet erst auf der Amazon-Einkaufsliste und wird dann über Alexa-Sync via HA zu Bring! gesynct. Funktioniert super und hat noch den schönen Nebeneffekt, dass ich die Bring!-Liste auch direkt in HA habe und von dort auch verwalten kann.