Does anyone who understands zigbee know what this message could be, its coming out of BlitzWolf BW-IS3 Motion Sensor, roughly every hour, its not a problem would just like to be able to parse it and process it if its useful instead of just ignoring it
raw:06880100000801002049, dni:0688, endpoint:01, cluster:0000, size:08, attrId:0001, encoding:20, command:0A, value:49, clusterInt:0, attrInt:1]
This is the ApplicationVersion attribute
https://zigbeealliance.org/wp-content/uploads/2019/12/07-5123-06-zigbee-cluster-library-specification.pdf#page=102&zoom=100,92,620
and Tuya devices use to send this report as some kind of 'heart beat' or 'check-in' message to the Zigbee coordinator.
You can use this as a 'Presence' indicator, so even if the motion sensor does not detect and does not send any motion event, it will still send this 'check-in' message every hour.
2 Likes
should the driver send a response back?
1 Like
Actually, if we want the ''Last Activity At" timestamp to be updated (used by DeviceWatchdog and other app), the driver must send an event to HE. If we don't want to misuse the Presence attribute for this purpose, it could be any other attribute whose state is not changed... Battery, or even Motion ..
In one of my drivers, I send a powerSource event for this purpose ..
Code
// called when any event was received from the Zigbee device in parse() method..
def setPresent() {
sendEvent(name: "powerSource", value: "dc")
state.lastPresenceState = "present"
state.notPresentCounter = 0
}
// called from autoPoll()
def checkIfNotPresent() {
if (state.notPresentCounter != null) {
state.notPresentCounter = state.notPresentCounter + 1
if (state.notPresentCounter > presenceCountTreshold) {
if (state.lastPresenceState != "not present") {
sendEvent(name: "powerSource", value: "unknown")
state.lastPresenceState = "not present"
if (logEnable==true) log.warn "not present!"
}
}
}
}
2 Likes