-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Duplicate ENTSO-e prices sensor with offset #42
Comments
That would be a reporter! We do that in the V2GLiberty project ourselves. I would ask if @Flix6x has more help, but my rough idea is
The documentation to build and compute reporters is not as good as it could be, as we lack the time. Some links:
|
@Flix6x Maybe we can share an example of how we do this? |
@Flix6x, if you have some time, I would love to see that example. |
Here's a script we run daily, named
It uses one file to configure reporters for supplier prices, and another file to specify where to get the parameters from, for a specific supplier.
Sensor IDs will be different for your local database. |
Hi @Flix6x, A question about the supplier-config: what does the |
The output sensor should be created beforehand as well.
|
I checked. Nothing special. Just the event resolution was missing:
This assumes the VAT is set for a period of 366 days. Unfortunately we haven't found a way yet to let SQLAlchemy's ORM load nominal durations defined in Postgres, such as P1Y, to be converted to nominal Pandas Offsets in Python. It currently loads it as datetime.timedelta Python objects, which are strictly absolute durations. That is, P1Y would become Likewise, we use P31D for sensors that record values that can change every month, because SQLAlchemy loads P1M as We record their values on midnight of January 1st (for yearly sensors) and on the 1st of each month (for monthly sensors). We found that the resulting overlap in non-leap years and months with fewer than 31 days is not problematic, because our search method always returns the most recent value by default. You can use (We investigated the issue of loading nominal durations before, in SeitaBV/timely-beliefs#141) |
Thanks for the additional information. A related question: In the CLI interface, I find it hard to detect the asset details for the generated Entso-E data. I need to know up-front what the asset-id is, but there seems to be no interface to show all assets. Am I missing something? |
We set up some hierarchical structure of assets to conceptually model the Dutch electricity system, or at least the parts that are relevant to us. For instance, one Asset for the transmission system and another Asset for the electricity market. Our supplier price sensors live under the latter. But the structure really doesn't matter, and I consider it a personal choice that our company will also likely revisit (restructure) in the future. If you don't need to model many suppliers, I suggest you keep the nesting of Assets to a minimum, so you don't need to click around so much in the UI.
If we do this through the CLI, we'd use |
@Flix6x Sorry to keep bothering you... Just to make sure: I need to add this in EUR/MWh in FM, so that would be 131.65, right? I see that you are using the same supplier_config.json for calculating the production prices. I would expect that the production prices do not include the surcharge. How does that work? |
I'm getting this warning:
Should I be concerned about that? |
Indeed, without VAT. The VAT is applied last as a multiplication factor to the total of wholesale energy price, energy tax and surcharge (i.e. the three components all before VAT).
I believe the Reporters do not automatically convert units yet, so yes.
In case the surcharge does not apply to the production process, then you could create a separate config for production that doesn't add the surcharge. Using the same config corresponds to the principle of saldering. |
Looks like an issue of compatibility of timely-beliefs and pandas, which should be dealt with in timely-beliefs. Looks like a simple enough replacement, if you want to make a PR out if it. |
Oh, I think I may have misunderstood how "saldering" works with a dynamic energy contract. I thought that this only applied to the VAT and energy tax, but the surcharge is still added for consumption prices, but not to production prices. |
I'm using the entsoe plugin to load the data into flexmeasures.
However, for optimal schedule generation, I require a 2nd prices sensor, with the additional markup that my energy company adds when I buy energy (compared to when I sell it back to them).
Do you have some suggestions on what would be the easiest way to create such a sensor, and keep it up-to-date any time new data gets posted from ENTSO-e?
The text was updated successfully, but these errors were encountered: