Repozytorium Garbage Collection - Ikony, przełączniki, obrazki

Witam. Jest ktoś w stanie pomóc w tym temacie . Co robię źle ? :). Chodzi o nieszczesne nazwy.Chcę aby to liczylo ile pozostało do wywozu. Po kliknieciu na smietnik pokazuje poprawnie . !. Po edycji dat wywozu smietnik zmienia kolor ładnie jak powinno byc ale te nazwy…Proszę o wyrozumiałość. Bawię się HA od moze miesiąca :slight_smile:

Tak patrzę ze strasznie to skomplikowaliście. Zdaje się że wykombinowałem prościej. Też mam nieregularnie te wywozy tzn zmieniają się tygodnie w miesiącach i są przesunięcia na dni świąteczne itp.
Zrobiłem to w ten sposób że dodałem przez interface że wywóz np plastiku jest każdego pierwszego tygodnia miesiąca w poniedziałek, dzięki temu miałem już encję, później jest coś takiego jak
"dołącz daty i tam wpisałem po przecinku na cały rok (2021-01-25,2021-02-22,2021-03-22…) a w “wyłącz daty” wpisałem te wszystkie pierwsze poniedziałki miesiąca (2021-01-04,2021-02-01,2021-03-01,2021-04-05…). zajmuje chwile i be kombi

1 polubienie

Widzę że skomplikowałeś swoje nie skomplikowanie :slight_smile:
ja dodałem jako roczne i ustawiłem 1 styczeń i potem już tylko które ma zawierać, a nie spisywać wszystkie poniedziałki :slight_smile:

dobre :smile: jesteś mistrzem w nie skomplikowywaniu

W dokumentacji jest by dla ręcznie wpisywanych dat wybrać wariant roczny i wpisać daty.
(bo inne warianty działają “w nieskończoność”)
Jeśli korzysta się z konfiguracji YAML, to nie ma potrzeby używania GUI (i nawzajem).
Sam w 2 lokalizacjach korzystam obecnie z konfiguracji GUI i mam parę spostrzeżeń (w kwestii pewnej nieregularności - ogarnąłem to dopisaniem paru ignorowanych dat) ale może o tym później, bo czas mnie goni, a warto by poprzeć to przykładem (nawet z pozoru nieregularne daty zazwyczaj generowane są w/g jakiejś reguły - trzeba ją tylko zgadnąć).

Obiecany przykład (sorki za wygląd, ale to sklejone kawałki z 2 stron pliku dostępnego w ZUK)

No i parę słów komentarza - najpierw te oczywiste:

  • Zmieszane to czwartek co 2 tygodnie, start w 1 tygodniu
  • podobnie Tworzywa i Papier, tylko że piątek (co 2 tyg. i od 1.) - niby mógłbym utworzyć jeden wpis dla obu rodzajów, ale zakładając, że to może się zmienić w przyszłości zdecydowałem na 2 oddzielne.

A teraz te nieco bardziej skomplikowane:

  • BIO wygląda na “zupełny młyn”, a tymczasem rozwiązaniem było wybranie reguły “poniedziałek co 2 tygodnie zaczynając od 2.” oraz dodanie do wyjątków 6 dat, kiedy wywozu nie będzie
  • Szkło - niby raz na miesiąc w czwartek, ale brak reguły który czwartek, więc wybrałem “każdy czwarty czwartek”, bo było 6 prawidłowych trafień (żaden inny wybór nie dawał tylu trafień), w związku z tym trzeba dodać ręcznie daty, w które reguła nie trafia - to 6 dodatkowych dat wywozu i 6 wyjątków by nie było zbędnych wpisów w dni bez realnego wywozu, w tym wypadku wpisywania dat byłoby tyle samo gdybym po prostu użył definicji rocznej i byłoby do wpisania po prostu 12 dat, ale łatwiej komuś wytłumaczyć jak to obsłużyć, gdy każdy wpis działa jednakowo.

@kamil.bereda
Integracja po wybraniu kraju automatycznie “mija święta” (oczywiście w/g tego jak skonfigurujemy to mijanie) - świetne przykłady to kwiecień, maj i listopad


Jedynie grudzień przerasta możliwości integracji (i tam mam wiele ze wspomnianych wyżej wyjątków, ale to nie tylko ze względu na święta).

