Help decoding 433 mhz RF temperature and humidity sensor

andriej - i followed this: http://davehouston.net/learn.htm

johncc, I'm getting close. I don't think the temperature values are linear though:

After getting some colder samples I believe that both 8-bit columns after the humidity are 7bits temperature plus 1 parity bit in the beginning, so 14 bits for the temperature value:

-----------pCCCCCCC pIIIIIII pBBBBBBB pHHHHHHH pTTTTTTT pTTTTTTT CHECKSUM?-- TEMP IN BIN    DEC
A:-10C 70% 11111011 01101011 01000100 11000110 10000111 00000110 11111101 -- 00001110000110 902
A:+00C 68% 11111011 01101011 01000100 01000100 10000111 11100111 01011100 -- 00001111100111 999
A:+06C 65% 11111011 01101011 01000100 01000001 10001000 00100010 10010101 -- 00010000100010 1058
A:+12C 61% 11111011 01101011 01000100 10111101 10001000 11100001 11010000 -- 00010001100001 1121
A:+14C 59% 11111011 01101011 01000100 10111011 10001000 01110111 01100100 -- 00010001110111 1143
A:+16C 56% 11111011 01101011 01000100 10111000 00001001 10001000 11110011 -- 00010010001000 1160
A:+18C 55% 11111011 01101011 01000100 10110111 00001001 00010111 10000001 -- 00010010010111 1175
A:+20C 53% 11111011 01101011 01000100 00110101 00001001 10101100 10010100 -- 00010010101100 1196

p=Parity Bit
C=Channel (A, B or C) 
I=Identification string ???
B=Battery OK/Low ???
H=Humidity
T=Arbitrary Temperature value
I'm guessing the last column is a CRC or Checksum but haven't investigated it yet.

But using the y=mx+b linear equation doesn't add up, or I'm doing it wrong :slight_smile: For example using the first and last data bits:
(x,y)
(20,1196)
(-10,902)

20-(-10)=30
1196-902=294
294/30=9
m=9

1196=9(20)+b
1196=180+b
b=1016

So then if i take the +6C sample:
1058=9(x)+1016
42=9x
x=42/9
x=4 (should be 6)

I've also tried it with the Fahrenheit data and i get the same behavior.

We're getting really close though!