Instalacja HA z vlan

Dzień dobry. Na wstępie chciałem się przywitać. Jestem nowicjuszem jeżeli chodzi o tematy związane z smarthome.
Chciałbym zacząć z tymi tematami ale jak widzę to jest ogrom informacji na różne zagadnienia co z czym i jak.
Mój cel jaki sobie założyłem: zapoznać się z HA lub OpenHAB, zintegrować sobie różne smart rzeczy(gniazdka falownik solarny, ups via snmp, listwy przełączające apc, ATS) w domu, zbierać statystyk(z miernika energii, falownika) i wizualizować(grafana), sterowanie rekuperatorem za pomocą modbus RTU przy użyciu mikrotik knot, zarządzać via telefon/pc i pewnie jakieś inne rzeczy które się potem pojawią.

Na chwilę obecną mam uruchomionego hypervisora w postaci vmware esxi a na nim debian z dockerem. Na dockerze wiadomo kontenery. Obsługuję to sobie za pomocą portaintera. Powiedzmy że coś ogarniam w tym temacie i instalacja np. ha na tym działa. Mam podzielną sieć w domu na vlany. Załóżmy, że sieć domowa jest vlan10 , iot vlan 20. Są też inne ale to nie jest aż tak ważne. Cały debian z dockerem jest pod adresem np. 10.0.10.1. Pod tym wiadomo jest HA. Wyczytałem że HA odnajduje urządzenia (tasmoty) z automatu, no nie, coś tam trzeba zrobić zapewne. Zatem cel aby HA znajdował urządzenia.

Pytanie: mając HA w vlan10 musi odpytać urządzenia z vlan20. Nie za bardzo znalazłem w HA takie opcje aby przypisać interfejs sieciowy do wyszukiwania urządzeń. Jeżeli jest to proszę o podpowiedź ale coś czuję że tak nie będzie. Docker zarządza siecią i pewnie tam trzeba coś zrobić. Najprościej zrobiłem to tak(pytanie czy to ma sens?). Dodałem do debiana kolejny interfejs sieciowy, przypisałem mu adres ip z vlan20(iot) i jak widzę jest dostępny z vlan10 i vlan20. Urządzenia tasmoty sam HA pinguje(jakiś sukces jest). Dockerowcy - czy tak to robić czy rozkminiać macvlan? Jak wy to robicie jeżeli segmentujecie sieć? Tutorial jakiś z przykładem?

Odnajdywanie urządzeń w HA. Co gdzieś dzwoni o mqtt. I tu pytanie - mqtt jako kontener postawić czy sam HA ma w sobie mqtt? Jeżeli HA to trzeba przekonfigurować kontener z HA i dodać mu odpowiednie porty tcp lub udp do tego kontenera. To samo się tyczy w przypadku samego kontenera mqtt. Co polecacie? Jeżeli mqtt ma być brokerem to czy nie lepiej zrobić osobnego i potem HA odpytuje lub mqtt pcha info do HA.

Będzie jeszcze sporo pytań :slight_smile:
Dziękuję za wyrozumiałość i cierpliwość.

Będzie i sporo przy założeniu, że przy braku wiedzy tak komplikujesz sobie życie - “Na chwilę obecną mam uruchomionego hypervisora w postaci vmware esxi a na nim debian z dockerem. Na dockerze wiadomo kontenery.”, Do tego chcesz jeszcze dodać logiczną separację sieci korzystając z VLANów co spowoduje, że większość mechanizmów opartych na auto discovery nie będzie działać.
Skoro masz juz ESXi to postaw HA jako wirtualna maszynę korzystając z tego sposobu instalacji HA -
Alternative - Home Assistant.

Tak sobie wymyśliłem, u mnie iot ma być odseparowane do reszty lokalnej sieci(nie wrzucam do jednego wora). Nic nie stoi na przeszkodzie aby postawić sobie HA na osobnej wirtualce i będzie przypisana do tej właściwej sieci. Czy to będzie lepsze rozwiązanie?

Tam masz tabelkę rodzajów instalacji HA

Jeśli chcesz mieć wewnątrz HA Dodatki (takie jak broker MQTT), to musisz mieć instalację z Supervisorem

Dla innych typów instalacji kontenery ogarniasz we własnym zakresie.

HA jest klientem MQTT, nigdy nie jest brokerem, po prostu w instalacjach z Supervisorem kontenery masz w formie predefiniowanych Dodatków i jednym z nich jest broker Mosquitto (ale jest dostępny też EMQX), więc się integrują w dużym stopniu automagicznie, można oczywiście użyć brokera w formie osobnego bytu (oddzielnej VM, kontenera, czy wręcz instalacji na innej maszynie), wtedy konfigurujesz to oczywiście samodzielnie, a w innych typach instalacji zawsze musisz konfigurować wszystko samodzielnie.

Autodiscovery to już w ogóle grubszy temat.

Dobrze sobie wymysliłeś ale nie znasz zasad integracji HA z innymi systemami. Polecam zacząć od podstaw a potem dokonywać stosownych zmian. Nie zniechęcam ale wiem co mówie :slight_smile:.

Podstaw… tzn? dokumentacja?

Zaczynasz od najprostszego sposobu zainstalowania HA czyli HA OS - wszystko w jednym: system operacyjny (linux) i aplikacja Home Assistant, może być na ESXi i od tego zaczynasz zabawę, z jednym interface i w tej samej podsieci co komputery i urządzenia IoT, potem integrujesz to co masz lub to co chcesz. Jak będzie działać to możesz sobie zacząć przenosić to co chcesz i gdzie chcesz - do innych podsieci (VLANów).
Jeżeli między VLANami (w jednym VLANie jest dostęp do internetu) nie masz firewalla (tylko routning) to oddzielanie IoT od sieci domowej jest kosmetycznym zabiegiem i nie podnosi w znaczym stopniu bezpieczeństwa.

2 polubienia

ok, przetestuję to rozwiązanie. Dzięki za sugestie.

U mnie jest kilka vlanów a nie jeden w którym przypisuje tylko adresy ip(to rozwiązanie jest bez sensu - no może jeżeli ktoś potrzebuje).

Jestem za tym rozwiązaniem na początek jakie wskazuje @macek. Poznaj HA w formie OS’a z Supervisor i dodatkami. Pozwoli Ci to na przebrnięcie przez wdrożenie z integracjami i zrozumienie jak działa to pod spodem. Głównym argumentem za tym jest mnogość materiałów dydaktycznych, właśnie dla takiego rodzaju instancji. Oficjalna dokumentacja jest “wiadomo” obowiązkową lekturą, bo jest zawsze aktualna. Sam poznawszy różne metody konfiguracji HA oraz znając już podstawy i przy zrozumieniu jak to wszystko działa, będziesz mógł świadomie wybierać co chcesz przenieść na własne kontenery, maszyny czy idąc dalej nawet usługi zewnętrzne. Jest ogromna elastyczność tego systemu, ograniczy cię tylko wiedza i wyobraźnia. Osobiście bardzo polubiłem konteneryzację i coraz mniej oczekuję od samego HA, w sumie wystarcza mi jeden kontener z samym CORE. Obecnie mam dwa brokery MQTT na różnych maszynach fizycznych, połączone mostem i sporo osobnych kontenerów, które mogły by być w formie dodatków HA ale osobiście wolę jak to ja mam nad nimi władzę, a nie Supervisor.

P.S.
Przy wersji z Supervisor Portainer jest na czarnej liście, więc nie jest takie oczywiste dla wszystkich stwierdzenie: