mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-10 10:56:49 +00:00
Utility meter (#8025)
* add utility_meter
* updates
* ✏️ Tweaks
* spellcheck
* made it into an embedded component
* sensor -> component
* bump version
This commit is contained in:
parent
e236935b2f
commit
00d84bd50c
130
source/_components/utility_meter.markdown
Normal file
130
source/_components/utility_meter.markdown
Normal file
@ -0,0 +1,130 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Utility Meter"
|
||||
description: "Instructions on how to integrate the Utility Meter into Home Assistant."
|
||||
date: 2019-01-02
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
ha_category: Sensor
|
||||
ha_release: 0.87
|
||||
ha_iot_class: "Local Push"
|
||||
logo: energy_meter.png
|
||||
ha_qa_scale: internal
|
||||
---
|
||||
|
||||
The `utility meter` component provides functionality to track consumptions of various utilities (e.g., energy, gas, water, heating).
|
||||
|
||||
From a user perspective, utility meters operate in cycles (usually monthly) for billing purposes. This sensor will track a source sensor values, automatically resetting the meter based on the configured cycle. On reset an attribute will store the previous meter value, providing the means for comparison operations (e.g., "did I spend more or less this month?") or billing estimation (e.g., through a sensor template that multiplies the metered value per the charged unit amount).
|
||||
|
||||
Some utility providers have different tariffs according to time/resource availability/etc. The utility meter enables you to define the various tariffs supported by your utility provider and accounts your consumptions in accordance. When tariffs are defined a new entity will show up indicating the current tariff. In order to change the tariff, the user must call a service, usually through an automation that can be based in time or other external source (eg. a REST sensor).
|
||||
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable the Utility Meter Sensor in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
utility_meter:
|
||||
energy:
|
||||
source: sensor.energy_in_kwh
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
source:
|
||||
description: The entity ID of the sensor providing utility readings (energy, water, gas, heating).
|
||||
required: true
|
||||
type: string
|
||||
cycle:
|
||||
description: How often to reset the counter. Valid values are `hourly`, `daily`, `weekly`, `monthly` and `yearly`.
|
||||
required: true
|
||||
type: string
|
||||
offset:
|
||||
description: Cycle reset occur at the beginning of the period (0 minutes, 0h00 hours, Monday, day 1, January). This option enables the offsetting of these beginnings.
|
||||
required: false
|
||||
default: 0
|
||||
type: integer
|
||||
tariffs:
|
||||
description: List of tariffs supported by the utility meter.
|
||||
required: false
|
||||
default: []
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
# {% linkable_title Services %}
|
||||
|
||||
### {% linkable_title Service `utility_meter.reset` %}
|
||||
|
||||
Reset the Utility Meter. All sensors tracking tariffs will be reset to 0.
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of strings that point at `entity_id`s of utility_meters.
|
||||
|
||||
### {% linkable_title Service `utility_meter.next_tariff` %}
|
||||
|
||||
Change the current tariff to the next in the list.
|
||||
This service must be called by the user for the tariff switching logic to occur (e.g. using an automation)
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of strings that point at `entity_id`s of utility_meters.
|
||||
|
||||
### {% linkable_title Service `utility_meter.select_tariff` %}
|
||||
|
||||
Change the current tariff to the given tariff.
|
||||
This service must be called by the user for the tariff switching logic to occur (e.g. using an automation)
|
||||
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of strings that point at `entity_id`s of utility_meters.
|
||||
| `tariff` | no | String that is equal to one of the defined tariffs.
|
||||
|
||||
# {% linkable_title Advanced Configuration %}
|
||||
|
||||
The following configuration shows an example where 2 utility_meters (`daily_energy` and `monthly_energy`) track daily and monthly energy consumptions.
|
||||
|
||||
Both track the same sensor (`sensor.energy`) which continously monitors the energy consumed.
|
||||
|
||||
4 different sensors will be created, 2 per utility meter and corresponding to each tariff.
|
||||
Sensor `sensor.daily_energy_peak`, `sensor.daily_energy_peak`, `sensor.monthly_energy_peak` and `sensor.monthly_energy_offpeak` will automatically be created to track the consumption in each tariff for the given cycle.
|
||||
|
||||
`utility_meter.daily_energy` and `utility_meter.monthly_energy` entities will track the current tariff and provide a service to change the tariff.
|
||||
|
||||
```yaml
|
||||
utility_meter:
|
||||
daily_energy:
|
||||
source: sensor.energy
|
||||
cycle: daily
|
||||
tariffs:
|
||||
- peak
|
||||
- offpeak
|
||||
monthly_energy:
|
||||
source: sensor.energy
|
||||
cycle: monthly
|
||||
tariffs:
|
||||
- peak
|
||||
- offpeak
|
||||
```
|
||||
|
||||
Assuming your energy provider tariffs are time based according to:
|
||||
- *peak*: from 9h00 to 21h00
|
||||
- *offpeak*: from 21h00 to 9h00 next day
|
||||
|
||||
a time based automation can be used:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '09:00:00'
|
||||
- platform: time
|
||||
at: '21:00:00'
|
||||
action:
|
||||
- service: utility_meter.next_tariff
|
||||
entity_id: utility_meter.daily_energy
|
||||
- service: utility_meter.next_tariff
|
||||
entity_id: utility_meter.monthly_energy
|
||||
```
|
BIN
source/images/supported_brands/energy_meter.png
Normal file
BIN
source/images/supported_brands/energy_meter.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.0 KiB |
Loading…
x
Reference in New Issue
Block a user