Controller design - Dynamic Tariffs Time-of-Use optimization


We are currently integrating the Time-of-Use tariff controller into our EMS [openems/io.openems.edge.controller.ess.timeofusetariff at develop · OpenEMS/openems (]

Target market is Commercial & Industrial, but I believe the controller was designed for Residential customers and worry this might affect performance. What is actually the blueprint of this controller? What considerations should be taken when applying it to C&I projects?

Thanks in advance!

Algorithm used in conjunction with time of use tariff allow to find local minimum / maximum for which some actions should be taken. My limited knowledge/understanding tells me that it is not related to type of energy storage.

Hi ldywicki thanks for the reply! So using it in a project with yearly consumption >100.000 kWh should not affect the performance?

I suppose not. Most of openEMS controller algorithms is independent of storage technology. Having said that, you still need to consider energy storage characteristics, especially its preferred discharge speed/level and amount of cycles. ToU itself is “just” provider of signal whether to charge or discharge.

The time of use itself does rely on fixed query window (ie. now +1 day, next day etc.) for which prices are provided. I can speculate of two eventual performance degradation sources 1) very frequent querying for prices 2) very dense price information. By dense price information I mean situation where source of your tariff information returns a lot of records which will require processing. Most of services have per-hour prices. Algorithm itself will most likely work fine with quarter hour slots (amount of data multiply by 4), but might suffer some performance degradation with minute (amount of data multiply by 60). Same apply to frequent re-calculation. If you stick with hourly/quarter-hourly ranges then it will be perfectly fine. If you look closer at i.e. Tibber implementation it even emulates 15 minute periods:

And if you work with commercial/industrial customers you are probably quite familiar with 15 minute window. :slight_smile:

I would like to learn how to use the Time-of-Use tariff controller. Could someone please point me towards a tutorial on how to implement it or give me some instruction on how to implement/simulate it?

We are very near to needing this for our Battery system.
See here for a description of our system.