I na koniec - czemu wybrałem konfigurację w GUI zamiast YAML?
Wytłumaczenie tzw. osobie postronnej jak ogarnąć konfigurację yaml to kosmos, a kreator w GUI - po zaprezentowaniu jak to obsłużyć to jakieś 10-15 minut, (a z racji pracy zdarzały mi się takie sytuacje, że nie mógłbym sam się czyś takim zająć przez długi czas, a były to akcje włącznie z sytuacjami braku dostępu do internetu lub ze szczątkowym dostępem przez kilka miesięcy, więc dostęp zdalny wiele nie pomaga w takich wypadkach :stuck_out_tongue:).

@Rafał_Kasperski
Myk z wyświetlaniem różnych obrazków polega na sprawdzaniu stanu encji, w “zwykłym trybie” i ma on wartości

0, 1, lub 2

normal_mode_Screenshot_2021-01-27 Narzędzia deweloperskie - Home Assistant
a w “trybie gadatliwym” (verbose mode)
jako stan jest automatycznie generowany jakiś tekst (o którym marzysz) np.

9-02-2021, za 13 dni

verbose_mode_Screenshot_2021-01-27 Narzędzia deweloperskie - Home Assistant
ale się on wyklucza z tym by miał wartość 0, 1 lub 2 (to jest opisane w dokumentacji)

Jeśli chcesz powalczyć z tematem, to encje mają sporo atrybutów (w tym dwa pierwsze, które mógłbyś użyć w charakterze opisu - jeśli sobie obrobisz dane w/g swoich potrzeb) poniżej przykładowy komplet atrybutów takiej encji z mojej konfiguracji (to akurat inna instalacja niż opisywałem powyżej i trochę się pozmieniała zawartość, bo grzebałem w konfiguracji by przygotować screenshoty)

next_date: '2021-02-09T00:00:00+01:00'
days: 13
last_collection: null
last_updated: '2021-01-27T00:53:15.197191+01:00'
holidays: |2-

    2021-04-04: Niedziela Wielkanocna
    2021-04-05: Poniedziałek Wielkanocny
    2021-05-01: Święto Państwowe
    2021-05-03: Święto Narodowe Trzeciego Maja
    2021-05-23: Zielone Świątki
    2021-06-03: Dzień Bożego Ciała
    2021-08-15: Wniebowzięcie Najświętszej Marii Panny
    2021-11-01: Uroczystość Wszystkich świętych
    2021-11-11: Narodowe Święto Niepodległości
    2021-12-25: Boże Narodzenie (pierwszy dzień)
    2021-12-26: Boże Narodzenie (drugi dzień)
    2022-01-01: Nowy Rok
    2022-01-06: Święto Trzech Króli
friendly_name: Szkło
icon: 'mdi:trash-can'
device_class: garbage_collection__schedule

a tu taka, w której nie grzebałem (jak widać można też do czegoś wykorzystać atrybut z informacją o ostatnim odbiorze) :

next_date: '2021-01-29T00:00:00+01:00'
days: 2
last_collection: '2021-01-26T02:29:51.058753+01:00'
last_updated: '2021-01-27T00:53:52.818674+01:00'
holidays: |2-

    2021-04-04: Niedziela Wielkanocna
    2021-04-05: Poniedziałek Wielkanocny
    2021-05-01: Święto Państwowe
    2021-05-03: Święto Narodowe Trzeciego Maja
    2021-05-23: Zielone Świątki
    2021-06-03: Dzień Bożego Ciała
    2021-08-15: Wniebowzięcie Najświętszej Marii Panny
    2021-11-01: Uroczystość Wszystkich świętych
    2021-11-11: Narodowe Święto Niepodległości
    2021-12-25: Boże Narodzenie (pierwszy dzień)
    2021-12-26: Boże Narodzenie (drugi dzień)
    2022-01-01: Nowy Rok
    2022-01-06: Święto Trzech Króli
friendly_name: Zmieszane
icon: 'mdi:trash-can'
device_class: garbage_collection__schedule
2 polubienia

Sprawa rozwiązana , poprostu źle dodawałem karte :D. Najpierw stos poziomy/własna karta, i śmiga .jakoś robiłem tak dziwnie że nie wychodziło , teraz działa i dziękuje za wszystkie wypowiedzi . Pozdrawiam

Tego nie mam u siebie atrybutach encji, z czego może to wynikać?

Pewnie nie skonfigurowałeś świąt.
W yaml to jest:
move_country_holidays
a w GUI “przesuń państwowe święta…”
dla Polski ten parametr ustawiamy oczywiście na PL

@szopen faktycznie, poprawione, działa, dzięki :slight_smile:

jest jakiś sposób aby wylistować te encje od najmniejszej liczby dni do wywozu ?
jakoś nie mam pomysłu na to

