Unsupported devices
https://www.aliexpress.com/wholesale?SearchText=HEIMAN+zigbee
I found some cheap zigbee devices on AliExpress but those are not supported by zigbee2mqtt. I would appreciate it when some one can add the support for those devices.
You got a device like that by any chance?
If yes, please include the log files and the contents of the database.db file according to the WIKI article.
I assume that this is an IASZONE device, so we have to take a few things into account here in general!
But it might also be relatively easy, we definitely need the support of @Koenkk
I didn't ordered a device yet because it's not compatible right now. Maybe someone in the community already has a device and can share the logs.
It seems I am able to pair the device but I never get a the message WARN No converter available in the log when I trigger the smoke alarm.
2018-10-6 09:44:53 - info: Device incoming...
2018-10-6 09:44:53 - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"device incoming"}'
2018-10-6 09:44:53 - info: New device with address 0x005043c903377b0d connected!
2018-10-6 09:44:53 - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"device_connected","message":"0x005043c903377b0d"}'
2018-10-6 09:46:44 - warn: Message without device!
2018-10-6 09:47:38 - info: Device incoming...
2018-10-6 09:47:38 - info: MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"device incoming"}'
2018-10-6 09:48:12 - warn: Message without device!
2018-10-6 09:49:53 - info: Device incoming...
zigbee2mqtt:info 2018-10-6 09:22:10 0x005043c903389643 (0x005043c903389643): HS1SA - HEIMAN HEIMAN smoke detector (EndDevice)
I get the following message in the logs, nothing happens when I enable pairing:
zigbee2mqtt:info 2018-10-6 09:27:50 Device incoming...
zigbee2mqtt:info 2018-10-6 09:27:50 MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"device incoming"}'
I do not know where to find the database.db file, I am using hasssio
with log_level: debug
zigbee2mqtt:debug 2018-10-7 12:48:20 Recieved zigbee message of type 'devInterview' with data '"0x005043c903377b0d"'
zigbee2mqtt:debug 2018-10-7 12:48:23 Recieved zigbee message of type 'devInterview' with data '"0x005043c903377b0d"'
zigbee2mqtt:debug 2018-10-7 12:48:23 Recieved zigbee message of type 'devIncoming' with data '"0x005043c903377b0d"' of device 'SMOK_V16' (0x005043c903377b0d)
zigbee2mqtt:info 2018-10-7 12:48:23 Device incoming...
zigbee2mqtt:info 2018-10-7 12:48:23 MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"device incoming"}'
zigbee2mqtt:debug 2018-10-7 12:48:23 Recieved zigbee message of type 'devStatus' with data '"online"' of device 'SMOK_V16' (0x005043c903377b0d)
Thanks for open this issue, I'm still interested in adding this device to zigbee2mqtt (Heiman Siren).
Here's the database.db entry:
{"id":15,"type":"EndDevice","ieeeAddr":"0x005043c9a3306ba6","nwkAddr":5818,"manufId":48042,"manufName":"Heiman","powerSource":"Battery","modelId":"SMOK_V16","epList":[1],"status":"offline","joinTime":null,"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[0,1,3,9,1280,1282],"outClusterList":[25],"clusters":{"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":3,"stackVersion":2,"hwVersion":1,"manufacturerName":"Heiman","modelId":"SMOK_V16","dateCode":"20150330","powerSource":3,"locationDesc":"","physicalEnv":0,"deviceEnabled":1,"alarmMask":0}},"genPowerCfg":{"dir":{"value":1},"attrs":{}},"genIdentify":{"dir":{"value":1},"attrs":{}},"genAlarms":{"dir":{"value":1},"attrs":{}},"genOta":{"dir":{"value":2},"attrs":{}},"ssIasZone":{"dir":{"value":1},"attrs":{}},"ssIasWd":{"dir":{"value":1},"attrs":{}}}}},"_id":"hOqFS3m5v77cRPef"}
@termdude can you try with adding to devices.js (https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices)
{
zigbeeModel: ['SMOK_V16'],
model: 'SMOK_V16',
vendor: 'HEIMAN',
description: 'Smoke detector',
supports: 'smoke',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const actions = [
(cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb),
(cb) => device.report('ssIasZone', 'zoneStatus', 0, 30, null, cb),
(cb) => device.functional('ssIasZone', 'enrollRsp', {enrollrspcode: 1, zoneid: 23}, cb),
];
execute(device, actions, callback);
},
},
@Koenkk
2018-11-24 09:59:14 - error: Failed to configure 0x005043c9a3306ba6 0x005043c9a3306ba6
2018-11-24 09:59:15 - warn: No converter available for 'SMOK_V16' with cid 'ssIasZone', type 'devChange' and data '{"cid":"ssIasZone","data":{"iasCieAddr":"0x00124b0018ed1702"}}'
2018-11-24 09:59:15 - warn: Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
No messages show up if I press the test button on the smoke detector. Anything else I can try?
Can you provide the output when running with DEBUG=* npm start?
I connected the usb stick to my debian server and got a lot more output, after putting the zigbee device alot closer (like 20 cm). The last messages came when I pressed the two different buttons.
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 1282, srcaddr: 17129, srcendpoint: 1, dstendpoint: 1, wasbroadcast: 0, linkquality: 94, securityuse: 0, timestamp: 5775028, transseqnumber: 0, len: 9, data: <Buffer 18 15 01 00 00 00 21 f0 00> } +2ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +1ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
serialport:unixRead waiting for readable because of code: EAGAIN +3ms
serialport:poller Polling for "readable" +9ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +2ms
zigbee2mqtt:debug 2018-11-26 13:49:59 Received zigbee message of type 'devInterview' with data '"0x005043c9a3316267"'
zigbee2mqtt:info 2018-11-26 13:49:59 Connecting with device...
zigbee2mqtt:info 2018-11-26 13:49:59 MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
zigbee-shepherd Device: 0x005043c9a3316267 join the network. +11ms
zigbee2mqtt:debug 2018-11-26 13:49:59 Received zigbee message of type 'devIncoming' with data '"0x005043c9a3316267"' of device 'SMOK_V16' (0x005043c9a3316267)
zigbee2mqtt:info 2018-11-26 13:49:59 Device incoming...
zigbee2mqtt:info 2018-11-26 13:49:59 MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"device incoming"}'
zigbee2mqtt:info 2018-11-26 13:49:59 New device with address 0x005043c9a3316267 connected!
zigbee2mqtt:info 2018-11-26 13:49:59 MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"device_connected","message":"0x005043c9a3316267"}'
zigbee2mqtt:debug 2018-11-26 13:49:59 Received zigbee message of type 'devStatus' with data '"online"' of device 'SMOK_V16' (0x005043c9a3316267)
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 22 +316ms
cc-znp:SREQ --> AF:dataRequest, { dstaddr: 17129, destendpoint: 1, srcendpoint: 1, clusterid: 1280, transid: 22, options: 48, radius: 30, len: 14, data: <Buffer 00 16 02 10 00 f0 02 17 ed 18 00 4b 12 00> } +0ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 1280, srcaddr: 17129, srcendpoint: 1, dstendpoint: 1, wasbroadcast: 0, linkquality: 94, securityuse: 0, timestamp: 5779147, transseqnumber: 0, len: 4, data: <Buffer 18 16 04 00> } +1ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +1ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +1ms
serialport:unixRead waiting for readable because of code: EAGAIN +3ms
serialport:poller Polling for "readable" +7ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
zigbee-shepherd:request REQ --> AF:dataRequest, transId: 23 +3ms
cc-znp:SREQ --> AF:dataRequest, { dstaddr: 17129, destendpoint: 1, srcendpoint: 1, clusterid: 1280, transid: 23, options: 48, radius: 30, len: 6, data: <Buffer 00 17 0c 00 00 f0> } +0ms
serialport:main _write 21 bytes of data +7ms
serialport:bindings write 21 bytes +7ms
zigbee-shepherd-converters:devices Configured '(cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb)' with result 'OK' +0ms
md5-57628d4f70e4d17d4216b8355d673e72
cc-znp { sof: 254,
cc-znp len: 33,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 1280,
cc-znp srcaddr: 17129,
cc-znp srcendpoint: 1,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 94,
cc-znp securityuse: 0,
cc-znp timestamp: 5799452,
cc-znp transseqnumber: 0,
cc-znp len: 13,
cc-znp data: <Buffer 18 1a 01 12 00 00 20 02 13 00 00 20 00> },
cc-znp fcs: 149,
cc-znp csum: 149 } +14ms
serialport:main _read reading +2ms
serialport:bindings read +2ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 1280, srcaddr: 17129, srcendpoint: 1, dstendpoint: 1, wasbroadcast: 0, linkquality: 94, securityuse: 0, timestamp: 5799452, transseqnumber: 0, len: 13, data: <Buffer 18 1a 01 12 00 00 20 02 13 00 00 20 00> } +1ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +2ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +2ms
serialport:unixRead waiting for readable because of code: EAGAIN +5ms
serialport:poller Polling for "readable" +7ms
zigbee-shepherd:af dispatchIncomingMsg(): type: zclIncomingMsg, msg: [object Object] +1ms
zigbee2mqtt:debug 2018-11-26 13:50:07 Received zigbee message of type 'devChange' with data '{"cid":"ssIasZone","data":{"iasCieAddr":"0x00124b0018ed1702"}}' of device 'SMOK_V16' (0x005043c9a3316267)
zigbee2mqtt:warn 2018-11-26 13:50:07 No converter available for 'SMOK_V16' with cid 'ssIasZone', type 'devChange' and data '{"cid":"ssIasZone","data":{"iasCieAddr":"0x00124b0018ed1702"}}'
md5-57628d4f70e4d17d4216b8355d673e72
cc-znp { sof: 254,
cc-znp len: 27,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 6,
cc-znp srcaddr: 11742,
cc-znp srcendpoint: 1,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 52,
cc-znp securityuse: 0,
cc-znp timestamp: 7106801,
cc-znp transseqnumber: 0,
cc-znp len: 7,
cc-znp data: <Buffer 18 f2 0a 00 00 10 00> },
cc-znp fcs: 189,
cc-znp csum: 189 } +1s
serialport:main _read reading +2ms
serialport:bindings read +3ms
serialport:unixRead Starting read +2ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 6, srcaddr: 11742, srcendpoint: 1, dstendpoint: 1, wasbroadcast: 0, linkquality: 52, securityuse: 0, timestamp: 7106801, transseqnumber: 0, len: 7, data: <Buffer 18 f2 0a 00 00 10 00> } +1ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +0ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +0ms
serialport:unixRead waiting for readable because of code: EAGAIN +0ms
serialport:poller Polling for "readable" +4ms
zigbee2mqtt:debug 2018-11-26 13:57:56 Saving state to file /opt/zigbee2mqtt/data/state.json
serialport:poller received "readable" +4m
serialport:bindings read +4m
serialport:unixRead Starting read +4m
serialport:unixRead Finished read 32 bytes +0ms
serialport:main binding.read finished +4m
cc-znp { sof: 254,
cc-znp len: 27,
cc-znp type: 'AREQ',
cc-znp subsys: 'AF',
cc-znp cmd: 'incomingMsg',
cc-znp payload:
cc-znp { groupid: 0,
cc-znp clusterid: 1,
cc-znp srcaddr: 12229,
cc-znp srcendpoint: 2,
cc-znp dstendpoint: 1,
cc-znp wasbroadcast: 0,
cc-znp linkquality: 0,
cc-znp securityuse: 0,
cc-znp timestamp: 7931207,
cc-znp transseqnumber: 0,
cc-znp len: 7,
cc-znp data: <Buffer 18 9a 0a 21 00 20 c8> },
cc-znp fcs: 188,
cc-znp csum: 188 } +4m
serialport:main _read reading +2ms
serialport:bindings read +2ms
serialport:unixRead Starting read +3ms
cc-znp:AREQ <-- AF:incomingMsg, { groupid: 0, clusterid: 1, srcaddr: 12229, srcendpoint: 2, dstendpoint: 1, wasbroadcast: 0, linkquality: 0, securityuse: 0, timestamp: 7931207, transseqnumber: 0, len: 7, data: <Buffer 18 9a 0a 21 00 20 c8> } +1ms
zigbee-shepherd:af dispatchIncomingMsg(): type: incomingMsg, msg: [object Object] +0ms
zigbee-shepherd:msgHdlr IND <-- AF:incomingMsg, transId: 0 +0ms
serialport:unixRead waiting for readable because of code: EAGAIN +0ms
serialport:poller Polling for "readable" +4ms
Good!
Can you do the same while having: console.log(JSON.stringify(msg)); @ https://github.com/Koenkk/zigbee-shepherd/blob/master/lib/components/af.js#L670
I pasted the log here: https://pastebin.com/raw/0BpTTNVd
I have same product but different modelid. I can do debugging when i get home.
I bought it from.
https://www.mymemory.co.uk/orvibo-zigbee-smoke-sensor-white.html
``` .js
// Orvibo ZigBee Smoke Sensor
{
zigbeeModel: ['b5db59bfd81e4f1f95dc57fdbba17931'],
model: 'HS1SA',
vendor: 'HEIMAN',
description: 'Orvibo Smoke Sensor',
supports: 'smoke',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const actions = [
(cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb),
(cb) => device.report('ssIasZone', 'zoneStatus', 0, 30, null, cb),
(cb) => device.functional('ssIasZone', 'enrollRsp', {enrollrspcode: 1, zoneid: 23}, cb),
];
execute(device, actions, callback);
},
},
Looks like mine give more info
From database.db entry
```.js
{"id":35,"type":"EndDevice","ieeeAddr":"0x005043c95333194d","nwkAddr":65040,"manufId":48042,"manufName":"Heiman","powerSource":"Battery","modelId":"b5db59bfd81e4f1f95dc57fdbba17931","epList":[1],"status":"online","joinTime":1542531997,"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[0,1,3,9,1280,1282],"outClusterList":[25],"clusters":{"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":3,"stackVersion":2,"hwVersion":1,"manufacturerName":"Heiman","modelId":"b5db59bfd81e4f1f95dc57fdbba17931","dateCode":"20150330","powerSource":3,"locationDesc":"","physicalEnv":0,"deviceEnabled":1,"alarmMask":0}},"genPowerCfg":{"dir":{"value":1},"attrs":{"mainsVoltage":0,"mainsFrequency":0,"mainsAlarmMask":0,"mainsVoltMinThres":0,"mainsVoltMaxThres":65535,"mainsVoltageDwellTripPoint":0,"batteryVoltage":30,"batteryPercentageRemaining":193,"batteryManufacturer":"","batterySize":255,"batteryAHrRating":0,"batteryQuantity":0,"batteryRatedVoltage":30,"batteryAlarmMask":1,"batteryVoltMinThres":25,"batteryVoltThres1":0,"batteryVoltThres2":0,"batteryVoltThres3":0,"batteryPercentMinThres":40,"batteryPercentThres1":0,"batteryPercentThres2":0,"batteryPercentThres3":0,"batteryAlarmState":0}},"genIdentify":{"dir":{"value":1},"attrs":{"identifyTime":0}},"genAlarms":{"dir":{"value":1},"attrs":{"alarmCount":0}},"genOta":{"dir":{"value":2},"attrs":{}},"ssIasZone":{"dir":{"value":1},"attrs":{"zoneState":0,"zoneType":40,"zoneStatus":32,"iasCieAddr":"0x0000000000000000","zoneId":0,"numZoneSensitivityLevelsSupported":2,"currentZoneSensitivityLevel":0}},"ssIasWd":{"dir":{"value":1},"attrs":{"maxDuration":240}}}}},"_id":"l8pZrsiNGSFvj1zi"}
@termdude thanks.
Configure failed because
2018-11-28T09:01:42.271Z zigbee-shepherd-converters:devices Configured '(cb) => device.report('ssIasZone', 'zoneStatus', 0, 30, null, cb)' with result 'unreportableAttribute'
[31m zigbee2mqtt:error[39m 2018-11-28 10:01:42 Failed to configure 0x005043c9a3316267 0x005043c9a3316267
Can you try with:
{
zigbeeModel: ['SMOK_V16', 'b5db59bfd81e4f1f95dc57fdbba17931'],
model: 'SMOK_V16',
vendor: 'HEIMAN',
description: 'Smoke detector',
supports: 'smoke',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const actions = [
(cb) => device.functional('ssIasZone', 'enrollRsp', {enrollrspcode: 1, zoneid: 23}, cb),
(cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb),
];
execute(device, actions, callback);
},
},
@JLFN this code will also work for your model.
Can you again test and provide the log?
@Koenkk Do you want us to remove it then re-pair it or just make that change and restart zigbee2mqtt or you want also to re-pair it then trigger it? Do you need the debug log also?
Dataentry after the edited device.js
``` .js
{"id":35,"type":"EndDevice","ieeeAddr":"0x005043c95333194d","nwkAddr":65040,"manufId":48042,"manufName":"Heiman","powerSource":"Battery","modelId":"b5db59bfd81e4f1f95dc57fdbba17931","epList":[1],"status":"offline","joinTime":null,"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[0,1,3,9,1280,1282],"outClusterList":[25],"clusters":{"genBasic":{"dir":{"value":1},"attrs":{"zclVersion":1,"appVersion":3,"stackVersion":2,"hwVersion":1,"manufacturerName":"Heiman","modelId":"b5db59bfd81e4f1f95dc57fdbba17931","dateCode":"20150330","powerSource":3,"locationDesc":"","physicalEnv":0,"deviceEnabled":1,"alarmMask":0}},"genPowerCfg":{"dir":{"value":1},"attrs":{"mainsVoltage":0,"mainsFrequency":0,"mainsAlarmMask":0,"mainsVoltMinThres":0,"mainsVoltMaxThres":65535,"mainsVoltageDwellTripPoint":0,"batteryVoltage":30,"batteryPercentageRemaining":194,"batteryManufacturer":"","batterySize":255,"batteryAHrRating":0,"batteryQuantity":0,"batteryRatedVoltage":30,"batteryAlarmMask":1,"batteryVoltMinThres":25,"batteryVoltThres1":0,"batteryVoltThres2":0,"batteryVoltThres3":0,"batteryPercentMinThres":40,"batteryPercentThres1":0,"batteryPercentThres2":0,"batteryPercentThres3":0,"batteryAlarmState":0}},"genIdentify":{"dir":{"value":1},"attrs":{"identifyTime":0}},"genAlarms":{"dir":{"value":1},"attrs":{"alarmCount":0}},"genOta":{"dir":{"value":2},"attrs":{}},"ssIasZone":{"dir":{"value":1},"attrs":{"zoneState":0,"zoneType":40,"zoneStatus":32,"iasCieAddr":"0x0000000000000000","zoneId":0,"numZoneSensitivityLevelsSupported":2,"currentZoneSensitivityLevel":0}},"ssIasWd":{"dir":{"value":1},"attrs":{"maxDuration":240}}}}},"_id":"l8pZrsiNGSFvj1zi"}
Yes can you try repairing and check if it works?
Nov 28 18:32:56 hassbian npm[5022]: zigbee2mqtt:warn 2018-11-28 18:32:56 No converter available for 'HS1SA' with cid 'ssIasZone', type 'devChange' and data '{"cid":"ssIasZone","data":{"zoneState":0,"zoneType":40,"zoneStatus":32,"iasCieAddr":"0x00124b0014d9de2e","zoneId":0,"numZoneSensitivityLevelsSupported":2,"currentZoneSensitivityLevel":0}}'
Nov 28 18:32:56 hassbian npm[5022]: zigbee2mqtt:warn 2018-11-28 18:32:56 Please see: https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices.
Nov 28 18:32:58 hassbian npm[5022]: zigbee2mqtt:warn 2018-11-28 18:32:58 No converter available for 'HS1SA' with cid 'ssIasZone', type 'devChange' and data '{"cid":"ssIasZone","data":{"zoneState":0,"zoneType":40,"zoneStatus":32,"iasCieAddr":"0x00124b0014d9de2e","zoneId":0,"numZoneSensitivityLevelsSupported":2,"currentZoneSensitivityLevel":0}
Here we go again:
https://pastebin.com/raw/iQxM7nM5
Can you try triggering the alarm and check if it causes any no converter available message?
Hey, I push the button and there was not messaged. and it was Here is the manual
This is info from Zipato
NOTIFICATION TYPE EVENT
Smoke Alarm (0x01)
Previous Events cleared ( 0x00)
Smoke detected, Unknown Location(0x02)
8. BATTERY REPORT
- Battery Report is transmitted when power on the device.
- Battery Report is transmitted once a day.
- Battery Report is transmitted when the battery falls less than 10%
BATTERY VOLTAGE BATTERY LEVEL
2.4V ~ 3.0V 10~ 100 (%)
Under 2.4V 0xFF
http://www.heimantech.com/uploads/2018/01/030813172350.pdf
Here is info from smartthings
@termdude
Here we go again:
https://pastebin.com/raw/iQxM7nM5
Are you sure you used the code from https://github.com/Koenkk/zigbee2mqtt/issues/279#issuecomment-442445422.
Asking because in your log I see 2018-11-28T09:01:42.271Z zigbee-shepherd-converters:devices Configured '(cb) => device.report('ssIasZone', 'zoneStatus', 0, 30, null, cb)' with result 'unreportableAttribute' while this command is not present anymore in https://github.com/Koenkk/zigbee2mqtt/issues/279#issuecomment-442445422
@Koenkk
Ooops, I pasted the wrong debug log..
https://pastebin.com/raw/SPRBC9Nx is a new one!
Can you try with
{
zigbeeModel: ['SMOK_V16', 'b5db59bfd81e4f1f95dc57fdbba17931'],
model: 'SMOK_V16',
vendor: 'HEIMAN',
description: 'Smoke detector',
supports: 'smoke',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const actions = [
(cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb),
(cb) => device.functional('ssIasZone', 'enrollRsp', {enrollrspcode: 1, zoneid: 23}, cb),
(cb) => device.read('ssIasZone', 'zoneState', cb),
];
execute(device, actions, callback, 1000);
},
},
I don't see the failed to configure or successfully configured messages which I saw in your previous logs (at least one of them will be logged when the device is configured). Can you try repairing?
Turns out I used the wrong enrollrspcode (1) where 0 should be used: http://www.zigbee.org/~zigbeeor/wp-content/uploads/2014/10/07-5123-06-zigbee-cluster-library-specification.pdf (8.2.2.3.1.1 Payload Format)
Can you try with:
{
zigbeeModel: ['SMOK_V16', 'b5db59bfd81e4f1f95dc57fdbba17931'],
model: 'SMOK_V16',
vendor: 'HEIMAN',
description: 'Smoke detector',
supports: 'smoke',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const actions = [
(cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb),
(cb) => device.functional('ssIasZone', 'enrollRsp', {enrollrspcode: 0, zoneid: 23}, cb),
(cb) => device.read('ssIasZone', 'zoneState', cb),
(cb) => device.read('ssIasZone', 'zoneType', cb),
(cb) => device.read('ssIasZone', 'zoneStatus', cb),
(cb) => device.read('ssIasZone', 'zoneId', cb),
];
execute(device, actions, callback, 1000);
},
},
@Koenkk
I tried another heiman smoke detector and that one worked better
https://pastebin.com/h0QuiPcz
Great, looks like both of you managed to enroll the device.
The No converter available for 'SMOK_V16' with cid 'ssIasZone', type 'statusChange' and data '{"cid":"ssIasZone","zoneStatus":32}' indicates the state of the zone (smoke or no smoke).
What is the zoneStatus with and without the alarm?
BTW: There is no need for DEBUG=* now anymore, this only pollutes the log.
Looking good! zoneStatus 33 seems to be with alarm, and 32 without.
@Koenkk
When it joins it goes to Zone 29
When you trigger the alarm it goes to Zone 33 when it beeps and when beep stops its go back to 32
DEBUG=* npm start
https://pastebin.com/MHj7AbTq
Can you check if smoke: true and smoke: false are published correctly; in the zigbee2mqtt directory, execute:
cd node_modules
rm -rf zigbee-shepherd-converters
git clone https://github.com/Koenkk/zigbee-shepherd-converters.git -b SMOK_V16
cd ..
npm start
Yep, seems to publish correctly!
zigbee2mqtt:info 2018-11-30 19:37:53 MQTT publish, topic: 'zigbee2mqtt/0x005043c9a3316267', payload: '{"smoke":true,"linkquality":89}'
{"groupid":0,"clusterid":1280,"srcaddr":13130,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":89,"securityuse":0,"timestamp":14796770,"transseqnumber":0,"len":9,"data":{"0":25,"1":0,"2":0,"3":33,"4":0,"5":0,"6":23,"7":0,"8":0},"zclMsg":{"frameCntl":{"frameType":1,"manufSpec":0,"direction":1,"disDefaultRsp":1},"manufCode":0,"seqNum":0,"cmdId":"statusChangeNotification","payload":{"zonestatus":33,"extendedstatus":0}}}
zigbee2mqtt:info 2018-11-30 19:37:55 MQTT publish, topic: 'zigbee2mqtt/0x005043c9a3316267', payload: '{"smoke":false,"linkquality":84}'
{"groupid":0,"clusterid":1280,"srcaddr":13130,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"linkquality":84,"securityuse":0,"timestamp":14801722,"transseqnumber":0,"len":9,"data":{"0":25,"1":0,"2":0,"3":32,"4":0,"5":0,"6":23,"7":0,"8":0},"zclMsg":{"frameCntl":{"frameType":1,"manufSpec":0,"direction":1,"disDefaultRsp":1},"manufCode":0,"seqNum":0,"cmdId":"statusChangeNotification","payload":{"zonestatus":32,"extendedstatus":0}}}
@Koenkk
It works for me , but strange it say state offline.
Both smoke detector works.
See messages
https://pastebin.com/jsutmFVm
offline/online is not always accurate.
I will merge the support for this device, thanks!
@Koenkk Great work! Thanks!
@Koenkk thank you! now i can use mine 9 pieces
4 HEIMAN devices are supported now - when someone needs more he/she can create a new issue.
Many thanks for the support.
Anyone bought the siren from the same manufacturer in the meantime?
I would like to know if the siren from Heiman works using zigbee2mqtt. Thanks
I would like to know if the siren from Heiman works using zigbee2mqtt. Thanks
Buy it and then try to add, someone needs to be first :)
This one is alot cheaper no backup battery.
Product Model(VF-SKU) F-SRN-ZB-VF-1 / Sercomm SZ-SRN12N EAN nbr: 856418004990
https://shop.eno.de/en/vh-sercomm-sirene-zigbee-fuer-v-home.html
https://github.com/Koenkk/zigbee2mqtt/issues/1087
These are all also indoor, can't find a viable outdoor solution either.
Only thing that would work for now are those RF 433mhz versions connected to Sonoff RF Bridge...but I'm offtopic.
These are all also indoor, can't find a viable outdoor solution either.
Only thing that would work for now are those RF 433mhz versions connected to Sonoff RF Bridge...but I'm offtopic.
There are outdoor versions. http://www.climax.com.tw/z-sirens.php
https://usermanual.wiki/Climax-Technology-Co/BX/pdf
This is all great, but what is the price, and where can I get it (outside Australia) :)
@Koenkk
Hi, I have Heiman PIR. It wants to the coordinator have an application with output cluster "ssIasZone". so I add the cluster on endpoint 0x01 and the "Match Descriptor Request" is responded successfully. but about the "enroll request", your configuration in device.js doesn't worked. is there anyway to resolve this issue?
edit:
the request is sent from HEIMAN device:

but the coordinator doesn't respond to it.
it should respond like below:

(I had given from the device provider support)
the device definition in device.js is as below:
{
zigbeeModel: ['PIR_TPV16'],
model: 'PIR_TPV16',
vendor: 'HEIMAN',
description: 'PIR_TPV16',
supports: 'single, double, triple, quadruple, many, long, long_release click',
fromZigbee: [],
toZigbee: [],
configure: (ieeeAddr, shepherd, coordinator, callback) => {
const device = shepherd.find(ieeeAddr, 1);
const cfg = {
direction: 0, attrId: 33, dataType: 32, minRepIntval: 0, maxRepIntval: repInterval.MAX, repChange: 0,
};
const actions = [
(cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb),
(cb) => device.functional('ssIasZone', 'enrollRsp', {enrollrspcode: 1, zoneid: 1}, cb),
(cb) => device.read('ssIasZone', 'zoneState', cb),
];
execute(device, actions, callback);
},
},
@msadeghz the issue is that we actually don't respond to the enroll requests, but we just send an enroll reponse on zigbee2mqtt startup and when the device pairs (this is when the configure section will be executed) (and hope that the device did an enroll request).
I will implement correct answering of enroll requests in zigbee-herdsman (during my current refactor). That will likely fix the issue. I will also add the ias to endpoint 1 by default.
@msadeghz the issue is that we actually don't respond to the enroll requests, but we just send an enroll reponse on zigbee2mqtt startup and when the device pairs (this is when the
configuresection will be executed) (and hope that the device did an enroll request).I will implement correct answering of enroll requests in zigbee-herdsman (during my current refactor). That will likely fix the issue. I will also add the ias to endpoint 1 by default.
Got it, so if the enroll response is sent in insufficient time, the end-device can't get it.
can I ask where do you want to edit? actually, which file and which method?
I found that I can get it in serial port:

edit: I have done a little modification such that I see this warning in zigbee2mqtt:

can I create a converter in fromZigbee.js to send enroll responding, like what we do in device.js.
Code will end up here: https://github.com/Koenkk/zigbee-herdsman/blob/controller/src/controller/controller.ts however this part is not functional/complete yet.
I just got a similar device as the hs1sa marked as orvibo. It identifies as zigbee model 98293058552c49f38ad0748541ee96ba
Putting this in current herdsman as an additional id and it all seems to work ok, so this model should probably also be added.
I have that same Orvibo device (98293058552c49f38ad0748541ee96ba)
Please add to devices. Tx
@paulgking @arnonel added, will be available in latest dev branch in a few hours.
Legend
On Wed, 8 Jan 2020 at 17:30, Koen Kanters notifications@github.com wrote:
@paulgking https://github.com/paulgking @arnonel
https://github.com/arnonel added, will be available in latest dev
branch in a few hours.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Koenkk/zigbee2mqtt/issues/279?email_source=notifications&email_token=AB42YAOV452FZ5S6UBHN7W3Q4YESFA5CNFSM4FPGLAIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEINK47Y#issuecomment-572173951,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB42YANIWEXTZPGYTAQV64LQ4YESFANCNFSM4FPGLAIA
.>
Most helpful comment
Code will end up here: https://github.com/Koenkk/zigbee-herdsman/blob/controller/src/controller/controller.ts however this part is not functional/complete yet.