Home Assistant, Grafana i InfluxDB — wizualizacja danych

Grafana to narzędzie, które pozwala wizualizację danych. Zobacz jak to zrobić w Home Assistant z użyciem bazy InfluxDB.

Pracuję w firmie ZAMEL. Urządzenia opisywane na tym blogu zostały mi udostępnione przez firmę. Wszystkie opinie i oceny są wyłącznie moje - firma nie miała wpływu na treść publikowanych artykułów.

Grafana to bardzo dobre narzędzie do przygotowywania czytelnych wykresów wszystkich danych pomiarowych dostępnych w Home Assistant. W tym wpisie przedstawię jak krok po kroku skonfigurować Grafanę w HA i prezentować dane zaciągane do bazy InfluxDB.

Instalacja InfluxDB oraz Grafana

Na samym początku zaczniemy od instalacji bazy danych InfluxDB, która będzie rejestrować wartości sensorów z Home Assistant. Następnie, zainstalujemy Grafanę.

1. Przechodzimy do zakładki Supervisor w wcześniej skonfigurowanym Home Assistant.

2. W zakładce Sklep z dodatkami wyszukujemy: InfluxDB oraz Grafana.

Instalujemy InfluxDB i Grafana w Home Assistant

Instalujemy InfluxDB i Grafana w Home Assistant

3. Każdy z tych dodatków musimy zainstalować a nastepnie go uruchomić. Po instalacji dodałem każdy z nich do bocznego paska oraz ustawiłem uruchamianie po starcie Home Assistant. Przyda się to na pewno w momencie restartu naszej maszyny gdzie mamy zainstalowany Home Assistant.

Instalacja InfluxDB w Home Assistant

Instalacja InfluxDB w Home Assistant

4. Po instalacji InfluxDB. Możemy uruchomić ten dodatek. Naciskamy przycisk Uruchom.

Uruchamiamy InfluxDB w Home Assistant

Uruchamiamy InfluxDB w Home Assistant

5. Teraz czas na Grafana. Przechodzimy do instalacji.

Instalacja Grafana w Home Assistant

Instalacja Grafana w Home Assistant

6. Po chwili dodatek się zainstaluje. Uruchamiamy go oraz dodajemy do paska bocznego i zaznaczamy uruchamianie przy starcie.

Uruchamiamy Grafana w Home Assistant

Uruchamiamy Grafana w Home Assistant

7. Po uruchomieniu dodatków chwilę musimy odczekać. Załadowanie może potrwać do kilku minut. Wszystko zależy, od parametrów naszej maszyny, na której jest zainstalowany Home Assistant.

Konfiguracja InfluxDB

Na samym początku zajmiemy się konfiguracją InfluxDB. W tym etapie stworzymy naszą bazę danych oraz użytkownika. Baza danych, będzie przechowywać dane pomiarowe rejestrowane w Home Assistant np. temperatura, wilgotność itp.. U mnie przedstawię rejestrację danych z urządzenia MEW-01 (monitor energii elektrycznej).

  1. Z paska bocznego wybieramy InfluxDB i czekamy na załadowanie się tego dodatku.
Pierwsze uruchomienie InfluxDB w Home Assistant

Pierwsze uruchomienie InfluxDB w Home Assistant

2. Przechodzimy do zakładki InfluxDB Admin. Zobaczymy okno z wszystkimi dostępnymi bazami danych.

InfluxDB Admin

InfluxDB Admin

3. Tworzymy bazę danych, która będzie przechowywać parametry naszych sensorów dostępnych w Home Assistant. Wybieramy opcję Create Database.

InfluxDB Admin - tworzymy bazę danych

InfluxDB Admin - tworzymy bazę danych

4. Ustawiamy nazwę naszej bazy. Przykładowo homeassistant.

InfluxDB Admin - tworzymy bazę danych i zatwierdzamy wybór

InfluxDB Admin - tworzymy bazę danych i zatwierdzamy wybór

5. Po stworzeniu bazy. Pojawi się na liście jak poniżej.

InfluxDB Admin - nowa baza danych homeassistant

InfluxDB Admin - nowa baza danych homeassistant

UWAGA!
Czasami Home Assistant nie chce wysyłać danych do bazy InfluxDB. Odczytując logi, zauważyłem, że mój Home Assistant odwołuje się do bazy o nazwie home_assistant. Dlaczego? Nie odnalazłem na to pytanie odpowiedzi. Musiałem stworzyć nową bazę o nazwie home_assistant i wszystko zaczęło działać poprawnie.

InfluxDB Admin - nowa baza danych home_assistant

InfluxDB Admin - nowa baza danych home_assistant

6. Teraz czas na założenie użytkownika naszej bazy. Wybieramy zakładkę User, a następnie przycisk Create User.

InfluxDB Admin - tworzymy użytkownika

InfluxDB Admin - tworzymy użytkownika

7. Ustalamy hasło.. Należy je zapisać. Będzie nam potrzebne w konfiguracji Home Assistant.

InfluxDB Admin - tworzymy użytkownika i zatwierdzamy wybór

InfluxDB Admin - tworzymy użytkownika i zatwierdzamy wybór

8. Nowemu użytkownikowi nadajemy wszystkie uprawnienia. Wybieramy ALL, a następnie Apply.

