What do you mean by the "heat" of the device?
If we want to add electrical characteristics we need to add sensors to obtain the data. Did you have something in mind?
We'll need to decide how to deal with crashes. I think that we can stash a few bytes with some key register values into RAM when a hard fault occurs (which I think is the only detectable type of fault) and then when the MCU resets we can persist that to be sent to the server.
Time its up and running should be collectable, and I believe that this can also be determined server side. Since the device has no backup battery, it needs to synchronize time with the server each time it boots. The server can record the last sync time for each device and then subtract that from the latest sample time to determine uptime.
The device doesn't have much memory to store samples, so things like data drift probably need to be determined server side.
Static information, like firmware versions and stuff is definitely needed for OTA.