home-assistant.io/source/_integrations/integration.markdown
2022-07-25 12:56:50 +02:00

3.9 KiB

title description ha_category ha_release ha_iot_class ha_quality_scale ha_codeowners ha_domain ha_config_flow ha_platforms ha_integration_type
Integration - Riemann sum integral Instructions on how to integrate Integration Sensor into Home Assistant.
Energy
Helper
Sensor
Utility
0.87 Local Push internal
@dgomes
integration true
sensor
helper

This integrations 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 are updated upon changes of the source. Fast sampling source sensors provide more accurate results. In this implementation, the default is the Trapezoidal method, but Left and Right methods can optionally be used.

{% include integrations/config_flow.md %} {% configuration_basic %} Name: description: The name the sensor should have. You can change it again later. Input sensor: description: The entity providing numeric readings to integrate. Integral method: description: Riemann sum method to be used. Precision: description: Round the calculated integration value to at most N decimal places. Metric prefix: description: Metric unit to prefix the integration result. Integration time: description: SI unit of time to integrate over. {% endconfiguration_basic %}

YAML Configuration

Alternatively, this integration can be configured and set up manually via YAML as well. To enable the 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 %} source: description: The entity ID of the sensor providing numeric readings. required: true type: string name: description: Name to use in the frontend. required: false default: source entity ID integral type: string unique_id: description: An ID that uniquely identifies the integration sensor. Set this to a unique value to allow customization through the UI. required: false type: string round: description: Round the calculated integration value to at most N decimal places. required: false default: 3 type: integer unit_prefix: description: "Metric unit to prefix the integration result. Available units are k, M, G and T." required: false default: None type: string unit_time: description: "SI unit of time to integrate over. Available units are s, min, h and d." required: false default: h type: string method: description: "Riemann sum method to be used. Available methods are trapezoidal, left and right." required: false type: string default: trapezoidal {% endconfiguration %}

In case you expect that your source sensor will provide several subsequent values that are equal, you should opt for the left method to get accurate readings.

The unit of source together with unit_prefix and unit_time is used to generate a unit for the integral product (e.g. a source in W with prefix k and time h would result in kWh). Note that unit_prefix and unit_time are also relevant to the Riemann sum calculation.

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, device_class of power), then you can use the integration sensor to track how much energy is being spent. Take the next manual YAML 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 which will have your energy in kWh, as a device_class of energy.