Integration - Riemann sum integral


The integration platform provides the Riemann sum of the values provided by a source sensor. The Riemann sum is an approximation of an integral by a finite sum. The integration sensors is updated upon changes of the source. Fast sampling source sensors provide better results. In this implementation, the default is the Trapezoidal method, but Left and Right methods can optionally be used.

Configuration

To enable Integration Sensor in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
sensor:
  - platform: integration
    source: sensor.current_power

Configuration Variables

sourcestringRequired

The entity ID of the sensor providing numeric readings.

namestring(Optional, default: source entity ID meter)

Name to use in the frontend.

roundinteger(Optional, default: 3)

Round the calculated integration value to at most N decimal places.

unit_prefixstring(Optional, default: None)

Metric unit to prefix the integration result. Available units are k, M, G and T.

unit_timestring(Optional, default: h)

SI unit of time to integrate over. Available units are s, min, h and d.

unitstring(Optional)

Unit of measurement to be used for the integration.

methodstring(Optional, default: trapezoidal)

Riemann sum method to be used. Available methods are trapezoidal, left and right.”

In case you have an appliance which produces spikey consumption (like an on/off electrical boiler) you should opt for the left method to get accurate readings. If unit is set then unit_prefix and unit_time are ignored.

Energy

An integration sensor is quite useful in energy billing scenarios since energy is generally billed in kWh and many sensors provide power in W (Watts).

If you have a sensor that provides you with power readings in Watts (uses W as unit_of_measurement), then you can use the integration sensor to track how much energy is being spent. Take the next configuration as an example:

sensor:
  - platform: integration
    source: sensor.current_power
    name: energy_spent
    unit_prefix: k
    round: 2

This configuration will provide you with sensor.energy_spent who will have your energy in kWh.