piątek, 21 sierpnia 2020

Home Assistant i Template - potężne narzędzie

Dobry wieczór. 

Funkcjonalnością, którą coraz bardziej w Home Assistant lubię jest template. Dokładniej platforma template (platform: template), bo tak jest nazywana w systemie.

To co w Domoticz osiągałem czasem za pomocą dzVents (czyli skryptów) tutaj mogę zrobić template. Czyli na przykład zmiana danych wyjściowych z czujnika (zamiast wartości zwracanej z angielskiego na polski), zmiana jednostek danych (Watt na KWatt), zmiana ikon przy zmianie statusu encji, itp. itd. 

Do tego również inne, jak 'wyciąganie' atrybutów z niektórych czujników (bo jak inaczej przetłumaczyć sensor?).  Na zrzucie poniżej widać integrację z AccuWeather stworzoną przez naszego kolegę z Polski - https://github.com/bieniu (polecam również sprawdzenie jego konfiguracji Home Assistant - https://github.com/bieniu/home-assistant-config, BTW swoją też lada chwilę będę tak udostępniał).

Dla wyjaśnienia, te elementy znajdziecie w Developer Tools -> States, po wpisaniu filtra w Current entities. 


Co ciekawe - udostępnia ona procentowe prawdopodobieństwo wystąpienia opadów. Jak jednak to cholerstwo stamtąd wyciągnąć? Dane z pierwszego 'akapitu' (temperature, humidity) są proste - state_attr i z głowy. Ale dalej? Chwilę nad tym siedziałem, musiałem finalnie poprosić autora o pomoc w rozwiązaniu zagadki. Dzielę się nią dalej z Wami. Kolejne elementy są tablicą danych na kolejne dni (zaznajomieni z programowaniem będą od razu wiedzieli o co chodzi). Sposób ich pozyskania do innego czujnika Home Assistant nie jest taki oczywisty, ale jak się zastanowić to logiczny.


- platform: template
  sensors:
    rain_precipitation:
    value_template: '{{ state_attr("weather.home_2", "forecast")[1]["precipitation_probability"] }}'
    friendly_name: 'Rain precipitation for the next day'

Czyli: dla encji weather.home_2, sekcji forecast, mamy podane kolejne dni prognozy. Aby dostać się do dnia dzisiejszego musimy podać element tablicy o koordynacie [0], drugi dzień to [1] i tak dalej, pięć dni. 

Później wystarczy dodać do ui-lovelace.yaml.


Kolejna misja zakończona :)

Brak komentarzy:

Prześlij komentarz