I did some more testing, with byte 4/5:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
b1 11 ff fe 00 11 00 11 00 95 0e 01 01 0d 18 03 ab / console reading: 4,3 mm - test 1
b1 11 ff fe 00 ca 00 db 00 5f 0e 01 01 0d 18 04 f8 / console reading: 116,3 mm - test 2
b1 11 ff fe 00 2a 00 3b 00 be 0e 01 01 0d 18 04 17 / console reading: 270,8 mm - test 3
You could be right, I also tried to simulate al lot of rain in test 2 & 3, to "overflow" the bytes, but the bytes don't overflow.
I don't see how bigger values are transferred, so I assume they are cut off.
For test 2: I get 0xCA, I guess is internally 0x01CA.
If I calculate it as 0x0CA00, I get 117,2 mm
If I calculate as 0x01CA * 0,254, I get 116,3 mm <-- value on console
For test 3: I get 0x2A , I guess is internally 0x042A.
If I calculate it as 0x042A00, I get 272,8 mm
If I calculate as 0x042A * 0,254, I get 270,764 mm <-- value on console
So I still assume the rain values are in inches
, but it does not matter that much because it's only 1% error