· IIoT Platforms · 2 min read
Thingsboard Industrial: SCADA Master Guide and Rule Chains
Take Thingsboard to production. Learn data normalization with Rule Chains, complex alarm configuration, and high-performance industrial dashboard design.

Thingsboard has become the “Android of IIoT platforms”: it’s powerful, open-source, and highly customizable. But there is a huge difference between having a pretty dashboard and having a mission-critical industrial SCADA running in production.
In this guide, we’ll look at how to set up Thingsboard for real industrial environments, from data normalization to containerized deployment.
1. Deployment: Docker and Persistence
Never use the “demo” image for production. You need an external database (PostgreSQL) and to configure volumes so that your data doesn’t disappear after a restart.
I have prepared an optimized docker-compose.yml for industrial environments:
👉 GitHub: thingsboard-industrial-starter
2. The Rule Engine: The Plant Brain
The Rule Engine is where the magic happens. Don’t send raw data to the dashboard; normalize it first.
Practical Case: Unit Conversion
If a sensor sends you temperature in Fahrenheit but your plant operates in Celsius, don’t change it in the PLC (don’t touch the control logic). Do it in the Rule Chain:
- Use a
Scriptnode. - Write:
output.temp_c = (msg.temp_f - 32) * 5/9;. - Save the result as telemetry.
[!NOTE] In Thingsboard version 4.1, there is now a native Unit Conversion function that drastically simplifies this.
3. Non-distracting Dashboards
A common mistake is to fill the dashboard with analog clocks and bright colors.
- High-Performance HMI Philosophy: Use grey colors for normal states and vibrant colors (red, yellow) only for alarms.
- Context: A number alone (
25.4) means nothing. Always show the current value next to a historical trend line.
4. Device Management (Device Provisioning)
When you have 5 or 10 machines, you can create them by hand. When you have 500, you need to automate. You can use the Thingsboard REST API to create device profiles and assign them tokens automatically.
# Provisioning snippet
requests.post(f"{HOST}/api/device", headers=AUTH, json={"name": "STATION_01", "type": "OPC_UA_NODE"})Conclusion
Thingsboard is the perfect tool for democratizing plant floor data. If you correctly separate business logic (Rule Chains) from visualization (Dashboards) and ensure data persistence (Docker + Postgres), you have a system that can compete with SCADAs costing thousands of dollars.
Technical Sources:
- Thingsboard Documentation: Rule Engine Overview
- Thingsboard Blog: New in 4.1: Unit Conversion and Historical Processing
- ISA 101: Human Machine Interfaces for Process Automation Systems



