GithubHelp home page GithubHelp logo

nordpool's Introduction

Nord Pool integration for Home Assistant

Donate "Buy Me A Coffee"

Nord Pool is a service provider that operates an electricity market and power system services, including the exchange of electricity on a spot market Nordics and Baltic countries.

This integration provides the spot market (hourly) electricity prices for the Nordic, Baltic and part of Western Europe.

The Nordpool sensor provides the current price with today's and tomorrow's prices as attributes. Prices become available around 13:00.

ApexCharts card is recommended for visualization of the data in Home Assistant.

Table of Contents

Installation
Usage
Other
Troubleshooting

Getting started

Installation

Option 1: HACS

  • Follow Open your Home Assistant instance and open a repository inside the Home Assistant Community Store. and install it

  • Restart Home Assistant

    or

  • Go to HACS -> Integrations,

  • Select +,

  • Search for nordpool and install it,

  • Restart Home Assistant

Option 2: Manual

Download the latest release

cd YOUR_HASS_CONFIG_DIRECTORY    # same place as configuration.yaml
mkdir -p custom_components/nordpool
cd custom_components/nordpool
unzip nordpool-X.Y.Z.zip
mv nordpool-X.Y.Z/custom_components/nordpool/* .  

Usage

Configuration Variables

Configuration Required Description
Region yes Country/region to get the energy prices for. See Country/region codes below for details.
Currency no Default: local currency
Currency used to fetch the prices from the API.
Include VAT no Default: true
Add Value Added Taxes (VAT) or not.
Decimal precision no Default: 3
Energy price rounding precision.
Low price percentage no Default: 1
Percentage of average price to set the low price attribute.
IF hour_price < average * low_price_cutoff
THEN low_price = True
ELSE low_price = False
Price in cents no Default: false
Display price in cents in stead of (for example) Euros.
Energy scale no Default: kWh
Price displayed for MWh, kWh or Wh.
Additional Cost no default {{0.0|float}}
Template to specify additional cost to be added. See Additional Costs for more details.

Option 1: UI

  • Go to Settings -> Devices & Services
  • Select + Add Integration
  • Search for nordpool and select it
  • Fill in the required values and press Submit

Tip: By default, the integration will create a device with the name nordpool_<energy_scale>_<region>_<currency>_<some-numbers>. It is recommended to rename the device and all its entities to nordpool. If you need to recreate your sensor (for example, to change the additional cost), all automations and dashboards keep working.

Option 2: YAML

Set up the sensor using in configuration.yaml.

Minimal configuration:

sensor:
  - platform: nordpool
    region: "Kr.sand" 

Example configuration:

sensor:
  - platform: nordpool
    # Country/region to get the energy prices for. 
    region: "Kr.sand"
    
    # Override HA local currency used to fetch the prices from the API.
    currency: "EUR"
    
    # Add Value Added Taxes (VAT)?
    VAT: True
    
    # Energy price rounding precision.
    precision: 3
    
    # Percentage of average price to set the low price attribute
    # low_price = hour_price < average * low_price_cutoff
    low_price_cutoff: 0.95

    # Display price in cents in stead of (for example) Euros.
    price_in_cents: false

    # Price displayed for MWh, kWh or Wh
    price_type: kWh

    # Template to specify additional cost to be added to the tariff.
    # The template price is in EUR, DKK, NOK or SEK (not in cents).
    # For example: "{{ current_price * 0.19 + 0.023 | float}}" 
    additional_costs: "{{0.0|float}}"

Regions

See the Nord Pool region map for details

Country Region code
Austria AT
Belgium BE
Denmark DK1,
DK2
Estonia EE
Finland FI
France FR
Germany DE-LU
Great-Britain Not yet available in this version
Latvia LV
Lithuania LT
Luxenburg DE-LU
Netherlands NL
Norway Oslo (NO1)
Kr.sand (NO2)
Tr.heim / Molde (NO3)
Tromso (NO4)
Bergen (NO5)
Poland Not yet available in this version
Sweden SE1,
SE2,
SE3,
SE4

Additional costs

The idea behind additional_costs is to allow the users to add costs related to the official price from Nordpool:

  • Add simple or complex tariffs
  • Calculate VAT

There are two special special arguments in that can be used in the template (in addition to all default from Homeassistant):

  • now(): this always refer to the current hour of the price
  • current_price: price for the current hour. This can be used for example be used to calculate your own VAT or add overhead cost.

Note: When configuring Nordpool using the UI, things like VAT and additional costs cannot be changed. If your energy supplier or region changes the additional costs or taxes on a semi-regular basis, the YAML configuration or a helper (example 4) work best.

Example 1: Overhead per kWh

Add 1,3 cents per kWh overhead cost to the current hour's price

{{ 0.013 | float }}

Example 2: Percentage (VAT)

Add 19 % VAT of the current hour's price

{{ (current_price * 0.19) | float }}

Example 3: Overhead and VAT

Add 1,3 cents per kWh overhead cost, 0.002 flat tax and 19% VAT to the current hour's price

{{ (0.013 + 0.002 + (current_price * 0.19)) | float }}

Example 4: Helper

Add 21% tax and overhead cost stored in a helper

'''{{ (current_price * 0.21) + states('input_number.additionele_kosten') | float(0) }}'''

Example 5: Seasonal peek and off-peek overhead

{% set s = {
    "hourly_fixed_cost": 0.5352,
    "winter_night": 0.265,
    "winter_day": 0.465,
    "summer_day": 0.284,
    "summer_night": 0.246,
    "cert": 0.01
}
%}
{% if now().month >= 5 and now().month < 11 %}
    {% if now().hour >= 6 and now().hour < 23 %}
        {{ s.summer_day + s.hourly_fixed_cost + s.cert | float }}
    {% else %}
        {{ s.summer_night + s.hourly_fixed_cost + s.cert|float }}
    {% endif %}
{% else %}
    {% if now().hour >= 6 and now().hour < 23 %}
        {{ s.winter_day + s.hourly_fixed_cost + s.cert | float }}
    {% else %}
        {{ s.winter_night + s.hourly_fixed_cost + s.cert | float }}
    {% endif %}
{% endif %}

Other

One sensor per hour

By default, one sensor is created with the current energy price. The prices for other hours are stored in the attributes of this sensor. Most example code you will find uses the default one sensor option, but you can run the create_template script to create separate sensors for every hour. See the help options with python create_template --help. You can run the script on any system where Python is installed (install the required packages pyyaml and click using pip install pyyaml click)

Troubleshooting

Debug logging

Add this to your configuration.yaml and restart Home Assistant to debug the component.

logger:
  logs:
    nordpool: debug
    custom_components.nordpool: debug
    custom_components.nordpool.sensor: debug
    custom_components.nordpool.aio_price: debug

nordpool's People

Contributors

hellowlol avatar ajediiam avatar jtfidje avatar jnrksv avatar repsionu avatar nexemjail avatar priiduonu avatar cnrd avatar covid10 avatar scop avatar stenrose avatar ljungqvist avatar phpersson avatar sdktr avatar tarmor1 avatar hhjuhl avatar ilya-demidovich avatar orrpan avatar rasssta avatar tubalainen avatar wjaceh avatar zipperten avatar nppc avatar matlimatli avatar mariogrip avatar elden1337 avatar melheim avatar mookkari avatar hmmbob avatar imfredde avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.