Здравствуйте. А подскажите как правильно должно выглядеть топик MQTT для управления по ZigBee? Не могу составить строку.
Например: zigbee2mqtt/relKabinetLustra2/set/on или zigbee2mqtt/relKabinetLustra2/set//1 - не работает.
Добрый день.
Для начала необходимо понимать каким устройством пытаетесь управлять. Управлять пытаетесь через стандартные инструменты zigbee2mqtt?
Ни первый ни второй вариант записи, по-моему работать не будет. Т.к. в первом случае управление через конвертер wb-zigbee2mqtt пока не реализовано, а во втором не соответствует zigbee2mqtt.
Попробуйте воспользоваться данной статьей для настройки управления вашим устройством.
Устройства Aqara, добавлены через модуль WB для ZigBee. У меня около 40 групп освещения. Сделал правила на управление в node-red (вкл/выкл). Я стал замечать, что с каждым днём работы контроллера отклик становится всё больше и больше, но после перезагрузки wb-rules работает идеально. Поэтому я хотел бы напрямую управлять устройствами ZigBee в iRidium по MQTT, но без wb-rules. Но это не подходит тем, что после перезагрузки контроллера некоторые группы освещения включаются, хотя стандартные настройки не стоят на включение.
Можно дать чёткий ответ? Можно ли управлять напрямую устройствами через z2m строкой?
Не понимаю к сожалению до конца вопроса.
Вот пример управления zigbee устройством “одной строй”.
Есть устройства ZigBee. Подключённые через модуль ZigBee Wirenboard. Сейчас я управляю устройствами, через переменные созданные в Node-red и обращаюсь непосредственно к этим переменным через путь /devices. Вопрос в следующем. Можно ли управлять устройствами ZigBee напрямую /z2m без wb-rules и node-red?
zigbee2mqtt — это мост, который с одной стороны работает с zigbee-устройствами, с другой публикует данные с них в MQTT и там же ждёт команды, которые надо отправить устройствам.
То есть для отправки команды устройству надо отправить её в соответствующий MQTT-топик zigbee2mqtt, как вы и делаете через node-red или wb-rules.
Как вы хотите эту строку писать в устройства? Через Иридиум? Просто пишите команду в нужный топик, например, где 0x00158d0001f3fc34 имя устройства:
Топик: zigbee2mqtt/0x00158d0001f3fc34/set
Команда: { state: "ON" }
zigbee2mqtt/0x54ef44100027d730/set/state/on - так тоже не получается.
К сожалению, я не знаком с Iridium.
Покажите в какой топик какую команду вы отправляете.
Ну тут больше не iRidium.
Имя устройства: 0x54ef44100027d730 (есть на скрине выше)
Я пытался отправить в такие топики:
zigbee2mqtt/0x54ef44100027d730/state/on
zigbee2mqtt/0x54ef44100027d730/set/state/on
Выдаёт ошибку. No Coverter available for “on” (0) или No Coverter available for “on” (1)
Возможно, если вы верно всё отправляете в устройство.
Вот страница вашего устройства, если я верно понял из скриншота: Aqara SSM-U01 control via MQTT | Zigbee2MQTT
Чтобы управлять реле, надо отправить в топик zigbee2mqtt/FRIENDLY_NAME/set
сообщения {"state": "ON"}
или {"state": "OFF"}
.
Тогда давайте подробнее.
Через какое приложение и на какое устройство вы пытаетесь отправить команду?
Укажите какую команду вы отправляете? И в какой топик.
Вот пример отправки команды прямо из терминала контроллера (устройство отрабатывает команду):
mosquitto_pub -t 'zigbee2mqtt/WB-MSW v.4/set' -m '{ "state_l1": "ON" }'
Добрый день.
Остались ли у вас вопросы по данной теме?