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
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