From 2ef1ea72aa802a636cfe120b036d99e873cae780 Mon Sep 17 00:00:00 2001 From: Diogo Gomes Date: Tue, 29 Jan 2019 12:27:34 +0000 Subject: [PATCH] Adds Integration Sensor (#8012) * energy sensor * address review comments * from energy meter -> integration meter * :pencil2: Tweaks * bump version --- .../_components/sensor.integration.markdown | 78 ++++++++++++++++++ source/images/supported_brands/integral.png | Bin 0 -> 9361 bytes 2 files changed, 78 insertions(+) create mode 100644 source/_components/sensor.integration.markdown create mode 100644 source/images/supported_brands/integral.png diff --git a/source/_components/sensor.integration.markdown b/source/_components/sensor.integration.markdown new file mode 100644 index 00000000000..2e35f2d9994 --- /dev/null +++ b/source/_components/sensor.integration.markdown @@ -0,0 +1,78 @@ +--- +layout: page +title: "Integration Sensor" +description: "Instructions on how to integrate Integration Sensor into Home Assistant." +date: 2019-01-02 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Utility +ha_release: 0.87 +ha_iot_class: "Local Push" +logo: integral.png +ha_qa_scale: internal +--- + +The `integration` platform provides the [Riemann sum](https://en.wikipedia.org/wiki/Riemann_sum) of the values provided by a source sensor. The Riemann sum is an approximation of an **integral** by a finite sum. In this implementation, we follow the Trapezoidal rule. + +## {% linkable_title Configuration %} + +To enable Integration Sensor in your installation, add the following to your `configuration.yaml` file: + +```yaml +# 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 meter + 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, T. + required: false + default: None + type: unit +unit_time: + description: SI unit of time to integrate over. Available units are s, min, h, d. + required: false + default: h + type: unit +unit: + description: Unit of Measurement to be used for the integration. + required: false + type: string +{% endconfiguration %} + +If 'unit' is set then 'unit_prefix' and 'unit_time' are ignored. + +## {% linkable_title 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: + +```yaml +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. diff --git a/source/images/supported_brands/integral.png b/source/images/supported_brands/integral.png new file mode 100644 index 0000000000000000000000000000000000000000..4313036ed3599ed2076222e4ce31dd52ce0f59a1 GIT binary patch literal 9361 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

!NbaQUeH%#&Bm zHMiQ|_c@Z4=s=6CzLp=yZntVJzgA&HG&i?d+C_tD@0aiI;I``%;^Hg~GEP+w*|mR# z%w<8JJz5T{)L&L3)wyy_E9IhZT!FF{x!JjiO5zyAUtKH+-EoYd*Tq8L8oeO^4u28n7Jt%A7^17NPk_3Nj`8_a)6PZs+&E#Vi z;k5aExh-?crl43jm9RUaa^2Z4$v&|z)TutHu#w=dBILG`&0PUUgC9#on%owy>}OHP zZ$gSGNg2yE@x=Pt^_#QuBxUBZeYpJfjBjP{72CI1Aad;x1n(tbG;15 zQ1Q>0>eRV?yR1(|eiOTHg6)ht>Xqte2`~ntx!|-%$45ePEou+xWGQ|^q_kxjP3e?1l%c%)lo=dJv-5^O}J%ZYoZcfRQ z+X%0p`Yg1t4nO{)>7>#L9KRu>y-k_&a9lTzM39y-gu1y5l!TtJm&cAmGbX9Ov>wuh zYaa4ql>U~I#Q!2a*Rh)a)6R~9>D;x=R+0thIo2#X=@+v;Oy@&YTvIbqeIXt84XS`3x zFVHEf6rIeYL|HUriqwcZ?KZUc5ocekdSt^x*LQjY@Iq;5P3jkvI>eK7-0m5)JeBLL z4kf)~G6$LNTQlyz{CIU&FrT`BjYf-LK*AW$DqG10!$`wAy0MdQ>_PC>LG&JKQ5|8~ zs11)N39*$}9GA?LC8wt+e(~hY&W%FBqn%K=Z3OK;aP}CQ(ylXmbE7a?=RtB%UtpDK z!908WtQR;&sNf&T&=g~FYx