2010-02-01

UPM Checksum

A while ago I discovered four extra bits in the UPM temperature RF protocol. Two of the bits are sequence counters which simply adds one for each message in the three message bursts sent by the sensors. The other two bits seemed to be some kind of checksum. I have had some reports of people getting bad readings sometimes, so I finally took the time to figure the checksum out. After a bit of experimenting and analyzing, I finally managed to decode it: Bit 0 is all even bits in the message XOR:ed together and bit 1 is all the odd bits. So now bad messages will not be reported from the receiver any more!

2 comments:

  1. Can you please share the UPM protocol or what you've learned about the protocol.
    I have decoded the house and unit codes but are stuck with the rest.
    Thanks

    ReplyDelete
  2. Of course I can share my findings about the protocol. My recommended solution would of course be that you feed the raw signal to the mic-input of your computer and let NetHomeServer do the decoding for you, so you just can get the decoded messages as TCP/IP… ;-)

    …but I know, sometimes it’s fun to do the low level stuff yourself. At the time I did the code I had found no documentation of the protocol, so I have spent quite a few hours doing the decoding of the messages. To help you, I have now added a simple protocol description page to the NetHomeServer-wiki. It’s a link to it at the bottom of the UPM-Page (http://wiki.nethome.nu/doku.php/upm).
    I hope this helps!

    /Stefan

    ReplyDelete