ST Water Sensor
Appreciate your newly added support for water sensors.  Led me to purchase the latest ST Water Leak Sensor.  Setup with homebridge was quick and easy but found that homebridge reported my completely dry water sensor triggering as if it had detected a leak.   The native SmartThings App reported it to be dry.  This status didn't change over many hours.

So looked at the JSON device results (below) and I saw that status was "water":null which I guess your code interprets to not be "dry".  I decided to put my sensor in some water and found the status immediately changed to "water":"wet" and amazingly after removing it from water the status changed to "water":"dry" and all is well.   No more signs of this "water":null status.
 
{"name":"Water Leak Sensor","basename":"Water Leak Sensor","deviceid":"5ffc1f4b-2e74-442a-8ea4-e4e6ef636322”,”status":"ONLINE","manufacturerName":"SmartThings","modelName":"moisturev4","lastTime":"2017-02-23T06:10:09+0000","capabilities":{"Temperature Measurement":1,"Battery":1,"Water Sensor":1,"Configuration":1,"Refresh":1,"Sensor":1,"Health Check":1},"commands":{"configure":[],"refresh":[],"ping":[],"enrollResponse":[]},"attributes":{"temperature":66,"battery":100,"water":null,"checkInterval":720}}

I'll leave it to you to consider what might need to be done when a sensor right out of the box that hasn't ever been wet reports its status to be anything other than "wet" or "dry".