It looks like the driver sends out the battery report request as I see the following messages in the log, but it looks like the sensor is not responding with batter level. It was working with my ST hub before I moved it to ST. Here is what I see in the log:
Battery status was last checked 600 minutes ago
Battery status is outdated, requesting battery report
Result from get battery was: [8002]
Result from wake no more info was: [8002, 8408]
Result from parsed event: [8002, 8408, [descriptionText:Kitchen Sink Moisture woke up, isStateChange:false]]
Parse returned [8002, 8408, [descriptionText:Kitchen Sink Moisture woke up, isStateChange:false]]
It works otherwise to get the temp alarms, dry/wet and temperature. Just not battery level.
Anyone have this problem and resolve it or know how to fix this?
2020-11-17 12:10:58.987 pm warn Unable to execute hubAction:8408 sent from Kitchen Sink Moisture, invalid or unspecified protocol.
2020-11-17 12:10:58.969 pm warn Unable to execute hubAction:8002 sent from Kitchen Sink Moisture, invalid or unspecified protocol.
These are related to the responses I get from the Moisture Sensor when asking for Battery data. Anyone have any suggestions at all on what I can try?
I am seeing similar errors with Ikea tradfri outlets and signal repeaters
Unable to execute hubAction:delay 2000 sent from Ikea TRADFRI Signal Repeater, invalid or unspecified protocol. Any help from staff will be appreciated
I tried the above. I don't get the unable to execute hubAction anymore but:
The code line I am using to get the battery level is:
result << new hubitat.device.HubAction(zwave.batteryV1.batteryGet().format(), hubitat.device.Protocol.ZWAVE)
log.debug "Result from get battery was: ${result}"
When I do the above, the result in log is:
Result from get battery was: [8002]
if I change the code to add the sendHubCommand like below:
result << sendHubCommand(new hubitat.device.HubAction(zwave.batteryV1.batteryGet().format(), hubitat.device.Protocol.ZWAVE))
I get the following in the log:
Result from get battery was: [null]
So it seems the moisture sensor is responding with a result of 8002 from the batteryGet but don't believe that is actually the battery level as a respone.
SendHubCommand does not return a command, so appending it to a list will result in a null.
You either want
result << zwave.batteryV1.batteryGet().format()
Or
sendHubCommand(new hubitat.device.HubAction(zwave.batteryV1.batteryGet().format(), hubitat.device.Protocol.ZWAVE))
Ok, when I try just zwave.batteryV1.batteryGet().format() the result I get is 8002. So I think the device is responding but it is replying with 8002 rather than the battery level. In post #1, I have some links to the device I am trying to connect to so not sure if you have any other advice.
This is the actual battery get command, not the battery report being sent from the device in response to receiving it.
So either the general code in and around where the battery report is being requested is wrong, or the device is sleeping when when the command is being sent.
If you're trying to do a battery get from within the parse method just use SendHubCommand.
If this still isn't working perhaps past the method where the battery get is called.
@dario_rossi - I'm in the process of migrating over from my original kickstarted Smartthings hub to HE, and I have the same FortrezZ Zwave moisture sensor as you. Would you be willing to share the final driver code you put together to get this working in HE?