Здравствуйте. Подключаю электрокарниз A-OK
AM68-1.5/100-EM-PZ используя модуль WBE2R-R-ZIGBEE v.2 . В устройствах все появилось, информация обновляется
Подскажите, хочу пробросить устройство в Home Assistant. Какая будет структура для топика для свойства command_topic в файле configuration.yaml.
Сейчас доступны топики для карниза:
Добрый день.
Не очень понятно пока, планируете использовать управление непосредственно из HA?
Или использовать промежуточные правила как тут описано?
Да, не получается найти устройство “AM68” в списке поддерживаемых. Какие контролы используете сейчас для управления?
Планирую описать в HA устройство с помощью секции cover, что-то вроде
Так, понятно. А если руками публиковать - работает, управляется?
Подписка на топики отлично отрабатывает на сервере с HA, там же установлен mosquitto. Тут штора открывается и закрывается
Пробовал такую команду
mosquitto_pub -t “/client/AWS49LQT/devices/0x540f57fffef60bbf/controls/state/on” -m 1 -h 127.0.0.1 -u
Ничего не происходит
Нет.
Публикуете в конвертор, который не отрабатывает управление. Публиковать надо в топик z2m, как описано тут: Подключение устройств Zigbee к контроллеру Wiren Board — Wiren Board
И само публикуемое значение формировать по документации из z2m, пример для произвольного привода: Tuya TS0601_cover_1 control via MQTT | Zigbee2MQTT
Я не нашел вашу модель привода в списке поддерживаемых z2m поэтому пример абстрактный, уточните в документации на привод как именно надо управлять.
На контроллере:
mosquitto_pub -t 'zigbee2mqtt/0x540f57fffef60bbf/set' -m '{"position": 30}'
Огромное Вам спасибо ! Команды приведенные в Tuya TS0601_cover_1 control via MQTT | Zigbee2MQTT работают. Добавил только параметр с адресом контролера WB:
mosquitto_pub -t ‘zigbee2mqtt/0x540f57fffef60bbf/set’ -m ‘{“state”: “OPEN”}’ -h 192.168.1.8
Подскажите, а почему топики zigbee2mqtt не проходят через мост mosquitto, который настроен на контроллере WB.
По идее должны все топики в обе стороны проходить
Нет, в мосту только указанные (описанные) в нем. Топик zigbbee2mqtt - не описан, его надо добавлять.
Спасибо за быстрый ответ.
Конструкция topic /# both это разве не все топики?
Пр топики начинающиеся с /
Но это подход, годный, в общем только для отладки. Потому что при таком описании в мост попадает и /rpc/# например,в котором могут мегабайты ежесекундно качаться.
Понял. Спасибо !
Давно хотел спросить, в примерах настройки для моста что значат символы отмеченные красными стрелками?
Про это подробно описано в документации самого брокера: mosquitto.conf man page | Eclipse Mosquitto, секция “Configuring bridge”
Я читал, но не очень понятно, особенно что значит “2”
При настройке мостов нет не значимых параметров.
QOS, его уровень влияет как на нагрузку так и на надежность доставки. Чем выше - тем надежнее. Но следует очень тщательно подходить к настройке его уровня и длин очередей, иначе легко получить отказыващую при недоступности узла систему, простой пример: Работа без Интернета.
Так что советую делать именно так как в проекте, предполагая что разработчик про это подумал.
Что-то совсем не понятно. “2”- это уровень QOS ?
Итоговый результат, может кому-то будет полезен. Особенная благодарность BrainRoot без его советов не справился бы.
На контролере для mosquitto, в настройки бриджа добавил одну строку
topic zigbee2mqtt/# both
Остальные настройки брокера как в инструкции MQTT в контроллерах Wiren Board — Wiren Board
На компьютер с Home Assistant пакет zigbee2mqtt не устанавливал и соответствующую интеграцию не добавлял. В файл configuration.yaml в раздел mqtt добавил секцию cover
mqtt:
cover:
- unique_id: wb-AOC
name: "Гостинная. Штора"
availability:
topic: "zigbee2mqtt/bridge/state"
payload_available: "online"
payload_not_available: "offline"
value_template: "{{ value_json.state }}"
command_topic: "zigbee2mqtt/0x540f57fffef60bbf/set"
position_topic: "zigbee2mqtt/0x540f57fffef60bbf"
position_template: "{{ value_json.position }}"
set_position_topic: "zigbee2mqtt/0x540f57fffef60bbf/set"
set_position_template: "{ \"position\": {{ 100 - state_attr('cover.mqtt_cover','current_position') }} }"
position_open: 0
position_closed: 100
Получилось
Ну отлично, рад что получилось.
А это сделано потому что привод не инвертируется настройками?
Не совсем. Вот эти параметры срабатывают только на полное открытие и закрытие.
position_open: 0
position_closed: 100
Если нужно установить конкретную позицию, то приходится инвертировать.