Witam,
Czy można zabezpieczyć dostęp do MQTT użytkownikiem/hasłem? Domyślnie usługa nie jest zabezpieczona. Jeśli jest to opisane w dokumentacji to proszę o link i przepraszam że nie poszukałem bardziej
Marek
Jasne, że można, nie robimy tego domyślnie, bo bramka działa lokalnie i wyszliśmy z założenia, że jak wpuszczamy kogoś do naszej sieci domowej, to znaczy, że “mu ufamy”.
Broker MQTT, który mamy na bramce to mosquitto:
$ mosquitto -h
mosquitto version 1.6.7
mosquitto is an MQTT v3.1.1 broker.
Usage: mosquitto [-c config_file] [-d] [-h] [-p port]
-c : specify the broker config file.
-d : put the broker into the background after starting.
-h : display this help.
-p : start the broker listening on the specified port.
Not recommended in conjunction with the -c option.
-v : verbose mode - enable all logging types. This overrides
any logging options given in the config file.
See http://mosquitto.org/ for more information.
sami go kompilujemy, tak jak wszystkie binarki na bramce dostępne przez apt:
$ apt show mosquitto
Package: mosquitto
Version: 1.6.7-1
Maintainer: Nathaniel Wesley Filardo @nwf
Installed-Size: 467 kB
Depends: libuuid, libmosquitto (= 1.6.7-1)
Homepage: https://mosquitto.org/
Download-Size: 158 kB
APT-Manual-Installed: yes
APT-Sources: https://powiedz.co/apt dom-dev/beta arm Packages
Description: MQTT version 3.1/3.1.1 compatible message broker and clients
Konfiguracja jest w
/data/data/pl.sviete.dom/files/usr/etc/mosquitto/mosquitto.conf
można dodać hasło, szyfrowanie, łączyć się z innymi brokerami mqtt (bridge), oczywiście trzeba też zmienić konfigurację klientów (w tym nadpisać w konfigu Home Assistant naszą domyślną konfigurację mqtt)
tu jest opis jak działa konfiguracja brokera mqtt
Dziękuję za odpowiedź. Z zabezpieczeniem brokera sobie poradzę.
Czy mogę prosić o więcej szczegółów odnośnie konfiguracji strony klienckiej w systemie? Mam na myśli "
oczywiście trzeba też zmienić konfigurację klientów (w tym nadpisać w konfigu Home Assistant naszą domyślną konfigurację mqtt"
Które pliki konfiguracyjne trzeba poprawić?
To działa dokładnie tak jak w Home Assistant, główna konfiguracja jest w pliku configuration.yaml
dostępnym w folderze /data/data/pl.sviete.dom/files/home/AIS
Podczas uruchomienia Asystenta domowego łączymy konfigurację użytkownika z domyślną, którą ma wewnętrznie zdefiniowaną - nadpisujemy domyślną parametrami użytkownika.
Jeżeli dodasz w pliku configuration.yaml na końcu taką linijkę:
mqtt: !include mqtt.yaml
następnie w tym folderze dodasz plik mqtt.yaml ze swoimi ustawieniami brokera mqtt (pniżje są nasze domyślne ustawienia):
broker: 127.0.0.1
keepalive: 60
discovery: true
discovery_prefix: homeassistant
protocol: 3.1
birth_message:
topic: "tele/hass1/LWT"
payload: "Online"
qos: 1
retain: true
will_message:
topic: "tele/hass1/LWT"
payload: "Offline"
qos: 1
retain: true
sprawdzisz, że konfiguracja jest poprawna i zrestartujesz serwer:
To właśnie napisałeś domyślą konofigurację bokera MQTT dla Asystenta domowego.
Oczywiscie każdy inny klient MQTT (urządzenia) to osobny temat.
PS
tu są opisane wszystkie możliwe ustawienia brokera MQTT w Home Assistant
Uwaga
Nadpisywanie konfiguracji i stosowanie własnych komponentów == wiem co robię i radzę sobie!
Proszę nie liczyć na wsparcie, jeżeli używa się własnych parametrów i konfiguracji - nie mamy czasu na analizowanie problemów powstałych po zmianie konfiguracji lub dodaniu własnych niestandardowych komponentów.
Z góry dziękujemy za zrozumienie