『瀚思彼岸』» 智能家居技术论坛

标题: Z2M增加不支持的设备配置文件导致Z2M无法启动502: Bad Gateway [打印本页]

作者: Clark    时间: 2022-6-14 20:35
标题: Z2M增加不支持的设备配置文件导致Z2M无法启动502: Bad Gateway
本帖最后由 Clark 于 2022-6-14 20:38 编辑

一个四开单火线开关,Z2M添加提示不支持。
[attach]38385[/attach]
[attach]38385[/attach]
商家发给我配置文件。
原先/config/zigbee2mqtt/configuration.yaml 配置如下:
  1. external_converters: []
  2. devices:
  3.   - devices.yaml
  4. groups:
  5.   - groups.yaml
  6. homeassistant: true
  7. permit_join: false
  8. mqtt:
  9.   base_topic: zigbee2mqtt
  10.   server: mqtt://core-mosquitto:1883
  11.   user: mqtt
  12.   password: mqtt
  13. serial:
  14.   port: tcp://192.168.1.21:8888
  15.   adapter: ezsp
  16. advanced:
  17.   log_level: warn
  18.   pan_id: 6754
  19.   channel: 11
  20.   network_key:
  21.     - 1
  22.     - 3
  23.     - 5
  24.     - 7
  25.     - 9
  26.     - 11
  27.     - 13
  28.     - 15
  29.     - 0
  30.     - 2
  31.     - 4
  32.     - 6
  33.     - 8
  34.     - 10
  35.     - 12
  36.     - 13
  37.   availability_blocklist: []
  38.   availability_passlist: []
  39. device_options: {}
  40. blocklist: []
  41. passlist: []
  42. queue: {}
  43. frontend:
  44.   port: 8099
  45. experimental: {}
  46. availability: false
复制代码

现在修改为:
  1. data_path: /config/zigbee2mqtt
  2. external_converters:
  3.   - freepad_ext.js
  4. devices:
  5.   - devices.yaml
  6. groups:
  7.   - groups.yaml
  8. homeassistant: true
  9. permit_join: false
  10. mqtt:
  11.   base_topic: zigbee2mqtt
  12.   server: mqtt://core-mosquitto:1883
  13.   user: mqtt
  14.   password: mqtt
  15. serial:
  16.   port: tcp://192.168.1.21:8888
  17.   adapter: ezsp
  18. advanced:
  19.   log_level: debug
  20.   pan_id: 6754
  21.   channel: 11
  22.   network_key:
  23.     - 1
  24.     - 3
  25.     - 5
  26.     - 7
  27.     - 9
  28.     - 11
  29.     - 13
  30.     - 15
  31.     - 0
  32.     - 2
  33.     - 4
  34.     - 6
  35.     - 8
  36.     - 10
  37.     - 12
  38.     - 13
  39.   availability_blocklist: []
  40.   availability_passlist: []
  41. device_options: {}
  42. blocklist: []
  43. passlist: []
  44. queue: {}
  45. frontend:
  46.   port: 8099
  47. experimental: {}
  48. availability: false
复制代码
其中freepad_ext.js为测试文件,从官网下载地址如下: https://github.com/Koenkk/zigbee ... alConvertersExample
freepad_ext.js文件已经放入/config/zigbee2mqtt  这个目录下
这个配置重启Z2M后可以正常运行。

然后尝试将商家发给我的js文件放入/config/zigbee2mqtt目录下
  1. data_path: /config/zigbee2mqtt
  2. external_converters:
  3.   - freepad_ext.js
  4.   - TS0014.js
  5. devices:
  6.   - devices.yaml
  7. groups:
  8.   - groups.yaml
  9. homeassistant: true
  10. permit_join: false
  11. mqtt:
  12.   base_topic: zigbee2mqtt
  13.   server: mqtt://core-mosquitto:1883
  14.   user: mqtt
  15.   password: mqtt
  16. serial:
  17.   port: tcp://192.168.1.21:8888
  18.   adapter: ezsp
  19. advanced:
  20.   log_level: debug
  21.   pan_id: 6754
  22.   channel: 11
  23.   network_key:
  24.     - 1
  25.     - 3
  26.     - 5
  27.     - 7
  28.     - 9
  29.     - 11
  30.     - 13
  31.     - 15
  32.     - 0
  33.     - 2
  34.     - 4
  35.     - 6
  36.     - 8
  37.     - 10
  38.     - 12
  39.     - 13
  40.   availability_blocklist: []
  41.   availability_passlist: []
  42. device_options: {}
  43. blocklist: []
  44. passlist: []
  45. queue: {}
  46. frontend:
  47.   port: 8099
  48. experimental: {}
  49. availability: false
复制代码




配置文件修改如上所示,这样就导致Z2M的web界面无法打开,报错 502: Bad Gateway

