Kopiowanie listy zakupów z Grocy do listy zakupów na HA

Witam wszystkich
Mam zainstalowany komponent Grocy oraz Grocy custom component, gdzie jest encja grocy_shopping_list Jak wyciągnąć z tej listy nazwy produktów i zapisać je na liście zakupów w HA

Aby ułatwić wszystkim powinieneś podać dokładne informacje do tego komponentu, linki, konfigurację itd.

Zgadzam się, to zadanie pytającego, ilość niezbędnych w pytaniu danych ostatnio spada do zera, wniosek - nowi użytkownicy są pozbawieni empatii?


Ale w tym wypadku chyba niewiele to da - za dużo roboty, aby to instalować i zbudować przykładowe dane, więc jeśli nie ma tu codziennego użytkownika Grocy, to raczej będzie kiepsko (sam próbowałem używać kiedyś i trzeba mieć naprawdę dużo wolnego czasu na start i anielską cierpliwość by być konsekwentnym we wdrażaniu tego rozwiązania) samo przywrócenie starej nieużywanej instalacji zajęło mi z godzinę (używałem Grocy do śledzenia stanu akumulatorów i wymiany baterii, nie sprawdziło się, jest obecnie ciekawszy komponent niestandardowy battery-notes )

Z tego co widzę chodzi o

oraz komponent

Dzięki za zainteresowanie, myślałem że już ktoś coś takiego zrobił. Grocy to co prawda kombajn ale może być przydatny.
Z encji wyciągam nazwy produktów szablonem

{% for g_product in state_attr('sensor.grocy_shopping_list', 'products')%}
{{ g_product.product.name }}
{% endfor %}

Tak to wygląda:


Teraz chcę to zapisać w standardowej liście zakupów HA

Automatyzacja - przerzucić do listy jak sensor wyzwalacza zmieni wartość
(edytowany)

alias: "Dodaj z Grocy do listy zakupów HA"
trigger:
  - platform: state
    entity_id: sensor.grocy_shopping_list
condition: []
action:
  - repeat:
      count: "{{ state_attr('sensor.grocy_shopping_list', 'products') | length }}"
      sequence:
        - service: shopping_list.add_item
          data:
            name: >
              {{ state_attr('sensor.grocy_shopping_list', 'products')[repeat.index - 1].product.name }}
mode: single

Dzięki ale jest błąd:

Wykonano: 20 listopada 2024 19:45:30
Błąd: Repeat 'for_each' must be a list of items

To może tak zadziała :smiley:

alias: "Dodaj z Grocy do listy zakupów HA"
trigger:
  - platform: state
    entity_id: sensor.grocy_shopping_list
condition: []
action:
  - repeat:
      for_each: "{{ state_attr('sensor.grocy_shopping_list', 'products') | default([]) }}"
      sequence:
        - service: shopping_list.add_item
          data:
            name: "{{ repeat.item.product.name }}"
mode: single

Wielkie dzięki, to zadziałało!

Tak też działa, dzięki