Help with decoding 433 mhz RF XC-0331 Wireless Ultrasonic Tank Level Meter

Hi All,
I have the raw data format and am about to start work on it, but I have not done this kind of decode before, so if someone has started already it would be a great help.

Has anyone had any luck writing a routine to decode this data stream yet?

Logic 0 = 480uS High, 480-uS Low
Logic 1 = 480uS High, 1000uS Low

Bits are set MSB first, full sentence is 17 nibbles.

Nibble Function
0 & 1 Sync [ 1010 1111 ]
2 & 3 Serial#
4 & 5 DeviceID [ 0001 0001] ??
6 & 9 Depth HH,HL, LH,LL (Value in hex *100 Fill with 5DC on invalid, range 0-15M)
10 Transmit Interval ( Bit 7=0 180S, Bit 7 =1 30S, bit 4-6=1 5S)
11&12 &13 Temp H, M, L (in hex *10, Max 1000, with 400 offset) If invalid read, filled with 3E8
14&15 Rain H, L (Value 0-256) I assume not used in XC-0331
16&17 CRC (includes nibbles 2-15 only)

Cheers,

Malster