Ok so in my project to convert the Securifi Water sensor to a Reed sensor I have done some progress in re-configuring the sensor so that it shows up as a correct sensor type on the Almond+.
The first Water sensors I got was detected as a Contact Switch I heard this was a firmware error in the sensors, but well worked for me. :-).
But the later batch are correctly detected as Flood Sensors when I associate them.
However since I do not want them to be Flood Sensors, I was trying to find a way to convert the sensor, and I think I found the way.
So for those who want to do this, this is how I did it.
Make sure no sensors change status during this as it will overwrite your changes.
Log in through ssh and modify the file /tmp/DeviceList.xml
vi /tmp/DeviceList.xml
If you are unfamiliar with vi, here is a quick guide.
Use arrow keys to get around, and when you found what you want to edit hit the 'i' key on the keyboard to get into insert mode.
Make your changes and hit the escape key to get out of insert mode then type a colon ':' to get into command mode and typ wq and hit enter to save and close.
You will find a list of all associated sensors here and their information.
Here is how one of my Flood Sensors looked like.
<Device ID="3">
<Name>FloodSensor #3</Name>
<Location>Default</Location>
<OZWNode>NaN</OZWNode>
<ZigBeeShortID>0x474b</ZigBeeShortID>
<ZigBeeEUI64>00:0d:6f:00:03:1b:9a:1c</ZigBeeEUI64>
<DeviceTechnology>ZigBeeTechnology</DeviceTechnology>
<AssociationTimeStamp>1412414031</AssociationTimeStamp>
<DeviceType>WaterSensor</DeviceType>
<FriendlyDeviceType>WaterSensor</FriendlyDeviceType>
<AllowNotification>1</AllowNotification>
<ValueVariables Count="3">
<LastKnownValue Index="1" EndPoint="1" Name="STATE" Type="Bool">false</LastKnownValue>
<LastKnownValue Index="2" EndPoint="1" Name="LOW BATTERY" Type="Bool">false</LastKnownValue>
<LastKnownValue Index="3" EndPoint="1" Name="TAMPER" Type="Bool">false</LastKnownValue>
</ValueVariables>
</Device>
The only thing you actually need to change is the
<DeviceType>WaterSensor</DeviceType>
Change it into
<DeviceType>ContactSwitch</DeviceType>
Save your file and copy it to root
cp /tmp/DeviceList.xml /
And finally restart the haserver.
pkill -9 haserver
Now your sensor is a ContactSwitch instead.
The only thing that is still not working as it should is that the sensor is reversed, so when the reed sensor is closed then the Almond reports open, i'm still working on this.
Having a look at what the ZigbeeServer sends it seems that when a Real Reed Sensor detects the magnet it sends:
{INFO} status change 0x38 from device 0x3ed8
And when the Magnet is removed:
{INFO} status change 0x39 from device 0x3ed8
While when a Watersensor sends the reversed situation.
When no water detected:
{INFO} status change 0x38 from device 0x4519
When shorted(water detected):
{INFO} status change 0x39 from device 0x4519
So I suppose I have to figure out where this is configured in the server, or I have to reverse it directly on the cable using a NOT circuit.