Broker mqtt w home assistant

witam po raz kolejny .jak usunąć z HA dodatek mqtt .
zwykłe usuwanie nie pomaga , bo po restarcie wraca .
chodzi o to że przy pierwszej konfiguracji mqtt nie ustaliłem wcześniej użytkownika .
No i wpisał się z automatu login i hasło .oczywiście nie zapisałem .
dlatego teraz nie moge dodać nowych orzadzeń

Co masz na myśli pisząc?

i po drugie

jest opcja
2

Jeżeli zrobię re konfigurację ,aby dodać zigbee2mqtt to wywala mi urządzenia supli bo tam było inne hasło i login

uruchom dodatek Terminal & SSH
znajdź ścieżkę instalacji Mosquitto MQTT Broker

musisz zmienić konfigurację,  zobacz w Samba czy masz katalog Mosquitto, 

"
Komenda LINUX
sudo mosquitto_passwd -c /etc/mosquitto/pass xxxxx
Password: yyyyyyy
"
-domyślna ścieżka  '/etc/mosquitto/'
- xxxxx  twója nazwa user w mqtt
- yyyyy  twoje hasło, system poprosi o podanie 2 raz hasła celem weryfikacji :)
- "-c" parametr zakładający hasło od nowa 
- "pass" to plik w katalogu konfiguracyjnym w którym zapisze się kodowane hasło

co tu się dzieje w log mqtt

[s6-init] making user provided files available at /var/run/s6/etc…exited 0.
[s6-init] ensuring user provided files have correct perms…exited 0.
[fix-attrs.d] applying ownership & permissions fixes…
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts…
[cont-init.d] mosquitto.sh: executing…
[18:15:21] INFO: Setting up user Roman
[18:15:21] INFO: SSL is not enabled
[cont-init.d] mosquitto.sh: exited 0.
[cont-init.d] nginx.sh: executing…
[cont-init.d] nginx.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[18:15:22] INFO: Starting NGINX for authentication handling…
[18:15:22] INFO: Starting mosquitto MQTT broker…
1632327322: mosquitto version 1.6.12 starting
1632327322: |-- *** auth-plug: startup
[18:15:23] INFO: Successfully send discovery information to Home Assistant.
[18:15:24] INFO: Successfully send service information to the Supervisor.
1632327322: Config loaded from /etc/mosquitto/mosquitto.conf.
1632327322: Loading plugin: /usr/share/mosquitto/auth-plug.so
1632327322: ├── Username/password checking enabled.
1632327322: ├── TLS-PSK checking enabled.
1632327322: └── Extended authentication not enabled.
1632327322: Opening ipv4 listen socket on port 1883.
1632327322: Opening ipv6 listen socket on port 1883.
1632327322: Opening websockets listen socket on port 1884.
1632327322: Warning: Mosquitto should not be run as root/administrator.
1632327322: mosquitto version 1.6.12 running
1632327322: New connection from 127.0.0.1 on port 1883.
1632327322: Socket error on client , disconnecting.
1632327323: New connection from 172.30.32.1 on port 1883.
1632327323: New client connected from 172.30.32.1 as mqttjs_2da31cca (p2, c1, k60, u’Roman’).
1632327327: New connection from 172.30.32.2 on port 1883.
1632327327: Socket error on client , disconnecting.
1632327358: Client mqttjs_2da31cca disconnected.
1632327383: New connection from 172.30.32.1 on port 1883.
1632327383: New client connected from 172.30.32.1 as mqttjs_8f2d7233 (p2, c1, k60, u’Roman’).
1632327440: New connection from 172.30.32.1 on port 1883.
1632327440: New client connected from 172.30.32.1 as 5c2WoYAAkzl2riNukDySYu (p1, c1, k60, u’Roman’).
1632327440: Client 5c2WoYAAkzl2riNukDySYu disconnected.
1632327444: New connection from 172.30.32.1 on port 1883.
1632327444: Client disconnected due to protocol error.
1632327445: New connection from 172.30.32.1 on port 1883.
1632327445: Client disconnected due to protocol error.
1632327447: New connection from 172.30.32.1 on port 1883.
1632327447: Client disconnected due to protocol error.
1632327447: New connection from 172.30.32.2 on port 1883.
1632327447: Socket error on client , disconnecting.
1632327451: New connection from 172.30.32.1 on port 1883.
1632327451: Client disconnected due to protocol error.
1632327459: New connection from 172.30.32.1 on port 1883.
1632327459: Client disconnected due to protocol error.
1632327513: New connection from 172.30.32.1 on port 1883.
1632327513: Client disconnected due to protocol error.
1632327514: New connection from 172.30.32.1 on port 1883.
1632327514: Client disconnected due to protocol error.
1632327516: New connection from 172.30.32.1 on port 1883.
1632327516: Client disconnected due to protocol error.
1632327520: New connection from 172.30.32.1 on port 1883.
1632327520: Client disconnected due to protocol error.
1632327528: New connection from 172.30.32.1 on port 1883.
1632327528: Client disconnected due to protocol error.
1632327544: New connection from 172.30.32.1 on port 1883.
1632327544: Client disconnected due to protocol error.
1632327567: New connection from 172.30.32.2 on port 1883.
1632327567: Socket error on client , disconnecting.
1632327576: New connection from 172.30.32.1 on port 1883.
1632327576: Client disconnected due to protocol error.

Znajdź czyje to IP i będziesz wiedział kto jest sprawcą Urządzenie / Aplikacja, IP wygląda na coś z docker, chyba ze masz tak skonfigurowaną sieć. Coś próbuje nawiązać połączenie do twojego MQTT ale używa innego protokołu dlatego połączenie jest odrzucane. Może instalowałeś jakas aplikacje lub dodałeś jakieś urządzenie

kurde już nie wiem co robić , nie dodają się urzadzenia supli ani zigbee2mqtt.
chyba coś namieszałem . Jak to naprawić?

Tak naprawdę nie podałeś żadnych informacji jak poszczególne dodatki masz skonfigurowane, jedyne co wiadomo to, że:

Jeśli nie pamiętasz danych logowania do mqtt to zostaje Ci tylko rekonfiguracja mqtt i konfiguracja urządzeń od nowa na “nowych” danych logowania.

robię rekonfigurację dodaję do dodatku mqtt broker nowe dane logowania i dupa
Edit:
widziałeś te logi z mqtt brokera . same błądy

@Remus po raz kolejny proszę edytuj posty - o poprawnym pisaniu po polsku nie wspomnę !!

Kolega @rafkan podał ci już wcześniej rozwiązanie, wiec jeżeli nie robiłeś żadnej kopii zapasowej to pozostaje ci tylko rekonfiguracja / RESET twoich dodatków MQTT, Zigbee2mqtt, supla

Droga Publiczności :slight_smile:

U mnie problem jest taki:

  1. MQTT wygląda na skonfigurowany poprawnie, bo dzieki dodatkowi Zigbee2MQTT:
    image
    bezproblemowo rozpoznaje wszystkie urządzenia Zigbee, jakie mam:

image

Z resztą broker MQTT jest mi potrzebny wyłącznie do obsługi urządzeń Zigbee.

  1. Co jakiś czas, nie zmieniając danych logowania w brokerze, dołączam nowe urządzenia i te także rozpoznaje. Widzę ich encje, na dashboardzie mam ich wartości. Ale logi MQTT mówią, że:


Do tego momentu jest dobrze, ale już w następnej linijce mam wysyp błędów:

  1. Nie mam bladego pojęcia jak ustalić kto jest sprawcą… i kim jest tajemnicze “coś”, przedstawiające się jako ‘7wF49tvui0YLz3vZ7Ngipj’. W prawdzie @artpc zasugerował:
    image
    …ale przecież 172.130.32.1 to IP brokera, więc po adresie chyba nie dojdę do źródła.

Jestem starym windziarzem, z linuksem nie znamy się aż tak dobrze a w HA kolejny miesiąc mozolnie stawiam pierwsze kroki i idzie to opornie, więc trochę rozumiem irytację @Remus
Filmy i blogi Artura to genialne źródło wiedzy (@artur , dla Ciebie absolutny Nobel w dziedzinie edukacji!), ale czasem dokucza brak możliwości zadania jakiegoś szczegółowego pytania, bo przecież to film a nie interaktywne warsztaty.

Bardzo Was proszę, jeśli to możliwe - podpowiedzcie łopatologicznie i cierpliwie jak to ogarnąć.

Sprawcą jest urządzenie, które używa loginu u:homeassistant przy połączeniu do MQTT (na jednym z blogów jest instrukcja z takim loginem co niestety poźniej powoduje “problemy”) dlatego ja dla każdego typu urządzeń używam inne loginu do połączenia z MQTT, zdecydowanie ułatwia to diagnozowanie problemów:

image

a integrację HA z MQTT robię na dedykowanym, utworzym w tym celu użytkowniku, który nie jest nigdzie indziej wykorzystywany:

Przy takim podejściu szybko i sprawnie mogę rekonfigurować ustawienia i analizować ewentualne problemy.

1 polubienie

@macek Baaaardzo dziękuję Ci za wskazówki :slight_smile:

Ja też pomyślałem o stworzeniu dedykowanego usera mqtt w integracji HA.
Ale, prawdę mówiąc, trochę się tu gubię. Proszę, wyjaśnij czy i jakie zależności istnieją między userami mqtt.

Zobacz moich userów:

  1. W HA mam takiego usera:


    Jego nazwę i hasło ustaliłem (wymyśliłem) samodzielnie.

  2. Z kolei w dodatku z2m mam kogoś takiego:


    Tutaj nazwę i hasło usera również ustaliłem samodzielnie. Ten user jest inny niż w pkt1. ale ten sam, co w pkt.5 (czy tak powinno być?)

  3. W dodatku obsługującym moją energię i wymagającym serwera MQTT (zużycie - biorę z dodatku Tauron-AMI:
    image

natomiast produkcję odczytuje dedykowany add-on do HoyMiles mojej farmy solarnej) definiuję siebie jako usera dodatku, (bo taki jest wymóg) i dzięki temu zaczytuję z chmury swoje indywidualne dane produkcyjne energii z mojego konta, zasilanego rzeczywstą produkcją energii raportowaną przez falownik Hoymiles:

  1. Natomiast sam mosquitto broker skonfigurował się (bez mojego udziału) z takim oto userem i hasłem:
    image
    Jego nazwę i hasło ustalił system HA w momencie instalacji brokera.

  2. Chcąc komunikować urządzenia zigbee z pkt.2 (widziane przez dodatek zigbee2mqtt) z HA, w ustawieniach brokera mam to:
    image

I teraz moja wątpliwość: Który user co robi w systemie? Kto do czego się loguje? Kiedy i po co się loguje? Jakie ma uprawnienia?

W opcjach brokera (pkt.4) możesz zdefiniować tylko jednego usera ale już w pkt.5 definiujesz ich dowolną ilość. Właśnie dokładnie tego nie rozumiem.

Jestem pewien, że mam tu groch z kapustą. Ale nie wiem gdzie wrzucić groch a gdzie kapustę… bo nie rozumiem tej konfiguracji…
To jest właśnie to, w czym totalnie się gubię… Mógłbyś, proszę, szczegółowo o tym opowiedzieć? Jaką konfigurację userów zastosowałbyś u siebie, gdybyś korzystał z identycznych rozwiązań?
To bardzo rozjaśniłoby mi w głowie… myśle, że nie tylko mi :wink:

1 polubienie

Zamiast tego skonfiguruj integrację korzystając z wcześniej utworzonego usera mqtt:
image

Zaraz po tym w logach dodatku Mosquitto broker pojawi się taki podobny wpis:

1634480303: New connection from 172.30.32.1 on port 1883.
[INFO] found mqtt on Home Assistant
1634480310: New client connected from 172.30.32.1 as 4JPKKWOtYxfinhBlrqoVBQ (p2, c1, k60, u'mqtt').

co należy interpretować jako:

Nowe połączenie z 172.30.32.1 na porcie 1883 - to IP Dockera z HA
[INFO] znaleziono mqtt w Home Assistant - informacja, że user mqtt zostal znaleziony w bazie HA
Nowy klient połączony z 172.30.32.1 jako 4JPKKWOtYxfinhBlrqoVBQ (p2, c1, k60, u’mqtt’) - połączenie u(serem):mqtt

To jest integracja HA z MQTT, tym userem HA łączy się do MQTT.

To są zdefiniowane w brokerze MQTT loginy innych systemów, które chcesz połaczyć do brokera MQTT za pomocą tych poświadczeń, pamiętaj, że to broker MQTT jest serwerem, do którego łaczą się klienci tacy jak HA, Zigbee2MQTT, Tasmota, poniżej logi z połaczenia z urządzenia Tasmota:

1634480316: New connection from 192.168.2.34 on port 1883.
[INFO] found tasmota on local database
1634480324: New client connected from 192.168.2.34 as DVES_D203A4 (p2, c1, k30, u'tasmota').

co należy interpretować jako:
Nowe połączenie z 192.168.2.34 na porcie 1883 - to IP gniazdka SP111 z Tasmota
[INFO] znaleziono tasmota w lokalnej bazie - chodzi o konfigurację w brokerze MQTT:
image
Nowy klient połączony z 192.168.2.34 jako DVES_D203A4 (p2, c1, k60, u’tasmota’) - połączenie u(serem):tasmota z konfiguracji gniazdka:
image

Mam nadzieję, że zrozumiałeś o co w tym biega :slight_smile:.

1 polubienie

@macek, Nie można było prościej i klarowniej tego wytłumaczyć!
Widać, że dotychczas żyłem w pomroczności jasnej i dopiero teraz otworzyły mi się oczy i …nagle już wszystko zaqumałem :smiley: Zero naukowego bełkotu, czysta logika. Sama przyjemność czytania.

Jesteś WIELKI!

Baaaardzo serdecznie Ci dziękuję! :beers:
Myślę, że nie tylko ja na tym skorzystałem, bo może i @Remus 'owi też ciśnienie trochę spadnie :wink:

poradziłem sobie z brokerem , dodałem urządzenia z2m oraz tasmota ,jednak nie udało mi się dodać urządzeń supla .Rozwiązałem to tworząc drugą maszynę ha tylko z suplą na brokerze mqtt . nie jest to raczej dobre posunięcie n bo na jednym sprzęcie chodzą dwie maszyny HA .
macie jakieś rozwiazania co do supli?

https://forum.arturhome.pl/tag/mqtt-bridge

Ja z kolei mam problem z jakimś CA…

Konfiguracja prawidłowa, bo jak poniżej:

Więc w logach jest:

Dodatkowo, jeśli to coś pomoże, to w Terminalu (tym drugim w dodatkach, bo już wcześniej go skonfigurowałem prościej) wprawdzie MQTT działa, ale nie odbiera, bo połączenie zerwano.

Ktokolwiek cokolwiek?

edyta:
W pliku /config/configuration.yaml nie dodawałem nic na temat MQTT (chyba nie było potrzeby). A w intergracjach mam MQTT, ale nie chce się konfigurować.

Skąd Ty bierzesz takie konfiguracje z kosmosu ?

logins: []
customize:
  active: false
  folder: mosquitto
certfile: fullchain.pem
keyfile: privkey.pem
require_certificate: false

Koniec kropka - tyle ma być.

A masz jak byk nasmarowane :slight_smile: : A list of local users that will be created with username and password. You don’t need to do this because you can use Home Assistant users too, without any configuration.

Potem tworzysz użytkownika w User czyli najprościej “mqtt/mqtt” i konfigurujesz z takim userem i hasłem Core Mosquito ( jak chcesz po swojemu nic nie stoi na przeszkodzie ).

Ok, @Krzyszof_K skąd moja, to nie wiem już do końca, bo siedziałem dziś w MQTT i Z2M, więc może coś przez analogię zrobiłem. Natomiast te konfiguracje tu na zrzutach i w innych wątkach MQTT są w gruncie rzeczy analogiczne. :smiley:

Ok, wkleiłem oryginalną, resztę też zrobiłem już wg zrzutów, dostaję okienko do konfiguracji integracji MQTT, natomiast nadal nie może się połączyć.
W logach add-onu MQTT bez zmian.