informacie@linuxdoma.sk

+421 949 731110

Tento článok je 4 z 6 v sérii Ostatné návody

Úvod

Záloha Home Assistant – Môj návod je venovaný problematike zálohovania údajov a dát z Home Assistant (ďalej HA) do externej databázy. Dôvodov prečo som sa rozhodol takto urobiť je niekoľko.

  1. Databáza s históriou ktorú si vytvára Home Assistant veľmi rýchlo naberá na veľkosti a v závislosti od počtu zariadení môže mať veľkosť niekoľkých GB.
  2. Databáza v Home Assistant sa po mojich skúsenostiach pomerne často poškodí a jediným riešením je zmazanie celej databázy a tým pádom znovu začíname s nulovým počiatkom.
  3. Home Assistant je prevádzkovaný vo veľkej väčšine prípadov na Raspberry s dátami na SD karte čo samozrejme z hľadiska životnosti karty vytvára rovnaký problém, a teda dochádza k poškodeniu dát a tým pádom sa stráca história nameraných údajov.

Môj pohľad

Moja myšlienka sa uberá iným smerom a teda ako ukladať dáta externe, aby v prípade akéhokoľvek problému s aplikáciou Home Assistant som neprišiel o históriu. Vychádzal som z odpozorovaných faktov, a teda pomerne veľa používateľov funguje cez Raspberry a okrem toho má doma NAS server pre domáce použitie, na ktorom je možné bez problémov používať docker.

To čo teda chcem dosiahnuť je stav aby mi aplikácia HA (kdekoľvek nainštalovaná) posielala dáta (teploty, vlhkosť….) do externej databázy.

Zariadenie A – inštancia HA
Zariadenie B – docker s InfluxDB

V mojom prípade podľa obrázka je možné vidieť, ako to mám doma na maličkom vizualizačnom serveri.

Zariadenie A (100 Hassio) – virtuálny Qcow2 image s Home Assistant („bez databázy s históriou“)
Zariadenie B (106 Dockers) – Ubuntu server s Dockermi (tu budeme inštalovať docker InfluxDB)

Prvé kroky

Poďme si teda ukázať aké kroky treba urobiť. Vychádzam za predpokladu, že zariadenie na ktorom budeme inštalovať docker s InfluxDB, už plne podporuje inštaláciu dockeru. Toto je individuálna záležitosť podľa druhu zariadenia a týmto sa nebudem zaoberať.

Ako nainštalovať podporu dockeru na Ubuntu server je možné nájsť tu v mojom návode.

Pre inštaláciu podpory docker na napríklad Synology NAS pozrite sem – https://www.youtube.com/results?search_query=docker+on+NAS

Akonáhle máme predprípravu na inštaláciu podpory dockerov hotovú na Zariadení B, pustíme sa do inštalácie InfluxDB. Existuje možnosť inštalácie InfluxDB verzie 2.0 a verzie InfuxDB 1.8.

Nakoľko nie som ani programátor a ani neovládam prácu s databázami, hľadal som riešenie čo si vybrať. Zistil som, že verzia 2.0 už neponúka podporu vytvárania databáz klasickým spôsobom, ako sa uvádza v rôznych návodoch HA + InfluxDB, a preto som siahol po stále dostupnej verzii InfluxDB verzia 1.8.4

https://portal.influxdata.com/downloads/

