Hi All,
The only smart outdoor PIR camera I could find on the market was the Climax VST-852EX. I bought one and a Aeotec SmartThings v3 hub. I’m software engineer, so writing a DTH wasn’t going to be a problem, or so I thought.
From the limited documentation, the PIR Camera supports basic, motion, and proprietary clusters (0000, 0500, and 0503) . I’ve created a DTH based on numerous templates and examples. The logs show a lot of communication including enrolment, but no motion detection. If I press the test button on the device, it sends a test motion. It is like the device isn’t armed to detect motion. Here’s the configuration
def configure() {
// Device-Watch allows 2 check-in misses from device + ping (plus 1 min lag time)
// enrolls with default periodic reporting until newer 5 min interval is confirmed
sendEvent(name: "checkInterval", value: 2 * 60 * 60 + 1 * 60, displayed: false, data: [protocol: "zigbee", hubHardwareId: device.hub.hardwareID, offlinePingable: "1"])
log.debug "Configuring Reporting, IAS CIE, and Bindings."
def cmds = refresh() +
zigbee.configureReporting(zigbee.IAS_ZONE_CLUSTER, zigbee.ATTRIBUTE_IAS_ZONE_STATUS, DataType.BITMAP16, 30, 60 * 5, null) +
zigbee.batteryConfig() +
zigbee.enrollResponse()
log.debug "config commands: $cmds"
return cmds
}
Here is a start up trace if it helps
23:07:56: debug Ignore: [raw:0104 0500 01 01 0000 00 27A2 00 00 0000 04 01 00, profileId:0104, clusterId:0500, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:27A2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00], clusterInt:1280, commandInt:4]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:56: debug description: catchall: 0104 0500 01 01 0000 00 27A2 00 00 0000 04 01 00
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:56: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:56: debug Ignore: [raw:0104 0500 01 01 0000 00 27A2 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:27A2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00], clusterInt:1280, commandInt:11]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:56: debug description: catchall: 0104 0500 01 01 0000 00 27A2 00 00 0000 0B 01 0000
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:55: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:55: debug description: catchall: 0104 0500 01 01 0000 00 27A2 01 00 0000 01 01 04040110
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:51: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:51: debug Ignore: [raw:0104 0001 01 01 0000 00 27A2 00 00 0000 07 01 86002000, profileId:0104, clusterId:0001, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:27A2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[86, 00, 20, 00], clusterInt:1, commandInt:7]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:51: debug description: catchall: 0104 0001 01 01 0000 00 27A2 00 00 0000 07 01 86002000
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:51: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:51: debug Ignore: [raw:0000 8021 00 00 0000 00 27A2 00 00 0000 00 00 2C00, profileId:0000, clusterId:8021, sourceEndpoint:00, destinationEndpoint:00, options:0000, messageType:00, dni:27A2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[2C, 00], clusterInt:32801, commandInt:0]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:51: debug description: catchall: 0000 8021 00 00 0000 00 27A2 00 00 0000 00 00 2C00
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:48: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:48: debug IAS ZONE REPORTING CONFIG RESPONSE: [raw:0104 0500 01 01 0000 00 27A2 00 00 0000 07 01 00, profileId:0104, clusterId:0500, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:27A2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00], clusterInt:1280, commandInt:7]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:48: debug description: catchall: 0104 0500 01 01 0000 00 27A2 00 00 0000 07 01 00
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:47: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:47: debug Ignore: [raw:0000 8021 00 00 0000 00 27A2 00 00 0000 00 00 2B00, profileId:0000, clusterId:8021, sourceEndpoint:00, destinationEndpoint:00, options:0000, messageType:00, dni:27A2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[2B, 00], clusterInt:32801, commandInt:0]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:47: debug description: catchall: 0000 8021 00 00 0000 00 27A2 00 00 0000 00 00 2B00
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:44: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:44: debug Ignore: [raw:0104 0500 01 01 0000 00 27A2 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:27A2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00], clusterInt:1280, commandInt:11]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:44: debug description: catchall: 0104 0500 01 01 0000 00 27A2 00 00 0000 0B 01 0000
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:44: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:44: debug Ignore: [raw:0104 0500 01 01 0000 00 27A2 00 00 0000 04 01 00, profileId:0104, clusterId:0500, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:27A2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00], clusterInt:1280, commandInt:4]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:44: debug description: catchall: 0104 0500 01 01 0000 00 27A2 00 00 0000 04 01 00
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:43: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:43: debug description: catchall: 0104 0500 01 01 0000 00 27A2 01 00 0000 01 01 04040110
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:40: debug Parse returned [name:motion, value:inactive, descriptionText:Motion Sensor all clear, translatable:true]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:40: debug Motion Status
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:40: debug description: catchall: 0104 0500 01 01 0000 00 27A2 00 00 0000 01 01 020000190000
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:40: debug Parse None
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:40: debug Ignore: [raw:0104 0001 01 01 0000 00 27A2 00 00 0000 01 01 200086, profileId:0104, clusterId:0001, sourceEndpoint:01, destinationEndpoint:01, options:0000, messageType:00, dni:27A2, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, attrId:0020, resultCode:86, data:[20, 00, 86], clusterInt:1, attrInt:32, commandInt:1]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:40: debug description: catchall: 0104 0001 01 01 0000 00 27A2 00 00 0000 01 01 200086
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:36: debug config commands: [st rattr 0x27A2 0x01 0x0001 0x0020, delay 2000, st rattr 0x27A2 0x01 0x0500 0x0002, delay 2000, st wattr 0x27A2 0x01 0x0500 0x0010 0x00F0 {286D97000209D28E}, delay 2000, raw 1280 {01 23 00 00 00}, delay 200, send 0x27A2 0x1 0x1, delay 2000, zdo bind 0x27A2 0x01 0x01 0x0500 {00124B001B6B0ABB} {}, delay 2000, st cr 0x27A2 0x01 0x0500 0x0002 0x19 0x001E 0x012C {}, delay 2000, zdo bind 0x27A2 0x01 0x01 0x0001 {00124B001B6B0ABB} {}, delay 2000, st cr 0x27A2 0x01 0x0001 0x0020 0x20 0x001E 0x5460 {01}, delay 2000, st wattr 0x27A2 0x01 0x0500 0x0010 0x00F0 {286D97000209D28E}, delay 2000, raw 1280 {01 23 00 00 00}, delay 200, send 0x27A2 0x1 0x1, delay 2000]
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:36: debug Refreshing Battery
54dabc9e-be39-4725-ac0f-fa73722e0069 23:07:36: debug Configuring Reporting, IAS CIE, and Bindings.
I’ve really hit a brick wall so any help to get the device to report/push motion detection would be appreciated.
Cheers
David

