I couldn't resist trying to get the temperature right. It led me to write a fair bit of code to print out all of the DW registers. I expect that will turn out to be pretty useful soon.
There are two weird things though:
I kept getting 0 for the calibration data. So I ran the register dump to find out if I was read any registers, and sure enough it all looked kosher, and indeed the temp. calibration was 0x7A. After some fiddling around I discovered that I couldn't read that register unless a read a whole bunch of others. I have stopped digging into it, because I suspect it's some kind of weird timing bug. Maybe the DW has to be in some special state to read the OTP. It can wait.
The other thing is that if I plugged in the calibration value it didn't make much difference, which I suppose makes some kind of sense. But the temp went up! And the T is measured in C, not F, so I'm pretty confused.
Temp = 88.14(uncalibrated) 86.84(using calibration). Volts = 2.99