Natywne wsparcie dla MQTT

karnasw
Posts: 215
Joined: Fri Oct 02, 2020 10:22 am

Post

myrcin wrote: Tue Feb 01, 2022 9:30 am Cześć,

Potrzebuję pomocy w integracji Supla z HA przez MQTT. Mam Supla oraz HA w docker więc Mosquitto jako Addin jest dla mnie niedostępny. Zainstalowałem broker eclipse-mosquitto w kontenerze i sprawdziłem, że działa. HA pokazuje komunikaty przesłane przez broker. Do tego momentu wszystko wydaje się być ok. Teraz chciałbym do tego wszystkiego zintegrować Supla i czytam dokument z początku tego wątku no i nie wiem jak to zrobić. Co w przypadku własnej instancji Supla i własnego brokera powinienem wpisać tutaj:

Code: Select all

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 mojej instancji Supla w integracjach nie ma parametrów takich jak użytkownik, hasło, w ogóle nie ma MQTT co chyba jest zamierzone. Pomocy proszę :)
Zedytowałem instrukcję jest opcja z TLS i bez TLS.
Przechodzimy do /etc/mosquitto/certs

Code: Select all

cd /etc/mosquitto/certs
Dla TLS generujemy klucze według instrukcji (polecenia z przedrostkami sudo, bo zwykły użytkownik nie ma uprawnień do tworzenia tam plików):
https://mosquitto.org/man/mosquitto-tls-7.html
W sekcji "Server" generujemy klucz bez szyfrowania:
Generate a server key without encryption.

openssl genrsa -out server.key 2048
Z szyfrowaniem nie chce odpalić się usługa mosquitto, ponieważ trzeba wpisać hasło PEM.

Ustawiamy uprawnienia do plików certyfikatów, przenosimy pliki ca do folderu ca_certificates oraz kopiujemy server.crt do folderu konfiguracji HA.

Code: Select all

sudo chown -R mosquitto:mosquitto certs/
sudo chmod -R 755 certs/
sudo mv certs/ca.* ca_certificates/
sudo cp certs/server.crt /home/pi/docker-containers-configs/homeassistant/
sudo systemctl start mosquitto
Konfiguracja mqtt:

Code: Select all

sudo nano /etc/mosquitto/mosquitto.conf

Code: Select all

user mosquitto
per_listener_settings false
listener 1883 (dla TLS 8883)
cafile /etc/mosquitto/ca_certificates/ca.crt (tylko dla TLS)
keyfile /etc/mosquitto/certs/server.key (tylko dla TLS)
certfile /etc/mosquitto/certs/server.crt (tylko dla TLS)
tls_version tlsv1.2 (tylko dla TLS)
pid_file var/run/mosquitto/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto
log_dest file /var/log/mosquitto.log
require_certificate false
allow_anonymous false
password_file /etc/mosquitto/passwd
include_dir /etc/mosquitto/conf.d
Generujemy użytkownika i hasło:

Code: Select all

sudo mosquitto_passwd -c /etc/mosquitto/passwd user
Włączamy (autostart) i uruchamiamy usługę mosquitto

Code: Select all

sudo systemctl enable mosquitto.service
sudo systemctl start mosquitto.service
Konfiguracja Supla:

Code: Select all

nano /home/pi/supla-docker/.env   

Code: Select all

MQTT_BROKER_ENABLED=true
MQTT_BROKER_HOST=192.168.162.10 (tutaj IP twojego hosta z MQTT)
MQTT_BROKER_PORT=1883 (8883 dla TLS)
MQTT_BROKER_TLS=false (true dla TLS)
MQTT_BROKER_USERNAME=user
MQTT_BROKER_PASSWORD=password
MQTT_BROKER_CLIENT_ID=supla
Restartujemy Suplę:

Code: Select all

sudo /home/pi/supla-docker/supla.sh restart   
Wchodzimy na Cloud -> Konto -> Integracje -> Broker MQTT -> Włącz

Konfiguracja HA:

Code: Select all

sudo nano docker-containers-configs/homeassistant/configuration.yaml

Code: Select all

mqtt:
  broker: 192.168.162.10
  port: 1883 (dla TLS 8883)
  certificate: server.crt (tylko dla TLS)
  tls_insecure: true (tylko dla TLS)
  username: mqtt
  password: mqttkr$88
  discovery: true
  client_id: homeassistant

