Управление светом через Mosquitto

Пытаюсь работать с устройствами с помощью mqtt библиотеки NodeJS и через консоль, но проблема в том, что при отправке сообщения, реле не переключается, хотя в веб интерфейсе статус меняется. Когда переключаю в вебе, то реле откликается.

Консоль:

root@wirenboard-ATAE4KQV:/# mosquitto_pub -t "/devices/wb-mr6c_96/controls/K1" -m "1"
root@wirenboard-ATAE4KQV:/# mosquitto_pub -t "/devices/wb-mr6c_96/controls/K1" -m "0"

JS код:

const mqtt = require('mqtt')
const client  = mqtt.connect('mqtt://192.168.0.116')
const topic = '/devices/wb-mr6c_96/controls/K1';

client.on('connect', function () {
  client.subscribe(topic, function (err) {
    if (!err) {
      setTimeout(() => { client.publish(topic, '1'); }, 0)
    }
  })
})

client.on('message', function (topic, message) {
  const str = message.toString();
  setTimeout(() => { client.publish(topic, str === '0' ? '1' : '0'); }, 1000)
  console.log(message.toString())
})

В результате меняется состояние без работы реле:

нашел в документации, что есть еще один канал /on
команда:

mosquitto_pub -t "/devices/wb-mr6c_96/controls/K1/on" -m "1"

дала результат :slight_smile:

1 лайк

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.