# Konfiguracja MQTT

**URL:** <https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991>\
**Category:** Uncategorized\
**Created:** [20 Listopad 2020 22:22 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991 "2020-11-20T22:22:57Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [20 Listopad 2020 22:22 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/1 "2020-11-20T22:22:57Z")

</div>

Witam wszystkich

Zwracam się z prośbą o pomoc w konfiguracji ustawień Switch MQTT dla zakupionego urządzenia jak poniżej:

![obraz](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/f/faf279978ee8520b14b1af71556f85d349f8c998.jpeg)

Urządzenie posiada możliwość komunikacji po MQTT.  
Integracja z Jolką jednak nie przebiega tak łatwo, z tego co udało się ustalić i sprawdzić w działaniu:

- po ręcznym wpisaniu nasłuchiwania Topic w integracji mqtt tj.  
/dingtian/relay1454/out/relay1  
otrzymuję zwrotnie informację o stanie przekaźnika
- po ręcznym wpisaniu opublikuj temat:  
temat: /dingtian/relay1454/in/control  
payload: {“type”:“ON/OFF”,‘idx’:‘1’,“status”:“ON”,“time”:“0”,“pass”:“0”}  
przekaźnik zmienia stan na on, a po wpisaniu  
{“type”:“ON/OFF”,‘idx’:‘1’,“status”:“OFF”,“time”:“0”,“pass”:“0”}  
Zmienia stan na OFF.

Problem tkwi w konfiguracji pliku switch.yaml aby móc sterować powyższymi komendami za pomocą encji switch/toggle.  
Próbowałem różnych konfiguracji, ale w żaden sposób nie mogłem uruchomić poprawnego działania.

Proszę o radę jak powinien wyglądać poniższy kod w switch yaml:

- platform: mqtt  
name: SYPIALNIAMQTT  
state\_topic: “/dingtian/relay1454/out/relay1”  
command\_topic: “/dingtian/relay1454/in/control”  
payload\_on : ON  
payload\_off : OFF

Z góry dziękuję za pomoc i odpowiedź.

Pozdrawiam

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [21 Listopad 2020 07:38 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/2 "2020-11-21T07:38:26Z")

</div>

To co wysyłasz wrzuć w payload\_on/off.

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [21 Listopad 2020 09:00 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/3 "2020-11-21T09:00:39Z")

</div>

Próbowałem poniższych konfiguracji, niestety występują błąd w kompilacji:

platform: mqtt  
name: SYPIALNIAMQTT  
state\_topic: “/dingtian/relay1454/out/relay1”  
command\_topic: “/dingtian/relay1454/in/control”  
payload\_on : {“type”:“ON/OFF”,‘idx’:‘1’,“status”:“ON”,“time”:“0”,“pass”:“0”}  
payload\_off : {“type”:“ON/OFF”,‘idx’:‘1’,“status”:“OFF”,“time”:“0”,“pass”:“0”}

oraz

payload\_on : “type”:“ON/OFF”,‘idx’:‘1’,“status”:“ON”,“time”:“0”,“pass”:“0”  
payload\_off : “type”:“ON/OFF”,‘idx’:‘1’,“status”:“OFF”,“time”:“0”,“pass”:“0”

i

payload\_on : ““type”:“ON/OFF”,‘idx’:‘1’,“status”:“ON”,“time”:“0”,“pass”:“0””  
payload\_off : ““type”:“ON/OFF”,‘idx’:‘1’,“status”:“OFF”,“time”:“0”,“pass”:“0””

Niestety błąd wyskakuje przy każdej opcji.

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [21 Listopad 2020 19:12 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/4 "2020-11-21T19:12:59Z")

</div>

Proponuję tak:  
[sypialniamqtt.yaml](https://ai-speaker.discourse.group/uploads/short-url/dQ3C48FuDetLGRtgElDdNyGgRvP.yaml) (305 bajtów)

Nie mam jak przetestować poza poprawnością zapisu, więc daj znać czy działa.

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [21 Listopad 2020 19:35 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/5 "2020-11-21T19:35:44Z")

</div>

!!! Działa 🙂 jestem winien …kawę … ostatecznie piwko 🙂  
Teraz muszę pobawić się włącznikami w HA bo na przycisk nie działa. A po ustawieniu w encji muszę dwa razy szybko kliknąć żeby zmienił stan.  
Stanu na razie nie raportuje poprawnie.  
Zgodnie z dokumentacją stan jest raportowany w postaci np:

{“idx”:”1”,”status”:”OFF”}

której Jolka nie odszyfrowuje … bo i jak.  
Dokumentacja w załączniku

[mqtt manual\_en.pdf](https://ai-speaker.discourse.group/uploads/short-url/nvzab18tQ3UGYSOU4KmHHnEOq8N.pdf) (201,9 KB)

Jeszcze raz bardzo dziękuję.

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [24 Listopad 2020 20:44 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/6 "2020-11-24T20:44:32Z")

</div>

Sterowanie ON/OFF działa bez problemu.  
W jaki sposób dla poniższego topicu:  
/dingtian/relay1454/out/relay1  
pobrać i wyświetlić w Jolce stan przekaźnika?  
informacje jakie otrzymuje przy podglądzie powyższego topicu:

{“idx”:“1”,“status”:“ON”}  
oraz  
{“idx”:“1”,“status”:“OFF”}

Poniższy kod nie zwraca aktualizacji sygnału zwrotnego po wysterowaniu ręcznym.

- platform: mqtt  
name: “Office”  
unique\_id: 1  
command\_topic: “/dingtian/relay1454/in/control”  
state\_topic: “/dingtian/relay1454/out/relay1”  
payload\_on : “{‘type’:‘ON/OFF’,‘idx’:‘1’,‘status’:‘OFF’,‘time’:‘0’,‘pass’:‘0’}”  
payload\_off : “{‘type’:‘ON/OFF’,‘idx’:‘1’,‘status’:‘ON’,‘time’:‘0’,‘pass’:‘0’}”  
state\_on: “{‘idx’:‘1’,‘status’:‘ON’}”  
state\_off: “{‘idx’:‘1’,‘status’:‘OFF’}”

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [24 Listopad 2020 20:54 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/7 "2020-11-24T20:54:05Z")

</div>

Sprawdź to:  
Wpisz tą linijkę:  
state\_value\_template: “{{ value\_json.status }}”  
zamiast 2 linijek:  
state\_on: “{‘idx’:‘1’,‘status’:‘ON’}”  
state\_off: “{‘idx’:‘1’,‘status’:‘OFF’}”

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [24 Listopad 2020 20:59 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/8 "2020-11-24T20:59:40Z")

</div>

Błąd kompilacji

Invalid config for [switch.mqtt]: [state\_value\_template] is an invalid option for [switch.mqtt]. Check: switch.mqtt-\>state\_value\_template. (See ?, line ?).

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [24 Listopad 2020 21:02 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/9 "2020-11-24T21:02:34Z")

</div>

Przepraszam, nie wiem czemu, ale czytałem dokumentację light zamiast switch.  
Użyj **value\_template** zamiast **state\_value\_template**.

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [24 Listopad 2020 21:05 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/10 "2020-11-24T21:05:40Z")

</div>

Przetestowałem to zanim napisałeś, niestety nie ma reakcji

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [24 Listopad 2020 21:20 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/11 "2020-11-24T21:20:32Z")

</div>

A sprawdzałeś może czy faktycznie taki message na tym temacie jest?

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [24 Listopad 2020 21:25 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/12 "2020-11-24T21:25:46Z")

</div>

![obraz](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/6/633fcf4827f6167bfc4d74b93bcf7ec41ab5730a.png)

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [24 Listopad 2020 21:30 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/13 "2020-11-24T21:30:42Z")

</div>

value\_template: “{{ value\_json.status }}”  
state\_on: “ON”  
state\_off: “OFF”

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [24 Listopad 2020 21:38 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/14 "2020-11-24T21:38:24Z")

</div>

Error loading /data/data/pl.sviete.dom/files/home/AIS/configuration.yaml: ‘utf-8’ codec can’t decode byte 0x93 in position 4091: invalid start byte

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [25 Listopad 2020 08:02 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/15 "2020-11-25T08:02:04Z")

</div>

Zamień ręcznie znaki ".

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [25 Listopad 2020 15:41 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/16 "2020-11-25T15:41:42Z")

</div>

Niestety ☹  
Próbowałem wstawić również wstawić pełną nazwę w state

state\_on: “{ ‘idx’: ‘1’, ‘status’: ‘OFF’}”

żadnej reakcji.

Jest pewien progres, po usunięciu payload zwrot informacji o stanie działa, ale oczywiście przestało działać sterowanie.

Aktualnie encja wygląda następująco:

- platform: mqtt  
name: “Office”  
command\_topic: “/dingtian/relay1454/in/control”  
state\_topic: “/dingtian/relay1454/out/relay1”  
value\_template: “{{ value\_json.status }}”

Po dodaniu pełnej konfiguracji nie działa ani sterowanie ani raportowanie

Pełna konfiguracja nie działająca.

- platform: mqtt  
name: “Office”  
command\_topic: “/dingtian/relay1454/in/control”  
state\_topic: “/dingtian/relay1454/out/relay1”  
payload\_on : “{‘type’:‘ON/OFF’,‘idx’:‘1’,‘status’:‘ON’,‘time’:‘0’,‘pass’:‘0’}”  
payload\_off : “{‘type’:‘ON/OFF’,‘idx’:‘1’,‘status’:‘OFF’,‘time’:‘0’,‘pass’:‘0’}”  
value\_template: “{{ value\_json.status }}”

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [26 Listopad 2020 20:41 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/17 "2020-11-26T20:41:53Z")

</div>

@Stravi Czy masz może jakiś pomysł w jaki sposób zrealizować sterowanie oraz raportowanie ? Pod jednym switch-em raczej nie da się tego zrobić. Może dwa oddzielne switch-e jeden raportuje drugi steruje i jakaś automatyzacja, skrypt łączący to wszystko pod jeden przycisk.  
Raportowanie jest niezbędne, choć by ze względów na przyszłą automatyzację.  
Jeszcze raz dziękuję za dotychczasową pomoc.

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [27 Listopad 2020 09:06 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/18 "2020-11-27T09:06:58Z")

</div>

Hm… problemem jest tutaj to, że do ustawiania stanu i odczytywania stanu są używane 2 różne json’y. Wg mnie implementacja HA nie przewidziała takiego scenariusza, ale może ktoś inny ma na to rozwiązanie. Moja propozycja w załączniku.  
[office.txt](https://ai-speaker.discourse.group/uploads/short-url/6nyRVKCAfRb5lcActel2OsdPX07.txt) (744 bajty)

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [28 Listopad 2020 14:42 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/19 "2020-11-28T14:42:07Z")

</div>

@Xylo działa? Czy może “something is no yes” 🙂

---

<div class="post-metadata">

**Autor:** ![Xylo](https://avatars.discourse-cdn.com/v4/letter/x/53a042/32.png) [@Xylo](https://ai-speaker.discourse.group/u/Xylo)\
**Data wpisu:** [28 Listopad 2020 18:58 UTC](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991/20 "2020-11-28T18:58:43Z")

</div>

@Stravi Niestety ☹ próbowałem modyfikować otrzymany kod na różne strony. Niestety efekt jest taki sam jak poprzednio, przy wpisywaniu teoretycznie pełnego poprawnego kodu.  
Raportowanie blokuje tak jak by sterowanie. Tzn można tylko uruchomić switch, wyłączyć już nie. Raportowanie nie działa w ogóle.  
MQTT z HA raczej nie zagra.  
Moduł posiada jeszcze dwie integracje, które można wykorzystać do komunikacji tj

- CGI
- Modbus TCP/UDP

Będę dziś próbował uruchomić pozostałe sposoby komunikacji.

[Następna strona](https://ai-speaker.discourse.group/t/konfiguracja-mqtt/991.md?page=2)
