Home Assistant — otwarty system automatyki budynkowej
To otwarty projekt, który stawia na lokalną kontrolę i prywatność. Home Assistant pozwala integrować wiele systemów w jeden główny, który zarządza nimi wszystkimi. W zasadzie, dzięki HA, nie ma praktycznie ograniczeń w tworzeniu bardzo zaawansowanej automatyki budynkowej. Wystarczy odpowiednio dobra maszyna i trochę czasu, aby stworzyć Smart Home z prawdziwego zdarzenia.
W poprzednim wpisie informowałem, że właśnie system Supla zyskał możliwość integracji z innymi systemami przez MQTT wraz z nową wersją cloud’a m.in. systemem Home Assistant.
Chciałbym Wam przedstawić na przykładzie urządzenia Raspberry Pi 3, w jaki sposób zainstalować, a następnie skonfigurować Home Assistant, aby działał z systemem Supla. Na samym początku zaznaczę — wiem, że jest wiele metod na instalację HA i że Raspberry Pi nie jest najlepszym wyborem. Mimo wszystko chciałbym się skupić na jednej metodzie i jednym urządzeniu. Zapraszam do dalszej lektury.
Pełna jawność. Jako pracownik firmy ZAMEL, opisuję w moim blogu produkty tej firmy. Chcę podkreślić, że jest to moja prywatna inicjatywa. Niektórzy mogą zobaczyć w tym wpisie promocję marki ZAMEL i mają do tego pełne prawo.
Instalacja Home Assistant
Poniższy opis powstał w oparciu o:
- Raspberry Pi 3 B+
- Karta microSD 64GB SAMSUNG EVO+ (Home Assistant nie powinno się instalować na kartach SD — ze względu na częste awarie — lepiej już to zrobić na dysku SSD — po więcej informacji zapraszam do Google 🙂 )

Na samym początku zaproszę Cię na Discord’a. Na serwerze poruszamy tematy związane z nowymi technologiami, smart home oraz IoT. Zawsze gdy, będziesz mieć problem, pomożemy Ci go rozwiązać.
Zaczynamy:
Uwaga! Niektóre zdjęcia mogą być nieaktualne. Home Assistant stale się rozwija. Staram się jednak, aby ten wpis był w miarę aktualny.
1. Przechodzimy na stronę: https://www.balena.io/etcher/ i pobieramy program.
2. Po pobraniu i instalacji programu możemy go uruchomić. Następnie będziemy instalować system Home Assistant z gotowego repozytorium. Wybieramy przycisk Flash from URL.
3. Po uruchomieniu programu przystąpimy do instalacji Home Assistant. Dla przykładu przypomnę, że przedstawiam instalację dla Raspberry Pi 3. Jeśli posiadasz inne urządzenie, to przejdź na stronę: https://www.home-assistant.io/installation/ i dowiedz się jak zainstalować Home Assistant.
W kolejnym oknie wpisujemy adres URL miejsca, skąd instalator pobierze gotowy obraz i zainstaluje go na naszej karcie SD. Ja wybrałem Raspberry Pi 3 64-bit, ponieważ dla tego urządzenia przygotowuję Home Assistant. Następnie naciskamy przycisk Ok.
Raspberry Pi 4 64-bit: https://github.com/home-assistant/operating-system/releases/download/8.5/haos_rpi4-64-8.5.img.xz
Raspberry Pi 4 32-bit: https://github.com/home-assistant/operating-system/releases/download/8.5/haos_rpi4-8.5.img.xz
Raspberry Pi 3 64-bit: https://github.com/home-assistant/operating-system/releases/download/8.5/haos_rpi3-64-8.5.img.xz
Raspberry Pi 3 32-bit: https://github.com/home-assistant/operating-system/releases/download/8.5/haos_rpi3-8.5.img.xz
4. W kolejnym oknie wybieramy miejsce instalacji Home Assistant.
W moim przypadku na potrzeby tego poradnika wybrałem kartę microSD. Nie zalecam jednak instalacji na tego typu kartach, ponieważ Home Assistant będzie wykonywał dużo odczytów i zapisów. Prędzej czy później, karta nie będzie się już do niczego nadawać. Zdecydowanie lepiej instalować Home Assistant na dyskach SSD.
5. Po wybraniu naszej karty microSD naciskam przycisk Select.
6. Możemy przejść do instalacji Home Assistant. Czas wybrać przycisk Flash!
7. Po kilku minutach wszystko jest gotowe. Home Assistant został zainstalowany na karcie microSD.




