-
-
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
[New device support]: Neo Alarm/Temperature/Humidity NAS-AB02B2 #10348
Comments
Not sure what the difference with Changes will be available in the dev branch in a few hours from now. (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html) |
Device pairs successfully, but no exposed data is shown. Here is the log when pairing: info 2021-12-25 11:41:16: Device '0xa4c1380d515bf03c' joined info 2021-12-25 11:41:16: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0xa4c1380d515bf03c","ieee_address":"0xa4c1380d515bf03c"},"type":"device_joined"}' info 2021-12-25 11:41:16: Configuring '0xa4c1380d515bf03c' info 2021-12-25 11:41:16: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":{"friendly_name":"0xa4c1380d515bf03c"},"type":"device_connected"}' info 2021-12-25 11:41:16: Starting interview of '0xa4c1380d515bf03c' info 2021-12-25 11:41:16: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0xa4c1380d515bf03c","ieee_address":"0xa4c1380d515bf03c","status":"started"},"type":"device_interview"}' info 2021-12-25 11:41:16: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_started","meta":{"friendly_name":"0xa4c1380d515bf03c"},"type":"pairing"}' debug 2021-12-25 11:41:16: Device '0xa4c1380d515bf03c' announced itself info 2021-12-25 11:41:16: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0xa4c1380d515bf03c","ieee_address":"0xa4c1380d515bf03c"},"type":"device_announce"}' info 2021-12-25 11:41:16: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"announce","meta":{"friendly_name":"0xa4c1380d515bf03c"},"type":"device_announced"}' debug 2021-12-25 11:41:17: Received Zigbee message from '0xa4c1380d515bf03c', type 'readResponse', cluster 'genBasic', data '{"stackVersion":0}' from endpoint 1 with groupID 0 debug 2021-12-25 11:41:17: Received Zigbee message from '0xa4c1380d515bf03c', type 'readResponse', cluster 'genBasic', data '{"dateCode":""}' from endpoint 1 with groupID 0 debug 2021-12-25 11:41:17: Received Zigbee message from '0xa4c1380d515bf03c', type 'readResponse', cluster 'genBasic', data '{}' from endpoint 1 with groupID 0 info 2021-12-25 11:41:17: Successfully interviewed '0xa4c1380d515bf03c', device has successfully been paired info 2021-12-25 11:41:17: Device '0xa4c1380d515bf03c' is supported, identified as: Neo Temperature & humidity sensor and alarm (NAS-AB02B0) info 2021-12-25 11:41:17: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"Temperature & humidity sensor and alarm","exposes":[{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":3,"name":"humidity_alarm","property":"humidity_alarm","type":"binary","value_off":false,"value_on":true},{"access":1,"description":"Indicates if the battery of this device is almost empty","name":"battery_low","property":"battery_low","type":"binary","value_off":false,"value_on":true},{"access":3,"name":"temperature_alarm","property":"temperature_alarm","type":"binary","value_off":false,"value_on":true},{"access":3,"name":"alarm","property":"alarm","type":"binary","value_off":false,"value_on":true},{"access":3,"name":"melody","property":"melody","type":"enum","values":["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18"]},{"access":3,"name":"duration","property":"duration","type":"numeric","unit":"second","value_max":1000,"value_min":0},{"access":3,"name":"temperature_min","property":"temperature_min","type":"numeric","unit":"°C","value_max":35,"value_min":-10},{"access":3,"name":"temperature_max","property":"temperature_max","type":"numeric","unit":"°C","value_max":35,"value_min":-10},{"access":3,"name":"humidity_min","property":"humidity_min","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":3,"name":"humidity_max","property":"humidity_max","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":3,"name":"volume","property":"volume","type":"enum","values":["low","medium","high"]},{"access":1,"name":"power_type","property":"power_type","type":"enum","values":["battery_full","battery_high","battery_medium","battery_low","usb"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"NAS-AB02B0","options":[],"supports_ota":false,"vendor":"Neo"},"friendly_name":"0xa4c1380d515bf03c","ieee_address":"0xa4c1380d515bf03c","status":"successful","supported":true},"type":"device_interview"}' info 2021-12-25 11:41:17: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_successful","meta":{"description":"Temperature & humidity sensor and alarm","friendly_name":"0xa4c1380d515bf03c","model":"NAS-AB02B0","supported":true,"vendor":"Neo"},"type":"pairing"}' debug 2021-12-25 11:41:22: Received Zigbee message from '0xa4c1380d515bf03c', type 'commandDataResponse', cluster 'manuSpecificTuya', data '{"data":{"data":[2],"type":"Buffer"},"datatype":4,"dp":5,"fn":0,"seq":4608}' from endpoint 1 with groupID 0 warn 2021-12-25 11:41:22: Unhandled DP #5: {"seq":4608,"dp":5,"datatype":4,"fn":0,"data":{"type":"Buffer","data":[2]}} debug 2021-12-25 11:41:23: Received Zigbee message from '0xa4c1380d515bf03c', type 'commandDataResponse', cluster 'manuSpecificTuya', data '{"data":{"data":[0,0,0,10],"type":"Buffer"},"datatype":2,"dp":7,"fn":0,"seq":4864}' from endpoint 1 with groupID 0 warn 2021-12-25 11:41:23: Unhandled DP #7: {"seq":4864,"dp":7,"datatype":2,"fn":0,"data":{"type":"Buffer","data":[0,0,0,10]}} debug 2021-12-25 11:41:23: Received Zigbee message from '0xa4c1380d515bf03c', type 'commandDataResponse', cluster 'manuSpecificTuya', data '{"data":{"data":[0,0,0,100],"type":"Buffer"},"datatype":2,"dp":15,"fn":0,"seq":5120}' from endpoint 1 with groupID 0 warn 2021-12-25 11:41:23: Unhandled DP #15: {"seq":5120,"dp":15,"datatype":2,"fn":0,"data":{"type":"Buffer","data":[0,0,0,100]}} debug 2021-12-25 11:41:23: Received Zigbee message from '0xa4c1380d515bf03c', type 'commandDataResponse', cluster 'manuSpecificTuya', data '{"data":{"data":[5],"type":"Buffer"},"datatype":4,"dp":21,"fn":0,"seq":5376}' from endpoint 1 with groupID 0 warn 2021-12-25 11:41:23: Unhandled DP #21: {"seq":5376,"dp":21,"datatype":4,"fn":0,"data":{"type":"Buffer","data":[5]}} debug 2021-12-25 11:41:23: Received Zigbee message from '0xa4c1380d515bf03c', type 'read', cluster 'genTime', data '["localTime"]' from endpoint 1 with groupID 0 info 2021-12-25 11:41:24: Successfully configured '0xa4c1380d515bf03c' debug 2021-12-25 11:41:29: Received Zigbee message from '0xa4c1380d515bf03c', type 'attributeReport', cluster 'genBasic', data '{"65506":48,"65508":0,"appVersion":68}' from endpoint 1 with groupID 0 debug 2021-12-25 11:41:29: Received Zigbee message from '0xa4c1380d515bf03c', type 'attributeReport', cluster 'genBasic', data '{"65503":"ֿY)fֿY)\u0012"}' from endpoint 1 with groupID 0 |
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 extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;
const definition = {
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_t1blo2bj'}],
model: 'NAS-AB02B2',
vendor: 'Neo',
description: 'Temperature & humidity sensor and alarm CUSTOM',
fromZigbee: [fz.temperature, fz.humidity],
toZigbee: [],
exposes: [e.temperature(), e.humidity()],
onEvent: tuya.onEventSetLocalTime,
configure: async (device, coordinatorEndpoint, logger) => {
const endpoint = device.getEndpoint(1);
const binds = ['msTemperatureMeasurement', 'msRelativeHumidity'];
await reporting.bind(endpoint, coordinatorEndpoint, binds);
await reporting.temperature(endpoint);
await reporting.humidity(endpoint);
},
};
module.exports = definition; |
Just for the benefit of others, you forgot the const declaration for tuya in the above js file:
It doesn't work: I ordered a CC2531 and a tuya gateway. When I get a chance to sniff the network I'll come back with the results. Just in case you need it, here is the log output:
|
Hello, I was in the same situation as I received this device also 10d ago. This device has no Temperature nor Humidity sensors. I followed the guide to discover the DataPoints, by using a Tuya gateway, and I updated the converters files. Here are the modifications performed: file "node_modules/zigbee-herdsman-converters/converters/lib/tuya.js"
node_modules/zigbee-herdsman-converters/devices/neo.js
node_modules/zigbee-herdsman-converters/converters/fromZigbee.js
node_modules/zigbee-herdsman-converters/converters/toZigbee.js
|
I'm not home right now, but I remember seeing them sold as temperature and humidity sensor. Indeed: https://www.globalsources.com/Wireless-intruder/wireless-intruder-alarms-1187144522p.htm When I tried to make it work, I saw the log populated with regular updates with a value changing. I thought it was the temperature/humidity report. I'll crack it open tomorrow to see if I can spot a sensor under a microscope. |
There are 2 versions : 1 cheap without sensors which is this one (around 14€), and 1 with sensors (around 20€). Picture of the one without sensors : Picture of the one with sensors : |
Hi @elperepat, have you ever sniff the communication between your device and the Tuya gateway ? I tried @nighthawkii 's modification but it's not working for me. I'm totally lost between multiple neo references (NAS-AN02B2 with or without sensors). Is there finally a way to know which AB02B2 we got ? Thanks, |
If you open it and see the same version than elperepat and myself (NAS-AB02B2 v2) then the modifications I made shall work. |
I have open it and saw on the PCB "NAS-AB02B2 v2". Please find below some logs:
All logs can be found here: |
So you have the same device. Make a double check on the 4 files, take care also to the paths (tuya.js exists in several locations) |
@nighthawkii Have I done something wrong ? |
In the debug, you have the error : It is a parser issue, the code is not interpreted. On my side I inserted the code in FromZigbee and ToZigbee just after the neo_t_h_alarm, so I respected the declaration like the previous block. Just check the syntax, and keep us informed. As it works on my side, no reason it would not work on yours. Currently the interview is ok, it is just when the device is sending the data, it crashes due to the issue in the FromZigbee file. N. B : to test the ToZigbee validity, you can activate the alarm on the front end and check the debug if you have the same message for "To Zigbee" |
I was able to test @nighthawkii patches and they work for my siren. However, I would change the line in neo.js for battery percentage from
to
to hide the slider. @nighthawkii : Will you submit a pull request to add support for this siren? |
Great it worked for you! |
I'm getting the same error as @ririck0 I am running the dev branch 1.22.2-dev commit: ec8e7f5 I copied and pasted & then restarted what @nighthawkii posted above and in the same location in the file, just after neo_t_h_alarm. Double checked changes and don't see any mistakes. I can trigger the alarm, cycle through volume and melody and duration from the frontend but get the error every time. Should it be reporting anything for the battery low? Mine shows N/A Any suggestions? Just noticed a small difference in neo.js file, zigbeeModel: is missing the "t" at the beginning, compared to manufacturerName just verifying. node_modules/zigbee-herdsman-converters/devices/neo.js
|
I have tried to move the code after neo_t_h_alarm part, but get the same error... Thanks |
Great work all! Can I assist in testing somehow? Trying to link the same Neo Siren Alarm (without temperature sensor): Zigbee model 'TS0601' and manufacturer name '_TZE200_t1blo2bj' Regards, |
Hi all, Here are the files attached. I am based on the release "1.22.1-dev commit: 8b4be3d" The battery_low is useless on this device I think I try to make the pull request, I keep you posted. |
Ok, Pull request is done, and I modified the battpercentage display to get only the number (no more slider). |
Added in Koenkk/zigbee-herdsman-converters#3699 by @nighthawkii , will be in the latest-dev in a few hours and in the next release on 1 February Changes will be available in the dev branch in a few hours from now. (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html) |
Getting the following errors after edge update: Debug Received MQTT message on 'zigbee2mqtt/0xa4c138e08c5e32f4/set' with data '{"alarm":false}' Could I even have a different version? I`m going to open my alarm |
@SimonSezKossel should be fixed now, can you confirm? Changes will be available in the dev branch in a few hours from now. (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html) |
Yes, great work! No errors or warnings. |
Yes, volume is inverted in the dev branch: File node_modules/zigbee-herdsman-converters/converters/toZigbee.js In section neo_alarm: { should read |
@elperepat thanks added the fix |
I accidently purchased this 'low cost' version of the NEO NAS-AB020B2 (reporting manufacturerName: '_TZE200_t1blo2bj') recently and wondered why it was not supported. But with the latest dev-branch pulled today it works perfectly. Thanks a lot! However, the volume button "low" and "high" in the Z2M Frontend are swapped. Sending {"volume":"high"|"low"} works correctly. Still the documentation and picture on zigbee2mqtt.io are missing. |
Signed-off-by: Pierrick VAN LOO <pierrick.github@vanloo.dev>
Link
http://www.szneo.com/en/products/show.php?id=241
Database entry
{"id":18,"type":"Router","ieeeAddr":"0xa4c138e870adce69","nwkAddr":30599,"manufId":4417,"manufName":"_TZE200_t1blo2bj","powerSource":"Mains (single phase)","modelId":"TS0601","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":81,"inClusterList":[4,5,61184,0],"outClusterList":[25,10],"clusters":{"genBasic":{"attributes":{"65503":"߾X)f߾X)\u0012","65506":48,"65508":0,"modelId":"TS0601","manufacturerName":"_TZE200_t1blo2bj","powerSource":1,"zclVersion":3,"appVersion":68,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"binds":[{"cluster":0,"type":"endpoint","deviceIeeeAddress":"0x00124b0021cc3b7d","endpointID":1}],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":68,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{"configured":821693351},"lastSeen":1640396986513,"useImplicitCheckin":true} {"id":19,"type":"Router","ieeeAddr":"0xa4c1384ee1333979","nwkAddr":53407,"manufId":4417,"manufName":"_TZE200_t1blo2bj","powerSource":"Mains (single phase)","modelId":"TS0601","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":81,"inClusterList":[4,5,61184,0],"outClusterList":[25,10],"clusters":{"genBasic":{"attributes":{"65503":"\u001f�X)f\u001f�X)\u0012","65506":48,"65508":0,"modelId":"TS0601","manufacturerName":"_TZE200_t1blo2bj","powerSource":1,"zclVersion":3,"appVersion":68,"stackVersion":0,"hwVersion":1,"dateCode":""}}},"binds":[{"cluster":0,"type":"endpoint","deviceIeeeAddress":"0x00124b0021cc3b7d","endpointID":1}],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":68,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{"configured":821693351},"lastSeen":1640399001813,"useImplicitCheckin":true}
Comments
I just bought 3 alarms on Aliexpress. I thought they would be AB02B0 but I can't get them to work. I find out they are AB02B2:
Here an extract from my external converter:
fingerprint: [ { modelID: 'TS0601', manufacturerName: '_TZE200_t1blo2bj' },
Here is the output from the debug log:
Device '0xa4c1384ee1333979' announced itself
MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0xa4c1384ee1333979","ieee_address":"0xa4c1384ee1333979"},"type":"device_announce"}'
MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"announce","meta":{"friendly_name":"0xa4c1384ee1333979"},"type":"device_announced"}'
Retrieving state of '0xa4c1384ee1333979' after reconnect
Received Zigbee message from '0xa4c1384ee1333979', type 'raw', cluster 'manuSpecificTuya', data '{"data":[9,87,17,0,26,66],"type":"Buffer"}' from endpoint 1 with groupID 0
Received Zigbee message from '0xa4c1384ee1333979', type 'commandGetData', cluster 'manuSpecificTuya', data '{"data":{"data":[2],"type":"Buffer"},"datatype":4,"dp":5,"fn":0,"status":0,"transid":26}' from endpoint 1 with groupID 0
Received Zigbee message from '0xa4c1384ee1333979', type 'commandGetData', cluster 'manuSpecificTuya', data '{"data":{"data":[0,0,0,10],"type":"Buffer"},"datatype":2,"dp":7,"fn":0,"status":0,"transid":27}' from endpoint 1 with groupID 0
Received Zigbee message from '0xa4c1384ee1333979', type 'commandGetData', cluster 'manuSpecificTuya', data '{"data":{"data":[0,0,0,100],"type":"Buffer"},"datatype":2,"dp":15,"fn":0,"status":0,"transid":28}' from endpoint 1 with groupID 0
Received Zigbee message from '0xa4c1384ee1333979', type 'commandGetData', cluster 'manuSpecificTuya', data '{"data":{"data":[5],"type":"Buffer"},"datatype":4,"dp":21,"fn":0,"status":0,"transid":29}' from endpoint 1 with groupID 0
Received Zigbee message from '0xa4c1384ee1333979', type 'raw', cluster 'manuSpecificTuya', data '{"data":[9,87,17,0,26,66],"type":"Buffer"}' from endpoint 1 with groupID 0
Received Zigbee message from '0xa4c1384ee1333979', type 'raw', cluster 'manuSpecificTuya', data '{"data":[9,87,17,0,26,66],"type":"Buffer"}' from endpoint 1 with groupID 0
Received Zigbee message from '0xa4c1384ee1333979', type 'read', cluster 'genTime', data '["localTime"]' from endpoint 1 with groupID 0
Failed to configure '0xa4c1384ee1333979', attempt 2 (Error: Bind 0xa4c1384ee1333979/1 genBasic from '0x00124b0021cc3b7d/1' failed (AREQ - ZDO - bindRsp after 10000ms) at Timeout._onTimeout (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/utils/waitress.ts:64:35) at listOnTimeout (internal/timers.js:557:17) at processTimers (internal/timers.js:500:7))
Received Zigbee message from '0xa4c1384ee1333979', type 'attributeReport', cluster 'genBasic', data '{"65506":48,"65508":0,"appVersion":68}' from endpoint 1 with groupID 0
Configuring '0xa4c1384ee1333979'
Successfully configured '0xa4c1384ee1333979'
Received Zigbee message from '0xa4c1384ee1333979', type 'attributeReport', cluster 'genBasic', data '{"65503":"��X)f��X)\u0012"}' from endpoint 1 with groupID 0
I just don't know what to do from here...
The text was updated successfully, but these errors were encountered: