Skip to content
Stand with Ukraine flag

Motor Vibration Alarm

  • Alarm Rule
  • 45 installs
  • v1.0.0
  • Jun 15, 2026
  • MIT license
  • v4.3+

Monitor motor vibration against ISO 20816-3 Class II severity zones — early warning when vibration stays high, critical alarm when it spikes past the danger limit. Motors, turbines, compressors.

Type
  • Alarm
Category
  • Threshold
  • Equipment Health
Use Cases
  • Industrial Automation
  • Predictive Maintenance

Who it’s for

Maintenance and reliability teams asking “is this motor’s vibration creeping toward the alert range?”, “is a turbine or compressor showing signs of bearing wear or imbalance?”, “is a genset or CNC spindle spiking past the danger limit?” — when vibration in mm/s (RMS) should trigger an early warning before it spikes past the limit.

What it does

Reads the device’s vibration telemetry (typically RMS amplitude in mm/s) and raises a Major alarm when vibration stays above 2.8 mm/s (the Zone B/C limit) for several minutes, and a Critical alarm the moment vibration spikes past 7.1 mm/s (the Zone C/D limit). The alarm auto-clears once vibration returns below 2.5 mm/s and stays steady there.

Defaults follow the ISO 20816-3 Class II profile (medium machines, 15–75 kW) — the most common IoT-deployed motor size. Refer to the standard for the values that apply to your machine class, and see How to customize to override the defaults.

Industrial Equipment Vibration Alarm diagram

How to set up

The rule has default values for every threshold, so it works as soon as it is installed. Install on a device or asset profile so the alarm covers every entity of that type at once and automatically picks up any new entity added later. Single-device or single-asset installs are also supported.

How to customize

  • To monitor a different telemetry — change the Time series key on the metric argument (e.g. vibrationaccelRms for accelerometer-based monitoring).
  • To use different threshold attribute names — change the Attribute key on the threshold arguments to match what your devices or assets already use (e.g. vibrationWarningThresholdvibLimit).
  • To change the warning, danger, and clear thresholds used when no per-entity attribute is set — change the Default value on the warningThreshold, criticalThreshold, and clearThreshold arguments.
  • To change how long a reading must stay above the warning threshold before Major fires, or below the clear threshold before clearing — change the Default value on the holdMinutes or clearHoldMinutes arguments.
  • To tune thresholds and hold durations at runtime without editing the rule — set the value on the entity as a regular server-side attribute. It can be edited directly from a dashboard using Update Multiple Attributes input widget:
    • Per device or asset — set the attribute (e.g. vibrationWarningThreshold, vibrationHoldMinutes) on the device or asset itself. The per-entity value overrides the Default value.
    • Per customer (in deployments that use customers) — change Entity type on the relevant argument to Current owner, then set the attribute on the customer. Every device that customer owns picks up that value.
    • Tenant-wide — change Entity type to Current tenant, then set the attribute on the tenant. The value applies across every device.
  • To make the alarm manual-clear-only — remove the Clear condition. The alarm then stays active until an operator clears it.
  • To restrict firing to specific hours or days — in the Trigger condition’s Schedule, choose Active at a specific time range (or Custom schedule for different intervals per day) — useful for suppressing alarms during planned start-up sequences or maintenance windows. For per-entity schedules — machines with different shift patterns — switch to Dynamic mode and source the schedule JSON from an attribute on the entity.
  • To control where the alarm shows up — toggle the propagation flags under Advanced settings.

Share Your Alarm Rule with the Community

Built a reliable alarm rule? Export it as a JSON from ThingsBoard and publish it to the IoT Hub. Share it with thousands of ThingsBoard developers and help the community react to incidents faster.