Zdecydowanie zalecam podłączenie Home Assistant po kablu Ethernet. Wystarczy wtedy wpiąć do routera nasze Raspberry Pi i sprawdzić jaki adres router przydzielił „malince”.

Konfiguracja połączenia przez sieć Wi-Fi
1. Otwieramy dysk hassos-boot.
UWAGA! Jeśli nie widzimy dysku hassos-boot to musimy przejść do Zarządzania komputerem –> Magazyn –> Zarządzanie dyskami (lokalny) i w tym miejscu aktywować wolumin hassos-boot przypisując mu literę dysku.
2. Następnie tworzymy folder CONFIG w naszym dysku hassos-boot.
3. W folderze CONFIG należy stworzyć kolejny folder o nazwie network.
4. W folderze network tworzymy plik o nazwie my-network. Najlepiej stworzyć plik z rozszerzeniem .txt, po późniejszej edycji pliku, wystarczy usunąć rozszerzenie .txt, aby mieć gotowy plik konfiguracyjny.
5. W pliku my-network uzupełniamy dane naszej sieci Wi-Fi. Kod pobrałem ze strony:
https://community.home-assistant.io/t/configure-wifi-connection/157201/7
Oczywiście należy zwrócić uwagę, aby podać dane do własnej sieci WiFi (podkreślone na żółto). Wygeneruj też własny uuid.
[connection]
id=my-network
uuid=adb9c61c-2f87-4048-a8fb-94c3f3190d2a
type=802-11-wireless
[802-11-wireless]
mode=infrastructure
ssid=NAMEROUTER
# Uncomment below if your SSID is not broadcasted
#hidden=true
[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=PASSWORD
[ipv4]
method=auto
[ipv6]
addr-gen-mode=stable-privacy
method=auto
6. Gdy wpisaliśmy poprawnie dane i jesteśmy pewni, że usunęliśmy rozszerzenie pliku i mamy plik o nazwie my-network. Możemy przystąpić do uruchomienia systemu. Gdy urządzenie połączy się, z Waszym routerem to zachęcam, aby powiązać adres MAC z IP. Wtedy lokalny adres IP będzie stały.
7. Mamy już przypisany adres IP do naszego Raspberry Pi możemy przejść do naszego nowego systemu. W tym celu w przeglądarce przechodzimy na adres np. 192.168.1.1:8123 (w tym miejscu podajemy Wasz adres IP do HA i port 8123). Powinna pojawić się strona, która informuje nas o tym, że system jest przygotowywany.
Pierwsze uruchomienie systemu
1. Po kilku minutach wszystko powinno być gotowe. Możemy przejść do konfiguracji naszego systemu. Podajemy dane użytkownika oraz hasło. Naciskamy przycisk Utwórz konto.
2. W kolejnym kroku podajemy nazwę naszego domu oraz lokalizację. Następnie wybieramy przycisk Dalej.
3. Home Assistant poinformuje nas, że możemy wykonać wstępną konfigurację urządzeń. Klikamy Koniec.
4. Naszym oczom, powinien pokazać się główny widok systemu Home Assistant. Na samym początku jest trochę surowy, ale w przyszłości można go „odpicować” :-). Czas przejść do głównej części programu. Będziemy konfigurować nasz system Supla z systemem Home Assistant przez MQTT. Jak to zrobić? Przechodzimy do kolejnego kroku, czyli logujemy się do naszego konta Supla.
Konfiguracja integracji Supla z Home Assistant przez MQTT
- Po zalogowaniu się do konta Supla z menu Konto wybieramy opcję Integracje.
2. W zakładce Broker MQTT uruchamiamy naszego brokera. Naciskamy przycisk Włącz.
3. Pojawią się dane naszego brokera MQTT. Dane zapisujemy. W późniejszym etapie konfiguracji je wykorzystamy.
W dalszej części przedstawię, w jaki sposób zintegrować Supla z Home Assistant dla osób, którzy nie posiadają własnego brokera MQTT.
4. Przejdźmy do konfiguracji naszego pliku configuration.yaml. W tym celu potrzebujemy mieć zainstalowany edytor plików. Z lewego menu wybieramy Supervisor (od wersji 2021.12 panel nie jest widoczny). W tym celu naciskamy przycisk Ustawienia i przechodzimy do zakładki Dodatki.
5. Przechodzimy do sklepu z dodatkami, aby zainstalować File editor.
6. W Official addons odszukujemy File editor, a następnie go instalujemy.
7. Po zainstalowaniu dodatku proponuję, aby przypiąć go do menu po lewej stronie. W tym celu zaznaczamy opcję Pokaż na pasku bocznym. Klikamy przycisk Uruchom.
8. Po chwili nasz dodatek powinien zostać uruchomiony.
9. Przechodzimy do edytora plików i odszukujemy nasz plik configuration.yaml.
10. Z listy plików dostępnych w katalogu config. Wybieramy nasz plik, który będziemy edytować.
11. Następnie dodajemy poniższy zapis na końcu pliku konfiguracyjnego configuration.yaml
mqtt:
certificate: auto
discovery: true
12. Po wypełnieniu danych klikamy dyskietkę, aby zapisać plik. Powinniśmy zobaczyć komunikat o poprawnym zapisaniu konfiguracji.
13. Czas na restart całego systemu. Możemy to zrobić z poziomu File Editor wybierając Restart Hass lub poprzez Ustawienia systemu.
14. Uruchamiamy ponownie Home Assistant.
15. Czas na aktywację naszego połączenia MQTT. W zakładce Ustawienia wybieramy Urządzenia oraz usługi.
16. Nasikamy przycisk Konfiguruj i wypełniamy dane naszego brokera Supla Cloud.
17. Po wypełnieniu danych naciskamy przycisk Zatwierdź.
18. Po połączeniu z naszym brokerem automatycznie powinny pojawić się urządzenia, które są podłączone do naszego konta Supla.
19. Voilà i gotowe! Mamy poprawnie skonfigurowany Home Assistant z Supla. Od teraz możecie sterować urządzeniami Supla.
Pełna jawność. Jako pracownik firmy ZAMEL, opisuję w moim blogu produkty tej firmy. Chcę podkreślić, że jest to moja prywatna inicjatywa. Niektórzy mogą zobaczyć w tym wpisie promocję marki ZAMEL i mają do tego pełne prawo.
Gratulacje twojej firmie – Zemel – za korzystanie z Supla i otwarcie produktu dla ludzi niż tworzenia kolejnego bezużytecznego ekosystemu…. Przez to sam rekomenduje liczniki od was
Dzięki! Przekaże gratulację do firmy 👍😉
W instrukcji brakuje kroku włączania możliwości rejestracji nowego urządzenia w panelu supla.org.
Bez tego nie da się dodać HA przez MQTT
W logach można znaleźć wpis:
[paho.mqtt.client] failed to receive on socket: [Errno 104] Connection reset by peer
Dziękuję bardzo. Konfiguracja przebiegła pomyślnie.
Niech służy! 🙂
Dobry wieczór.
Problem z połączeniem według powyższej instrukcji (zaznaczę, że jest klarowna i czytelna).
Realizuję dokładnie punkt po punkcie. W 17 zatwierdzam i pojawia się komunikat:
>> Wprowadź informacje o połączeniu pośrednika MQTT.
>> Nie można nawiązać połączenia.
Staram się nie być nerwowy, ale kilka godzin spędzonych w internecie ciągłe restarty powoli doprowadzają mnie do poddania się.
Jeżeli ma Pan jakąś sugestię – byłbym wdzięczny! Pozdrawiam.
Proszę się upewnić, że urządzenie ma najnowszy soft. Proszę uruchomić update.
Zamel MEW-01. Firmware 2.8.53 – to mam.
Szczerze mówiąc to nie wiem (szukałem ale nie mogłem trafić) jak sprawdzić czy jest nowsza wersja.
Zamel MEW-01. Sprawdziłem – mam najnowszą wersję – 2.8.53.
HA także aktualny.
MQTT Explorer wykrywa bez problemu ten miernik. ALE – po zaznaczeniu SSL.
Może to jest tematem? Kwestia SSL?
Rozwiązane.
Kwestia zaznaczenia opcji AUTO w zaawansowanych podczas konfiguracji.
Pozdrawiam.
Dzięki za pomoc. Mailem taki sam problem.
Zgadza się. Zaznacz AUTO i działa.
Wielkie dzięki.
Do autora, stosowna uwaga powinna znaleźć się w opisie.
W pliku yaml wpisałem auto 🙂
Witam.
Nie mogę się połączyć z serwerem Supla. Po wpisaniu danych logowania wyskakuje komunikat w HA że nie można nawiązać połączenia.
Weekend z tym walczyłem 🙂 a mogłem poczytać komentarze i by było szybciej .
Dzięki już działa
Ktoś wie dlaczego pojawiają się 2 urządzenia w brokerze? Z czego jedno ma nieaktywne encje. Oba nazywają się tam samo, dokładnie jak na ostatnim screenie.
https://wilde.pl/wp-content/uploads/2022/09/Prawidlowe-polaczenie-z-brokerem-MQTT-Supla-Cloud.jpg
Niestety nie jestem pewny, sugeruję jedno wyłączyć.
Mam Ha na serwerze w docker, po zainstalowaniu i dodaniu mqtt (nie mam zakładki Supervisor) Mam najnowszą wersję HA.
Po dodaniu Mqtt wpisuje dane z serwera, i pobiera mi sonoffy z tosmata, potem próbując dodać dane z supla mqtt nie przyjmuje, dopiero po wejściu do katalogu dockera HA/config na serwerze jest plik configuration.yaml. tam go modyfikuje wpisem który podałeś i ten sam wpis robię w mqtt, po tym zabiegu przyjmuje mi wpis danych z supla i dodaje mi sonoff z suplą ale tylko od bramy (i nie chce mi otwierać zamykać bramy) natomiast nie dodaje mi drugiego sonoffa z supla do otwierania furtki. Czy jesteś w stanie coś poradzić?
@Przemysław Wilde – Może nowy wpis o konfiguracji lokalnej komunikacji ?
Tj wejście w tryb CONFIG, przez przeglądarkę wejść na http://192.168.4.1 i zmiana integracji z SUPLA na MQTT
Podanie danych do lokalnego brokera MQTT i mamy integrację odporną na pad internetu 🙂
Sprawdź: https://wilde.pl/praca-monitora-energii-mew-01-w-home-assistant-w-trybie-lokalnym-mqtt/
Zrobiłem Przemku wszystko jak napisałeś i niestety nie wyświetla mi danych ;( – dodałem wszystko do konfiga, zrobiłem restart i i cisza. Wybacz jestem nowy w temacie będę wdzięczny za pomoc.
Proszę wejdź w integrację, zobacz czy tam jest MQTT. Jak tak to kliknij konfiguruj i wypełnij dane Twojego brokera MQTT. Po restarcie powinno zadziałać.
Witam,
Nie wiem co robię źle ale całość kończy się logiem „: Opening ipv4 listen socket on port 1883.
1650913206: Opening ipv6 listen socket on port 1883.
1650913206: Opening websockets listen socket on port 1884.
1650913206: Opening ipv4 listen socket on port 8883.
1650913206: Opening ipv6 listen socket on port 8883.
1650913206: Opening websockets listen socket on port 8884.
1650913206: Warning: Mosquitto should not be run as root/administrator.
1650913206: mosquitto version 1.6.12 running
1650913206: New connection from 127.0.0.1 on port 1883.
1650913206: Socket error on client , disconnecting.
1650913238: New connection from 172.30.32.1 on port 1883.
1650913238: Client disconnected due to protocol error.”
Jakoś pomysł?
Zrobiłem Przemku wszystko jak napisałeś i niestety nie wyświetla mi danych ;(
Wszystko wg pkt 1. Brak danych oraz taki błąd w logach :
The system cannot restart because the configuration is not valid: Invalid config for [mqtt]: [certyficate] is an invalid option for [mqtt]. Check: mqtt->mqtt->certyficate. (See /config/configuration.yaml, line 13).
Z góry dziękuję za pomoc.
Pytanko, zainstalowałem HM na QNAP zalogowałem się na HM, ale nigdzie nie widzie zakładki sklepu z dodatkami ? Pozdrawiam
Mam zainstalowaną Suplę lokalnie, podobnie HA. Nie chcę wychodzić suplą na świat, wszystko ma być realizowane przez HA. Jak spiąć te systemy. W zainstalowanej lokalnie Supli, w integracji nie ma pozycji MQTT.
Proszę o pomoc:)
nie mogę sobie dać rady z terminalem , supla nie działa . pomocy
Proszę opisać dokładnie gdzie jest problem. Co jest niezrozumiałe? Postaram się pomóc.
jak przejść i zrealizować pkt 5 rozpiski
Proszę użyć komendy „cd” i wpisywać ścieżkę naciskając przycisk Tab. Jak nie ma to należy stworzyć folder, zgodnie z instrukcją.
Gdzie mam szukać folder /root/share/mosquitto i plik bridge.conf (nano bridge.conf) ? jestem początkującym i nie mogę przejść tego etapu. jeśli można to prosiłbym print screeny ekranu.
Proszę spróbować przejść dokładnie ścieżkę jaką przedstawiłem w opisie i spróbować skorzystać z brokera MQTT od Supla. Tam nie ma potrzeby edycji tego pliku.
Jeśli jednak chcesz skorzystać z własnego brokera, to aby edytować plik bridge.conf to należy skorzystać z terminala albo edytować przez FTP. W tym celu należy zainstalować dodatek FTP w Home Assistant (https://twojadresIP.:8123/hassio/store).
Po zainstalowaniu ustawiamy konfigurację naszego serwera FTP w tym celu edytujemy plik konfiguracyjny (u mnie tymczasowo wygląda tak):
Następnie łączymy się poprzez IP z naszym urządzeniem Raspberry Pi przez klienta FTP (np. Total CMD, FileZilla). Używamy portu 21 oraz nazwy użytkownika i hasła zgodnie z konfiguracją FTP).
Po połączeniu z naszą maliną, możemy dostać się do folderu share i tam dokonywać zmian np. dodawać nowe foldery, edytować pliki.
Do edycji plików używam Notepad++.
a co jeśli lokalnie mamy już odpalony MQTT i odpalona integracje?
dwóch połączeń się nie da zrobić.
Połączenie własnego MQTT Brokera (Mosquitto) z brokerem dostarcznym przez
cloud.supla.org
1. Zaloguj się do Home Assistant
2. Otwórz konfigurację Mosquitto broker (Supervisor->Mosquitto broker)
3. Dopisz do konfiguracji
customize:
active: true
folder: mosquitto
4. Otwórz terminal SSH
5. Przejdź do folderu /root/share/mosquitto
Jeśli folder nie istnieje to go utwórz poleceniem:
mkdir -p /root/share/mosquitto
6. Otwórz plik bridge.conf (nano bridge.conf) i wprowadź poniższą konfigurację:
connection bridge-RANDOM
address ADRES:8883
topic supla/# in
topic homeassistant/# in
topic supla/+/devices/+/channels/+/execute_action out
topic supla/+/devices/+/channels/+/set/+ out
remote_username UŻYTKOWNIK
remote_password HASŁO
bridge_capath /etc/ssl/certs
W miejsce RANDOM należy wstawić ciąg 8-16 przypadkowych znaków
trudnych do odgadnięcia przez innych użytkowników składający się z małych i
dużych liter oraz cyfr (nie należy używać znaków specjalnych). W ADRES
należy wpisać adres serwera odczytany z pola “Host” na
cloud.supla.org->Konto->Integracje->broker mqtt. Na końcu ADRES należy
dodać :8883
W miejsce UŻYTKOWNIK nazwę użytkownika logowania do brokera MQTT,
którą należy odczytać z cloud.supla.org
W miejsce HASŁO należy wpisać hasło, które zostało wygenerowane
podczas włączania brokera mqtt na cloud.supla.org
7. Zapisz konfigurację
8. Wyjdź z SSH
9. Zrestartuj broker MQTT
cała instrukcja tutaj: https://drive.google.com/file/d/10HTT6juRks7OcmRl10u9WWjwdMPKQwb3/view
z forum https://forum.supla.org/
Problem rozwiązany 🙂
Udało się 🙂 dzięki
Mam pytanie. Nie chcę śmiecić HA , wyłączyłem część encji które sa odczytywane z Supla ( Zamel licznik prądu ma kilkanaście encji ..fazy napięcia itp …mnie interesuje tylko moc ) = wyłączyłem te encje czyli nie sa one odczytywane i zapisywane w HA. Dobrze rozumiem ?
I drugie pytanie : jeśłi nie chcę odczytywać danych z części czujników co kilka sekund – wolę raz na kilka minut – jak to ustawić ?
Jeśli chodzi o kwestie zajmowanego miejsca w HA na dane, to sam osobiście kasuję historię danych co kilka dni. Używam:
recorder:
purge_keep_days: 4
purge_interval: 1
Jeśli chodzi o drugi temat to, póki co nie znam jeszcze odpowiedzi. Jak tylko ją odnajdę to na pewno napiszę.
o ten wpis mi chodziło – mam juz brak miejsca na dysku 😦
Gdzie mam wpisać to:
recorder:
purge_keep_days: 4
purge_interval: 1
Proszę bardzo:
https://www.home-assistant.io/integrations/recorder/
jaka jest komenda zeby zapisać plik w ssh terminal??
CTRL + O lub CTRL + X i Save Y 😉
witam, dzie mam to wpisac
Proszę przeczytać ten komentarz: https://wilde.pl/konfiguracja-supla-dla-home-assistant-przez-mqtt/#comment-158
Ile trzeba poczekać? bo mi nie zaciągneło. Albo jak to zdebugować?
Powinno pojawić się bez zbędnej zwłoki po ponownym uruchomieniu Home Assistant.