Skip to content

Dynamic tariff provider

OliJue edited this page Feb 23, 2026 · 13 revisions

Currently following data providers are available:

  • tibber
  • awattar
  • Two-Tariff Providers (e.g. Octopus)
  • evcc
  • energyforecast.de

You can chose one and need to adjust the configuration.

tibber

You need to get an API Key from https://developer.tibber.com/ , which looks like Zz-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx. After obtaining this key, use the following configuration:

utility:
  type: tibber 
  apikey: YOUR-PASSWORD

awattar

batcontrol provides to different awattar types:

  • awattar_defor German aWATTar
  • awattar_at for Austrian aWATTar

Please chose the corresponding version. For aWATTar you can you this configuration:

utility:
  type: awattar_de
  vat: 0.19     # 19% VAT
  fees: 0.015   # Depends on you Netzendgeld
  markup: 0.03  # Depends on you aWATTar contract

The calculation is ( marketprice/1000*(1+markup) + fees ) * (1+vat)

Two-Tariff Providers (e.g. Octopus)

If your energy provider offers two distinct tariff zones (e.g. day/night rates), you can configure batcontrol to optimize battery usage accordingly.

In this example your tariff is 0.1734 Euro / kWh between 0:00 and 5:00 (night), and 0.2733 Euro / kWh between 5:00 and 0:00 (day).

Tariff Time Range Price (Euro / kWh)
Night 00:00 - 05:00 0.1734
Day 05:00 - 00:00 0.2733
utility:
  type: twotariffmode
  tariff_day: 0.2733 # Euro/kWh
  tariff_night: 0.1734 # Euro/kWh
  day_start: 5 # hour of day when day tariff starts
  day_end: 0 # hour of day when day tariff ends

The charge rate is not evenly distributed across the low price hours automatically.

If you prefer a more even distribution and slow charging during the low price hours, you set two parameters like this. Caculate the charge rate by dividing your battery capacity during the hours. Example: your battery has 10 kWh capacity usable, and your night tariff has 5 hours. 10000 Wh / 5 h = 2000 W.

battery_control_expert:
  soften_price_difference_on_charging: enabled
inverter:
  max_grid_charge_rate: 2000

If you prefer a late charging start (=optimize effiency, have battery only short time at high SOC), you can adjust the

battery_control_expert:
  soften_price_difference_on_charging: disabled
inverter:
  max_grid_charge_rate: 10000

evcc

If you are running evcc, it can be used to fetch the price information from this endpoint. The configuration for this is

utility:
  type: evcc
  url: http://evcc.local:7070/api/tariff/grid

You may need to adjust hostname + port for your setup. If evcc is running under HomeAssistant, you should you either http://homeassistant:7070/api/tariff/grid or http://<homeassistant-ip>:7070/api/tariff/grid

energyforecast.de (0.5.6)

energyforecast.de provides a calculated forecast for upcoming prices. Dayahead prices are populated at 14:00 GMT+2, which is after the lunch-drop in prices and prevents a good energy calculation. Based on different values, energyforecast.de calculates a price expectation with a median of 3 cent of. batcontrol uses the 48h forecast only and it is not possible to activate the 96 hour forecast. You need to setup VAT, markup (+ % on energy price) and fees (Netzentgeld) in the configuration. We are not using the calculation provided by energyforecast.de. If you like to use this forecast type, please create a login at energyforecast.de to aquire an API key.

utility:
  type: energyforecast
  apikey:  xxxxxxxxx
  vat: 0.19     # 19% VAT
  fees: 0.15    # Depends on you Netzendgeld
  markup: 0.00  # Depends on you aWATTar contract

To enable the paid 96h forecast, use type: energyforecast_96

Clone this wiki locally