Fortrezz SmartSense Moisture Sensor Battery Level (SmartThings Zwave V1 Sensor)

Hello,

I have the first/original generation SmartThings SmartSense Moisture (leak) ZWave Sensors (not the later gen ZigBee ones). I believe it is the Fortrezz FTS05 series sensor (manual I believe here: https://www.homecontrols.com/homecontrols/products/pdfs/FZ-FortrezZ/FZFTS05xx-User-Manual.pdf). When I added it as a Generic Z-wave Water Sensor, I was not getting any battery updates. I then tried to use the Device Driver from ST (started with this: https://raw.githubusercontent.com/dario-rossi/SmartThingsPublic/master/devicetypes/smartthings/smartsense-moisture.src/smartsense-moisture.groovy and then updated to work with Hubitat).

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?

Bumping this thread.

I see in my logs, I get the following warnings:

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?

1 Like

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

HE Platform 2.2.4.148

@staff

hubAction commands need to include the the protocol parameter.

 sendHubCommand(new hubitat.device.HubAction(cmd, hubitat.device.Protocol.ZWAVE))

Or

sendHubCommand(new hubitat.device.HubAction(cmd, hubitat.device.Protocol.ZIGBEE))

The errors you are now seeing have always been under the hood, 2.2.4 just sends them to live logging...

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.

Thanks for all the advice so far!

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.

Thanks So much @mike.maxwell ! Using the SendHubCommand in the parse method did it! Problem solved!

@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?

Thanks for any information you can share.

-mals