Problem is, I'm not sure how you could build a mechanical device sensitive enough to make temperature changes part of an on/off switch. Even if you try to set up the device based on metal that expands or contracts (even if it were mercury, which making mercury thermometers seems a little advanced) due to temperature, it seems hard to build a device that would be fine-tuned enough to be based on at most a centimeter of expansion or contraction.
We can't currently get that mercury in game, but we already have cinnabar. I'm surprised we haven't used it yet to make fur into felt, but I guess we only have tanned hides and ignore fur pelts for whatever reason.
Cinnabar, unless I'm mistaken, has been used as a mercury source since ancient times. Bimetallic strips don't seem like that much of a stretch for dwarves who are metalworkers and machinists, either. Frankly, I was going for more of an abstract "mechanism" type thing. But if you want to require cinnabar mechanisms, I'm fine with that.
I meant to leave the "how" deliberately abstract. I think it might be better that way.
Plus, what need is there for detecting "magma" temperatures when you can already use a pressure plate that simply is set to detect magma?
Likewise, "normal" temperatures are basically what 99.999% of all tiles will be at all times, so it is useful only as a null state.
I would remove the "detect magma" function from the pressure plate (or rather, require that pressure plates detect both water *and* magma) and move it to a temperature sensor were one added. I mean, how can a pressure plate tell the difference between the two, anyhow? Magma might be denser, but it's a pressure sensor not a density sensor... right?
You need a null state, even if it seems useless. There are traps that already depend on freezing & magma, so the use to automate those should be obvious enough. That leaves fires, which are indeed useful (vs dragons, HFS, and all magma dwellers... not just imps).
Fire is likewise not particularly useful, as the only real time a tile is fire temperature is when something like a fire imp is walking nearby, or a fire is in the same tile as the device, which would essentially require trying to force a dwarf to drop something that would burn in the same tile. Considering as water doesn't even stop fires right now, I can't really see much use for this, except as a fire imp-specific trap.
I think that the part about water not stopping fires is a bug and expect it to get fixed... eventually. I guess I didn't realize it hadn't been fixed. But there are other uses for it until then (e.g. seal off the booze stockpile _before_ the imp gets inside). Later, it might be possible to use controlled flooding to put out fires.