1

Temat: Home Assistant / HA

Dzień Dobry.

Szukając przez wyszukiwarkę forum frazy Home Assistant lub HA nic nie zwróciło stąd zakładam nowy wątek.

Czy ktoś zainstalował Home Assistant / HA na sowim routerze z OpenWRT? Próbowałem skopiować swój obraz, ale nie znałem HA, za to np. domoticza już tak. Wchodząc na oficjalną stroną wprost nie ma nie nic o OpenWRT, ale za to wyszukiwarka internetowa coś znajduje w Luci, jednakże nie ma tam informacji jak wgrać rozwiązanie. 

Może ktoś ma doświadczenie i się podzieli jak wgrać HA na OpenWRT?

Pozdrawiam, Krzysiek

2

Odp: Home Assistant / HA

Home Assistant jest taką kobyłą, że sugerował bym zainstalowane tego w dokerze, jeżeli oczywiście masz odpowiedni router.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Home Assistant / HA

W sumie coś takiego jest napisane na githubie

Home Assistant Operating System uses Docker as Container engine. It by default deploys the Home Assistant Supervisor as a container. Home Assistant Supervisor in turn uses the Docker container engine to control Home Assistant Core and Add-Ons in separate containers. Home Assistant Operating System is not based on a regular Linux distribution like Ubuntu. It is built using Buildroot and it is optimized to run Home Assistant. It targets single board compute (SBC) devices like the Raspberry Pi or ODROID but also supports x86-64 systems with UEFI.

4

Odp: Home Assistant / HA

Ja używam HA ale na RPI4 z 8GB.
Tam minimum to chyba 2GB aby to jakoś działało. Nie patrzę już np na dodatki jakbyś miał jakieś. ESP dodatek przy kompilacji to by zapocił router smile

5

Odp: Home Assistant / HA

HA za bardzo wymagający. Nie wiem jakie masz wymagania/oczekiwania ale ja używam na kilku routerach domoticz. Poczytaj może wystarczy

6 (edytowany przez chemik89 2022-12-01 22:47:56)

Odp: Home Assistant / HA

używałem HA z poziomu qemu na openwrt x86 (terminal z i3 4GB ram i 2x gigabit ), ale nie było zbyt stabilnie. Często zaliczał restart core.

7 (edytowany przez oneiro 2022-12-01 23:41:53)

Odp: Home Assistant / HA

Na testy mam starego BananaP1 R1 i na razie działa, ale chyba zatrzymałem się na widoczności urządzeń podpiętych pod USB.  Otóż w OpenWRT widzę takie coś:

root@OpenWrt:~# lsusb
Bus 003 Device 002: ID 10c4:ea60 Silicon Labs Sonoff Zigbee 3.0 USB Dongle Plus
Bus 004 Device 001: ID 1d6b:0002 Linux 5.10.156 musb-hcd MUSB HDRC host driver
Bus 001 Device 001: ID 1d6b:0002 Linux 5.10.156 ehci_hcd EHCI Host Controller
Bus 002 Device 002: ID 0bda:8178 Realtek 802.11n WLAN Adapter
Bus 002 Device 001: ID 1d6b:0002 Linux 5.10.156 ehci_hcd EHCI Host Controller
Bus 003 Device 001: ID 1d6b:0001 Linux 5.10.156 ohci_hcd Generic Platform OHCI controller

root@OpenWrt:~# lsusb -s 003:002 -v

Bus 003 Device 002: ID 10c4:ea60 Silicon Labs Sonoff Zigbee 3.0 USB Dongle Plus
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x10c4
  idProduct          0xea60
  bcdDevice            1.00
  iManufacturer           1 Silicon Labs
  iProduct                2 Sonoff Zigbee 3.0 USB Dongle Plus
  iSerial                 3 0001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0020
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              2 Sonoff Zigbee 3.0 USB Dongle Plus
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

Zależy mi, aby pierwszym urządzaniu, tj donglu Zigbee, czy dobrze rozumiem, że urządzenie jest widoczne pod tym urządzeniem:

/dev/bus/usb/003/002

Jeśli tak, jak zmusić kontener HA w docker, aby skomunikował się z w/w urządzeniem ?? Mam Luci i moduł dockera ,ale nie ma opcji urządzenie (albo nie umiem znaleźć)

8

Odp: Home Assistant / HA

docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb itd. Zobacz manual, bo jeszcze możesz przekazywać np. jako --device=/dev/ttyUSBX

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Home Assistant / HA

Wczytam się w dokumentację później, ale na tą chwilę wiem, że nie mam urządzeń ttyUSB, a ścieżka którą pokazujesz to chyba do wszystkich USB, a nie tego konkretnego?

10

Odp: Home Assistant / HA

A mówiłem żebyś przeczytał manual. Możesz konkretny np. --device /dev/bus/usb/001/002 czy coś w ten deseń było.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Home Assistant / HA

Potworzyłem kontenerów, pododawałem urządzeń i nic.
Intuicyjnie czułem, że potrzeba urządzenia serial, wobec tego na stronie Sonoff znalazłem, że "Silicon Labs Sonoff Zigbee 3.0 USB Dongle Plus" posada układ UART CP2102 i dlatego potrzeba uruchomić moduł kmod-usb-serial-cp210x. A, że kompilowałem sam to nie dało się ściągnąć z repozytoriów:

root@OpenWrt:~# opkg install kmod-usb-serial-cp210x
Unknown package 'kmod-usb-serial-cp210x'.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.156-1-49f43998b1c5cba91350a02d7dc36d95) for kmod-usb-serial
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-usb-serial found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.156-1-49f43998b1c5cba91350a02d7dc36d95) for kmod-usb-serial-cp210x
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-usb-serial-cp210x found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package kmod-usb-serial-cp210x.

Ale po krótkiej kompilacji na innej maszynie i wysłaniu dwóch plików:

ja@debian:~/openwrt/bin/targets/sunxi/cortexa7/packages$ scp kmod-usb-serial* root@192.168.12.4:/
root@192.168.12.4's password:
kmod-usb-serial_5.10.156-1_arm_cortex-a7_neon-vfpv4.ipk                                                                                                                          100%   14KB 536.0KB/s   00:00
kmod-usb-serial-cp210x_5.10.156-1_arm_cortex-a7_neon-vfpv4.ipk                                                                                                                   100% 8827   532.1KB/s   00:00
krzysiek@debian:~/openwrt/bin/targets/sunxi/cortexa7/packages$

na docelowym urządzaniu moim oczu ukazał się taki oto widok:

root@OpenWrt:/# opkg install /kmod-usb-serial*
Unknown package 'kmod-usb-serial-cp210x'.
Installing kmod-usb-serial (5.10.156-1) to root...
Downloading https://downloads.openwrt.org/releases/22.03-SNAPSHOT/targets/sunxi/cortexa7/packages/kmod-usb-serial_5.10.156-1_arm_cortex-a7_neon-vfpv4.ipk
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.156-1-49f43998b1c5cba91350a02d7dc36d95) for kmod-usb-serial
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-usb-serial found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.156-1-1970daf58d7fd5b5f865aa04d27a6b39) for kmod-usb-serial-cp210x
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-usb-serial-cp210x found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package kmod-usb-serial-cp210x.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-serial:
 *      kernel (= 5.10.156-1-49f43998b1c5cba91350a02d7dc36d95)
 * opkg_install_cmd: Cannot install package kmod-usb-serial.


root@OpenWrt:/# opkg install /kmod-usb-serial_5.10.156-1_arm_cortex-a7_neon-vfpv4.ipk
Unknown package 'kmod-usb-serial'.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.10.156-1-1970daf58d7fd5b5f865aa04d27a6b39) for kmod-usb-serial
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-usb-serial found, but incompatible with the architectures configured
 * opkg_install_cmd: Cannot install package kmod-usb-serial.

Jak to przeskoczyć? Kompilując zrobiłem tak
1. make menucinfig
2. dodałem jak <M> moduły jądra
3. Wyjście i zapis konfiguracji
4. make -j13
5. wysłanie dwóch plików kmod

12

Odp: Home Assistant / HA

Moduł musisz mieć z tego samego źródła skąd masz obraz. Jeżeli sam to kompilowałeś kompiluj także wszystkie moduły.

Teraz weź sobie rozpakuj ten pakiet i wrzuć pliki w takie miejsca jaki były w pakiecie. Nie będziesz widział go zainstalowanego ale będą moduły w systemie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Home Assistant / HA

Są z tego samego źródła smile

Wczoraj skompilowałem obraz, a dziś dodałem tylko kmod i niekompatybilne??

Ale obejście zadziałało, modprobe usbserial i cp210x i pojawiło się urządzenie /dev/ttyUSB0

Pod dodaniu nowego kontenera:

docker run -d \
  --name homeassistant_new \
  --privileged \
  --restart=unless-stopped \
  -e TZ=Europe/Warsaw \
  -v /mnt/sda1/ha:/config \
  --network=host \
--device  /dev/ttyUSB0 \
  ghcr.io/home-assistant/home-assistant:stable

zadziałało big_smile  dzięki

14

Odp: Home Assistant / HA

Tak, ponieważ dodałeś moduły to zmieniła się suma kontrolna konfiga, więc masz inny numer dołączony do pakietów. Jak pisałem - kompiluj sobie zawsze wszystkie moduły, mimo że będzie to trochę dłużej trwało.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15 (edytowany przez oneiro 2022-12-02 10:47:24)

Odp: Home Assistant / HA

Dzięki, nie widziałem tego. 

Przy okazji na tą chwilę w HA mam 8 urządzeń zintegrowanych i uptime to systemu to

10:45:41 up  3:39,  load average: 0.00, 0.02, 0.00

Chodzi płynnie HA w dockerze, na razie nic mi się nie wysypało, wygląda obiecująco.

16

Odp: Home Assistant / HA

Jakie jest zużycie pamięci takiego dockera ?

17

Odp: Home Assistant / HA

Jestem kompletnie zielony w temacie i dopiero poznaje temat HA więc mogę pleć głupstwa, ale  z tego co wyczytałem to podstawa jest HA Core i to zainstalowałem w dockerze.  W celu odpowiedzi na Twoje pytanie w atop dałem "m" i "p" rsize /usr/bin/docker pokazuje 23 MB RAM, ale ptyton3 164 MB (na tym działa HA). Jeśli chodzi o pamięć na dysku to df -h dla sda1 (dysk w całości przeznaczony pod HA) pokazuje 1.5 GB ale jestem na tyle świeżakiem, że nie wiem czy to nie są jakieś pozostałości po utworzonych i usuniętych z poziomu LuCi kontenerach dockera. Na tą chwilę mam tylko jeden image i jeden kontener.

Jak na razie usługa działa większą część dnia i chodzi stabilnie, reaguje bardzo szybko czy to na zdarzenia z urządzeń czy też moje wyzwalania, to samo serwis www, na tą chwilę uptime pokazuje " 01:56:56 up 18:51,  load average: 0.04, 0.03, 0.02"
Logread nie sypie błędami.

Problem jaki znalazłem, to że brakuje dwóch opcjonalnych komponentów HA, a mianowicie watchdoga czyli DOCKER COMPOSE (program zainstalował się w w systemie i ręcznie mogę go uruchamiać , ale nie potrafię go uruchomić zgodnie z instrukcją, jeśli dobrze zrozumiałem manual kontener powinien sam się uruchomić podczas instalacji HA Core, a tak się nie stało).  Do tego jest jeszcze opcja dodatków add-on czyli HA Supervised, instrukcja jest po linkiem https://github.com/home-assistant/supervised-installer  ale niestety, do ściągnięcia jest tylko pakiet deb, z którym nie działa OpenWRT.  Jest też skrypt, który to instaluje, ale też nie zadziałał, bo wywalił, że platforma rozpoznała to "owenwrt" (tak,  z błędem).
A dodatki pozwalają na masę ciekawych rzeczy, m.in uruchomienie integracji po mqtt czy w moim przypadku integrację z eWeLinkiem (choć przetestowane na innej maszynie i jest to na wczesnym etapie rozwoju i słabe) lub integrację z grafeną i innymi wizualizacjami.

Wobec powyższego nie wiem ile pamięci zjadłby docker compse oraz HA Supervised bo nie udało mi się ich uruchomić. Sam Core działa, na razi mi wystarcza (urządzania sparowane z eWeLinkiem przepnę na dongla USB i po temacie).

PS. Mam jeszcze takie coś, ale nie uruchamiałem, Zigbee po PoE (i chyba ewentualne zasilanie przez port USB)
https://www.tindie.com/products/zigstar … lizig-poe/   jak uruchomię napiszę jak się sprawuje.