Supla<->MQTT - Instalacja

Beku
Posts: 453
Joined: Tue Nov 06, 2018 1:49 pm

Post

UbU wrote: Wed Dec 11, 2019 10:57 am Pomogła zmiana wersji protokołu na "3".
mosquitto jest w wersji 1.4.10 (MQTT v3.1) na tej wersji brokera to normalne?
Generalnie wersja 5 MQTT chociaż już obecna od jakiegoś czasu nie jest jeszcze publikowana w domyślnych pakietach brokera MQTT. Stąd - jak opisałem w opisie instalacji - potrzebna zmiana na wersję 3.

Jeśli masz wersje brokera która wspiera MQTT v3.1 to musisz mieć w config ustawioną wersję 3. Wszystko będzie działały poprawnie
UbU
Posts: 84
Joined: Fri Jan 18, 2019 12:34 pm

Post

Dzięki za wyjaśnienia.
User avatar
Pan O
Posts: 44
Joined: Mon Dec 16, 2019 9:07 pm

Post

Przymierzam sie właśnie do postawienia tego klienta. (Jedyna potencjalnie bezbolesna metoda integracji MEW-01 z Home Assistantem).
Mój broker siedzi lokalnie ale ma skonfigurowane dodatkowo zabezpieczenie na username/password.

Jak to zdefiniowac? Ten client obsluzy podlaczenie z prosta autoryzacja?


mqtt:
host: 'mqttserverhost'
port: 1883

????
Beku
Posts: 453
Joined: Tue Nov 06, 2018 1:49 pm

Post

Tak,

Trzeba w sekcji mqtt dopisać (w pojedynczych cudzysłowach podobnie jak host)

Code: Select all

username: użytkownik 
password: hasło 
Tu jest opis.

https://github.com/SUPLA/supla-core/tre ... qtt-client

Proponuje od razu tez zmienić wersje protokołu MQTT na 3.

Code: Select all


mqtt:
  host: 'mqtthost' # MQTT server hostname
  port: 1883 # MQTT server port
  commands_file_path: '/home/pi/supla-mqtt-client/config/command.yaml' # absolute path to the command.yaml configuration file
  states_file_path: '/home/pi/supla-mqtt-client/config/state.yaml' # absolute path to the state.yaml configuration file
  username: '' # MQTT username if the server is secured in this way. if You don't use it delete this line
  password: '' # MQTT password if the server is secured in this way. uf You don't use it delete this line
  client_name: 'supla_mqtt_client' #MQTT broker client name should be unique
  protocol_version: 5 #MQTT protocol version. supported 3 for 3.1.1 version and 5
  publish_supla_events: true #if enabled client will publish supla client events 



User avatar
Pan O
Posts: 44
Joined: Mon Dec 16, 2019 9:07 pm

Post

dzięki za informacje - potestuje i dam znac. zapomniałem o złotej zasadzie RTFM - posilkowalem się tylko początkiem tego wątku.
Sibikk
Posts: 366
Joined: Mon Nov 07, 2016 12:42 pm
Location: Katowice

Post

Część, czy jest szansa na update dla integracji aby wysyłała prefix 'discivery' żeby zautomatyzować dodawanie urządzeń do Homeasistanta.
https://www.home-assistant.io/docs/mqtt/discovery/

:roll:
Image
Beku
Posts: 453
Joined: Tue Nov 06, 2018 1:49 pm

Post

Sibikk wrote: Fri Dec 20, 2019 4:43 pm Część, czy jest szansa na update dla integracji aby wysyłała prefix 'discivery' żeby zautomatyzować dodawanie urządzeń do Homeasistanta.
https://www.home-assistant.io/docs/mqtt/discovery/

:roll:
Myślałem o tym ale chwilowo brak czasu. To wymaga osobnej funkcjonalności bo ten Discovery musi być wysłany tylko raz lub przy zmianie konfiguracji. Wszystko da się skonfigurować w HA w plikach konfiguracyjnych ale wtedy chyba nie są widoczne kanały jako urządzenia 🤨
MartinSnow
Posts: 12
Joined: Fri May 31, 2019 7:50 pm

