Pomysł na nowa funkcje

Timestamp to czas od 1 stycznia 1970 roku.
Timestamp z kalendarza (koniec wydarzenia całodniowego) jest przeliczany na dni (86400 tyle mamy minut w dniu), od tego odejmujemy dni dzisiejszej daty, jeśli wydarzenie skończy się za mniej niż dzień (1.0) to znaczy że wydarzenie jest dzisiaj :slight_smile:
Reszta analogicznie.

Ostatni przypadek działa np. u mnie pod koniec roku, ostatnie gabaryty zabierają chyba w październiku i potem nie mam już żadnego wpisu w kalendarzu. Ani jeden if się nie spełni, więc wpadamy w else.
Przypadek ten powoduje też błąd w logach - nie ma wpisu w kalendarzu wiec nie ma czego obliczać - leci błąd, nie chciało mi się tego naprawiać, ale informuję że tak jest. Można to obejść np. dodając wpisy na następny rok 1 stycznia i potem je skasować jak już dostaniemy nowy harmonogram.

2 polubienia

Dzięki @Stravi edukacja z szablonów rozpoczęta:

1 polubienie

Encje sensorów utworzyłem. Teraz próbuję dodać custom:button-card do UI, ikony zamienione na mdi. Czy powinienem dodać coś do zasobów Lovelace? Co należy dodać w konfiguracji HA aby korzystać z Custom cards?
Czy chodzi o ten URL?


U siebie mam przez HACS zainstalowany, ale oczywiście odradzam ten sposób.


Zrób może wg instrukcji na githubie custom button card.

Pierwsze efekty;

obraz

Plik dla tej katykopia_smieci_karta.yaml (1,1 KB)

Plik do przycisku Śmieci przycisk_smieci.yaml (287 bajtów)

Wielkie dzięki @Stravi oraz @bartik22 za ten super pomocny film.

Jaknie było by na przycisku śmieci móc wyświetlić stan dni dla najbliższego terminu wywozu.
Ewentualnie dla tap_action utworzyć taką funkcjonalność wyświetlenia najbliższej daty wywozu śmieci.
Jak tego dokonać? :thinking: :roll_eyes:

Odnośnie Instalowania ręcznego custom-cards

obraz

ad.1;2 Plik karty button-card.js pobrany i zapisany w katalogu:
//data/data/pl.sviete.dom/files/home/AIS/www

ad.3 Stworzyłem plik ui-lovelace-card.yaml ale nie bardzo wiem gdzie go umieścić?
Jeśli dobrze rozumiem, to w nim wpisuję swoją konfigurację karty?

obraz

Czy powinienem dodać zasoby z poziomu GUI Asystenta?

Dodaj z poziomu gui.
Co do daty dowolnego wywozu śmieci myślę że najszybciej będzie stworzyć nowy template sensor.

Też tak przypuszczałem ale nie wiem co wpisać w danych szablonu?

Dzięki - działa :+1:

Używam HA (nie AIS) i od dawna korzystam z dodatku GitHub - bruxy70/Garbage-Collection: 🗑 Custom Home Assistant sensor for scheduling garbage collection (or other regularly re-occurring events - weekly on given days, semi-weekly or monthly) dostępnego w HACS. Wszystko co było tu opisane powyżej jest dostępne w tym dodatku.

Super.
Z dodatkiem sensorem lub innym rozwiązaniem jutro pomyślę.

@macek o ile dobrze widzę nie ma możliwości zdefiniowania różnych dat, tylko cykliczne.
Np gabaryty u mnie wypadają raz na kwartał, ale nie jestem pewien czy jest powtarzalność w ilościach dni między nimi. Dodatkowo wypadają święta i wtedy nie mam regularnych wywozów tylko są przesunięcia, które w moim rozwiązaniu nie występuje bo wklepujesz recznie dane.
Na działce mam terminy np dla tworzyw sztucznych raz czwartek, a raz piątek.

1 polubienie

Można zrobić wszystko z datami, korzystam wiec potwierdzam, poczytaj Repozytorium Garbage Collection - Ikony, przełączniki, obrazki - Konfiguracja HA - ArturHome .

@Cezary.K hej
skoro się bawisz w ten sposób to możesz jeszcze definiować ze względu na stan encji, stan innej encji a niżeli ten wyświetlany i np konkretnego atrybutu
chyba card-mod jest potrzebny dla niektórych, już nie pamiętam
przykłady:

nie widac calego kodu:

color:
{% if state_attr(‘climate.kaloryfer_sypialnia’,‘force’) == ‘close’ %}
DodgerBlue
{% elif state_attr(‘climate.kaloryfer_sypialnia’,‘force’) == ‘open’ %}
#DF6040
{% endif %}

albo wartość logiczną, tutaj konkretny atrybut:

:host {
–paper-item-icon-color:
{% if state_attr(‘climate.kaloryfer_biuro_climate’,‘position’)|float <= 1 %}
DodgerBlue
{% elif state_attr(‘climate.kaloryfer_biuro_climate’,‘position’)|float >= 99 %}
red
{% endif %}

1 polubienie

Taki draft:

1 polubienie

Matematyka jest piękna.
Czy możesz @Stravi podesłać sformatowany zapis dla samego szablonu?

  [[[
    var x = states['sensor.papier'].attributes.days;
    if (states['sensor.plastik'].attributes.days < x)
      x = states['sensor.plastik'].attributes.days;
    if (states['sensor.bio'].attributes.days < x)
      x = states['sensor.bio'].attributes.days;
    if (states['sensor.resztkowe'].attributes.days < x)
      x = states['sensor.resztkowe'].attributes.days;
    if (states['sensor.gabaryty'].attributes.days < x)
      x = states['sensor.gabaryty'].attributes.days;
    if (states['sensor.szklo'].attributes.days < x)
      x = states['sensor.szklo'].attributes.days;
    return "Śmieci zabierają za " + x + " dni";
  ]]]
1 polubienie

Dzięki, chodzi bardziej o edukację i ćwiczenia z szablonami. Jak mam kod to trudniej o błędy składni i mogę poćwiczyć na swoich encjach w narzędziach deweloperskich.

Trochę tam było za dużo obliczeń. Poprawiłem od podstaw, czyli od definicji sensorów.


Załączam potrzebne template do takiej poprawki.
smieci.yaml (2,5 KB)

1 polubienie

Chyba nie do końca działa. Jutro mam zmieszane (resztkowe) i nie otrzymuję wyniku dla szablonu:

edit:
Teraz doczytałem, że sensory do zmiany…

1 polubienie

W pliku który załączyłem chyba jest wszystko potrzebne do poprawki, zrezygnowałem z atrybutów.

Działa :+1:

Lecz małżonce przypadły do gustu atrybuty jutro , dziś. Pozostaję przy V1…