Einkaufsliste (To-Do-lis) Benachrichtigung

Hallo zusammen,
ich habe eine Frage zur Einkaufsliste in HA.
Ich hätte es gerne das wenn ich etwas eintrage meine Partnerin eine Benachrichtigung bekommt ich aber nicht denn ich habe den Eintrag ja gemacht. Kann man das irgendwie einstellen? Alle meine Versuche sind kläglich gescheitert so eine Automation zu schreiben.
Gruß
Tim

Wenn keiner eine Idee hat, wie man den HA User eines Listeneintrags abfragt beim Erstellen…
… könnte man die Aufgabe mit einem eindeutigen Namenskürzel wie [B] am Anfang arbeiten. Eine Automatisation überwacht die Liste und prüft bei Änderung das Kürzel und entsprechend bekommt der andere die Benachrichtigung.

Oh, das klingt interessant. Kannst du deine Idee etwas genauer erklären? Wie vergebe ich den Personen denn ein Kürzel sowas wie A und B? Habe es mit der User ID probiert das hat aber irgendwie nicht funktioniert :see_no_evil_monkey::sweat_smile:

Ich denke, wir kriegen das direkt mit dem User hin. Ich probiere gerade.
Dafür brauchen wir die UserIDs der Personen.

alias: 1_forum_test_einkaufen
description: ""
triggers:
  - trigger: state
    entity_id:
      - todo.einkaufen
conditions: []
actions:
  - variables:
      creator: "{{ trigger.to_state.context.user_id }}"
  - action: notify.gmxolaf3
    metadata: {}
    data:
      message: |-
        Creator {{creator}}
      title: testeinkaufen
mode: single

Ich habe eine Liste angelegt “Einkaufen” angelegt und über 3 verschiedene User mir die UserID ermittelt. Das kannst Du schon einmal machen und Dir diese aufschreiben (nicht hier veröffentlichen).

So eine Art Liste

UserName UserID Email Ziel
Bacardi 18421250f8ee49c251d7a5d3787c505b Person A
Wambo 27421250f8ee49c251d7a5d3787c000u Person B

Ich mach noch etwas weiter aber sowas kannst Du schon einmal machen.

EDIT:
Hier wäre die Lösung mit Usern

alias: 1_forum_test_einkaufen
description: >-
  ## Verschickt den neuen Artikel der Einkaufliste an verschiedene Personen abhängig vom Ersteller des Artikels
triggers:
  - trigger: state
    entity_id:
      - todo.einkaufen
