Plugin pages and CLI functions
FlexMeasures can now be extended with custom UI pages and CLI functions. This is useful for custom dashboards or for custom data integration scripts which can both make use of FlexMeasures internals. For example, the CLI functions can make use of the
app.db object, which has models and a database session ready to use.
We've documented plugin writing and will work further on this, with the goal that custom algorithms like forecasting models or scheduling optimisations can be plugged in.
For now, this is already useful for ourselves, as we are able to add custom UI logic and UX to our customer projects, while keeping the FlexMeasures code generic.
This work was done in Pull Request 91.
Configure the UI menu
If you create custom pages, you'd want them to be shown in the menu, as well. Or maybe you want to hide certain pages.
We added the config setting
FLEXMEASURES_LISTED_VIEWS to enable that. Its default value is
["dashboard", "analytics", "portfolio", "assets", "users"], but you can set this list to anything.
This work was also done in Pull Request 91.
Future Features: time series data model refactoring
We've begun a longer trajectory of making our data model of sensors and measurements more flexible and more tightly integrated with the timely-beliefs model. We want to make the sensor representation more powerful with respect to aggregation and computation. Also, we believe timely-beliefs is a strong representation of time series data, where statements are made not just after the fact, but before and after, by multiple parties.
For the time being, this new model is living next to the current data model as development features, but we plan to migrate current data over in the coming months. Pull Requests 79, 85, 99 and 103 are part of this effort.