The first separation that I would make is to make a clear differentiation between energy consumption related things from energy price related things. (and I don’t mean openHab Things when I write things with lowercase).
These are related topics and one data provider may even provide both, but I still see them as clearly separate things. This does not mean that we could not have a electricty company specific Bindings, but if there is a company specific Binding, then it is clearly its own Binding.
-
I’m currently fetching day ahead spot prices from Entso-E and doing the calculations for scheduling the biggest energy consumers (house heating, water boiler, car charging) to cheap hours based on this data.
-
I’m currently fetching yesterday’s energy consumption data from Caruna (my network company) or from Fingrid (national grid operator which has a datahub where all network companies must feed the consumption data). Neither offers a real API but there are python scripts for both which allow a script to log in on my behalf and fetch the data, which means that I can save it to the same database where openHab persists the data.
Anyway, in my eyes these are two different topics.
We came to to a conclusion with @Wolfgang1966 that we will try to develop aWATTar to a direction where it is not specific to aWATTar day-ahead spot price API but it will support multiple spot price providers. See our discussion which starts here: aWATTar binding: Beta and discussion - #76 by masipila. We already touched the need to rename the Binding so that it’s not implying it would be company-specific anymore.
The benefit that I see here is that aWATTar already has a brilliant concept of configurable “BestPrices” which searches the optimal times for different loads. Which is essentially exactly what I currently do with my 100% custom javascript / rule based solution, but aWATTar has found an elegant way to overcome the openHab core limitation where you can’t persist future-timestamped points which my current solution does by bypassing the openHab persistence layers.