diff --git a/source/_integrations/nordpool.markdown b/source/_integrations/nordpool.markdown index 101096ab665..48df43c51fd 100644 --- a/source/_integrations/nordpool.markdown +++ b/source/_integrations/nordpool.markdown @@ -12,23 +12,19 @@ ha_codeowners: - '@gjohansson-ST' ha_domain: nordpool ha_platforms: + - diagnostics - sensor -ha_integration_type: integration +ha_integration_type: hub --- The **Nord Pool** {% term integration %} integrates [Nord Pool Group](https://www.nordpoolgroup.com/) energy prices into Home Assistant. The {% term integration %} provides the public market prices displayed on the [Nord Pool Auction page](https://data.nordpoolgroup.com/auction/day-ahead/prices). +Most European energy is traded via the Nord Pool Group marketplace. If your energy provider doesn't have a dedicated Home Assistant integration and you have a spot-price-based contract, you can use the **Nord Pool** {% term integration %}. This integration provides spot prices for your selected market, which you can, as an example, use in a {% term template %} to calculate prices for your [energy dashboard](#energy-dashboard). + {% include integrations/config_flow.md %} -{% tip %} -Only a single configuration entry is supported. Use the reconfigure option from the configuration entry if needed to modify the settings. - -EUR is the base currency for market prices. If you choose another currency, you can find the conversion rate in the `Exchange rate` sensor. -All prices are displayed as `selected_currency/kWh`. -{% endtip %} - {% configuration_basic %} Areas: description: Select one or multiple market areas to create sensors for. @@ -36,60 +32,112 @@ Currency: description: Currency to display prices in. EUR is the base currency in Nord Pool prices. {% endconfiguration_basic %} +{% tip %} +Only a single integration entry is supported. To modify the settings, you can use the reconfigure option from the integration entry. + +EUR is the base currency for market prices. If you choose another currency, you can find the conversion rate in the `Exchange rate` sensor. +All prices are displayed as `[Currency]/kWh`. +{% endtip %} + +## Data fetching and limitations + +Data is polled from the **Nord Pool** API on an hourly basis, exactly on the hour, to ensure the price sensors are displaying the correct price. + +If polling cannot happen because of no connectivity or a malfunctioning API, there is no retry; the next periodic update will try again. + ## Sensors -Each market area will create a device which has the following sensors: +The integration will create entities showing today's energy prices for the configured market area. Only the base energy price is shown. VAT and other additional costs are not included. ### Main sensors -- Current price for the selected area -- Previous price for the selected area -- Next price for the selected area +| Sensor | Type | Description | +| ------------------------- | ----------------- | --------------------------------------------------------------------------------- | +| Current price | [Currency]/kWh | The current (hourly) energy price. | +| Previous price | [Currency]/kWh | The price of the previous hour. | +| Next price | [Currency]/kWh | The price of the next hour. | +| Daily average | [Currency]/kWh | The average of today's energy prices. | -These sensors can be used to calculate your current energy cost, or to help decide whether to charge the battery now or in an hour, etc. +### Peak & off-peak sensors -### Block price sensors +Additional sensors are provided for peak and off-peak blocks. -- Block average -- Block minimum -- Block maximum -- Block start time -- Block end time +- Peak refers to the price of the period from 8am to 8pm. +- Off-peak 1 refers to the price of the time period from midnight to 8am. +- Off-peak 2 refers to the average price of the time period from 8pm to midnight. + +

+ Time blocks +

+ +| Sensor | Type | Description | +| ------------------------------- | ----------------- | --------------------------------------------------------------------------------- | +| [peak/off-peak] highest price | [Currency]/kWh | The hightest hourly price during the given timeframe. | +| [peak/off-peak] lowest price | [Currency]/kWh | The lowest hourly price during the given timeframe. | +| [peak/off-peak] average | [Currency]/kWh | The average price of the given timeframe. | +| [peak/off-peak] time from | Datetime | The start date/time of the given timeframe. | +| [peak/off-peak] time until | Datetime | The end date/time of the given timeframe. | -These sensors show the minimum/maximum and average during certain blocks of the day. More known as off-peak (typically lower price) or peak hours (typically higher price). The block price sensors are not enabled by default. -### Daily average - -- Daily average - -The daily average sensor is not enabled by default. - ### Diagnostic sensors -- Last updated - indicates when the market price was last updated. -- Currency - The selected currency. -- Exchange rate - EUR is the base currency so will show the exchange rate used on the market place. +| Sensor | Type | Description | +| ------------------------- | ----------------- | --------------------------------------------------------------------------------- | +| Currency | [Currency] | The configured currency. | +| Exchange rate | Integer | The exchange rate between the configure currency and Euro's. | +| Last updated | Datetime | The time when the market prices were last updated. | -The `Exchange rate` sensor is not enabled by default. +## Examples -## Example +A template sensor to add VAT and fixed cost is useful to get the actual energy cost in the energy dashboard. -A simple template sensor to add VAT and a fixed cost from an `input_number` entity +### UI Template + +Create a helper using the UI. + +1. Go to {% my integrations title="**Settings** > **Devices & Services**" %} and at the top, choose the **Helpers** tab. +2. In the bottom right corner, select **Create helper**. +3. Select **Template** and **Template a sensor**. +4. Enter the fields as shown below. + +The template below takes the current price attributes, adds 0.1293 EUR as fixed costs and adds 21% VAT. + +

+ Screenshot: Create template sensor +

+ +### YAML Template + +A template sensor to add VAT and a fixed cost from an helper entity `input_number.add_fixed_cost`. {% raw %} ```yaml template: - sensor: - - name: "Full SE3 current price" - unit_of_measurement: "SEK/kWh" + - name: "Nordpool" + unit_of_measurement: "EUR/kWh" state_class: measurement state: > - {% set cost = states('sensor.nord pool_se3_current_price') | float(0) %} + # create a variable with the current price + {% set cost = states('sensor.nord_pool_nl_current_price') | float(0) %} + # create a variable with the additional fixed cost {% set add_cost = states('input_number.add_fixed_cost') | float(0) %} - # Add fixed cost to the spot price and add VAT (25%) + # Add cost and additional fixed cost. Add VAT (25%) by multiplying with 1.25 and round to 2 digits: {{ ((cost + add_cost) * 1.25) | round(2, default=0) }} ``` {% endraw %} + +### Energy Dashboard + +To use the Nordpool integration in the **Energy** dashboard, when configuring grid consumption and production, use the **Use an entity with current price** option. + +

+ Screenshot: Create template sensor +

+ +## Remove the integration + +{% include integrations/remove_device_service.md %}