Komunikacja między HomeAssistant a EspHome w różnych sieciach

Dzień dobry

Mam wyniesioną instalację HA. Znajduje się ona w domu.
W biurze mam esp do odczytu temperatury i sterowania oświetleniem. Są to dwie różne lokalizację i niestety nie ma możliwości połączenia ich w jedną sieć.
I tutaj moje pytanie
Co trzeba zrobić aby HA widział esphome tak jakby był lokalnie w tej samej sieci?
Po mqtt działa, ale zależy mi też na opcji wgrywania kodu z poziomu ha.
Obie lokalizacje są od tego samego ISP, i obie mają zew ip.
Przekierować jakieś porty może? Tylko które ?
Może w esphome trzeba dopisać coś aby się zgłaszał do konkretnego IP.

Stwórz sieć VPN.
Nie testowałem takiego rozwiązania z ESPHome, ale moim zdaniem i tak jest jedyne możliwe.
Tu plusem jest bezpieczeństwo rozwiązania dostępne “z pudełka”.


Chociaż w sumie przekierowanie portów być może mogłoby zadziałać przy odrobinie walki (no myślę, że przydadzą się wpisy w lokalnych DNSach i statyczna konfiguracja IP w ESPHome) oczywiście to też nie testowane (i gwarantuję, że nie przetestuję z braku publicznych IP)
API jest na porcie 6053, a OTA odpowiednio na 8266, 3232 lub 2040 (zależnie od tego z jaką platformą mają się kojarzyć ESP32, ESP8266 czy RP2040).
Oczywiście przy takim rozwiązaniu musisz ustawić hasła i tokeny na wszystko.


Więc jak ogarniesz to się pochwal.

No właśnie VPN nie bardzo mi tu by wchodził w grę. Nie bardzo mam jak.

Myślałem właśnie o przekierowaniu portów. Zawsze można w firewallu wpisać które IP mogą korzystać z tego przekierowania. Zawsze to coś bezpieczniej.

Tylko zostaje pytanie jak zmusić esphome żeby łączyło się z konkretnym homeassystantem.
Porty można przekierować tylko jak skojarzyć jedno urządzenie z drugim

No ja myślę, że z przekierowaniem to nie będzie za prosto albo się nie uda, bo wykorzystywany jest multicast, a on nie przechodzi przez zwykły routing.

Może się to wydaje strzelaniem z armaty do muchy, ale najprostsze rozwiązanie to postawienie dodatkowego zdalnego HA na jakimś słabiutkim sprzęcie (wtedy masz 2 w 1 czyli i API poleci lokalnie i na miejscu sobie skompilujesz).

Co rozumiem, przez nie bardzo masz jak? Chodzi o sprzęt czy umiejętności. Generalnie jak masz przynajmniej 1 zew IP to się VPN da.

Ewentualnie można by spróbować zestawić VirtualLAN, ale tutaj raczej bez sprzętu się nie obedzie.

Nie chce się mądrzyć, bo nie testowałem, ale wystawienie tego “na świat” to proszenie się o problemy, bo każdy co rozkmini co jest za tym portem bedzie mógł wysłać Ci wsad do ESP Home. Generalnie zasada jest prosta jak najmniej na świat to najbezpieczniej.

Też jakieś rozwiązanie, ale sporo kasy… do tego prądu zeżre… wiem klikanaście max kilkadziesiąt wat, ale zawsze.

Oczywiście - wystawianie portów OTA na świat jest słabe, jakkolwiek ESPHome zapewnia jakiś minimum zabezpieczeń (szyfrowana komunikacja API, hasło na OTA - przy generowaniu nowego urządzenia domyślnie są generowane dość długie losowe ciągi) - przykład takich auto-wygenerowanych

api:
  encryption:
    key: "7fRNOJT7ioxfJ2ujZPpb/RnGWw5JjhOUEdodQclzUhs="

ota:
  password: "3c3d1007f0cf26b5619b940ec46b0654"

możemy to w sumie pominąć, bo nie obstawiam sukcesu w ten sposób (ale spróbować nie zaszkodzi)


W porównaniu do przykładowych 10W-12W routera…

Moje HA żrą koło 7W-8W, ale gdybym myślał o wyłącznie takim zdalnym mikro-zastosowaniu to sądzę że ogarnąłbym się w 4W (kwestia wyboru sprzętu i doboru podzespołów), więc kilkadziesiąt W to chyba tylko u kogoś kto ma albo jakieś zabytki albo dopakowany sprzęt nie służący wyłącznie do HA.

No nie zapominajmy, że same urządzenia bazujące na ESP to przeważnie od 0,5W do kliku W, no zależy co to konkretnie, ale np. moduł z 4 przekaźnikami w porywach(=wszytko włączone) żre koło 5W (i nie mówię o potencjalnym obciążeniu podpiętym do tych przekaźników).

I sprzęt i umiejętności raczej są :slight_smile:
W biurze jest mt, mogę na nim postawić serwer vpn i wtedy bym musiał na samym ha zrobić klienta. Nie bardzo wiem akurat na jakiej integracji to się da, nigdy nie szukałem)
Tylko jeśli HA komunikuje się również przez multicast to czy przez vpn przechodzą multicasty ?
Nie jestem pewien ale chyba nie. Mogę się mylić.

Jestem w stanie do testów wystawić port od API i OTA na zewnątrz sieci i sprawdzić czy HA wykryje te urządzenia. Mam ip zew i wew, także na testy w sam raz.

Wydaje mi się że to będzie chyba jedyne rozwiązanie żeby połączyć ha z urządzeniami nie będącymi w tej samej lokalizacji. Multicasty też powinny latać po vlanach.

Da się zrobić tak żeby postawić jakieś proxy Home Assistanta?
Tak żeby on się łączył z tym głównym i przenosił do siebie i zarządzał wybranymi encjami ?
Szukałem też kiedyś takiego rozwiązania ale nie mogłem nic znaleźć…

Aż tak to nie, ale zdalne encje można
https://forum.arturhome.pl/tag/remote-ha

OK, to się zgadzam. Pomijamy.

Zależy jaki ruter, są też takie co mają 4-5W :wink:

mt - MikroTik !? Sorry że pytam ale tylko z tym mi się to je.

Rozwiązania nr 1, zapinasz ESP do VPN, wtedy Twoj ESP dostaje IP z Twojej sieci. Multicast powinien przejść, ale gwarancji nie daje. Zaleta koszty 0 zł, poza czasem na konfiguracje.

Rozwiązanie nr 2, jakieś MiktoTik’i (np.RB941-2ND-TC LAN 100Mbit + Wifi 2GHz). Zapinasz klient i server VPN. Do tego odpowiednie tunelowanie warstwy drugiej i masz stronę klienta VPN dostępną w swojej sieci, działa wszystko Multicast itp. Nawet da się z urządzeniem połączyć po MAC adresie jak coś tego wymaga np. WakeOnLan. Mina klienta jak dodając drukarkę znajduje mu drukarkę zapiętą w filii za granicą bezcenna :slight_smile: (chyba dodawać nie muszę że na niej też działa drukowanie).

Tak chodziło mi o mikrotika.

Ostatecznie zrobiłem to na vlanach