📈 InfluxDB w AIS dom

Opis jak połączyć bramkę AIS dom z zewnętrzną bazą danych InfluxDB.

Wprowadzenie

Jeśli ktoś ma dużą bazę danych w SQLite, to być może zaczął już zauważać, że przechowywanie sporej ilości danych w pliku (tak działa SQLite), nie jest najlepszym rozwiązaniem. Znacznie lepiej do przechowywania danych zbieranych z dużej ilości czujników nadają się zewnętrzne relacyjne bazy danych(MariaDB, MySQL, PostgreSQL), z którymi można się połączyć z bramki AIS dom.

Istnieje też rozwiązanie dedykowane do przechowywania danych z wszelkiego rodzaju czujników i urządzeń IoT (czy własne niestandardowe dane), a następnie ich wizualizację w czasie rzeczywistym - to rozwiązanie to InfluxDB: https://www.influxdata.com/

Integracja InfluxDB z bramki AIS dom

Integracja InfluxDB umożliwia przeniesienie wszystkich zmian stanu zarejestrowanych na bramce do zewnętrznej bazy danych InfluxDB.

Żeby każdy mógł wykonać taką instalację bez potrzeby hostowania i utrzymywania własnej bazy InfluxDB, poniżej pokaże jak połączyć się do usługi InfluxDB cloud.
W podobny sposób można połączyć się z własną bazą InfluxDB, szczegóły odnoście konfiguracji, są dostępne w dokumentacji Home Assistant, tu:

Konfiguracja usługi InfluxDB cloud

  1. Wchodzimy na stonę: https://cloud2.influxdata.com/signup i dodajemy darmowe konto:

  2. Wybieramy gdzie ma być utworzona nasza baza danych i wypełniamy resztę formatki:

  3. Wybieramy plan
    Plan darmowy ma limity, ale 30 dni na przechowywanie danych to i tak całkiem nieźle

  4. Identyfikator organizacji
    W głównym menu, przechodzimy do naszego konta i z zakładki About i kopiujemy Organization Id

  5. Lokalizacja do przechowywania danych
    W menu Data tworzymy Bucket (nazwę lokalizacji do przechowywania danych), np. ais

  6. Token dostępu
    W menu Data przechodzimy do zakładki Tokens i generujemy nowy token z pełnym dostępem all access token o dowolnej nazwie:

    Token kopiujemy - będize potrzebny przy konfiguracji integracji:

  7. Host bazy danych
    W menu Data przechodzimy do zakładki Client Libraries i kopiujemy nazwę hosta naszej bazy danych:

Konfiguracja bramki AIS dom

Integracja nie jest dostępna z poziomu aplikacji - mamy nadzieje, że będzie niebawem :slight_smile:

Dodajemy nastepujący wpis w configuration.yaml
Oczywiście: host, token, organization i bucket wypełniamy naszymi danymi, które skopiowaliśmy podczas konfiguracji usługi InfluxDB cloud

influxdb:
  api_version: 2
  ssl: true
  host: eu-central-1-1.aws.cloud2.influxdata.com
  token: -6GKuJMl3QsHlEBgFD679kKKhp5VYQ0GSKB_DV6SaO7AuJLsFCoMSBUVPkHJjh5ZYhIM7BOucSClV8g9uSkFlQ==
  organization: b26f1b0ddc9xxxxx
  bucket: ais
  tags:
    source: AIS
  tags_attributes:
    - friendly_name
  default_measurement: units

Sprawdzamy konfigurację bramki AIS dom

w YAML każda spacja ma znaczenie dlatego przed restartem usługi wykonujemy sprawdzenie konfiguracji - podczas tego kroku Asystent domowy doinstaluje brakujące biblioteki do komunikacji z InfluxDB

Restart serwera HA

Data explorer

W menu w Data Explorer możemy wyklikać dowolne zapytanie i zobrazować sobie nasze dane:

Jak będzie więcej danych to można zrobić naprawdę ładne wykresy - powodzenia :slight_smile:

PS
Informacja dla osób, które zamiast czytać, wolą zadawać pytania na forum :wink:
W internecie jest sporo przykładów oraz dokumentacja influxdb.
Ten wpis to nie jest kurs obsługi influxdb. Wybaczcie, ale niestety nie mam czasu odpowiadać / tłumaczyć jak coś wykonać w tym pięknym i potężnym narzędziu. Dzięki za zrozumienie.
Szacun i pozdrowienia dla wszystkich użytkowników AIS!

11 polubień

Bardzo zgrabny artykuł, a czy można zainstalować lokalnie bazę? Tak, żeby nie wysyłać danych na zew serwer?

Cześć @piasek Witamy na forum :slight_smile:

jasne, że można - to Twoja bramka - możesz robić co tylko chcesz i umiesz.

Masz tam wszystkie najpopularniejsze środowiska programistyczne:

Jeżeli bazę postawisz na jakimś komputerze w lokalnie w domu to możesz się z nim łączyć tak samo jak z chmurą (tylko, że lokalnie).

Jeżeli chciałbyś stawiać bazę influxDB na bramce to już trochę większa “akcja” ale też jest to możliwe.

Kody źródłowe infux:

a tu masz opisy jak skompilować pakiet na bramkę:

w podobny sposób skomilowaliśmy postgresql i teram mamy tą bazę w repozytorium pakietów apt:

1 polubienie