商家发给我的配置文件 ts0014.js  如下所示,我尝试将ts0014.js改成TS0014.js,还是会导致502错误。
  1. const exposes = require('../lib/exposes');
  2. const fz = {...require('../converters/fromZigbee'), legacy: require('../lib/legacy').fromZigbee};
  3. const tz = require('../converters/toZigbee');
  4. const ota = require('../lib/ota');
  5. const tuya = require('../lib/tuya');
  6. const reporting = require('../lib/reporting');
  7. const extend = require('../lib/extend');
  8. const e = exposes.presets;
  9. const ea = exposes.access;
  10. const libColor = require('../lib/color');
  11. const utils = require('../lib/utils');

  12.         fingerprint: [{modelID: 'TS0014', manufacturerName: '_TZ3000_jr2atpww'}, {modelID: 'TS0014', manufacturerName: '_TYZB01_dvakyzhd'},
  13.             {modelID: 'TS0014', manufacturerName: '_TZ3210_w3hl6rao'}, {modelID: 'TS0014', manufacturerName: '_TYZB01_bagt1e4o'},
  14.             {modelID: 'TS0014', manufacturerName: '_TZ3000_r0pmi2p3'}, {modelID: 'TS0014', manufacturerName: '_TZ3000_fxjdcikv'},
  15.             {modelID: 'TS0014', manufacturerName: '_TZ3000_q6vxaod1'}],
  16.         model: 'TS0014',
  17.         vendor: 'TuYa',
  18.         description: 'Smart light switch - 4 gang without neutral wire',
  19.         extend: extend.switch(),
  20.         exposes: [e.switch().withEndpoint('l1'), e.switch().withEndpoint('l2'), e.switch().withEndpoint('l3'),
  21.             e.switch().withEndpoint('l4')],
  22.         endpoint: (device) => {
  23.             return {'l1': 1, 'l2': 2, 'l3': 3, 'l4': 4};
  24.         },
  25.         whiteLabel: [{vendor: 'TUYATEC', model: 'GDKES-04TZXD'}, {vendor: 'Vizo', model: 'VZ-222S'},
  26.             {vendor: 'MakeGood', model: 'MG-ZG04W/B/G'}, {vendor: 'Mercator Ikuü', model: 'SSW04'}],
  27.         meta: {multiEndpoint: true},
  28.         configure: async (device, coordinatorEndpoint, logger) => {
  29.             try {
  30.                 for (const ID of [1, 2, 3, 4]) {
  31.                     const endpoint = device.getEndpoint(ID);
  32.                     await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff']);
  33.                 }
  34.             } catch (e) {
  35.                 // Fails for some: https://github.com/Koenkk/zigbee2mqtt/issues/4872
  36.             }
  37.             device.powerSource = 'Mains (single phase)';
  38.             device.save();
  39.         },
  40.     },

  41. module.exports = definition;
复制代码






作者: leilei    时间: 2022-6-16 10:31
本帖最后由 leilei 于 2022-6-16 10:33 编辑

官方的JS文件不用放,店家给你的JS文件格式不对,这个才是,开头和结尾格式你对比下。tuya的没自己配置过,所以没研究过,xiaomi的有点研究。https://www.zigbee2mqtt.io/advan ... s.html#instructions

作者: Clark    时间: 2022-6-19 13:30
leilei 发表于 2022-6-16 10:31
官方的JS文件不用放,店家给你的JS文件格式不对,这个才是,开头和结尾格式你对比下。tuya的没自己配置过, ...

感谢,看来我自己搞不定了。暂时不想麻烦商家了,只好换成ZHA就顺利接入了。
没想到还有ZHA支持然而Z2M不支持的设备,原以为Z2M兼容性超过ZHA
作者: hamtalk    时间: 2022-11-1 09:43
Clark 发表于 2022-6-19 13:30
感谢,看来我自己搞不定了。暂时不想麻烦商家了,只好换成ZHA就顺利接入了。
没想到还有ZHA支持然而Z2M不 ...

你用ZHA使用情况如何啊?我有几个设备也是Z2M边连接但不支持。
另外请教一下ZHA添加设备复杂吗?
从Z2M换到ZHA,所有的设备又要一个个匹配,想想都头大!

作者: Clark    时间: 2022-11-3 11:26
hamtalk 发表于 2022-11-1 09:43
你用ZHA使用情况如何啊?我有几个设备也是Z2M边连接但不支持。
另外请教一下ZHA添加设备复杂吗?
从Z2M换 ...

ZHA添加设备很简单,毕竟是HA自带的集成
作者: aoligei    时间: 2023-1-30 01:37
Clark 发表于 2022-11-3 11:26
ZHA添加设备很简单,毕竟是HA自带的集成

zha+sonoff zigbee dongle E 在匹配界面搜索不到设备。 有涂鸦传感器。RTCGQ11LM,绿米单火开关等 都搜索不到,求大佬指点




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5