-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
problem wih ember driver and joining develco devices #22492
problem wih ember driver and joining develco devices #22492
Comments
joining is ok with ezsp driver. |
Also after joining the smoke detectors with ezsp and then using ember there is battery drainage issue on device connected directly on coordinator. |
Can you provide a log for |
Yes I will reset one device tonight and send the logs. |
The denied join issue should be fixed after this is merged/available Koenkk/zigbee-herdsman#1052 |
Tried to join to the network today: Remote Control IKEA E1524/E1810 and Aeotec Range extender WG001. |
Had the same issue with adding HUE bulbs. Switched to Z2M Edge version and it helped. |
@mamrai1 Can you confirm if that device is still sending back ZDO errors with 1.37.1? |
No stil can't join the sensor. logs3 with latest commit. |
I had the same issue with a Gynoid (Orvibo OEM) brand motion sensor, and after updating Z2M to version 1.37.1 and re-pairing the sensor, the problem was resolved. |
@mamrai1 do you by any chance have hardware to sniff while joining this device? https://www.zigbee2mqtt.io/advanced/zigbee/04_sniff_zigbee_traffic.html . If yes, could you make a sniff of |
|
Could you try to configure it again via the frontend? It's the yellow configure button. Before doing that make sure to wakeup the device right before clicking the button. |
No, it fails with ember driver. (status=ZDP_TABLE_FULL. ) |
2024-06-24 12:40:53z2m: Failed to configure 'Office Smoke Sensor', attempt 1 (Error: Bind 0x0015bc00340009e6/35 genBasic from '0xe0798dfffe7d7366/1' failed ([ZDO] Failed response by NCP for "16827" cluster "32801" with status=ZDP_TABLE_FULL.) at EmberOneWaitress.resolveZDO (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/oneWaitress.ts:138:35) at EmberAdapter.onZDOResponse (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:663:26) at Ezsp.emit (node:events:517:28) at Ezsp.ezspIncomingMessageHandler (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:4517:22) at Ezsp.callbackDispatch (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:820:18) at Ezsp.tick (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:446:22) at listOnTimeout (node:internal/timers:569:17) at processTimers (node:internal/timers:512:7)) At least the situation is better now. Switching to ember and intervewing the device works (blue button) with no errors. Also changing reporting values works as expected.. . |
Even though it sometimes works, I suspect this is more about luck, since the driver has zero control over how the device responds to a command being sent to it ( |
Relating to
I glanced over the rest of the ZDO requests, seems the same applies for a few of them (most have a status in response). |
@Nerivec zstack indeed doesn't check the return code. Could you check if the issue is fixed with the following external converter:
external_converters:
- ext_converter.js
|
2024-07-18 22:06:55] error: z2m: Failed to load external converter file 'ext_converter.js' (Cannot find module '../lib/develco'
|
Change a couple of the top lines, from: const {develcoModernExtend} = require('../lib/develco');
const {battery} = require('../lib/modernExtend'); to: const {develcoModernExtend} = require('zigbee-herdsman-converters/lib/develco');
const {battery} = require('zigbee-herdsman-converters/lib/modernExtend'); |
Warning 2024-07-19 00:17:55zh:ember: [ZDO] Node descriptor for '11734' reports device is only compliant to revision '21' of the ZigBee specification (current revision: 22). |
Argh, missing an import. Went over the entire thing, made a few more tweaks. Try this: const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const e = exposes.presets;
const ea = exposes.access;
const {develcoModernExtend} = require('zigbee-herdsman-converters/lib/develco');
const {battery} = require('zigbee-herdsman-converters/lib/modernExtend');
const {logger} = require('zigbee-herdsman-converters/lib/logger');
const definition = {
zigbeeModel: ['HESZB-120'],
model: 'HESZB-120',
vendor: 'Develco',
description: 'Fire detector with siren',
whiteLabel: [{vendor: 'Frient', model: '94431', description: 'Smart Intelligent Heat Alarm'}],
fromZigbee: [fz.ias_smoke_alarm_1_develco, fz.ignore_basic_report, fz.ias_enroll, fz.ias_wd], //, develco.fz.fault_status],
toZigbee: [tz.warning, tz.ias_max_duration, tz.warning_simple],
// ota: ota.zigbeeOTA,
extend: [
develcoModernExtend.addCustomClusterManuSpecificDevelcoGenBasic(),
develcoModernExtend.readGenBasicPrimaryVersions(),
develcoModernExtend.temperature(), // TODO: ep 38
battery({
voltageToPercentage: '3V_2500',
percentage: true,
voltage: true,
lowStatus: false,
voltageReporting: true,
percentageReporting: false,
}),
],
configure: async (device, coordinatorEndpoint) => {
const endpoint = device.getEndpoint(35);
for (const cluster of ['ssIasZone', 'ssIasWd', 'genBasic', 'genBinaryInput']) {
try {
await reporting.bind(endpoint, coordinatorEndpoint, [cluster]);
} catch (error) {
logger.debug(`Failed to bind '${cluster}' ${error}`, 'extconv:develco:heszb120');
}
}
await endpoint.read('ssIasZone', ['iasCieAddr', 'zoneState', 'zoneId']);
await endpoint.read('genBinaryInput', ['reliability', 'statusFlags']);
await endpoint.read('ssIasWd', ['maxDuration']);
},
endpoint: (device) => {
return {default: 35};
},
exposes: [
e.smoke(),
e.battery_low(),
e.test(),
e.numeric('max_duration', ea.ALL).withUnit('s').withValueMin(0).withValueMax(600).withDescription('Duration of Siren'),
e.binary('alarm', ea.SET, 'START', 'OFF').withDescription('Manual Start of Siren'),
e
.enum('reliability', ea.STATE, ['no_fault_detected', 'unreliable_other', 'process_error'])
.withDescription('Indicates reason if any fault'),
e.binary('fault', ea.STATE, true, false).withDescription('Indicates whether the device are in fault state'),
],
};
module.exports = definition; |
Seems now that reconfiguring the device works! |
@Nerivec how do you proceed now? Fixing the converter for the Develco heat alarm or a more generic solution ignoring the ZDO response? |
I tried everything : pairing near the coordinator, re configuring from webgui..only re interview is successful |
Do you have the logs? Is it the error with the node descriptor randomly failing like before? |
Also the device is missing from OTA page after applying the external converter |
Please find attached some logs regarding 2 devices. The 'Kitchen Smoke semsor' fails at reconfiguring while the other succeeds! |
I see you updated to latest dev. Did you remove the external converter, and did a fresh re-pair since Koenkk's fix would already be in there? And can you confirm these two are the same model devices (normally identified the same by Z2M)? |
https://github.com/Koenkk/zigbee-herdsman-converters/commits/master/ |
i have removed the external converter. The devices are exactly the same. Both at reconfigure give different errors. Interview completes for both of them ok. 2024-07-23 21:15:30z2m: Failed to configure 'Office Smoke Sensor', attempt 4 (Error: Bind 0x0015bc00340009e6/35 genBasic from '0xe0798dfffe7d7366/1' failed ([ZDO] Failed response for '16827' cluster '32801' Status 'TABLE_FULL'.) at EmberOneWaitress.resolveZDO (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/oneWaitress.ts:136:35) at EmberAdapter.onZDOResponse (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:530:30) at Ezsp.emit (node:events:517:28) at Ezsp.ezspIncomingMessageHandler (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:5283:18) at Ezsp.callbackDispatch (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:814:26) at Ezsp.onAshFrame (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:430:22) at UartAsh.emit (node:events:517:28) at Immediate. (/app/node_modules/zigbee-herdsman/src/adapter/ember/uart/ash.ts:1187:45) at processImmediate (node:internal/timers:476:21)) |
I will add again the converter and retry... |
Wait a bit for it to be available in dev, Koenkk is publishing a new release for converters as we speak. |
Double checked. Everything ok now with latest commit!! Thanks |
Good! |
This is still an issue when I attempt to pair a SMSZB-120 using zigbee2mqtt 1.39.1 with Logs:
|
First, start with upgrading your sonoff’s firmware to 7.4.x. (https://github.com/itead/Sonoff_Zigbee_Dongle_Firmware/tree/master/Dongle-E) |
Sorry I mis-typed, I am using 7.4.3 firmware on the dongle. |
The problem fixed was related to HESZB-120.. Maybe also the converter regarding SMSZB-120 needs adjustments.. |
I tried this converter #22492 (comment) with small modifications for the SMSZB-120 and had "success" in the sense temperature etc start working. Configuring seems to work now. |
@n1mda does the interview always fail? (give it multiple tries) |
The device was paired with the network but interview had failed. I tried pressing the Interview button in the frontend, but it failed (I however lost the logs from this). Logs from pairing:
Logs from interviewing via button in frontend:
|
The Problem with the SMSZB-120 seems to be exactly the same as with the HESZB-120. This commit Koenkk/zigbee-herdsman-converters@9ede78a only changes the behaviour for HESZB-120, though, and not the SMSZB-120. So I tried to adapt the converter for the SMSZB-120 and had success. Unfortunately I don't feel confident in turning that converter into a PR, as I'm very inexperienced with this project. Hopefully somebody else can pick this up. This converter works for me: const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const e = exposes.presets;
const ea = exposes.access;
const {develcoModernExtend} = require('zigbee-herdsman-converters/lib/develco');
const {battery} = require('zigbee-herdsman-converters/lib/modernExtend');
const {logger} = require('zigbee-herdsman-converters/lib/logger');
const definition = {
zigbeeModel: ['SMSZB-120'],
model: 'SMSZB-120',
vendor: 'Develco',
description: 'Smoke detector with siren',
whiteLabel: [{vendor: 'Frient', model: '94430', description: 'Smoke detector with siren'}],
fromZigbee: [fz.ias_smoke_alarm_1_develco, fz.ignore_basic_report, fz.ias_enroll, fz.ias_wd], //, develco.fz.fault_status],
toZigbee: [tz.warning, tz.ias_max_duration, tz.warning_simple],
// ota: ota.zigbeeOTA,
extend: [
develcoModernExtend.addCustomClusterManuSpecificDevelcoGenBasic(),
develcoModernExtend.readGenBasicPrimaryVersions(),
develcoModernExtend.temperature(), // TODO: ep 38
battery({
voltageToPercentage: '3V_2500',
percentage: true,
voltage: true,
lowStatus: false,
voltageReporting: true,
percentageReporting: false,
}),
],
configure: async (device, coordinatorEndpoint) => {
const endpoint = device.getEndpoint(35);
for (const cluster of ['ssIasZone', 'ssIasWd', 'genBasic', 'genBinaryInput']) {
try {
await reporting.bind(endpoint, coordinatorEndpoint, [cluster]);
} catch (error) {
logger.debug(`Failed to bind '${cluster}' ${error}`, 'extconv:develco:smszb120');
}
}
await endpoint.read('ssIasZone', ['iasCieAddr', 'zoneState', 'zoneId']);
await endpoint.read('genBinaryInput', ['reliability', 'statusFlags']);
await endpoint.read('ssIasWd', ['maxDuration']);
},
endpoint: (device) => {
return {default: 35};
},
exposes: [
e.smoke(),
e.battery_low(),
e.test(),
e.numeric('max_duration', ea.ALL).withUnit('s').withValueMin(0).withValueMax(600).withDescription('Duration of Siren'),
e.binary('alarm', ea.SET, 'START', 'OFF').withDescription('Manual Start of Siren'),
e
.enum('reliability', ea.STATE, ['no_fault_detected', 'unreliable_other', 'process_error'])
.withDescription('Indicates reason if any fault'),
e.binary('fault', ea.STATE, true, false).withDescription('Indicates whether the device are in fault state'),
],
};
module.exports = definition; |
I have similar issue:
When pairing Sonoff ZBMiniL2 |
@Exelord Not quite the same (device is not misbehaving in your case). Should be fixed after above PR is merged. |
After this time it seems that we should remove the bind on genpollctrl and genbinaryinput. This will fix the ‘table full’ error when trying to configure the device … seems there is a limit with latest 4.0.8 firmware. |
log.log |
Could you check if the issue is fixed with the following external converter (this should limit the amount of binds to 4):
external_converters:
- ext_converter.js
|
I can confirm it works with the heat alarm: Also i commented the following lines ( no need to unbind since only 4 clusters are binded (genpollcntrl,ssIasZone, ssIasWd and powercfg) : |
What happened?
can'y join frient heat alarm with ember driver. Tried directly on coordinator and multiple routers.
What did you expect to happen?
joining works with ezsp driver
How to reproduce it (minimal and precise)
No response
Zigbee2MQTT version
1.37.0-dev commit: 358e2ee
Adapter firmware version
7.4.3.0 build 0
Adapter
Ezsp or ember (sonoff plus e)
Setup
z2n in docker
Debug log
[2024-05-06 07:15:25] error: z2m: Failed to configure 'Kitchen Smoke Sensor', attempt 1 (Error: Bind 0x0015bc00340008dd/35 ssIasZone from '0xe0798dfffe7d7366/1' failed ([ZDO] Failed response by NCP for "42235" cluster "32801" with status=ZDP_TABLE_FULL.)
at EmberOneWaitress.resolveZDO (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/oneWaitress.ts:138:35)
at EmberAdapter.onZDOResponse (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:573:26)
at Ezsp.emit (node:events:517:28)
at Ezsp.ezspIncomingMessageHandler (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:4524:22)
at Ezsp.callbackDispatch (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:823:18)
at Ezsp.tick (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:449:22)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7))
[2024-05-06 07:20:28] error: z2m: Failed to configure 'Kitchen Smoke Sensor', attempt 3 (Error: Bind 0x0015bc00340008dd/35 ssIasZone from '0xe0798dfffe7d7366/1' failed ([ZDO] Failed response by NCP for "42235" cluster "32801" with status=ZDP_TABLE_FULL.)
at EmberOneWaitress.resolveZDO (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/oneWaitress.ts:138:35)
at EmberAdapter.onZDOResponse (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:573:26)
at Ezsp.emit (node:events:517:28)
at Ezsp.ezspIncomingMessageHandler (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:4524:22)
at Ezsp.callbackDispatch (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:823:18)
at Ezsp.tick (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:449:22)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7))
[2024-05-06 18:02:57] error: zh:controller: Interview failed for '0x0015bc00340008dd with error 'Error: {"target":42235,"apsFrame":{"profileId":0,"clusterId":4,"sourceEndpoint":0,"destinationEndpoint":0,"options":4416,"groupId":0,"sequence":160},"responseClusterId":32772} timed out after 15000ms'
[2024-05-06 18:02:57] error: z2m: Failed to interview '0x0015bc00340008dd', device has not successfully been paired
[2024-05-06 18:03:44] error: z2m: Failed to configure '0x0015bc00340008dd', attempt 4 (Error: Bind 0x0015bc00340008dd/35 genPowerCfg from '0xe0798dfffe7d7366/1' failed (Delivery failed for {"profileId":0,"clusterId":33,"sourceEndpoint":0,"destinationEndpoint":0,"options":4416,"groupId":0,"sequence":178})
at EmberOneWaitress.deliveryFailedFor (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/oneWaitress.ts:96:31)
at EmberAdapter.onMessageSentDeliveryFailed (/app/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:558:30)
at Ezsp.emit (node:events:517:28)
at Ezsp.ezspMessageSentHandler (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:3958:18)
at Ezsp.callbackDispatch (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:795:18)
at Ezsp.tick (/app/node_modules/zigbee-herdsman/src/adapter/ember/ezsp/ezsp.ts:449:22)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7))
[2024-05-06 18:03:47] warning: zh:ember:ezsp: Received network/route error ROUTE_ERROR_INDIRECT_TRANSACTION_EXPIRY for "42235".
[2024-05-06 18:03:49] warning: zh:ember:ezsp: Received network/route error ROUTE_ERROR_INDIRECT_TRANSACTION_EXPIRY for "42235".
[2024-05-06 18:03:50] warning: zh:ember:ezsp: Received network/route error ROUTE_ERROR_INDIRECT_TRANSACTION_EXPIRY for "42235".
[2024-05-06 18:04:19] warning: zh:ember: [TRUST CENTER] Device 42235:0x0015bc00340008dd was denied joining via 40337.
[2024-05-06 18:04:19] warning: zh:ember: [TRUST CENTER] Device 42235:0x0015bc00340008dd was denied joining via 40337.
[2024-05-06 18:04:19] warning: z2m: Device '0x0015bc00340008dd' left the network
[2024-05-06 18:04:42] warning: zh:ember: [TRUST CENTER] Device 29742:0x0015bc00340008dd was denied joining via 40337.
[2024-05-06 18:04:42] warning: zh:ember: [TRUST CENTER] Device 29742:0x0015bc00340008dd was denied joining via 40337.
[2024-05-06 18:05:20] error: zh:controller: Interview failed for '0x0015bc00340008dd with error 'Error: [ZDO] Failed response by NCP for "61782" cluster "32772" with status=ZDP_INVALID_REQUEST_TYPE.'
[2024-05-06 18:05:20] error: z2m: Failed to interview '0x0015bc00340008dd', device has not successfully been paired
[2024-05-06 18:13:47] warning: zh:ember:ezsp: Received network/route error ROUTE_ERROR_NO_ROUTE_AVAILABLE for "54868".
[2024-05-06 18:16:40] warning: z2m: Device 'Kitchen Smoke Sensor' left the network
[2024-05-06 18:17:04] warning: zh:ember: [TRUST CENTER] Device 33160:0x0015bc00340008dd was denied joining via 60665.
[2024-05-06 18:17:05] warning: zh:ember: [TRUST CENTER] Device 33160:0x0015bc00340008dd was denied joining via 60665.
[2024-05-06 18:17:28] warning: zh:ember: [TRUST CENTER] Device 28037:0x0015bc00340008dd was denied joining via 5159.
[2024-05-06 18:17:28] warning: zh:ember: [TRUST CENTER] Device 28037:0x0015bc00340008dd was denied joining via 5159.
[2024-05-06 18:17:51] warning: zh:ember: [TRUST CENTER] Device 48604:0x0015bc00340008dd was denied joining via 5159.
[2024-05-06 18:17:51] warning: zh:ember: [TRUST CENTER] Device 48604:0x0015bc00340008dd was denied joining via 5159.
[2024-05-06 18:18:14] warning: zh:ember: [TRUST CENTER] Device 61138:0x0015bc00340008dd was denied joining via 5159.
[2024-05-06 18:18:14] warning: zh:ember: [TRUST CENTER] Device 61138:0x0015bc00340008dd was denied joining via 5159.
[2024-05-06 18:19:15] warning: zh:ember:ezsp: Received network/route error ROUTE_ERROR_SOURCE_ROUTE_FAILURE for "50845".
[2024-05-06 18:19:15] warning: zh:ember:ezsp: Received network/route error ROUTE_ERROR_MANY_TO_ONE_ROUTE_FAILURE for "50845".
[2024-05-06 18:21:17] error: zh:controller: Interview failed for '0x0015bc00340008dd with error 'Error: [ZDO] Failed response by NCP for "26597" cluster "32772" with status=ZDP_INVALID_REQUEST_TYPE.'
[2024-05-06 18:21:17] error: z2m: Failed to interview 'Kitchen Smoke Sensor', device has not successfully been paired
The text was updated successfully, but these errors were encountered: