Broker MQTT
Wprowadzenie
Na bramce dostarczamy wbudowany broker MQTT oraz usługę zapewniającą jego działanie "z pudełka" po starcie bramki.
MQTT (MQ Telemetry Transport), to protokół łączności maszyna-maszyna lub „Internet rzeczy” będący uzupełnieniem protokołu TCP/IP. Pozwala na niezwykle lekki transport komunikatów publikowania/subskrypcji. Urządzenia z naszym oprograwmowaniem komunikują się z bramką w sieci lokalnej za pomocą MQTT. Dzięki czemu są automatycznie wykrywane przez bramkę bez potrzeby konfiguracji po stronie użytkownika.
Połączenie z brokerem MQTT z systemu Asystent domowy
Aplikacja Asystent domowy (serwer) działająca na bramce łączy się domyślnie z brokerem MQTT działającym również na bramce. Integracja z brokerem MQTT polega na podaniu lokalnego adresu IP brokera/bramki w konfiguratorze:
Zaawansowani użytkownicy mogą w razie potrzeby połączyć aplikację Asystent domowy z dowolnym innym brokerem MQTT.
Informacje techniczne
Proces mqtt
Procesami na bramce steruje Menedżer procesów PM2. PM2 odpowiedzialny jest też za uruchomienie brokera MQTT po starcie systemu, a następnie czuwa nad jego ciągłym działaniem.
Żeby zobaczyć status procesu mqtt w konsoli wpisujemy:
pm2 show mqtt
Konfiguracja brokera mqtt
Uwaga! W przypadku podstawowej konfiguracji ustawienia domyślne są dobre i nie trzeba nic zmieniać. Potrzeba zmiany konfiguracji brokera MQTT może dotyczyć tylko programistów i technicznie zaawansowanych użytkowników, którzy np. chcą dodać połączenie mostkowe, autentykację itp. W przypadku wystąpienia problemów po zmianie konfiguracji brokeram Mqtt zalecamy Wykonanie pełnego resetu aplikacji
Broker, który dostarczamy na bramce, to mosquitto. Jego konfiguracja znajduje się w standardowym pliku mosquitto.conf w lokalizacji
/data/data/com.termux/files/usr/etc/mosquitto/mosquitto.conf
Edycja pliku konfiguracji brokera MQTT możliwa jest z aplikacji. W tym celu wystarczy w konfiguracji integracji MQTT w prawym górnym rogu wybrać opcję Edit mosquitto.conf
W ten sposób możemy łatwo dodawać np. mostkowe połączenia z innymi brokerami MQTT.
Standardowe ustawienia
Fabrycznie mamy takie ustawiania brokera MQTT działającego na bramce:
# AIS Config file for mosquitto on gate
listener 1883 0.0.0.0
allow_anonymous true
Po dodaniu integracji SUPLA MQTT ustawienia są automatycznie zmieniane na takie:
# AIS Config file for mosquitto on gate
listener 1883 0.0.0.0
allow_anonymous true
# SUPLA MQTT bridge connection
connection bridge-dom-unikalny-identyfilator-bramki*
address host-i-port-od-supla*
topic supla/# in
topic homeassistant/# in
topic supla/+/devices/+/channels/+/execute_action out
topic supla/+/devices/+/channels/+/set/+ out
remote_username nazwa-użytkownika-z-supla*
remote_password hasło-z-supla*
bridge_cafile /data/data/pl.sviete.dom/files/usr/etc/tls/cert.pem
Dostęp tylko lokalny
Broker MQTT pozwala na dostęp bez uwierzytelniania. Dlatego dostęp do brokera MQTT na bramce możliwy jest tylko z sieci lokalnej.