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.
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.
4. Po instalacji InfluxDB. Możemy uruchomić ten dodatek. Naciskamy przycisk Uruchom.
5. Teraz czas na Grafana. Przechodzimy do instalacji.
6. Po chwili dodatek się zainstaluje. Uruchamiamy go oraz dodajemy do paska bocznego i zaznaczamy uruchamianie przy starcie.
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).
- Z paska bocznego wybieramy InfluxDB i czekamy na załadowanie się tego dodatku.
2. Przechodzimy do zakładki InfluxDB Admin. Zobaczymy okno z wszystkimi dostępnymi bazami danych.
3. Tworzymy bazę danych, która będzie przechowywać parametry naszych sensorów dostępnych w Home Assistant. Wybieramy opcję Create Database.
4. Ustawiamy nazwę naszej bazy. Przykładowo homeassistant.
5. Po stworzeniu bazy. Pojawi się na liście jak poniżej.
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.
6. Teraz czas na założenie użytkownika naszej bazy. Wybieramy zakładkę User, a następnie przycisk Create User.
7. Ustalamy hasło.. Należy je zapisać. Będzie nam potrzebne w konfiguracji Home Assistant.

8. Nowemu użytkownikowi nadajemy wszystkie uprawnienia. Wybieramy ALL, a następnie Apply.
9. Nowy użytkownik pojawi się na liście jak poniżej.
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.
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.

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.
Konfiguracja Grafana
- 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.
2. Wyświetli się nam lista dostępnych baz. Wybieramy 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.
4. Teraz czas na podanie danych związanych z bazą: nazwa, użytkownik i hasło. HTTP Method ustawiamy na GET.
5. Po wypełnieniu danych naciskamy przycisk Save & Test. Jeśli dane są poprawne to zobaczymy komunikat:
6. Teraz czas na stworzenie pierwszego wykresu. Wybieramy plusik i tworzymy naszą nową tablicę.
7. Naciskamy przycisk Add an empty panel i przechodzimy do okna konfiguracji pierwszego wykresu.
8. W zapytaniu ustawiamy skąd mają być pobierane dane i jaką z zmiennych chcielibyśmy wyświetlić.
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ć.
10. Zatwierdzamy ustawienia przyciskiem Apply. Po zapisie, zobaczymy nasz pierwszy wykres.
11. U mnie w domu poświęciłem trochę czasu i stworzyłem taki przykładowy panel. Film na YouTube. W jaki sposób to zrobiłem? To temat na osobny artykuł. 🙂
To tyle na dziś. Dziękuję za przeczytanie tego wpisu do samego końca.
Pełna jawność. Jako pracownik firmy ZAMEL, opisuję w moim blogu produkty tej firmy. Chcę podkreślić, że jest to moja prywatna inicjatywa. Niektórzy mogą zobaczyć w tym wpisie promocję marki ZAMEL i mają do tego pełne prawo.
Bardzo pomocny przewodnik…zresztą niepierwszy 🙂 dziękuje i mała prośba o aktualizację linku komfiguracji MEW-01 do Grafana na youtube bo stary już nie działa
Dziękuję, już poprawione.
Właśnie próbuję zrobić wizualizację w Grafanie danych zbieranych przez HomeAssistant za pomocą Influxdb.
Niestety od dłuższego czasu walczę z problemem, że nie widzę żadnych danych w bazie Influxdb.
Mój plik konfiguracyjny wygląda następująco:
influxdb:
host: localhost
port:8086
database: homeassistant
username: homeassistant
password: mojehasło
max_retries: 3
default_measurement: state
Niestety nie Influxdb nie pobiera danych i w oknie Explore ich nie widać, jak również zdefiniowanej bazy.
Ręce mi już opadają, bo nie wiem co robić.
Moja konfiguracja:
HomeAssistant Supervised na Debianie 10 w przeglądarce firefox.
Pomocy!
Czy wykorzystywany jest broker Supla czy lokalny?
Używam monitora MEW-01 (przez MQTT), na razie w wersji online. Konfigurację zrobiłem z wytycznymi na Twojej stronie i wszystko działa.
W przyszłości chciałbym przejść na rejestrację lokalną.
Wszystkie dane są widoczne w HomeAssistant i mogę ich używać do robienia w nim różnych wykresów, czy to w zakładce overview, czy Energy.
NIestety Influxdb nie pobiera tych danych. Nie mam pojęcia dlaczego.
Szukałem rozwiązań w internecie, le nie u mnie nie działają.
https://community.home-assistant.io/t/solved-influxdb-does-not-show-any-measurements/72116/22
Mój HomeAssistance jest uruchomiony na Debianie 11, na dość słabym sprzęcie eMachines em350 (planuję przesiadkę na coś mocniejszego, bo zaczyna mnie irytować to ciągłe czekanie i wolne działanie).
Jest to wersja Supervised uruchamiana w przeglądarce Firefox.
Widzę, że kolega się nie odzywa. Ja mam identyczny problem , broker Supla.
Gdy przechodzisz z brokera online na lokalny to pojawiają się inne encje z nowymi nazwami. Proszę zweryfikuj czy są nowe encje.
W home-assistant.log powinieneś mieć odpowiedź. U mnie zadziałało po wywaleniu “host:” i skopiowaniu hasła z pliku yaml do influxdb – moze gdzies sie formatowanie spieprzyło
Fajny artukul jedna filmiku na youtube juz nie ma czy mozna poprosic o nowy link
W treści artykułu jest film. Powinien działać:
https://youtu.be/D68VI3ThkxM
A to jest blad, ktory pojawia sie w logach
Logger: homeassistant.components.influxdb
Source: components/influxdb/__init__.py:477
Integration: InfluxDB (documentation, issues)
First occurred: 8:27:29 PM (1 occurrences)
Last logged: 8:27:29 PM
Cannot connect to InfluxDB due to ‚HTTPConnectionPool(host=’http’, port=80): Max retries exceeded with url: //localhost:8086/write?db=mew_01 (Caused by NewConnectionError(‚: Failed to establish a new connection: [Errno -3] Try again’))’. Please check that the provided connection details (host, port, etc.) are correct and that your InfluxDB server is running and accessible. Retrying in 60 seconds.
Czy moglbys wystawic json’a z grafany?
Aktualnie mam świeżą instancję i nie mam stworzonego żadnego dashboarda 😉
Na ten moment pierwszy JSON: Tutaj. Więcej wkrótce.
w tej konfiguracji:
influxdb:
host: localhost
port:8086
database: homeassistant
username: homeassistant
password: mojehasło
max_retries: 3
default_measurement: state
masz oczywiście właściwe wcięcia?
Bardzo fajny artykuł. Dziękuję/
Dziękuję za opinię 😉