Temperature Sensors

temperature sensor

In the contextual smart home temperature sensors can be used for many things:

With this in mind, it makes sense to choose temperature sensors that are suitable for use in all these potential applications and are not limited to one single purpose or use case. Temperature sensors can only be used for most applications if they are reliable, accurate, provide good resolution, deliver timely updates and have low latency. In some applications this rules out traditional wireless and battery powered sensors as are typically considered part of the Internet of Things (IoT).

Models

We use common models for all the sensors and all the types of sensors connected to our Home Control System. Combined with technology abstraction this means that any sensor added inherits all the capabilities supported by each model and our smart home. Essentially, every sensor connected becomes instantly very smart. They can all generate notifications based on absolute values, rate of change, upper and lower limits, etc. They can all generate voice announcements if required or trigger an alarm.

Because we use technology abstraction we can use many different types of temperature sensor in our smart home. All the objects modelled in our also have a number of flags that can be set. For temperature sensors, there is a flag that can be set to allow it to be used as part of average temperature calculations for our virtual sensors.

Wired

For the best possible reliability and performance, our preference is to use wired sensors where ever possible. They require no batteries and also have very low latency. Low latency results in the best possible user experience across all possible applications and use cases.

DS1820 temperature sensor

We use the Dallas 1-Wire DS1820 temperature sensor a lot because these sensors are cheap (~£1.20 each) and work over a wide temperature range (-55°C to +125°C). They are also available as basic sensors or encapsulated in stainless-steel probes. They are very reliable, accurate and responsive enough for all of the applications we have identified so far. Many sensors can be mounted in series along a long (many tens of meters) length of cable.

This is actually the temperature sensor used in many ZigBee and Z-Wave modules that provide temperature sensing capability.

Wireless

It is not always possible to install wiring for wired sensors and so we also use wireless technologies such as Z-Wave.

Everspring ST814 temperature sensor
We have various temperature measuring devices connected using our Z-Wave (wireless) mesh network. These are much less configurable in terms of reporting frequency and responsiveness. These wireless Z-Wave sensors are typically around £50 each but this device also measures humidity.
Fibaro FGK-101 Z-Wave contact sensor
We also use these Fibaro FGK-101 Z-Wave door/window contact sensors, which support an optional Dallas 1-Wire DS1820 temperature sensor.

Use Cases

Every temperature sensor in our contextual smart home provides temperature information into the pool of whole home context. The primary application for these temperature sensors is heating control in our smart home. In some rooms we have more than one temperature sensor and our Home Control System can track the mean, maximum and minimum temperature for each zone.

Example: 

We have three temperature sensors in our conservatory. These allow a local slave processor to determine the temperature gradient from floor to ceiling and to then operate the ceiling fan speed accordingly. Our Home Control System occupancy and presence capability ensures that the fan only spins at a slow speed when the room is occupied (it can blow a gale!), for a great user experience.

Our models include easily configurable upper and lower temperature limits for each sensor. Crossing of these limits will can be configured to result in an alarm or notifications.

Our models include rate of temperature change and for every sensor we can easily configure an upper limit, which will trigger an alarm when reached. This basically makes every single temperature sensor in our home a safety device for the early detection of fires. These temperature rises can often be detected long before any smoke has been generated.

Note:  The rate of temperature rise is very dependent on the room the sensor is installed in. Our Home Control System allows us to easily configure unique alarm values for each sensor. The sensors we use are very sensitive and running a bath or parking a car in a garage both introduce heat sources that result in the room temperature rising rapidly. Even opening the door to our (unheated for most of winter) conservatory results in a flood of warm air that has to be factored in.

We only capture and process temperatures to a resolution of 0.1°C. We can see little point in working with temperatures at any higher resolution in the smart home. At this resolution it is possible to see the effects of people entering a room after a relatively short period of time but, there is currently no way that our Home Control System can infer things like this automatically. There are very few temperature sensors that are accurate to 0.1°C despite many reporting temperatures to two or more decimal places. Temperature sensors also need to be calibrated to get any where near this level of accuracy.

How we report temperatures back to our Home Control System depends very much on the application and use case. For heating control, timely and accurate temperature reporting is important. For simple monitoring of temperatures (for example in our shed) we may only report changes greater than 2.5°C because the temperature changes a lot when the sun is out. We may also enforce rate limiting and in our shed, we only allow updates every 60 seconds.

We avoid any polling. Having said this, the process of reading the temperature from a Dallas DS1820 1-Wire device essentially amounts to polling but, this is always done via a slave device and the time delay is tiny.

Insight

When ever possible, we configure our temperature sensors to report temperatures with a minimum of 3 seconds between readings. This enforced rate limiting works really well for all of the applications and use cases we have identified. It also ensures a suitable gap to accurately measure temperature rate of change. Our sensors also report temperatures to 0.1°C resolution and typically report changes greater than 0.3°C in real time (assuming 3 seconds since last update). We also force sensors to report every 15 minutes, even if the value hasn't changed. These simple settings mean that we never need to poll temperature sensors and that they provide a highly accurate and very timely view of temperature in any given zone. It also means that updates arrive only when required and this results in quite a small number of updates from a typical sensor each day, because it is only reporting significant changes. This has the side effect of making it very easy to ensure all temperature data generated by our smart home is logged.

Our approach enables a whole days data to recorded accurately with about 80 data points per sensor in a typical 24-hour period. Our Home Control System provides a nice graphical view of current and historical data, allowing analysis and insight. This enables us to easily understand how our smart home is working and thus improve it.

Further Reading

We also have a page on the wider application of sensors in the smart home.