Zedytowałem instrukcję jest opcja z TLS i bez TLS.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:
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ę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![]()
Przechodzimy do /etc/mosquitto/certs
Code: Select all
cd /etc/mosquitto/certshttps://mosquitto.org/man/mosquitto-tls-7.html
W sekcji "Server" generujemy klucz bez szyfrowania:
Z szyfrowaniem nie chce odpalić się usługa mosquitto, ponieważ trzeba wpisać hasło PEM.Generate a server key without encryption.
openssl genrsa -out server.key 2048
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 mosquittoCode: Select all
sudo nano /etc/mosquitto/mosquitto.confCode: 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
Code: Select all
sudo mosquitto_passwd -c /etc/mosquitto/passwd userCode: Select all
sudo systemctl enable mosquitto.service
sudo systemctl start mosquitto.serviceCode: 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=suplaCode: Select all
sudo /home/pi/supla-docker/supla.sh restart Konfiguracja HA:
Code: Select all
sudo nano docker-containers-configs/homeassistant/configuration.yamlCode: 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
