Home Assistant, InfluxDB i Grafana. Ponownie na tapecie. Cześć druga.

Tekst jest kontynuacją artykułu: http://blog.asobczak.pl/2020/10/12/home-assistant-influxdb-i-grafana-ponownie-na-tapecie-czesc-pierwsza/.

Dobra, dane już mamy. Pora je jakoś gdzieś pokazać. Do tego posłuży nam właśnie Grafana. Instalacja podobnie bezproblemowa jak w przypadku innych dodatków.

Pora dodać źródło danych, w naszym przypadku będzie to wcześniej skonfigurowana baza InfluxDB.

W konfiguracji BARDZO ważna sprawa – wszystkie te dodatki są osobnymi kontenerami Dockera, dlatego musimy się posłużyć specjalnym adresem URL aby skierować Grafana na nasz InfluxDB.
Ten adres to: http://a0d7b954-influxdb:8086

Później już standard, który skonfigurowaliśmy: 
– Database: home_assistant
– User: homeassistant
– Password: jak podawaliśmy przy konfiguracji bazy InfluxDB

WAŻNE po raz kolejny. Najpierw ustawiłem HTTP Method na GET, co jest raczej logiczne – w końcu pobieramy dane. Jednak po jednej z aktualizacji nie udało mi się pobrać danych. Zmieniłem za zaleceniem znalezionych sugestii w internecie na POST i zadziałało. Magia…

Skoro źródło mamy, to możemy dodać pierwszy Dashboard. Czyli pulpit na którym umieścimy nasze wykresy, dane, itp. 

Zwróćcie uwagę na opcję Convert to row – przyda nam się później.

Od razu pojawia nam się panel z możliwością wpisania kwerendy (Query – w języku SQL zapytanie do bazy danych, które ma zwrócić pożądane przez nas wyniki). W naszym przykładzie dodaliśmy dwa czujniki temperatury, nie jest więc niczym wielce niezwykłym, że na razie w miarach (czyli typie danych które chcemy pozyskać) jest wyłącznie stopień Celsjusza. Jeżeli dodacie kolejne, pojawi się ich więcej (wilgotność, %, Mbit/s, Watt, cm, kwh) – wszystko zależy od tego co mierzycie.

Świetnie, coś się pojawia. W prawym górnym rogu macie zasięg czasowy jaki nas interesuje (godzina, 24 godziny, dzień, miesiąc, miesiąc do teraz, poprzedni miesiąc, itp.), w prawym dolnym dość ważny parametr. Dane z czujników czasem są podawane w sposób ciągły (na przykład co kilka sekund), ale niektóre robią to przy zmianie ich wartości. Tak jest na przykład z czujnikami temperatury Xiaomi – jeżeli nie ma zmiany w odczycie, to aktualizują się bodajże co 15 minut. To by powodowało na wykresie 'dziury' – dlatego zaznaczcie 'connected'. Stworzy nam to sensowny wykres. 
Rozwińcie później strzałkę przy Legend i sprawdźcie sekcję Values – tam możecie wstawić na wykres pewne informacje dotyczące minimalnej, maksymalnej, średniej i aktualnej temperatury. Ja sobie lubię ją zrobić w formie tabeli, jak poniżej.
Takie panele można duplikować (najedźcie na panel, rozwińcie strzałką w dół -> More… -> Duplicate), dzięki temu możemy później w nie szybko wejść, zmodyfikować kwerendę o nazwę czujnika i wyklikać jak poniżej kilka z nich. Teraz czujecie moc? Nie zapomnijcie zapisywać Dashboardu.

No dobra, wykresy mamy. Do wielu zastosowań jednak przydają się zegary. W poprzednich wersjach Grafana robiło się to trochę inaczej, teraz po dodaniu panelu wybieramy Visualization i zmieniamy jak chcemy, na przykład na Gauge.

Podstawowo wygląda to jak poniżej. Jest pewna wartość, którą system interpretuje w formie 'prędkościomierza'. 

Aby ją trochę ubarwić i zrobić mniej monotonną, więcej znaczącą musicie przejść na zakładkę Fields i zdefiniować Thresholds, czyli zakresy w których mają się zmieniać kolory na podstawie danych.

Od -20 (w sumie to od -max) do 5 stopni – niebieski kolor, bo zimno, później zielony aż do 25, 25 w górę – czerwony. 
Jest tu mnóstwo opcji, możliwości – pokazałem Wam zaledwie mały zarys, można spędzić nad tym wiele godzin. Co jest fantastyczne – można te wykresy osadzić bezpośrednio w HA, ale o tym później. Wcześniej kilka dodatkowych sugestii.
Aby po wejściu w zakładkę Grafana od razu pojawił się Wasz piękny, stworzony w pocie czoła pulpit wejdźcie w Configuration -> Preferences i tam wybierzcie go z listy.

Kolejna sugestia – aby rozdzielić logicznie wykresy, zegary, dane o temperaturze, systemie, itp. – przy dodawaniu panelu wybierzcie Convert to row, o którym pisałem wcześniej. Dodacie sekcję, którą później możecie zwijać, rozwijać – jak Wam wygodnie. Bardzo ułatwia nawigację, gdy będziecie mieli kilkadziesiąt paneli.
Na wykres można oczywiście wrzucić więcej niż jedną serię danych (Download/Upload, Temperatura/Wilgotność), odpowiednią ją sformatować, itp. itd. Ale to już innym razem.

Powodzenia!

1 komentarz do wpisu “Home Assistant, InfluxDB i Grafana. Ponownie na tapecie. Cześć druga.”

  1. Mam czujniki xiaomi. Nowa wartość zapisywana jest dopiero gdy jest inna niż poprzednia. Mimo zaznaczonego Null value : connected mam pourywane wykresy dla akyualnego czasu, sprawia to wrażenie, jakby czujnik przestał rejestrować wartości. Da się jakoś ustawić grafanę albo zmienić query, tak, aby pokazywało aktualną wartość? Czyli de facto idealnie poziome linie, bo aktualna wartość = ostatnia zarejestrowana. Przesyłam link jak to wygląda: https://photos.app.goo.gl/Q5KD9hvdNtZRygie9

    Odpowiedz

Dodaj komentarz