I keep getting some really bad temperature readings - but only occasionally. I'm plotting these using powertrigger which is how I notice them but it would be really bad if the thermostat (or HS) reacts to these bogus readings.
The temperature I get most often is 0. It's summer and it's clearly not 0F in my house (even in NH). I've also been getting 202 = 0xCA and 18944 = 0x4A00 the interesting thing is that 74 = 0x4A. I am noting the hex version of the temperature to show where the failing bits are in the ZWave packet.
ZWave uses a simple checksum to validate that the packet is good. Checksums are easy to calculate but are not very reliable. There is a 1 in 256 chance that a bad packet will be identified as a good one. And in this case, we can see the failures.
When the temperature is 18944 degress (rougly the surface of the sun) an extra byte of 00 somehow got put into the packet. A checksum won't detect an extra byte of 00. A CRC (which most modern protocols use) would fail.
202 is just a single bit upset in the packet (CA instead of 4A).
I also have 4 HSM100s but their temperature never seems to come back as bad so perhaps its the WDTC-20 that's corrupting the data?
The temperature I get most often is 0. It's summer and it's clearly not 0F in my house (even in NH). I've also been getting 202 = 0xCA and 18944 = 0x4A00 the interesting thing is that 74 = 0x4A. I am noting the hex version of the temperature to show where the failing bits are in the ZWave packet.
ZWave uses a simple checksum to validate that the packet is good. Checksums are easy to calculate but are not very reliable. There is a 1 in 256 chance that a bad packet will be identified as a good one. And in this case, we can see the failures.
When the temperature is 18944 degress (rougly the surface of the sun) an extra byte of 00 somehow got put into the packet. A checksum won't detect an extra byte of 00. A CRC (which most modern protocols use) would fail.
202 is just a single bit upset in the packet (CA instead of 4A).
I also have 4 HSM100s but their temperature never seems to come back as bad so perhaps its the WDTC-20 that's corrupting the data?
Comment