InfluxDB Admin - przydzielamy użytkownikowi uprawnienia

InfluxDB Admin - przydzielamy użytkownikowi uprawnienia

9. Nowy użytkownik pojawi się na liście jak poniżej.

InfluxDB Admin - użytkownicy

InfluxDB Admin - użytkownicy

10. Czas na konfigurację Home Assistant. Wchodzimy do pliku configuration.yaml (najprościej użyć dodatku File editor. Napisałem o tym dodatku w moim poprzednim wpisie: Konfiguracja Supla dla Home Assistant przez MQTT) i dopisujemy kod influxdb.

Home Assistant - konfiguracja pliku configuration.yaml do współpracy z InfluxDB

Home Assistant - konfiguracja pliku configuration.yaml do współpracy z InfluxDB

W linijce kodu jak poniżej używamy naszego hasła, które użyliśmy przy zakładaniu nowego użytkownika bazy danych InfluxDB. Poniżej kod, który możemy skopiować. Wystarczy podmienić dane.

influxdb:
username: homeassistant
password: MojeHaslo
max_retries: 3
default_measurement: state

Uwaga!
Może się zdarzyć, że Home Assistant nie połączy się z InfluxDB. Powodem może być brakujący host. O to, zmodyfikowany kod:

influxdb:
host: NaszaNazwaHosta (np. a0u75994-influxdb)
port: 8086
username: homeassistant
password: MojeHaslo
max_retries: 3
default_measurement: state

Nazwę naszego hosta poznamy w szczegółach dodatku InfluxDB w zakładce Supervisor.

InfluxDB Admin - nazwa hosta

InfluxDB Admin - nazwa hosta

11. Po zapisaniu pliku configuration.yaml restartujemy Home Assistant. Po ponownym uruchomieniu powinniśmy w InfuxDB zobaczyć wszystkie nasze dane pomiarowe z sensorów dostępnych w HA. Przykładowe dane z urządzenia MEW-01 poniżej.

Home Assistant wysyła dane do InfluxDB

Home Assistant wysyła dane do InfluxDB

Konfiguracja Grafana

  1. Czas zająć się najprzyjemniejszą częścią. Przechodzimy do naszej Grafany. Dodamy naszą pierwszą bazę danych. W tym celu wybieramy przycisk Add your first data source.
Grafana - dodajemy bazę danych

Grafana - dodajemy bazę danych

2. Wyświetli się nam lista dostępnych baz. Wybieramy InfluxDB.

Grafana - wybieramy bazę InfluxDB

Grafana - wybieramy bazę InfluxDB

3. W tym kroku podajemy adres naszej bazy danych. Może to być http://localhost:8086 lub adres IP, na którym stoi nasz Home Assistant. W moim wypadku był to adres 192.168.1.249:8086.

Grafana - konfiguracja InfluxDB - adres IP

Grafana - konfiguracja InfluxDB - adres IP

4. Teraz czas na podanie danych związanych z bazą: nazwa, użytkownik i hasło. HTTP Method ustawiamy na GET.

Grafana - konfiguracja InfluxDB - nazwa bazy, nazwa użytkownika i hasło

Grafana - konfiguracja InfluxDB - nazwa bazy, nazwa użytkownika i hasło

5. Po wypełnieniu danych naciskamy przycisk Save & Test. Jeśli dane są poprawne to zobaczymy komunikat:

Grafana - baza danych poprawnie skonfigurowana

Grafana - baza danych poprawnie skonfigurowana

6. Teraz czas na stworzenie pierwszego wykresu. Wybieramy plusik i tworzymy naszą nową tablicę.

Grafana - dodajemy pierwszy panel

Grafana - dodajemy pierwszy panel

7. Naciskamy przycisk Add an empty panel i przechodzimy do okna konfiguracji pierwszego wykresu.

Grafana - dodajemy panel

Grafana - dodajemy panel

8. W zapytaniu ustawiamy skąd mają być pobierane dane i jaką z zmiennych chcielibyśmy wyświetlić.

Grafana - prezentacja przykładowych danych na wykresie

Grafana - prezentacja przykładowych danych na wykresie

9. Wybrałem zmienną: napięcie z fazy L1 urządzenia MEW-01 i ustaliłem jej nazwę. Dodatkowo, możemy ustawić takie parametry jak np. jednostkę, liczbę miejsc po przecinku itp.. W tym artykule nie będę tak szczegółowo to przedstawiać.

Grafana - prezentacja napięcia z MEW-01 na wykresie

Grafana - prezentacja napięcia z MEW-01 na wykresie

10. Zatwierdzamy ustawienia przyciskiem Apply. Po zapisie, zobaczymy nasz pierwszy wykres.

Grafana - przykładowy wykres napięcia z MEW-01

Grafana - przykładowy wykres napięcia z MEW-01

11. U mnie w domu poświęciłem trochę czasu i stworzyłem taki przykładowy panel.

MEW-01 i Grafana w Home Assistant

MEW-01 i Grafana w Home Assistant

To tyle na dziś. Dziękuję za przeczytanie tego wpisu do samego końca.

Smart home albo niższe rachunki za prąd?

Instalacje smart home, monitoring zużycia energii i doradztwo prowadzę pod marką TECH.WILDE.