Добавление неподдерживаемых устройств в Zigbee2MQTT
Процесс сопряжения устройств IKEA и Xiaomi прошел хорошо. С Zemismart Zigbee RGB Downlight (обзор скоро) тоже все было просто , но мне не удалось прочитать состояние или управлять устройством, так как Zemismart Zigbee RGB Downlight не было в списке поддерживаемых устройств. Я подумал, что стоит описать процедуру на случай, если вы застрянете с добавлением новых устройств в Zigbee2MQTT.
Сопряжение новых устройств с Zigbee2MQTT
Сопряжение зависит от инструкций производителя, поэтому, пожалуйста, обратитесь к ним, чтобы узнать, как ввести правильное состояние сопряжения с помощью сброса. Хотя сопряжение пультов IKEA и Aqara для освещения и датчиков уже хорошо описано в руководстве, вы не получите много подсказок для других устройств. Убедитесь, что ваш файл .configuration.yaml
имеет permit_join: true
#открыть файл конфигурации
sudo nano /opt/zigbee2mqtt/data/configuration.yaml
#Остановка zigbee2mqtt
sudo systemctl stop zigbee2mqtt
#Запуск zigbee2mqtt
sudo systemctl start zigbee2mqtt
#Просмотр журнала zigbee2mqtt
sudo journalctl -u zigbee2mqtt.service -f
Просто держите устройство рядом в режиме сопряжения, пока не увидите следующие строки:
zigbee2mqtt:warn 6/7/2019, 12:26:07 PM Message without device!
zigbee2mqtt:info 6/7/2019, 12:26:16 PM New device 'undefined' with address 0x00124b001c889570 connected!
zigbee2mqtt:info 6/7/2019, 12:26:16 PM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":"0x00124b001c889570","meta":{}}'
zigbee2mqtt:warn 6/7/2019, 12:26:16 PM Device with modelID 'undefined' is not supported.
zigbee2mqtt:warn 6/7/2019, 12:26:16 PM Please see: https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html
Это означает, что ваше устройство сопряжено, и вы можете открыть configuration.yaml и назвать его. Оно будет указано как последнее устройство в списке:
'0x00124b001c889570':
friendly_name: ' 0x00124b001c889570'
retain: false
change to:
'0x00124b001c889570':
friendly_name: 'spotlight'
retain: false
Сохраните файл и перезапустите службу Zigbee2MQTT или перезагрузите Raspberry Pi. На этом этапе вы готовы добавить новое устройство в список.
На этом этапе сделайте себе одолжение и держите устройство поближе к cc2531. Я расстроился и захотел продолжить работу внизу, поэтому я вынес устройство за пределы сети ZigBee, не осознавая этого.
Для управления новым устройством мне пришлось изменить файл. Без этого я не смог бы отправлять команды. Открыть: node_modules/zigbee-herdsman-converters/devices.js
sudo nano /opt/zigbee2mqtt/node_modules/zigbee-herdsman-converters/devices.js
Затем добавьте новое устройство согласно шаблону :
{
zigbeeModel: ['lumi.sens'], // The model ID from: Device with modelID 'lumi.sens' is not supported.
model: 'WSDCGQ01LM', // Vendor model number, look on the device for a model number
vendor: 'Xiaomi', // Vendor of the device (only used for documentation and startup logging)
description: 'MiJia temperature & humidity sensor ', // Description of the device, copy from vendor site. (only used for documentation and startup logging)
supports: 'temperature and humidity', // Actions this device supports (only used for documentation)
fromZigbee: [], // We will add this later
toZigbee: [], // Should be empty, unless device can be controlled (e.g. lights, switches).
},
Обратите особое внимание на: &, так как их можно заменить на: fromZigbee: [] & toZigbee: []
extend: generic.light_onoff_brightness_colortemp,
Если вы посмотрите на верхнюю часть файла шаблона (вверху), вы увидите несколько шаблонов управления, сохраненных под и . Проверьте, какие возможности управления/отчетности есть у вашего устройства, и добавьте вместо них одну строку.generic.xxxxx hue.xxxxgledopto.xxxxextend
extend: generic.light_onoff_brightness_colortemp,
is equal to:
fromZigbee: generic.light_onoff_brightness_colortemp.fromZigbee,
toZigbee: [tz.gledopto_light_onoff_brightness, tz.gledopto_light_colortemp, tz.ignore_transition, tz.light_alert,],
Поскольку я знаю, что мое устройство поддерживает переключение, регулировку яркости и управление цветом, я добавил следующую конфигурацию
{
zigbeeModel: ['NUET56-DL27LX1.1'],
model: 'LXZB-12A',
vendor: 'Zemismart',
description: 'RGB LED Downlight',
supports: 'RGB, Dimming',
extend: gledopto.light_onoff_brightness_colortemp_colorxy
},
Мне не пришлось пересчитывать значения, но ваш случай может быть другим. На странице Zigbee2MQTT упоминалось, что вам может потребоваться сделать это, если ваш протокол Zigbee несовместим. Поскольку у меня не было устройства для проверки, я не смогу вам помочь.
Основы управления Zigbee2MQTT
После настройки устройства мы можем добавить узлы MQTT для его управления. Чтобы прочитать статус устройства, добавьте MQTT в узел и выполните отладку с помощью:
zigbee2mqtt/devicename
Поменяйте соответствующие значения, если вы отредактировали тему Zigbee2MQTT и ввели имя вашего устройства. Если вы выдаете следующий JSON:
{
"state": ""
}
На выходной узел MQTT вы получите обновление статуса следующего вида:zigbee2mqtt/devicename/get
{"topic":"zigbee2mqtt/spotlight1","payload":"{\"state\":\"ON\",\"linkquality\":78,\"brightness\":254,\"color\":{\"x\":0.6173,\"y\":0.3694},\"color_temp\":155}","qos":0,"retain":false,"_msgid":"9de88d8c.894a5"}
Если вы хотите управлять устройством ZigBee, просто отправьте сообщение JSON:
{
"state": "ON",
"brightness": 255,
"color_temp": 155,
"color": {
"hex": "#ea770b"
}
}
С изменениями, которые вы хотите сделать. Вам не нужно передавать все данные, только значения JSON, которые вы хотите установить. zigbee2mqtt/devicename/set
Возможные проблемы?
Помехи от Raspberry Pi также являются известным фактором. Если ваше устройство работает нормально в терминале, но вы не можете подключить новые устройства, попробуйте подключить координатор через удлинительный кабель USB и отодвинуть его от Raspberry Pi.
Если у вас уже есть какие-то устройства в сети, особенно конечные устройства, и вы можете оказаться на пределе возможностей координатора, и вам нужен более мощный, обратите внимание на CC2652R от Electrolama и руководство по увеличению количества до 50 прямых потомков и 200 устройств.
Заключение
Этот процесс не так дружелюбен для новичков, как добавление устройств Xiaomi или IKEA, но со временем список поддерживаемых устройств станет больше. Теперь вы должны знать, как добавлять и использовать новые устройства в Zigbee2MQTT. Скоро я покажу вам классные сценарии управления с использованием различных пультов дистанционного управления.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.