Smart.Thermometer shows a temperature as the instrument that measures it: a bulb, a capillary stem and a column standing at the reading.

A level indicator empties to nothing; a thermometer does not. The bulb is the sensing element and always holds liquid, the column rises from it, and the scale belongs to the stem rather than to the whole instrument. Beyond that the component carries what a thermometer carries and a tank has no use for: a second scale in another temperature unit, the maximum and minimum reached since the memory was last reset, a setpoint marker, and alarm bands the liquid itself can take its colour from.

A reading, with the scale on both sides

min, max and value are in the unit the instrument is written in. scalePosition chooses which sides carry a scale, and ticksVisibility and labelsVisibility decide how finely it is marked.

Ambient
Jacket, scale both sides
Endpoints only

Two units at once

secondaryUnit puts a second scale down the far side in celsius, fahrenheit or kelvin. It is ticked at round values of its own unit and placed by converting each mark back, so the two scales do not line up — which is exactly what a dual-scale thermometer looks like, and the only honest way to draw one.

°C and °F
K and °C

Alarm bands, a setpoint and the max-min memory

ranges paints the bands behind the column, colorByRange lets the liquid take the colour of the band it has reached, and showExtremes leaves the two markers a max-min thermometer leaves behind. resetExtremes() puts them back on the reading.

Reactor R-101

Highest and lowest hold where the reading has been.

Laid flat, and without the bulb

orientation="horizontal" lays the instrument along a strip, filling from the bulb at the left. Setting bulb to false drops the reservoir for a thermometer drawn into a panel cut-out, where the bulb sits behind the fascia. The page sets it from script, because a boolean attribute is on whenever it is present, even as bulb="false".

A reading that is not to be trusted

quality is carried by every component that extends the scale engine. A bad reading is hatched and an uncertain or stale one is dimmed, so a value that must not be acted on never looks like one that can be.

good
uncertain
bad
stale