conditions:
  - condition: template
    value_template: |-
      {# Verhindert das beim Löschen/Abhaken eines Artikels fortgeführt wird #}
      {{ trigger.to_state.state | int > trigger.from_state.state | int }}
actions:
  - action: todo.get_items
    target:
      entity_id: todo.einkaufen
    response_variable: einkaufsliste
    data:
      status: needs_action
  - variables:
      creator: "{{ trigger.to_state.context.user_id }}"
      person: |
        {% if creator == '18421250f8ee49c251d7a5d3787c505b' %}
          Olaf1
        {% elif creator == '27421250f8ee49c251d7a5d3787c000u' %}
          Olaf2
        {% elif creator == '1f4b18de169e4d357a04c7ba2e6soea9' %}
          Olaf3
        {% else %}
          Unbekannt
        {% endif %}
      mailkuerzel: |
        {% if creator == '18421250f8ee49c251d7a5d3787c505b' %}
          gmxolaf1
        {% elif creator == '27421250f8ee49c251d7a5d3787c000u' %}
          gmxolaf2
        {% elif creator == '1f4b18de169e4d357a04c7ba2e6soea9' %}
          gmxolaf3
        {% else %}
          gmxolaf3
        {% endif %}
      neuer_artikel: |
        {{ einkaufsliste['todo.einkaufen']['items'][-1].summary | trim }}
  - action: notify.{{mailkuerzel}}
    metadata: {}
    data:
      message: "Neuer Artikel: {{neuer_artikel}}"
      title: Neuer Artikel auf die Einkaufsliste hinzugefügt von {{person}}
mode: single


Weil ich gleich eines trinken werde, kam Bier als letztes auf die Liste :slight_smile:

Diese Mail bekam ich

-----Ursprüngliche Nachricht-----
Von: Homeassi <xxx> 
Gesendet: Dienstag, 10. März 2026 21:24
An: Olaf <xxx>
Betreff: Neuer Artikel auf die Einkaufsliste hinzugefügt von Olaf1

Neuer Artikel: Bier

Du mußt natürlich Deine User und Deinen Mail bzw. Benachrichtigungsansatz einsetzen.

Viel Spaß beim Probieren.
Ich fand es interessant, hatte bisher noch nie User Kontext ausgewertet.

EDIT2
Rechtschreibfehler korrigiert beim morgendlichen Lesen

1 „Gefällt mir“

Vielen Dank :folded_hands:

Das werde ich doch mal ausprobieren aber leider erst morgen heute habe ich keine Zeit mehr dafür :cry:

Eine Frage zu deiner Automation habe ich noch :sweat_smile: . Du hast die Notification Mail eingefügt, wie muss das denn aussehen wenn es über die App funktionieren soll? Wusste auch gar nicht das mir HA eine Mail schicken kann :see_no_evil_monkey: :sweat_smile: , obwohl mir HA auch Signal Nachrichten schreibt :slight_smile:

Wäre die SMTP Integration

Gruß Osorkon

Danke! Das schaue ich mir doch mal an :slight_smile:

Die obige Arbeit im Code mit festen UserId’s ist nicht wartungstauglich und ich wollte mein Wissen über Userabfragen vertiefen.

Damit bekommt man in den Entwicklerwerkzeugen → Template-Editor nötige Informationen zu den Usern auf Deinem System

{% for p in states.person %}
Name: {{ p.attributes.friendly_name }}
User ID: {{ p.attributes.user_id }}
Entity: {{ p.entity_id}}
{% endfor %}

Und nach weiterem Probieren kam ich zu folgender Verbesserung.
Ersetze im obigen Code den Variablen Block durch diesen

  - variables:
      creator: "{{ trigger.to_state.context.user_id }}"
      person: |
        {% set person = states.person |
        selectattr('attributes.user_id','==',creator) | list | first %}
        {{ person.attributes.friendly_name if person else "System" }}
      mailkuerzel: |
        {% if person == 'Olaf Test' %}
          gmxolaf1
        {% elif person == 'Olaf Handy' %}
          gmxolaf2
        {% elif person == 'Firma' %}
          gmxolaf3
        {% else %}
          gmxolaf3
        {% endif %}
      neuer_artikel: |
        {{ einkaufsliste['todo.einkaufen']['items'][-1].summary | trim }}

und natürlich mußt Du das für Dich wieder anpassen.

Vorteil: Man hantiert nicht im Code mit harten UserI’s sondern mehr lesbaren Namen (friendly_name). Nur der Name muß übereinstimmen.

@Osorkon Beim Lesen stieß ich auf Dein Template - Wer hat das Licht eingeschaltet? - Templates Sammlung - SmartHome for Dummies und habs verstanden. Ich habe zwar noch nicht den Einsatzfall aber Klasse.
Zuerst dachte ich was macht er denn da mit Variables im Trigger Block - muß falsch sein! Aber es funktionierte - das kann doch nicht sein :slight_smile: Und ich hörte Dich sagen: Lies die Doku Automation YAML - Home Assistant


Und ich verstand sofort den Vorteil: Kann auch gleich im Condition Block verwendet werden. Nachteilig ist nur, daß man diese Angaben in der GUI nicht sieht.

1 „Gefällt mir“

Okay, erstmal, vielen Dank.
Ich bin gerade etwas verwirrt aber auch begeistert was anscheinend alles mit HA funktioniert. Ich bin erst seit 1,5 Monaten dabei mein HA einzurichten und immer wieder was zu verbessern bzw. zu verändern.
Ich habe anscheinend noch eine Menge zu lernen.
Die erste Automation funktioniert nun bei mir und ich habe die Mail notification ändern können in App Notification damit bin ich eigentlich sehr zufrieden und weiß nicht ob ich die Automation zu dem Punkt änder :see_no_evil_monkey: bisher sieht es für mich eher komplizierter aus als das es irgendwas für mich vereinfacht :sweat_smile:

Es ist eine Reise, die immer mehr Spaß macht, je weiter man kommt und auch selbst umsetzen kann.

Wenn dem so ist, lasse es so.

Eine Erkenntnis von mir ist, daß nach Monaten Code auch noch schnell erfaßbar sein muß und ich finde Namen lesbarer als lange Nummern.
Ein Vorteil der Nummern gibt es aber: Wenn Du den User Namen später mal anpasst, mußt Du bei der Automatisation nichts anpassen.

Viel Spaß und danke für den Beitrag. So wurde ich getriggert, weiterzulernen.

1 „Gefällt mir“