Supla<->MQTT - Instalacja

Beku
Posty: 353
Rejestracja: wt lis 06, 2018 1:49 pm

śr gru 11, 2019 11:00 am

UbU pisze:
śr gru 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
Posty: 34
Rejestracja: pt sty 18, 2019 12:34 pm

śr gru 11, 2019 11:04 am

Dzięki za wyjaśnienia.
Awatar użytkownika
Pan O
Posty: 12
Rejestracja: pn gru 16, 2019 9:07 pm

czw gru 19, 2019 2:29 pm

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
Posty: 353
Rejestracja: wt lis 06, 2018 1:49 pm

czw gru 19, 2019 3:55 pm

Tak,

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

Kod: Zaznacz cały

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.

Kod: Zaznacz cały


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 



Awatar użytkownika
Pan O
Posty: 12
Rejestracja: pn gru 16, 2019 9:07 pm

czw gru 19, 2019 4:37 pm

dzięki za informacje - potestuje i dam znac. zapomniałem o złotej zasadzie RTFM - posilkowalem się tylko początkiem tego wątku.
Sibikk
Posty: 308
Rejestracja: pn lis 07, 2016 12:42 pm
Lokalizacja: Katowice

pt gru 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:
Beku
Posty: 353
Rejestracja: wt lis 06, 2018 1:49 pm

pt gru 20, 2019 7:28 pm

Sibikk pisze:
pt gru 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
Posty: 12
Rejestracja: pt maja 31, 2019 7:50 pm

sob sty 18, 2020 1:02 pm

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.

Kod: Zaznacz cały

- 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 pisze:
pt gru 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
Posty: 69
Rejestracja: czw lis 10, 2016 5:51 pm

sob sty 18, 2020 3:24 pm

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

Kod: Zaznacz cały

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

Kod: Zaznacz cały

 - 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
supla-włącznik.jpg (30.5 KiB) Przejrzano 481 razy

i w switch.yaml wpisz:

Kod: Zaznacz cały

 - 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".
MartinSnow
Posty: 12
Rejestracja: pt maja 31, 2019 7:50 pm

śr sty 29, 2020 9:54 pm

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

oświetlenie w light.yaml

Kod: Zaznacz cały

- 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

Kod: Zaznacz cały

- 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}' 
Ostatnio zmieniony pn lut 03, 2020 11:32 am przez MartinSnow, łącznie zmieniany 2 razy.
ODPOWIEDZ