FlexMeasures Changelog
Statistics shown in the UI default to that of the freshest source [see PR #1399]
v0.26.0 | May XX, 2025
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
New features
Support saving the storage schedule SoC using the
flex-model
fieldstate-of-charge
to theflex-model
[see PR #1392 and PR #1406]Allow relaxing SoC minima and maxima, by setting penalties for not meeting these constraints, using two new
flex-context
fields [see PR #1300]Allow relaxing device-level power constraints, by setting penalties for not meeting these constraints, using two new
flex-context
fields [see PR #1405]Save changes in asset flex-context form right away [see PR #1390]
Extending sensor CRUD functionality to the UI [see PR #1394 and PR #1413]
Marker clusters on the dashboard map expand in a tree to show the hierarchical relationship of the assets they represent [see PR #1410]
Load the sensors individually on the Sensors status page. Reload the jobs table using Ajax calls. Improve page performance and avoid timeouts. [see PR #1425 and PR #1466]
New pages for Properties, Graphs, Context, Status and Audit Log. Simplified the main asset page. [see PR #1416, PR #1387, PR #1442, PR #1470, PR #1473, PR #1478, `PR #1480<https://github.com/FlexMeasures/flexmeasures/pull/1480>`_] and PR #1482]
Only show important sensors statuses (flex-context and graph sensors) on the status page [see PR #1439]
Let the user interact with the breadcrumbs on asset graphs page when the graphs are loading [see PR #1472]
Added DB migrations to apply server defaults to
generic_asset
anddata_sources
tables [see PR #1488]
Infrastructure / Support
Move to using a
pyproject.toml
[see PR #1419]Upgraded dependencies [see PR #1400, PR #1444, PR #1448, PR #1484, PR #1490 and PR #1497]
Save last N jobs from any queue and registry to a file, and support filtering by asset ID or sensor ID [see PR #1411]
Describe four supported user roles explicitly (docs and code) [see PR #1451]
Updated the directory structure for crud operations for assets, sensors, users and accounts [see PR #1467 and PR #1471]
Bugfixes
Fixed two alternatives for expressing a variable quantity as a time series; specifically, those involving the
duration
field [see PR #1433]Fix the preference to delay curtailment of any device [see PR #1498 and PR #1499]
The data dashboard now supports overlapping sensors with instantaneous and non-instantaneous resolutions [see PR #1407]
Fix map not loading when editing an asset [see PR #1414]
Fix
flexmeasures add schedule for-storage
after flex-context database migration [see PR #1417 and PR #1449]Fix overriding of flex-context when asset is edited on the UI [see PR #1469]
Support entering audit log entries by detached user instances [see PR #1483]
Make flex context usage safer against this field being None [see PR #1503]
v0.25.0 | April 01, 2025
Note
Read more on these features on the FlexMeasures blog.
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
New features
Added form modal to edit an asset’s
flex_context
[see PR #1320, PR #1365 and PR #1364]Improve asset status page - distinguish better by data source type [see PR #1022]
Better y-axis titles for charts that show multiple sensors with a shared unit [see PR #1346]
Add CLI command
flexmeasures jobs save-last-failed
(since v0.26:flexmeasures jobs save-last
) for saving the last failed jobs [see PR #1342 and PR #1359]Add CLI command
flexmeasures jobs delete-queue
for deleting an obsolete queue [see PR #1351]
Infrastructure / Support
Support multi-asset scheduling in the
StorageScheduler
and job queueing - functionality for (plugin) developers (incl. prep work for future API endpoint for multi-asset scheduling) [see PR #1313]Support PV curtailment in the
StorageScheduler
[see PR #1395]Validate shared units are used in time series segments of flex-context prices [see PR #1396]
Migrate data for the
flex-context
of an asset to a dedicated column in the database table for assets [see PR #1293, PR #1354 and PR #1380]Enhance reporting infrastructure by ensuring that all
Sensor.search_beliefs
filters can be used as report parameters [see PR #1318]Improve searching for multi-sourced data by returning data from only the latest version of a data generator (e.g. forecaster or scheduler) by default, when using
Sensor.search_beliefs
[see PR #1306]Extra reporter tests [see PR #1317]
Catch invalid time windows passed to
flexmeasures add report
[see PR #1324]Test utility function for device scheduling in a multi-asset setting (sequential and simultaneous) [see PR #1341]
Add utils doctests to our CI pipeline [see PR #1347]
Clarify default limitations to concurrent connections [see PR #1391]
Bugfixes
v0.24.1 | February 27, 2025
Infrastructure / Support
Update cache and Ubuntu versions used for testing in GitHub Actions [see PR #1329]
Bugfixes
v0.24.0 | January 7, 2025
Note
Read more on these features on the FlexMeasures blog.
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
New features
Allow scheduling against energy contracts, capacity contracts and peak contracts simultaneously, using various new
flex-context
fields [see PR #1144]Allow using numeric values for
flex-model
fields accepting dimensionless quantities [see PR #1144]The data chart on the asset page splits up its color-coded sensor legend when showing more than 7 sensors, becoming a legend per subplot [see PR #1176 and PR #1193]
Speed up loading the users page, by making the pagination backend-based and adding support for that in the API [see PR #1160]
X-axis labels in CLI plots show datetime values in a readable and informative format [see PR #1172]
Enhanced API for listing sensors: Added filtering and pagination on sensor index endpoint and created new endpoint to get all sensors under an asset [see PR #1191 and PR #1219]
Speed up loading the accounts page by making the pagination backend-based and adding support for that in the API [see PR #1196]
Speed up loading the account detail page by by switching to server-side pagination for assets, replacing client-side pagination [see PR #1202]
Added form to edit an asset’s sensors_to_show data directly from the UI [see PR #1212]
Speed up loading on audit log tables page by switching to server-side pagination, replacing client-side pagination [see PR #1274 and PR #1272]
Simplify and globalize UI messages, using Toast [see PR #1207]
Power sensors created through the CLI no longer require a capacity attribute to be set [see PR #1234]
Infrastructure / Support
The breadcrumbs on asset and sensor pages can now be customized [see PR #1257]
The monitoring command to check for users who have been absent too long now can be used to keep data volume low and be more effective [see PR #1268]
Speed up status page by choosing for a faster query (only latest belief needed) [see PR #1142]
Speed up user page (for users with many assets) [see PR #1286]
For MacOS developers, install HiGHS solver automatically [see PR #1187]
Migrate data for the
sensors_to_show
asset attribute to a dedicated column in the database table for assets [see PR #1200 and PR #1282]Add support for installing FlexMeasures under Python 3.12 [see PR #1233]
Better error handling in UI, for example, in case of a forgotten
flexmeasures db upgrade
[see PR #1302]
Bugfixes
Fix table sorting on the assets, accounts and users page (regression from PR #988) [see PR #1239, PR #1242, PR #1248, PR #1247 and PR #1272]
Fix
flexmeasures delete measurements
andflexmeasures delete prognoses
which had an error in counting affected rows after SQLAlchemy2.0 upgrade [see PR #1095 and PR #1303]Fix asset count on the user page, which showed 0 assets after (de)activating a user or resetting their password [see PR #1251]
The UI footer now stays at the bottom even on pages with little content [see PR #1204]
Correct stroke dash (based on source type) for forecasts made by forecasters included in FlexMeasures [see PR #1211]
Show the correct UTC offset for the data’s time span as shown under sensor stats in the UI [see PR #1213]
Fixed issue where audit log buttons are visible to users without the necessary permissions. [see PR #1228]
Fix issue with displaying
deactivate user
andreset password
buttons for non admin users [see PR #1220]Resolve overlapping time series segments in several flex-model and flex-context fields in a way befitting their nature [see PR #1223]
v0.23.2 | December 16, 2024
Bugfixes
Correct source filters on reporter input, and support piping additional transformations in the
PandasReporter
[see PR #1284]
v0.23.1 | November 12, 2024
Bugfixes
Correct unit conversion of reporter output to output sensor [see PR #1238]
v0.23.0 | September 18, 2024
Note
Read more on these features on the FlexMeasures blog.
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
New features
New chart type on sensor page: histogram [see PR #1143]
Add basic sensor info to sensor page [see PR #1115]
Add Statistics table on the sensor page and also add api/v3_0/sensors/<id>/stats endpoint to get sensor statistics [see PR #1116]
Support adding custom titles to the graphs on the asset page, by extending the
sensors_to_show
format [see PR #1125 and PR #1177]Support zoom-in action on the asset and sensor charts [see PR #1130]
Speed up loading the assets page, by making the pagination backend-based and adding support for that in the API, and by enabling to query all accounts one can see in a single call (for admins and consultants) [see PR #988]
Added Primary and Secondary colors to account for white-labelled UI themes [see PR #1137]
Added Logo URL to account for white-labelled UI themes [see PR #1145]
Added PopUp form to edit account details [see PR #1152]
When listing past jobs on the Tasks page, show the most recent jobs first [see PR #1163]
Introduce the
VariableQuantityField
to allow three ways of passing a variable quantity in most of theflex-model
andflex-context
fields [see PR #1127 and PR #1138]Support directly passing a fixed price in the
flex-context
using the new fieldsconsumption-price
andproduction-price
, which are meant to replace theconsumption-price-sensor
andproduction-price-sensor
fields, respectively [see PR #1028]
Infrastructure / Support
Save beliefs faster by bulk saving [see PR #1159]
Support new single-belief fast track (looking up only one belief) [see PR #1067]
Add new annotation types:
"error"
and"warning"
[see PR #1131 and PR #1150]When deleting a sensor, asset or account, delete any annotations that belong to them [see PR #1151]
Removed deprecated
app.schedulers
andapp.forecasters
(useapp.data_generators["scheduler"]
andapp.data_generators["forecaster"]
instead) [see PR #1098]Save beliefs faster by bulk saving [see PR #1159]
Introduced dynamic, JavaScript-generated toast notifications. [see PR #1152]
Bugfixes
Fix string length exceeding the 255-character limit in the event field of AssetAuditLog by truncating long updates and logging each field or attribute change individually. [see PR #1162]
Fix image carousel on the login page [see PR #1154]
Fix styling for User and Documentation menu items [see PR #1140]
Fix styling of sensor page, especially the graph chart dropdown [see PR #1148]
Fix posting a single instantaneous belief [see PR #1129]
Allow reassigning a public asset to private ownership using the
flexmeasures edit transfer-ownership
CLI command [see PR #1123]Fix missing value on spring DST transition for
PandasReporter
using daily sensor as input [see PR #1122]Fix date range persistence on session across different pages [see PR #1165]
Fix issue with account creation failing when the
--logo-url
option is omitted. [see related PRs PR #1167 and PR #1145]Fix ordering of audit logs (asset, account) and job list on status page [see PR #1179 <https://github.com/FlexMeasures/flexmeasures/pull/1179>_ and PR #1183]
v0.22.0 | June 29, 2024
Note
Read more on these features on the FlexMeasures blog.
New features
Add asset/<id>/auditlog to view asset related actions [see PR #1067]
On the /sensor/id page, allow to link to it with a date range and to copy current view as URL [see PR #1094]
Flex-context (price sensors and inflexible device sensors) can now be set on the asset page (and are part of GenericAsset model) [see PR #1059]
On the asset page’s default view, facilitate comparison by showing the two default sensors together if they record the same unit [see PR #1066]
Add flex-context sensors to status page [see PR #1102]
Show tooltips on (mobile) touch screen [see PR #1062]
Infrastructure / Support
Add MailHog to docker-compose stack for testing email functionality [see PR #1112]
Allow installing dependencies in docker-compose worker [see PR #1057]
Add unit conversion to the input and output data of the
PandasReporter
[see PR #1044]Add option
droplevels
to thePandasReporter
to drop all the levels except theevent_start
andevent_value
[see PR #1043]PandasReporter
accepts the parameteruse_latest_version_only
to filter input data [see PR #1045]flexmeasures show beliefs
uses the entity path (<Account>/../<Sensor>) in case of duplicated sensors [see PR #1026]Add
--resolution
option toflexmeasures show chart
to produce charts in different time resolutions [see PR #1007]Add
FLEXMEASURES_JSON_COMPACT
config setting and deprecateJSONIFY_PRETTYPRINT_REGULAR
setting [see PR #1090]
Bugfixes
v0.21.0 | May 16, 2024
Note
Read more on these features on the FlexMeasures blog.
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
New features
Add asset/<id>/status page to view asset statuses [see PR #941 and PR #1035]
Add account/<id>/auditlog and user/<id>/auditlog to view user and account related actions [see PR #1042]
Support
start_date
andend_date
query parameters for the asset page [see PR #1030]In plots, add the asset name to the title of the tooltip to improve the identification of the lines [see PR #1054]
On asset page, show sensor IDs in sensor table [see PR #1053]
Bugfixes
Infrastructure / Support
v0.20.1 | May 7, 2024
Bugfixes
v0.20.0 | March 26, 2024
Note
Read more on these features on the FlexMeasures blog.
Warning
From this version on, the config setting FLEXMEASURES_FORCE_HTTPS
decides whether to enforce HTTPS on requests - and it defaults to False
. Previously, this was governed by FLASK_ENV
or FLEXMEASURES_ENV
being set to something else than "documentation"
or "development"
. This new way is more clear, but you might be in need of using this setting before upgrading.
New features
Add command
flexmeasures edit transfer-ownership
to transfer the ownership of an asset and its children from one account to another [see PR #983]Support defining the
site-power-capacity
,site-consumption-capacity
andsite-production-capacity
as a sensor in the API and CLI [see PR #985]Support defining the
soc-minima
,soc-maxima
andsoc-targets
as sensors in the API [see PR #996]Support defining inflexible power sensors with arbitrary power and energy units [see PR #1007]
Support saving beliefs with a
belief_horizon
in thePandasReporter
[see PR #1013]Skip the check of the output event resolution in any
Reporter
with the fieldcheck_output_resolution
[see PR #1009]
Bugfixes
Use minimum event resolution of the input (instead of the output) sensors for the belief search parameters [see PR #1010]
Infrastructure / Support
Align map layers with custom asset types in the UI’s dashboard, also facilitating capturing asset types defined within FlexMeasures plugins [see PR #1017]
Improve processing time for deleting beliefs via CLI [see PR #1005]
Support deleting beliefs via CLI for all offspring assets at once [see PR #1003]
Add setting
FLEXMEASURES_FORCE_HTTPS
to explicitly toggle if HTTPS should be used for all requests [see PR #1008]Make flexmeasures installable locally on macOS [see PR #1000]
Align API endpoint policy w.r.t. trailing slash [see PR #1014]
v0.19.2 | March 1, 2024
Note
Optionally, run flexmeasures db upgrade
after upgrading to this version for enhanced database performance on time series queries.
Upgrade timely-beliefs to enhance our main time series query and fix a database index on time series data, leading to significantly better performance [see PR #992]
Fix server error on loading the asset page for a public asset, due to a bug in the breadcrumb’s sibling navigation [see PR #991]
Restore compatibility with the flexmeasures-openweathermap plugin by fixing the query for the closest weather sensor to a given asset [see PR #997]
v0.19.1 | February 26, 2024
Support defining the
power-capacity
as a sensor in the API and CLI [see PR #987]
v0.19.0 | February 18, 2024
Note
Read more on these features on the FlexMeasures blog.
Warning
This version replaces FLASK_ENV
with FLEXMEASURES_ENV
(FLASK_ENV
will still be used as a fallback).
New features
List child assets on the asset page [see PR #967]
Expand the UI’s breadcrumb functionality with the ability to navigate directly to sibling assets and sensors using their child-parent relationship [see PR #977]
Enable the use of QuantityOrSensor fields for the
flexmeasures add schedule for-storage
CLI command [see PR #966]CLI support for showing/savings time series data for a given type of source only, with the new
--source-type
option offlexmeasures show beliefs
, which let’s you filter out schedules, forecasts, or data POSTed by users (through the API), which each have a different source type [see PR #976]New CLI command
flexmeasures delete beliefs
to delete all beliefs on a given sensor (or multiple sensors) or on sensors of a given asset (or multiple assets) [see PR #975]Support for defining the storage efficiency as a sensor or quantity for the
StorageScheduler
[see PR #965]Support a less verbose way of setting the same SoC constraint for a given time window [see PR #899]
Infrastructure / Support
Deprecate use of flask’s
FLASK_ENV
variable and replace it withFLEXMEASURES_ENV
[see PR #907]Streamline CLI option naming by favoring
--<entity>
over--<entity>-id
[see PR #946]Documentation: improve index page, installation overview, feature overview incl. flex-model overview and UI screenshots [see PR #953]
Faster database queries of time series data by upgrading SQLAlchemy and timely-beliefs [see PR #938]
v0.18.2 | February 26, 2024
Convert unit of the power capacities to
MW
instead of that of the storage power sensor [see PR #979]Automatically update table navigation in the UI without requiring users to hard refresh their browser [see PR #961]
Updated documentation to enhance clarity for integrating plugins within the FlexMeasures Docker container [see PR #958]
Support defining the
power-capacity
as a sensor in the API [see PR #987]
v0.18.1 | January 15, 2024
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
Bugfixes
Fix database migrations meant to clean up deprecated tables [see PR #960]
Allow showing beliefs (plot and file export) via the CLI for sensors with non-unique names [see PR #947]
Added Redis credentials to the Docker Compose configuration for the web server to ensure proper interaction with the Redis queue [see PR #945]
Fix API version listing (GET /api/v3_0) for hosts running on Python 3.8 [see PR #917 and PR #950]
Fix the validation of the option
--parent-asset
of commandflexmeasures add asset
[see PR #959]
v0.18.0 | December 23, 2023
Note
Read more on these features on the FlexMeasures blog.
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
). If this fails, update to flexmeasures==0.18.1
first (and then run flexmeasures db upgrade
).
New features
Better navigation experience through listings (sensors / assets / users / accounts) in the UI, by heading to the selected entity upon a click (or CTRL + click) anywhere within a row [see PR #923]
Introduce a breadcrumb to navigate through assets and sensor pages using its child-parent relationship [see PR #930]
Define device-level power constraints as sensors to create schedules with changing power limits [see PR #897]
Allow to provide external storage usage or gain components using the
soc-usage
andsoc-gain
fields of theflex-model
[see PR #906]Define time-varying charging and discharging efficiencies as sensors or as constant values which allows to define the COP [see PR #933]
Infrastructure / Support
Align database and models of
annotations
,data_sources
, andtimed_belief
[see PR #929]New documentation section on constructing a flex model for V2G [see PR #885]
Allow charts in plugins to show currency codes (such as EUR) as currency symbols (€) [see PR #922]
Remove obsolete database tables
price
,power
,market
,market_type
,weather
,asset
, andweather_sensor
[see PR #921]New flexmeasures configuration setting
FLEXMEASURES_ENFORCE_SECURE_CONTENT_POLICY
for upgrading insecure http requests to secured requests https [see PR #920]
Bugfixes
v0.17.1 | December 7, 2023
Bugfixes
Show Assets, Users, Tasks and Accounts pages in the navigation bar for the
admin-reader
role [see PR #900]Reduce worker logs when datetime exceeds the end of the schedule [see PR #918]
Fix infeasible problem due to incorrect estimation of the big-M value [see PR #905]
[Incomplete fix; full fix in v0.18.1] Fix API version listing (GET /api/v3_0) for hosts running on Python 3.8 [see PR #917]
v0.17.0 | November 8, 2023
Note
Read more on these features on the FlexMeasures blog.
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
New features
Different site-level production and consumption limits can be defined for the storage scheduler via the API (
flex-context
) or via asset attributes [see PR #884]Scheduling data better distinguishes (e.g. in chart tooltips) when a schedule was the result of a fallback mechanism, by splitting off the fallback mechanism from the main scheduler (as a separate job) [see PR #846]
New accounts can set a consultancy relationship with another account to give read access to external consultants [see PR #877 and PR #892]
Infrastructure / Support
Introduce a new one-to-many relation between assets, allowing the definition of an asset’s parent (which is also an asset), which leads to a hierarchical relationship that enables assets to be related in a structured manner [see PR #855 and PR #874]
Introduce a new format for the output of
Scheduler
to prepare for multiple outputs [see PR #879]
v0.16.1 | October 2, 2023
Bugfixes
Fix infeasible problem due to incorrect parsing of SoC units of the
soc-minima
andsoc-maxima
fields within theflex-model
field [see PR #864]
v0.16.0 | September 27, 2023
Note
Read more on these features on the FlexMeasures blog.
New features
Introduce new reporter to compute profit/loss due to electricity flows:
ProfitOrLossReporter
[see PR #808 and PR #844]Charts visible in the UI can be exported to PNG or SVG formats in a more automated fashion, using the new CLI command flexmeasures show chart [see PR #833]
Chart data visible in the UI can be exported to CSV format [see PR #849]
Sensor charts showing instantaneous observations can be interpolated by setting the
interpolate
sensor attribute to one of the supported Vega-Lite interpolation methods [see PR #851]API users can ask for a schedule to take into account an explicit
power-capacity
(flex-model) and/orsite-power-capacity
(flex-context), thereby overriding any existing defaults for their asset [see PR #850]API users (and hosts) are warned in case a fallback scheduling policy has been used to create their schedule (as part of the the /sensors/<id>/schedules/<uuid> (GET) response message) [see PR #859]
Infrastructure / Support
Allow additional datetime conversions to quantitative time units, specifically, from timezone-naive and/or dayfirst datetimes, which can be useful when importing data [see PR #831]
Add a new tutorial to explain the use of the
AggregatorReporter
to compute the headroom and theProfitOrLossReporter
to compute the cost of running a process [see PR #825 and PR #856]Updated admin dashboard for inspecting asynchronous tasks (scheduling, forecasting, reporting, etc.), and improved performance and security of the server by upgrading Flask and Flask extensions [see PR #838]
Script to update dependencies across supported Python versions [see PR #843]
Test all supported Python versions in our CI pipeline (GitHub Actions) [see PR #847]
Have our CI pipeline (GitHub Actions) build the Docker image and make a schedule [see PR #800]
Updated documentation on the consequences of setting the
FLEXMEASURES_MODE
config setting [see PR #857]Implement cache-busting to avoid the need for users to hard refresh the browser when new JavaScript functionality is added to the UI in a new FlexMeasures version [see PR #860]
v0.15.2 | October 2, 2023
Bugfixes
Fix infeasible problem due to incorrect parsing of SoC units of the
soc-minima
andsoc-maxima
fields within theflex-model
field [see PR #864]
v0.15.1 | August 28, 2023
Bugfixes
Fix infeasible problem due to floating point error in SoC targets [see PR #832]
Use the
source
to filter beliefs in theAggregatorReporter
and fix the case of having multiple sources [see PR #819]Disable HiGHS logs on the standard output when
LOGGING_LEVEL=INFO
[see PR #824 and PR #826]Fix showing sensor data on the asset page of public assets, and searching for annotations on public assets [see PR #830]
Make the command
flexmeasures add schedule for-storage
to pass the soc-target timestamp to the flex model as strings instead ofpd.Timestamp
[see PR #834]
v0.15.0 | August 9, 2023
Note
Read more on these features on the FlexMeasures blog.
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
Warning
Upgrading to this version requires installing the LP/MILP solver HiGHS using pip install highspy
.
Warning
If your server is running in play mode (FLEXMEASURES_MODE = "play"
), users will be able to see sensor data from any account [see PR #740].
New features
Add
ProcessScheduler
class to optimize the starting time of processes one of the policies developed (INFLEXIBLE
,SHIFTABLE
andBREAKABLE
), accessible via the CLI commandflexmeasures add schedule for-process
[see PR #729 and PR #768]Users can select a new chart type (daily heatmap) on the sensor page of the UI, showing how sensor values are distributed over the time of day [see PR #715]
Added API endpoints /sensors/<id> (GET) for fetching a single sensor, /sensors (POST) for adding a sensor, /sensors/<id> (PATCH) for updating a sensor and /sensors/<id> (DELETE) for deleting a sensor [see PR #759] and [see PR #767] and [see PR #773] and [see PR #784]
Users are warned in the UI on when the data they are seeing includes one or more DST transitions, and heatmaps (see previous feature) visualize these transitions intuitively [see PR #723]
Allow deleting multiple sensors with a single call to
flexmeasures delete sensor
by passing the--id
option multiple times [see PR #734]Make it a lot easier to read off the color legend on the asset page, especially when showing many sensors, as they will now be ordered from top to bottom in the same order as they appear in the chart (as defined in the
sensors_to_show
attribute), rather than alphabetically [see PR #742]Users on FlexMeasures servers in play mode (
FLEXMEASURES_MODE = "play"
) can use thesensors_to_show
attribute to show any sensor on their asset pages, rather than only sensors registered to assets in their own account or to public assets [see PR #740]Having percentages within the [0, 100] domain is such a common use case that we now always include it in sensor charts with % units, making it easier to read off individual charts and also to compare across charts [see PR #739]
The
DataSource
table now allows storing arbitrary attributes as a JSON (without content validation), similar to theSensor
andGenericAsset
tables [see PR #750]Users will be able to see (e.g. in the UI) exactly which reporter created the report (saved as sensor data), and hosts will be able to identify exactly which configuration was used to create a given report [see PR #751 and PR #788]
The CLI
flexmeasures add report
now allows passingconfig
andparameters
in YAML format as files or editable via the system’s default editor [see PR #752 and PR #788]The CLI now allows to set lists and dicts as asset & sensor attributes (formerly only single values) [see PR #762]
Bugfixes
Add binary constraint to avoid energy leakages during periods with negative prices [see PR #770]
Infrastructure / Support
Add support for profiling Flask API calls using
pyinstrument
(if installed). Can be enabled by setting the environment variableFLEXMEASURES_PROFILE_REQUESTS
toTrue
[see PR #722]The endpoint [POST] /health/ready returns the status of the Redis connection, if configured [see PR #699]
Document the
device_scheduler
linear program [see PR #764]Add support for installing FlexMeasures under Python 3.11 [see PR #771]
Start keeping sets of pinned requirements per supported Python version, which also fixes recent Docker build problem [see PR #776]
Removed obsolete code dealing with deprecated data models (e.g. assets, markets and weather sensors), and sunset the fm0 scheme for entity addresses [see PR #695 and project 11]
v0.14.3 | October 2, 2023
Bugfixes
Fix infeasible problem due to incorrect parsing of SoC units of the
soc-minima
andsoc-maxima
fields within theflex-model
field [see PR #864]
v0.14.2 | July 25, 2023
Bugfixes
The error handling for infeasible constraints in
storage.py
was given too many arguments, which caused the response from the API to be unhelpful when a schedule was requested with infeasible constraints [see PR #758]
v0.14.1 | June 26, 2023
Bugfixes
Relax constraint validation of
StorageScheduler
to accommodate violations caused by floating point precision [see PR #731]Avoid saving any NaN values to the database, when calling
flexmeasures add report
[see PR #735]Fix browser console error when loading asset or sensor page with only a single data point [see PR #732]
Fix showing multiple sensors with bare 3-letter currency code as their units (e.g. EUR) in one chart [see PR #738]
Fix defaults for the
--start-offset
and--end-offset
options toflexmeasures add report
, which weren’t being interpreted in the local timezone of the reporting sensor [see PR #744]Relax constraint for overlaying plot traces for sensors with various resolutions, making it possible to show e.g. two price sensors in one chart, where one of them records hourly prices and the other records quarter-hourly prices [see PR #743]
Resolve bug where different page loads would potentially influence the time axis of each other’s charts, by avoiding mutation of shared field definitions [see PR #746]
v0.14.0 | June 15, 2023
Note
Read more on these features on the FlexMeasures blog.
New features
Allow setting a storage efficiency using the new
storage-efficiency
field when calling /sensors/<id>/schedules/trigger (POST) through the API (within theflex-model
field), or when callingflexmeasures add schedule for-storage
through the CLI [see PR #679]Allow setting multiple SoC maxima and minima constraints for the
StorageScheduler
, using the newsoc-minima
andsoc-maxima
fields when calling /sensors/<id>/schedules/trigger (POST) through the API (within theflex-model
field) [see PR #680]New CLI command
flexmeasures add report
to calculate a custom report from sensor data and save the results to the database, with the option to export them to a CSV or Excel file [see PR #659]New CLI commands
flexmeasures show reporters
andflexmeasures show schedulers
to list available reporters and schedulers, respectively, including any defined in registered plugins [see PR #686 and PR #708]Allow creating public assets through the CLI, which are available to all users [see PR #727]
Bugfixes
Fix charts not always loading over https in secured scenarios [see PR #716]
Infrastructure / Support
Introduction of the classes
Reporter
,PandasReporter
andAggregatorReporter
to help customize your own reporter functions (experimental) [see PR #641 and PR #712]The setting
FLEXMEASURES_PLUGINS
can be set as environment variable now (as a comma-separated list) [see PR #660]Packaging was modernized to stop calling setup.py directly [see PR #671]
Remove API versions 1.0, 1.1, 1.2, 1.3 and 2.0, while making sure that sunset endpoints keep returning
HTTP status 410 (Gone)
responses [see PR #667 and PR #717]Support Pandas 2 [see PR #673]
Add code documentation from package structure and docstrings to official docs [see PR #698]
Warning
The setting FLEXMEASURES_PLUGIN_PATHS has been deprecated since v0.7. It has now been sunset. Please replace it with FLEXMEASURES_PLUGINS.
v0.13.3 | June 10, 2023
Bugfixes
Fix forwarding arguments in deprecated util function [see PR #719]
v0.13.2 | June 9, 2023
Bugfixes
Fix failing to save results of scheduling and reporting on subsequent calls for the same time period [see PR #709]
v0.13.1 | May 12, 2023
Bugfixes
@deprecated
not returning the output of the decorated function [see PR #678]
v0.13.0 | May 1, 2023
Warning
Sunset notice for API versions 1.0, 1.1, 1.2, 1.3 and 2.0: after upgrading to flexmeasures==0.13
, users of these API versions may receive HTTP status 410 (Gone)
responses.
See the documentation for deprecation and sunset.
The relevant endpoints have been deprecated since flexmeasures==0.12
.
Warning
The API endpoint ([POST] /sensors/(id)/schedules/trigger) to make new schedules sunsets the deprecated (since v0.12) storage flexibility parameters (they move to the flex-model
parameter group), as well as the parameters describing other sensors (they move to flex-context
).
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
Note
Read more on these features on the FlexMeasures blog.
New features
Keyboard control over replay [see PR #562]
Overlay charts (e.g. power profiles) on the asset page using the
sensors_to_show
attribute, and distinguish plots by source (different trace), sensor (different color) and source type (different stroke dash) [see PR #534]The
FLEXMEASURES_MAX_PLANNING_HORIZON
config setting can also be set as an integer number of planning steps rather than just as a fixed duration, which makes it possible to schedule further ahead in coarser time steps [see PR #583]Different text styles for CLI output for errors, warnings or success messages [see PR #609]
Added API endpoints and webpages /accounts and /accounts/<id> to list accounts and show an overview of the assets, users and account roles of an account [see PR #605]
Avoid redundantly recomputing jobs that are triggered without a relevant state change, where the
FLEXMEASURES_JOB_CACHE_TTL
config setting defines the time in which the jobs with the same arguments are not being recomputed [see PR #616]
Bugfixes
Infrastructure / Support
Support blackout tests for sunset API versions [see PR #651]
Sunset API versions 1.0, 1.1, 1.2, 1.3 and 2.0 [see PR #650]
Sunset several API fields for /sensors/<id>/schedules/trigger (POST) that have moved into the
flex-model
orflex-context
fields [see PR #580]Fix broken
make show-data-model
command [see PR #638]Bash script for a clean database to run toy-tutorial by using
make clean-db db_name=database_name
command [see PR #640]
v0.12.3 | February 28, 2023
Bugfixes
Fix premature deserialization of
flex-context
field for /sensors/<id>/schedules/trigger (POST) [see PR #593]
v0.12.2 | February 4, 2023
Bugfixes
Fix CLI command
flexmeasures schedule for-storage
without--as-job
flag [see PR #589]
v0.12.1 | January 12, 2023
Bugfixes
Fix validation of (deprecated) API parameter
roundtrip-efficiency
[see PR #582]
v0.12.0 | January 4, 2023
Warning
After upgrading to flexmeasures==0.12
, users of API versions 1.0, 1.1, 1.2, 1.3 and 2.0 will receive "Deprecation"
and "Sunset"
response headers, and warnings are logged for FlexMeasures hosts whenever users call API endpoints in these deprecated API versions.
The relevant endpoints are planned to become unresponsive in flexmeasures==0.13
.
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
Note
Read more on these features on the FlexMeasures blog.
New features
Hit the replay button to visually replay what happened, available on the sensor and asset pages [see PR #463 and PR #560]
Ability to provide your own custom scheduling function [see PR #505]
Visually distinguish forecasts/schedules (dashed lines) from measurements (solid lines), and expand the tooltip with timing info regarding the forecast/schedule horizon or measurement lag [see PR #503]
The asset page also allows to show sensor data from other assets that belong to the same account [see PR #500]
The CLI command
flexmeasures monitor latest-login
supports to check if (bot) users who are expected to contact FlexMeasures regularly (e.g. to send data) fail to do so [see PR #541]The CLI command
flexmeasures show beliefs
supports showing beliefs data in a custom resolution and/or timezone, and also saving the shown beliefs data to a CSV file [see PR #519]Improved import of time series data from CSV file: 1) drop duplicate records with warning, 2) allow configuring which column contains explicit recording times for each data point (use case: import forecasts) [see PR #501], 3) localize timezone naive data, 4) support reading in datetime and timedelta values, 5) remove rows with NaN values, and 6) filter by values in specific columns [see PR #521]
Filter data by source in the API endpoint /sensors/data (GET) [see PR #543]
Allow posting
null
values to /sensors/data (POST) to correctly space time series that include missing values (the missing values are not stored) [see PR #549]Allow setting a custom planning horizon when calling /sensors/<id>/schedules/trigger (POST), using the new
duration
field [see PR #568]New resampling functionality for instantaneous sensor data: 1)
flexmeasures show beliefs
can now handle showing (and saving) instantaneous sensor data and non-instantaneous sensor data together, and 2) the API endpoint /sensors/data (GET) now allows fetching instantaneous sensor data in a custom frequency, by using the “resolution” field [see PR #542]
Bugfixes
The CLI command
flexmeasures show beliefs
now supports plotting time series data that includes NaN values, and provides better support for plotting multiple sensors that do not share the same unit [see PR #516 and PR #539]Fixed JSON wrapping of return message for /sensors/data (GET) [see PR #543]
Consistent CLI/UI support for asset lat/lng positions up to 7 decimal places (previously the UI rounded to 4 decimal places, whereas the CLI allowed more than 4) [see PR #522]
Stop trimming the planning window in response to price availability, which is a problem when SoC targets occur outside of the available price window, by making a simplistic assumption about future prices [see PR #538]
Faster loading of initial charts and calendar date selection [see PR #533]
Infrastructure / Support
Reduce size of Docker image (from 2GB to 1.4GB) [see PR #512]
Allow extra requirements to be freshly installed when running
docker-compose up
[see PR #528]Remove bokeh dependency and obsolete UI views [see PR #476]
Fix
flexmeasures db-ops dump
andflexmeasures db-ops restore
not working in docker containers [see PR #530] and incorrectly reporting a success whenpg_dump
andpg_restore
are not installed [see PR #526]Plugins can save BeliefsSeries, too, instead of just BeliefsDataFrames [see PR #523]
Improve documentation and code w.r.t. storage flexibility modelling ― prepare for handling other schedulers & merge battery and car charging schedulers [see PR #511, PR #537 and PR #566]
Revised strategy for removing unchanged beliefs when saving data: retain the oldest measurement (ex-post belief), too [see PR #518]
Scheduling test for maximizing self-consumption, and improved time series db queries for fixed tariffs (and other long-term constants) [see PR #532]
Clean up table formatting for
flexmeasures show
CLI commands [see PR #540]Add
"Deprecation"
and"Sunset"
response headers for API users of deprecated API versions, and log warnings for FlexMeasures hosts when users still use them [see PR #554 and PR #565]Explain how to avoid potential
SMTPRecipientsRefused
errors when using FlexMeasures in combination with a mail server [see PR #558]Set a limit to the allowed planning window for API users, using the
FLEXMEASURES_MAX_PLANNING_HORIZON
setting [see PR #568]
Warning
The API endpoint ([POST] /sensors/(id)/schedules/trigger) to make new schedules will (in v0.13) sunset the storage flexibility parameters (they move to the flex-model
parameter group), as well as the parameters describing other sensors (they move to flex-context
).
Warning
The CLI command flexmeasures monitor tasks
has been deprecated (it’s being renamed to flexmeasures monitor last-run
). The old name will be sunset in version 0.13.
Warning
The CLI command flexmeasures add schedule
has been renamed to flexmeasures add schedule for-storage
. The old name will be sunset in version 0.13.
v0.11.3 | November 2, 2022
Bugfixes
Fix scheduling with imperfect efficiencies, which resulted in exceeding the device’s lower SoC limit [see PR #520]
Fix scheduler for Charge Points when taking into account inflexible devices [see PR #517]
Prevent rounding asset lat/long positions to 4 decimal places when editing an asset in the UI [see PR #522]
v0.11.2 | September 6, 2022
Bugfixes
v0.11.1 | September 5, 2022
Bugfixes
v0.11.0 | August 28, 2022
New features
The asset page now shows the most relevant sensor data for the asset [see PR #449]
Individual sensor charts show available annotations [see PR #428]
New API options to further customize the optimization context for scheduling, including the ability to use different prices for consumption and production (feed-in) [see PR #451]
Admins can group assets by account on dashboard & assets page [see PR #461]
Collapsible side-panel (hover/swipe) used for date selection on sensor charts, and various styling improvements [see PR #447 and PR #448]
Add CLI command
flexmeasures jobs show-queues
[see PR #455]Switched from 12-hour AM/PM to 24-hour clock notation for time series chart axis labels [see PR #446]
Get data in a given resolution [see PR #458]
Note
Read more on these features on the FlexMeasures blog.
Bugfixes
Do not fail asset page if entity addresses cannot be built [see PR #457]
Asynchronous reloading of a chart’s dataset relies on that chart already having been embedded [see PR #472]
Time scale axes in sensor data charts now match the requested date range, rather than stopping at the edge of the available data [see PR #449]
The docker-based tutorial now works with UI on all platforms (port 5000 did not expose on MacOS) [see PR #465]
Fix interpretation of scheduling results in toy tutorial [see PR #466 and PR #475]
Avoid formatting
datetime.timedelta
durations as nominal ISO durations [see PR #459]Account admins cannot add assets to other accounts any more; and they are shown a button for asset creation in UI [see PR #488]
Infrastructure / Support
Docker compose stack now with Redis worker queue [see PR #455]
Allow access tokens to be passed as env vars as well [see PR #443]
Queue workers can get initialised without a custom name and name collisions are handled [see PR #455]
New API endpoint to get public assets [see PR #461]
Allow editing an asset’s JSON attributes through the UI [see PR #474]
Allow a custom message when monitoring latest run of tasks [see PR #489]
v0.10.1 | August 12, 2022
Bugfixes
Fix some UI styling regressions in e.g. color contrast and hover effects [see PR #441]
v0.10.0 | May 8, 2022
New features
New design for FlexMeasures’ UI back office [see PR #425]
Improve legibility of chart axes [see PR #413]
API provides health readiness check at /api/v3_0/health/ready [see PR #416]
Note
Read more on these features on the FlexMeasures blog.
Bugfixes
Fix small problems in support for the admin-reader role & role-based authorization [see PR #422]
Infrastructure / Support
Dockerfile to run FlexMeasures in container; also docker-compose file [see PR #416]
Unit conversion prefers shorter units in general [see PR #415]
Shorter CI builds in Github Actions by caching Python environment [see PR #361]
Allow to filter data by source using a tuple instead of a list [see PR #421]
v0.9.4 | April 28, 2022
Bugfixes
Support checking validity of custom units (i.e. non-SI, non-currency units) [see PR #424]
v0.9.3 | April 15, 2022
Bugfixes
Let registered plugins use CLI authorization [see PR #411]
v0.9.2 | April 10, 2022
Bugfixes
v0.9.1 | March 31, 2022
Bugfixes
v0.9.0 | March 25, 2022
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
New features
Three new CLI commands for cleaning up your database: delete 1) unchanged beliefs, 2) NaN values or 3) a sensor and all of its time series data [see PR #328]
Add CLI option to pass a data unit when reading in time series data from CSV, so data can automatically be converted to the sensor unit [see PR #341]
Add CLI option to specify custom strings that should be interpreted as NaN values when reading in time series data from CSV [see PR #357]
Add CLI commands
flexmeasures add sensor
,flexmeasures add asset-type
,flexmeasures add beliefs
(which were experimental features before) [see PR #337]Add CLI commands for showing organisational structure [see PR #339]
Add CLI command for showing time series data [see PR #379]
Add CLI command for attaching annotations to assets:
flexmeasures add holidays
adds public holidays [see PR #343]Add CLI command for resampling existing sensor data to new resolution [see PR #360]
Add CLI command to delete an asset, with its sensors and data [see PR #395]
Add CLI command to edit/add an attribute on an asset or sensor [see PR #380]
Add CLI command to add a toy account for tutorials and trying things [see PR #368]
Add CLI command to create a charging schedule [see PR #372]
Support for percent (%) and permille (‰) sensor units [see PR #359]
Note
Read more on these features on the FlexMeasures blog.
Infrastructure / Support
Plugins can import common FlexMeasures classes (like
Asset
andSensor
) from a central place, usingfrom flexmeasures import Asset, Sensor
[see PR #354]Adapt CLI command for entering some initial structure (
flexmeasures add structure
) to new datamodel [see PR #349]Align documentation requirements with pip-tools [see PR #384]
Beginning API v3.0 - more REST-like, supporting assets, users and sensor data [see PR #390 and PR #392]
v0.8.0 | January 24, 2022
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
Warning
In case you use FlexMeasures for simulations using FLEXMEASURES_MODE = "play"
, allowing to overwrite data is now set separately using FLEXMEASURES_ALLOW_DATA_OVERWRITE. Add FLEXMEASURES_ALLOW_DATA_OVERWRITE = True
to your config settings to keep the old behaviour.
Note
v0.8.0 is doing much of the work we need to do to move to the new data model (see A note on the ongoing data model transition). We hope to keep the migration steps for users very limited. One thing you’ll notice is that we are copying over existing data to the new model (which will be kept in sync) with the db upgrade
command (see warning above), which can take a few minutes.
New features
Bar charts of sensor data for individual sensors, that can be navigated using a calendar [see PR #99 and PR #290]
Charts with sensor data can be requested in one of the supported [vega-lite themes] (incl. a dark theme) [see PR #221]
Mobile friendly (responsive) charts of sensor data, and such charts can be requested with a custom width and height [see PR #313]
Schedulers take into account round-trip efficiency if set [see PR #291]
Schedulers take into account min/max state of charge if set [see PR #325]
Fallback policies for charging schedules of batteries and Charge Points, in cases where the solver is presented with an infeasible problem [see PR #267 and PR #270]
Note
Read more on these features on the FlexMeasures blog.
Deprecations
The Portfolio and Analytics views are deprecated [see PR #321]
Bugfixes
Fix recording time of schedules triggered by UDI events [see PR #300]
Set bar width of bar charts based on sensor resolution [see PR #310]
Fix bug in sensor data charts where data from multiple sources would be stacked, which incorrectly suggested that the data should be summed, whereas the data represents alternative beliefs [see PR #228]
Infrastructure / Support
Account-based authorization, incl. new decorators for endpoints [see PR #210]
Central authorization policy which lets database models codify who can do what (permission-based) and relieve API endpoints from this [see PR #234]
Improve data specification for forecasting models using timely-beliefs data [see PR #154]
Properly attribute Mapbox and OpenStreetMap [see PR #292]
Allow plugins to register their custom config settings, so that FlexMeasures can check whether they are set up correctly [see PR #230 and PR #237]
Add sensor method to obtain just its latest state (excl. forecasts) [see PR #235]
Migrate attributes of assets, markets and weather sensors to our new sensor model [see PR #254 and project 9]
Migrate all time series data to our new sensor data model based on the timely beliefs lib [see PR #286 and project 9]
Support the new asset model (which describes the organisational structure, rather than sensors and data) in UI and API - until the transition to our new data model is completed, the new API for assets is at /api/dev/generic_assets [see PR #251 and PR #290]
Internal search methods return most recent beliefs by default, also for charts, which can make them load a lot faster [see PR #307 and PR #312]
Support unit conversion for posting sensor data [see PR #283 and PR #293]
Improve the core device scheduler to support dealing with asymmetric efficiency losses of individual devices, and with asymmetric up and down prices for deviating from previous commitments (such as a different feed-in tariff) [see PR #291]
Stop automatically triggering forecasting jobs when API calls save nothing new to the database, thereby saving redundant computation [see PR #303]
v0.7.1 | November 8, 2021
Bugfixes
Fix device messages, which were mixing up older and more recent schedules [see PR #231]
v0.7.0 | October 26, 2021
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
Warning
The config setting FLEXMEASURES_PLUGIN_PATHS
has been renamed to FLEXMEASURES_PLUGINS
. The old name still works but is deprecated.
New features
Set a logo for the top left corner with the new
FLEXMEASURES_MENU_LOGO_PATH
setting [see PR #184]Add an extra style-sheet which applies to all pages with the new
FLEXMEASURES_EXTRA_CSS_PATH
setting [see PR #185]Data sources can be further distinguished by what model (and version) they ran [see PR #215]
Enable plugins to automate tests with app context [see PR #220]
Note
Read more on these features on the FlexMeasures blog.
Bugfixes
Infrastructure / Support
FlexMeasures plugins can be Python packages now, and we provide a cookie-cutter template for this approach [see PR #182]
Set default timezone for new users using the
FLEXMEASURES_TIMEZONE
config setting [see PR #190]To avoid databases from filling up with irrelevant information, only beliefs data representing changed beliefs are saved, and unchanged beliefs are dropped [see PR #194]
Monitored CLI tasks can get better names for identification [see PR #193]
Less custom logfile location, document logging for devs [see PR #196]
Keep forecasting and scheduling jobs in the queues for only up to one day [see PR #198]
v0.6.1 | October 23, 2021
Bugfixes
v0.6.0 | September 3, 2021
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
In case you are using experimental developer features and have previously set up sensors, be sure to check out the upgrade instructions in PR #157. Furthermore, if you want to create custom user/account relationships while upgrading (otherwise the upgrade script creates accounts based on email domains), check out the upgrade instructions in PR #159. If you want to use both of these custom upgrade features, do the upgrade in two steps. First, as described in PR 157 and upgrading up to revision b6d49ed7cceb
, then as described in PR 159 for the rest.
Warning
The config setting FLEXMEASURES_LISTED_VIEWS
has been renamed to FLEXMEASURES_MENU_LISTED_VIEWS
.
Warning
Plugins now need to set their version on their module rather than on their blueprint. See the documentation for writing plugins.
New features
Multi-tenancy: Supporting multiple customers per FlexMeasures server, by introducing the
Account
concept, where accounts have users and assets associated [see PR #159 and PR #163]In the UI, the root view (“/”), the platform name and the visible menu items can now be more tightly controlled (per account roles of the current user) [see also PR #163]
Analytics view offers grouping of all assets by location [see PR #148]
Add (experimental) endpoint to post sensor data for any sensor. Also supports our ongoing integration with data internally represented using the timely beliefs lib [see PR #147]
Note
Read more on these features on the FlexMeasures blog.
Infrastructure / Support
Add possibility to send errors to Sentry [see PR #143]
Add CLI task to monitor if tasks ran successfully and recently enough [see PR #146]
Document how to use a custom favicon in plugins [see PR #152]
Allow plugins to register multiple Flask blueprints [see PR #171]
Continue experimental integration with timely beliefs lib: link multiple sensors to a single asset [see PR #157]
The experimental parts of the data model can now be visualised, as well, via
make show-data-model
(add the--dev
option inMakefile
) [also in PR #157]
v0.5.0 | June 7, 2021
Warning
If you retrieve weather forecasts through FlexMeasures: we had to switch to OpenWeatherMap, as Dark Sky is closing. This requires an update to config variables ― the new setting is called OPENWEATHERMAP_API_KEY
.
New features
Allow plugins to overwrite UI routes and customise the teaser on the login form [see PR #106]
Allow plugins to customise the copyright notice and credits in the UI footer [see PR #123]
Display loaded plugins in footer and support plugin versioning [see PR #139]
Note
Read more on these features on the FlexMeasures blog.
Bugfixes
Infrastructure / Support
Add tutorials on how to add and read data from FlexMeasures via its API [see PR #130]
For weather forecasts, switch from Dark Sky (closed from Aug 1, 2021) to OpenWeatherMap API [see PR #113]
Entity address improvements: add new id-based fm1 scheme, better documentation and more validation support of entity addresses [see PR #81]
Re-use the database between automated tests, if possible. This shaves 2/3rd off of the time it takes for the FlexMeasures test suite to run [see PR #115]
Make assets use MW as their default unit and enforce that in CLI, as well (API already did) [see PR #108]
Let CLI package and plugins use Marshmallow Field definitions [see PR #125]
Add
time_utils.get_recent_clock_time_window
function [see PR #135]
v0.4.1 | May 7, 2021
Bugfixes
v0.4.0 | April 29, 2021
Warning
Upgrading to this version requires running flexmeasures db upgrade
(you can create a backup first with flexmeasures db-ops dump
).
New features
Allow for views and CLI functions to come from plugins [see also PR #91]
Configure the UI menu with
FLEXMEASURES_LISTED_VIEWS
[see PR #91]
Note
Read more on these features on the FlexMeasures blog.
Bugfixes
Asset edit form displayed wrong error message. Also enabled the asset edit form to display the invalid user input back to the user [see PR #93]
Infrastructure / Support
Updated dependencies, including Flask-Security-Too [see PR #82]
Improved documentation after user feedback [see PR #97]
Begin experimental integration with timely beliefs lib:
Sensor
data asTimedBelief
objects [see PR #79 and PR #99]Add sensors with CLI command currently meant for developers only [see PR #83]
Add data (beliefs about sensor events) with CLI command currently meant for developers only [see PR #85 and PR #103]
v0.3.1 | April 9, 2021
Bugfixes
PostMeterData endpoint was broken in API v2.0 [see PR #95]
v0.3.0 | April 2, 2021
New features
FlexMeasures can be installed with
pip
and its CLI commands can be run withflexmeasures
[see PR #54]Optionally setting recording time when posting data [see PR #41]
Add assets and weather sensors with CLI commands [see PR #74]
Note
Read more on these features on the FlexMeasures blog.
Bugfixes
Show screenshots in documentation and add some missing content [see PR #60]
Documentation listed 2.0 API endpoints twice [see PR #59]
Better xrange and title if only schedules are plotted [see PR #67]
User page did not list number of assets correctly [see PR #64]
Missing postPrognosis endpoint for >1.0 API blueprints [part of PR #41]
Infrastructure / Support
Added concept pages to documentation [see PR #65]
Dump and restore postgres database as CLI commands [see PR #68]
Improved installation tutorial as part of [PR #54]
Moved developer docs from Readmes into the main documentation [see PR #73]
Ensured unique sensor ids for all sensors [see PR #70 and (fix) PR #77]
v0.2.3 | February 27, 2021
New features
Power charts available via the API [see PR #39]
User management via the API [see PR #25]
Better visibility of asset icons on maps [see PR #30]
Note
Read more on these features on the FlexMeasures blog.
Bugfixes
Infrastructure / Support
CI via Github Actions [see PR #1]
Integration with timely beliefs lib: Sensors [see PR #13]
Apache 2.0 license [see PR #16]
Load js & css from CDN [see PR #21]
Start using marshmallow for input validation, also introducing
HTTP status 422 (Unprocessable Entity)
in the API [see PR #25]Replace
solarpy
withpvlib
(due to license conflict) [see PR #16]Stop supporting the creation of new users on asset creation (to reduce complexity) [see PR #36]