g5

@kamil.bereda
Ja używam tego (jest w HACS)

kod dla edytora kart (wiem, można to pewnie ładniej zrobić :stuck_out_tongue: ) u mnie jest minimalnie inaczej - dodatkowo vertical_stack

type: 'custom:auto-entities'
card:
  type: entities
  title: Kiedy wywóz?
  show_header_toggle: false
show_empty: true
filter:
  include:
    - entity_id: sensor.zmieszan*
    - entity_id: sensor.tworzyw*
    - entity_id: sensor.szklo*
    - entity_id: sensor.bio*
    - entity_id: sensor.papier*
unique: entity
sort:
  method: attribute
  attribute: days
  numeric: true
  reverse: false
  first: 0
  count: 5

a wygląda to tak:
Smieci_Si_Screenshot_2021-02-02 Drugi - Home Assistant

PS taka mała podpowiedź: tworząc encje w GUI integracji sugeruję nazywać kolejne wystąpienia np. garbage.BIO garbage.Tworzywa itd, wtedy powstaną encje: sensor.garbage_bio sensor.garbage_tworzywa , które można filtrować tak: - entity_id: sensor.garbage* a dopiero w późniejszej fazie zmienić im nazwy na docelowe (a wtedy nazwy encji pozostaną łatwe do filtrowania), przypuszczalnie można to zrobić w jakiś mądrzejszy sposób (no ale uparłem się na GUI :stuck_out_tongue:).
Kod z edytora kart dla takich lepiej nazwanych encji:

type: 'custom:auto-entities'
card:
  type: entities
show_empty: true
filter:
  include:
    - entity_id: sensor.garbage*
unique: entity
sort:
  method: attribute
  attribute: days
  numeric: true
  reverse: false
  first: 0
  count: 5

Witam, w jaki sposób dodać tę kartę do dashbordu? Zainstalowałem już Niestandardowa karta Lovelace do Garbage Collection, ale nadal nie mam jej w kartach.
Pozdrawiam.

Mówisz o tym?

ta karta wymaga w pełni ręcznej konfiguracji - w edytorze kart musisz zjechać na sam koniec do “Edytor konfiguracji YAML” i kod karty wprowadzić ręcznie w/g swoich potrzeb.

Przykładowy kod dla edytora kart, oczywiście musisz użyć własne nazwy encji i skonfigurować jak uważasz za stosowne

type: vertical-stack
cards:
  - type: 'custom:garbage-collection-card'
    entity: sensor.garbage_tworzywa
    icon_size: 35px
    icon_color: yellow
    hide_date: true
  - type: 'custom:garbage-collection-card'
    entity: sensor.garbage_papier
    icon_size: 35px
    icon_color: blue
    hide_date: true
  - type: 'custom:garbage-collection-card'
    entity: sensor.garbage_bio
    icon_size: 35px
    icon_color: brown
    hide_date: true
  - type: 'custom:garbage-collection-card'
    entity: sensor.garbage_zmieszane
    icon_size: 35px
    icon_color: darkgray
    hide_date: true
  - type: 'custom:garbage-collection-card'
    entity: sensor.garbage_szklo
    icon_size: 35px
    icon_color: green
    hide_date: true

powyższy kod generuje taki wygląd
garbage_collection_card_Screenshot_2021-04-12 Poziomo - Home Assistant

Jak dodać te terminy wywozów poprzez interface, tego nie mogę odlaleźć. :slight_smile:

Nie rozumiem - idę spać :stuck_out_tongue:
algorytm obsługi tej integracji z GUI integracji:

karta to karta (wyświetla jakieś-tam dane w lovelace), a integracja to integracja i ona generuje te dane

Inaczej, gdzie to jest w HA ?
https://forum.arturhome.pl/uploads/default/original/2X/c/c36426e129b032aa375a438518fa4386a08e9d50.jpeg

Konfiguracja->Integracje->Dodaj integrację (ten + na dole)->Garbage Collection

a jak chcesz edytować integrację to klikasz w to co już stworzyłeś w poprzednim kroku w GUI integracji (zrozumiesz jak utworzysz).

Dzięki zbawco, nie wiedziałem że trzeba jeszcze dodać integrację :slight_smile: Dziękuję.

Prawie dobrze, jednak mam komunikat " nie załadowano"
Log:

Logger: homeassistant.setup
Source: setup.py:163
First occurred: 2:58:11 (1 occurrences)
Last logged: 2:58:11

Setup failed for garbage_collection: Integration failed to initialize.

A zrestartowałeś HA?