Post

Witam, walczę już z tydzień z podpięciem przełączników do HomeAssistant i bez efektu, o ile z czujnikami temperatury nie było problemu to z tym nie mogę sobie poradzić, może ktoś bardziej obeznany podpowie jak to podpiąć. W switch.yaml aktualnie mam coś takiego jak poniżej i już nie mam pomysłu co wpisać w state_topic, command_topic i availablity_topic itd. żeby to działało.

Code: Select all

- platform: mqtt
  name: "RTV mqtt"
  state_topic: "supla/channels/status/relay/7107"
  command_topic: "supla/channels/command/relay/7107"
  availability_topic: "supla/channels/status/relay/7107"
  payload_on:  "1"
  payload_off: "0"
  state_on: "1"
  state_off: "0"
  optimistic: false
  qos: 0
  retain: true  
  
Beku wrote: Fri Dec 20, 2019 7:28 pm Wszystko da się skonfigurować w HA w plikach konfiguracyjnych ale wtedy chyba nie są widoczne kanały jako urządzenia
Jakieś postępy w kierunku 'discovery' ? mega ułatwiłoby to dodawanie urządzeń.
mariusz_70
Posts: 104
Joined: Thu Nov 10, 2016 5:51 pm
Location: Koszalin

Post

State_topic - informuje że twój moduł w SUPLA Cloud ustawioną ma funkcje "Włącznik światła"

Code: Select all

 /relay/ 
czyli w HA w light.yaml dodaj taki wpis:

Code: Select all

 - platform: mqtt
   schema: template  
   name: "RTV mqtt"
   state_topic: "supla/channels/status/relay/7107"  
   command_topic: "supla/channels/command/7107"
   command_on_template: '{ "idx": 7107, "on": true }'
   command_off_template: '{ "idx": 7107, "on": false }'
   state_template: '{{ "on" if value_json.on else "off" }}' 
Jeśli chcesz żeby był to switch zmień w SUPLA Cloud "Włącznik światła" na "Włacznik zasilania"

supla-włącznik.jpg

i w switch.yaml wpisz:

Code: Select all

 - platform: mqtt
   name: "RTV mqtt"
   state_topic: "supla/channels/status/switch/7107"  
   command_topic: "supla/channels/command/7107"
   payload_on: '{ "ident": { "id": 7107 }, "on": 1 }'
   payload_off: '{ "ident": { "id": 7107 }, "on": 0 }'
   state_on: '{"id": 7107, "caption": "RTV mqtt", "on": 1, "online": 1}'
   state_off: '{"id": 7107, "caption": "RTV mqtt", "on": 0, "online": 1}' 
Przy zmianie funkcji(nie pamiętam dokładnie) chyba zmieni się "id".
You do not have the required permissions to view the files attached to this post.
MartinSnow
Posts: 12
Joined: Fri May 31, 2019 7:50 pm

Post

Wielkie dzięki, światełka śmigają teraz pięknie, ostatecznie wygląda to tak:

oświetlenie w light.yaml

Code: Select all

- platform: mqtt
  schema: template  
  name: "Światło kuchnia"
  state_topic: "supla/channels/status/relay/9588"  
  command_topic: "supla/channels/command/relay/9588"
  command_on_template: '{ "id": 9588, "on": 1 }'
  command_off_template: '{ "id": 9588, "on": 0 }'
  state_template: '{{ "on" if value_json.on else "off" }}'
włączniki w switch.yaml

Code: Select all

- platform: mqtt
  name: "ogrzewanie salon"
  state_topic: "supla/channels/status/switch/6913"  
  command_topic: "supla/channels/command/switch/6913"
  payload_on: '{ "id": 6913, "on": 1 }'
  payload_off: '{ "id": 6913, "on": 0 }'
  state_on: '{"id": 6913, "caption": "ogrzewanie salon", "on": 1, "online": 1}'
  state_off: '{"id": 6913, "caption": "ogrzewanie salon", "on": 0, "online": 1}' 
Last edited by MartinSnow on Mon Feb 03, 2020 11:32 am, edited 2 times in total.

Return to “MQTT”