Po zapisaniu przechodzimy do HA -> Konfiguracja -> Ustawienia -> Kontrola serwera -> Uruchom ponownie
W Konfiguracja -> Urządzenia oraz usługi powinna pojawić się usługa MQTT z zaciągniętymi urządzeniami i encjami
Last edited by karnasw on Wed Feb 02, 2022 9:40 am, edited 3 times in total.
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

pzygmunt wrote: Tue Feb 01, 2022 4:46 pm To działa tak samo jak w przypadku asystentów głosowych.
Ok, a jest minimalny czas otwarcia bramy, aby serwer nie ponawiał, czy wystarczy zmiana stanu po wywołaniu?
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

lukfud wrote: Wed Feb 02, 2022 8:48 am
pzygmunt wrote: Tue Feb 01, 2022 4:46 pm To działa tak samo jak w przypadku asystentów głosowych.
Ok, a jest minimalny czas otwarcia bramy, aby serwer nie ponawiał, czy wystarczy zmiana stanu po wywołaniu?
Serwer sprawdza po 1 min czy udało się osiągnąć "docelowy stan".
Ewentualnie poczekaj chwilę - w kolejnym wydaniu będzie konfiguracja ilość powtórzeń i będzie można to wyłączyć
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

klew wrote: Wed Feb 02, 2022 8:55 am
lukfud wrote: Wed Feb 02, 2022 8:48 am
pzygmunt wrote: Tue Feb 01, 2022 4:46 pm To działa tak samo jak w przypadku asystentów głosowych.
Ok, a jest minimalny czas otwarcia bramy, aby serwer nie ponawiał, czy wystarczy zmiana stanu po wywołaniu?
Serwer sprawdza po 1 min czy udało się osiągnąć "docelowy stan".
Ewentualnie poczekaj chwilę - w kolejnym wydaniu będzie konfiguracja ilość powtórzeń i będzie można to wyłączyć
Tak, że będzie taka możliwość to już kiedyś przeczytałem.
Reasumując, na tą chwilę; jeśli otworzy się i zamknie w niecałą minutę, to będą kolejne próby otwarcia?
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
myrcin
Posts: 55
Joined: Fri Jun 07, 2019 9:08 am

Post

karnasw wrote: Tue Feb 01, 2022 11:00 pm

Po zapisaniu przechodzimy do HA -> Konfiguracja -> Ustawienia -> Kontrola serwera -> Uruchom ponownie
W Konfiguracja -> Urządzenia oraz usługi powinna pojawić się usługa MQTT z zaciągniętymi urządzeniami i encjami
@karnasw bardzo dziękuję za instrukcję, tej części w .env mi od początku brakowało.
Moje jedno jedyne urządzenie Supla (Nice SBP-01) pojawiło się jako Device w HA ale nie ma do niego encji. Nie wiem czy to prawidłowe?
Ponadto, gdy klikam na otwórzy/zamknij w HA to moduł Nice nie tyka. Mam go na razie na biurku nie podłączony jeszcze do bramy. Gdy robię open/close z Supla to słychać, że tyka. Czy muszę jeszcze coś w HA zrobić aby komunikacja zwrotna z HA do Supla była przekazywana?
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Powinny być encje. Jaką funkcję masz tam ustawioną ?
SUPLA.... Nareszcie w domu.
myrcin
Posts: 55
Joined: Fri Jun 07, 2019 9:08 am

Post

pzygmunt wrote: Wed Feb 02, 2022 6:54 pm Powinny być encje. Jaką funkcję masz tam ustawioną ?
Źle szukałem jest encja typ cover. O jakie funkcje pytasz?
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

w MQTT discovery wyzwalacz #1 pokazuje się jako button_2, a wyzwalacz #2 jako button_3.
Gdzie zaginął button_1 ?
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Ten numer jest powiązany z numerem kanału. Nie będzie działać poprawnie dla kanałów powyżej #5 czyli powyżej button_6
SUPLA.... Nareszcie w domu.
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

pzygmunt wrote: Sat Feb 05, 2022 4:00 pm Ten numer jest powiązany z numerem kanału. Nie będzie działać poprawnie dla kanałów powyżej #5 czyli powyżej button_6
Jasne, dzięki.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl

Return to “MQTT”