i was curious if anyone understood the get_temperature fn in detail. I'm guessing that it returns temp in degrees C. 0 returns optical - what does that mean? CCD - it appears that the CCD has a higher temp. and battery - is this value meaningful if you're on AC power?
First, it's one of those functions that just calls Canon's function of (more or less) that name. So whatever we know is from some random strings and experience gained from trying it out one several cameras.
They appear to be temperatures in Celcius, returned from various temperature sensors the camera may have. Not all cameras have all sensors, and very likely they aren't placed identically but supposedly at or near the component(s) matching their names.
You be the judge of what's meaningful to you... when they work, they all change with ambient temperature and with camera generated heat. The camera obviously may use them for safety shutdown (especially lithium packs with real internal sensors) and various temperature compensation things (such as battery capacity indication and sensor noise removal).
On a related note, IMO CHDK OSD default config should not be to display temperatures...