Signal Conditioner replaces established Home Assistant Template, Compensation, Filter, and throttle chains with one canonical sensor.
The first form selects the source and only the behaviors to include:
- Apply custom value limits
- Calibrate values
- Process readings in a time window
- Round output values
Only configuration pages for enabled behaviors are shown. Disabled behaviors are not stored or executed.
The pipeline runs in this order:
Source state or attribute
→ reject unknown, unavailable, missing, nonnumeric, NaN, and infinity
→ optional minimum/maximum rejection
→ optional calibration
→ optional fixed time window selecting mean or latest
→ optional rounding
→ canonical Home Assistant sensor
- Source sensor
- Optional source attribute
- Optional output-name override
Signal Conditioner inherits the unit, device class, state class, and icon whenever a state-based source provides them. The config flow exposes validated overrides for all four values. Explicit overrides win over inherited metadata; attribute-based sources inherit none of the parent entity metadata unless an override is configured. The same fields are available when reconfiguring an existing Signal Conditioner sensor, and clearing a field removes that override.
- Minimum valid value
- Maximum valid value
- Raw and corrected value pairs
- Polynomial degree; omitted degree defaults to
1
window:
duration: 60
output: meanA configured instance owns a repeating interval timer. It collects every accepted calibrated reading received during each interval and publishes exactly once at the interval boundary when at least one reading was collected. Empty intervals publish nothing.
meanpublishes the arithmetic mean of all readings in the period and is the default whenoutputis omitted.latestpublishes the final accepted reading in the period.
Omit window to publish every accepted reading immediately.
- Decimal places; an empty
roundingblock defaults toprecision: 2
Rounding is applied only to the published result.
signal_conditioner:
garage_humidity:
source: sensor.garage_humidity_raw
value_limits:
minimum: 0
maximum: 100
calibration:
data_points:
- [50.76, 53.00]
- [60.76, 63.00]
degree: 1
window:
duration: 60
output: mean
rounding:
precision: 2YAML and the config flow expose the same behavior set.
Install as a custom HACS repository or copy custom_components/signal_conditioner into the
Home Assistant configuration directory, restart Home Assistant, and add
Signal Conditioner from Settings → Devices & services → Add integration.
Start the development Home Assistant instance with:
scripts/developRun repository checks separately with:
scripts/check