---
title: Message Filter
slug: litmusedge/message-filter
docTags: 
createdAt: 2026-07-24T11:50:34.410Z
---

The Message Filter forwards a message only when the observed field changes enough to matter. Use it to reduce message volume by dropping readings that repeat or that move within a tolerance you define.

## How it works

The processor reads one field from each incoming message and compares it against a reference value. The reference is the last forwarded value by default, or a fixed compare value when you set one. If the change passes the rule for the selected mode, the processor forwards the message. Otherwise it drops it.

## Filter modes

The **Mode** parameter selects one of three rules:

- `rbe` (report by exception) forwards a message only when the observed value differs from the previous value.
- `deadband` forwards a message only when the observed value differs from the reference by more than the delta. It blocks small fluctuations inside the band.
- `narrowband` forwards a message only when the observed value differs from the reference by the delta or less. It blocks large outlier jumps outside the band.

## Reference value

By default, the processor compares each message against the last forwarded value. When you set a **Compare Value**, it compares against that fixed reference instead. The first message is evaluated against the rule rather than forwarded automatically. You enter the compare value as text, and the processor converts it to match the type of the observed field, such as a number, a boolean, or a string.

## Delta percent

When you enable **Delta Percent**, the processor treats the delta of tolerance as a percentage of the reference value rather than an absolute amount.

## Timer interval

When you set a timer interval in milliseconds, the processor republishes the last known value if no new message arrives within that interval. Enter `0` to disable the timer.

## Parameters

:::hint{type="info"}
**Note:** In `deadband` and `narrowband` modes, the processor falls back to an equality check for non-numeric values. In `rbe` and `deadband` modes a non-numeric value passes when it differs from the reference and in `narrowband` mode it passes when it matches the reference.
:::

| **Parameters**     | **Details**                                                                                                      |
| ------------------ | ---------------------------------------------------------------------------------------------------------------- |
| Mode               | Sets the filtering method:<br />* `rbe`
* `deadband`
* `narrowband`                                              |
| Map Field Name     | The field in the message to observe. Default is `value`.                                                         |
| Delta of Tolerance | The band size used in `deadband` and `narrowband` modes. Ignored in `rbe` mode.                                  |
| Delta Percent      | Treats the delta of tolerance as a percentage of the reference value.                                            |
| Compare Value      | A fixed reference value to compare each message against. Leave empty to compare against the last received value. |
| Timer Interval     | Timer in milliseconds in which to push values. Enter `0` to disable this timer.                                  |
| Pass Through Value | Joins the input with the output of the processor.                                                                |