Inštalácia InfluxDB ako docker

  1. Pripojil som sa na Zariadenie B cez SSH
    ssh tony@192.168.1.26 -p 2211
    a vytvoril som si adresár pre uloženie dát s históriou
    mkdir /home/tony/influxdb_data

    (Tí čo používajú NAS si ho musia vytvoriť tak ako sú zvyknutí pri práci s NAS a zároveň musia adresáru nastaviť práva na čítanie a zápis)
  2. Následne som zadal príkaz pre stiahnutie obrazu (image) s InfluxDB databázou príkazom.
    sudo docker pull influxdb:1.8
    Tu pozor na to aby na konci bolo influxdb:1.8, nakoľko pokiaľ by tam bola iba hodnota influxdb tak by stiahlo verziu 2.0 čo nechceme.
  3. V ďalšom kroku zo stiahnutého obrazu vytvorím príkazom docker s parametrami
    sudo docker run -d --name="influxdb" --net=host --restart always -p 8086:8086 -v /home/tony/influxdb_data/:/var/lib/influxdb influxdb:1.8

    Pozor, príkaz je jeden jediný riadok !
    Týmto sa spustí samostatný docker s InfluxDB na IP adrese Zariadenia B (môjho Ubuntu serveru na porte 8086 – napríklad teda http://192.168.1.26:8086.
    Túto IP adresu si zapíšeme, budeme ju ďalej potrebovať.

    Zároveň som mu nastavil cestu pre ukladanie dát do adresára vytvoreného v kroku 1, to jest pri vypnutí/zapnutí dockeru neprídem o už uložené dáta.

  4. Docker beží, potrebujeme vytvoriť databázu v InfluxDB, kam mi bude HA posielať údaje (teploty, vlhkosti…)
    Na vytvorenie databázy použijem 3 príkazy.
    sudo docker exec -it influxdb /bin/bash – týmto príkazom sa dostanem do samotného bežiaceho dockeru.

    influx – dostanem sa do rozhrania InfluxDB, kde už len posledným príkazom vytvorím samotnú databázu.

    CREATE DATABASE home_assistant

  5. Databázu máme vytvorenú a cez príkaz exit (2x) ukončíme prácu v termináli (alebo jednoducho zatvoríme okno s terminálom.)

  6. . Môžeme urobiť kontrolu či nám docker s InfluxDB beží cez SSH pripojenie alebo pokiaľ už máme na Zariadení B nainštalovaný docker s aplikáciou Portainer, uvidím všetky moje bežiace aplikácie (pripojím sa cez prehliadať na 192.168.1.26:9000 – môj Portainer) ako napríklad:

Tým som skončil konfiguráciu na Zariadení B.

Čo je potrebné urobiť v Home Assistant – Zariadenie A

Otvorím si notoricky známy súbor configuration.yaml a pridám do neho informáciu, kam má posielať údaje Home Assistant.

influxdb:
  host: 192.168.1.26
  include:
     domains:
       - sensor
       - light
       - switch
       - device_tracker
       - kodi
       - media_player- person

Port uvádzať potrebné nie je. Domény si prípadne doplňte, ktoré vám vyhovujú.

Následne už stačí len reštart serveru s Home Assistant.

Home Assistant čistenie vlastnej databázy

Na doplnenie možno už len ukázaný spôsob, ako udržovať vlastnú databázu HA v čo najmenšom stave, v mojom prípade mám nastavené to, že sa databáza samotnej aplikácie HA čistí automaticky po 2 dňoch, nakoľko všetky dáta sa odosielajú do InfluxDB databázy.

Čo je potrebné pre to urobiť, v tom istom súbore configuration.yaml som pridal tieto riadky.

# Cistenie databázy
recorder:
auto_purge: true
purge_keep_days: 2

Samozrejme následne reštart HA serveru.

Záloha Home Assistant nastavenie – hotovo !! Po týchto krokoch by Vám malo všetko fungovať ako má.

Logickou otázkou je už len to, ako dostať dáta z InfluxDB naspäť do Home Assistant?

Cez supervízora si v rozšíreniach doinštalujem Grafana. Sputím otvorím Web UI, následne v paneli s menu vyberiem Configuration (ozubené koliečko) -> Add data source

Vyplnil som:
Name: HOME ASSISTANT
URL: http://192.168.1.26:8086
Database: home_assistant

Následne viete začať pracovať s Grafana priamo v HA.

Príklad:

Záver

Záloha Home Assistant by teda mala fungovať v poriadku.
Pokiaľ ste zmeškali moju sériu návodov, ako si rozbehať vlastný Ubuntu server s podporou docker služieb, neváhajte ! Jeho súčasťou je aj inštalácia Home Assistant Supervised ako docker. Podľa návodov by to mal dokázať aj začiatočník.

ODKAZ NA DISKUSIU VO FÓREhttps://forum.linuxdoma.sk/d/5-navod-home-assistant-do-influxdb-databazy

##### DOSLOV #####

Milý návštevník,
pokiaľ sa Ti tento článok páčil alebo si sa niečo nové naučil, chcem Ťa požiadať aby si sa zamyslel, čo je všetko nevyhnutné aby vznikol.

Keďže som len amatérsky softvérový kutil musím

  1. si najprv všetko naštudovať, samozrejme v cudzích jazykoch (angličtina, ruština, poľština, nemčina)
  2. následne si všetko vyskúšať
  3. svoje poznatky a skúsenosti napísať do článku ktorý si práve prečítal v jazyku ktorému rozumieš
  4. nahrať a postrihať video
  5. všetko dať dohromady a publikovať

Každý článok predstavuje niekoľko hodín práce za ktorú mi nikto neplatí.
Zváž koľko času som Ti práve ušetril.
Pokiaľ Ti to stojí aspoň za cenu kávy, tak mi ju kúp.
Ďakujem.

Prispieť na kávu môžeš tu:
Patreon – https://www.patreon.com/vawaver
Paypal – https://www.paypal.com/paypalme/vawaver
Revolut – https://revolut.me/antone9rp
NordVPN – môj odkaz

Series Navigation<< TERMINÁLOVÉ SKRATKY – MOJICH TOP 10 PRE LINUXAKO ROZŠÍRIŤ VEĽKOSŤ LVM DISKU S UBUNTU 18.04/20.04 >>

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená.