Add Energyzero get_gas_prices and get_energy_price services (#29143)

* Update energyzero.markdown

* Update energyzero.markdown

* Added required parameter

* Align wording with easyEnergy

* Set incl vat as required

---------

Co-authored-by: c0ffeeca7 <k0ffeeka7@gmail.com>
This commit is contained in:
Robert Groot 2023-12-21 17:21:54 +01:00 committed by GitHub
parent 2f704f9f67
commit cd1d347eb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -52,3 +52,100 @@ Every day around **14:00 UTC time**, the new prices are published for the follow
For the dynamic gas prices, only entities are created that display the
`current` and `next hour` price because the price is always fixed for
24 hours; new prices are published every morning at **05:00 UTC time**.
## Services
The energy and gas prices are exposed using [service calls](/docs/scripts/service-calls/). The services populate [Response Data](/docs/scripts/service-calls#use-templates-to-handle-response-data) with price data.
### Service `energyzero.get_gas_prices`
Fetches the gas prices.
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | --------|
| `incl_vat` | no | Defines whether the prices include or exclude VAT. | false
| `start` | yes | Start time to get prices. Defaults to today 00:00:00 | 2023-01-01 00:00:00
| `end` | yes | End time to get prices. Defaults to today 00:00:00 | 2023-01-01 00:00:00
### Response data
The response data is a dictionary with the gas timestamps and prices as string and float values.
{% raw %}
```json
{
"prices": [
{
"timestamp": "2023-09-25 03:00:00+00:00",
"price": 1.1
},
{
"timestamp": "2023-09-25 04:00:00+00:00",
"price": 1.05
}
]
}
```
{% endraw %}
### Service `energyzero.get_energy_prices`
Fetches the energy prices.
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | --------|
| `incl_vat` | no | Defines whether the prices include or exclude VAT. | false
| `start` | yes | Start time to get prices. Defaults to today 00:00:00 | 2023-01-01 00:00:00
| `end` | yes | End time to get prices. Defaults to today 00:00:00 | 2023-01-01 00:00:00
### Response data
The response data is a dictionary with the energy timestamps and prices as string and float values.
{% raw %}
```json
{
"prices": [
{
"timestamp": "2023-09-25 03:00:00+00:00",
"price": 0.05
},
{
"timestamp": "2023-09-25 04:00:00+00:00",
"price": 0.12
}
]
}
```
{% endraw %}
### Add response to sensor
The response data can be added to a template sensor:
{% raw %}
```yaml
template:
- trigger:
- platform: time_pattern
hours: "*"
action:
- service: energyzero.get_energy_prices
response_variable: prices
data:
incl_vat: false
sensor:
- name: Energy prices
device_class: timestamp
state: "{{ now() }}"
attributes:
prices: '{{ prices }}'
```
{% endraw %}