Replies: 3 comments 3 replies
-
In the CLI, we went the way of having distinct commands per type of scheduler because we were reluctant to introduce the flex-model and flex-context options as JSON strings (which, just like in the API, would only be deserialized to a dictionary, and its contents would be further deserialized by the scheduler). We don't have that issue with the API, so I'm wondering whether we would prefer |
Beta Was this translation helpful? Give feedback.
-
The topic of HTTP status codes isn't as clear-cut as one would want hope it to be, ad 2023. But this article seems like a very decent starting point. |
Beta Was this translation helpful? Give feedback.
-
We worked on reporting in the meantime, and the experiences from that architecture might inform this design question, as well. |
Beta Was this translation helpful? Give feedback.
-
Scheduling is the central feature of FlexMeasures. The schedule is the actual usable result, where FlexMeasures puts data into actions for optimal operation.
At the February TSC, we had a deeper discussion about the scheduling roadmap: which schedulers to build in and how to expose them. We know we are still not where we need to be:
We'll now discuss which algorithms we'll support, then how they'll be exposed.
Currently planned algorithms
For heat optimization, we'll need a basic scheduler that can model a state of heat storage and some loss over time. There are more sophisticated algorithms possible to model some heat storages and heat sinks in more detail, but that will probably be custom implementations (or even later additions to the FlexMeasures core).
Exposing (API)
Exposing schedules will probably get a re-design, as we believe we are not developer-friendly enough, w.r.t. REST design and documentation (for instance, now the sensor resource is being used, which is not straightforward and also not future-proof, as we plan to schedule more than one flexible asset in the future).
In our latest iteration we tried to give only one endpoint for triggering all kinds of schedulers to do work. But in the end, the CLI already went the way of distinct commands per type of scheduler.
We want to focus the API more on jobs (as RESTful resource). For instance, we aim to build this set of endpoints in the next re-design:
This way, we can make the extensions we'll need later, e.g.:
Beta Was this translation helpful? Give feedback.
All reactions