- Use case
- Prerequisites
- Step 1: Adding temperature transformation node
- Step 2: Validation script debugging
- TL;DR
- Next steps
Use case
Let’s assume your device is using custom sensor to collect and push temperature readings to IoT Hub. This sensor collects temperature readings in °F and you would like to convert them to °C before storage into the database and visualization.
In this tutorial we will configure IoT Hub Rule Engine to modify temperature readings according to a formula:
[°C] = ([°F] - 32) × 5/9.
Prerequisites
We assume you have completed the following guides and reviewed the articles listed below:
- Getting Started guide.
- Rule Engine Overview.
Step 1: Adding temperature transformation node
We will modify default rule chain and will add transformation rule node with temperature transformation script. We will place this rule node between default “message type switch” and “save timeseries” rule nodes. Please note that we have removed irrelevant rule nodes from the root rule chain as well.
Let’s assume the data that arrive to a system may or may not have the “temperature” field. We will treat all data that does not have “temperature” field as valid. In order to do this we will use the following function
1
2
3
4
5
6
7
8
9
10
function precisionRound(number, precision) {
var factor = Math.pow(10, precision);
return Math.round(number * factor) / factor;
}
if (typeof msg.temperature !== 'undefined'){
msg.temperature = precisionRound((msg.temperature -32) * 5 / 9, 2);
}
return {msg: msg, metadata: metadata, msgType: msgType};
Step 2: Validation script debugging
Let’s check that our script is correct by using built-in “Test transformer function” button
You can check few more cases, for example when temperature is not set.
TL;DR
Download and import attached json file with a rule chain from this tutorial. Don’t forget to mark new rule chain as “root”.
Next steps
- Getting started guides - These guides provide quick overview of main IoT Hub features. Designed to be completed in 15-30 minutes.
-
Connect your device - Learn how to connect devices based on your connectivity technology or solution.
-
Data visualization - These guides contain instructions how to configure complex IoT Hub dashboards.
-
IoT Data analytics - Learn how to use rule engine to perform basic analytics tasks.
-
Hardware samples - Learn how to connect various hardware platforms to IoT Hub.
-
Advanced features - Learn about advanced IoT Hub features.
-
Contribution and Development - Learn about contribution and development in IoT Hub.