Home Assistant, InfluxDB i Grafana. Ponownie na tapecie. Cześć druga.
Tekst jest kontynuacją artykułu: http://cezarowy.blogspot.com/2020/10/home-assistant-influxdb-i-grafana.html.
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
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!
Super wpis
OdpowiedzUsuń