Also der erste Unterschied ist schon mal, dass ich nur die ersten beiden Bytes auslese und nicht 9!

ich glaube das ist diese Rechnung

If Crc = 0 Then ' if is OK, calculate for
Tmp = Bd(1) And 1 ' 0.1C precision
If Tmp = 1 Then Decr Bd(1)
T = Makeint(bd(1) , Bd(2))
T = T / 2
Temp = Bd( - Bd(7)
Temp = Temp / Bd(
Temp = T + Temp
Temp = Temp - 0.25
End If