Skip to content

Feat/lfenergy demo example - #4

Open
nicburgt wants to merge 35 commits into
mainfrom
feat/lfenergy-demo-example
Open

nicburgt wants to merge 35 commits into
mainfrom
feat/lfenergy-demo-example

Conversation

@nicburgt

@nicburgt nicburgt commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

I'm still tweaking the demo in the coming days, but it is E2E working. I'm still not a fan of the clarity of the comparison chart, but i'll keep churning on that.

For now, the flexmeasures setup in the example/demo looks as follows:

image

With a combination of flexible/inflexible loads,

The demo scenario is configured to initially only generate a plan (with only pricing input) and afterwards generate a plan with both pricing and OpenADR input.

The comparison chart/html currently looks as follows (this part is still WIP):

comparison.html

Nick van der Burgt and others added 30 commits September 2, 2026 15:50
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Felix Claessen <30658763+Flix6x@users.noreply.github.com>
…eedup to config

Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
… still have multiple workers

Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
…es sensor with OpenADR beliefs

Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
Signed-off-by: Nick van der Burgt <nvanderburgt@infiniot.nl>
@socket-security

socket-security Bot commented Sep 8, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedopenadr3-client@​2.1.0 ⏵ 2.4.099100100 +1100100
Updatedruff@​0.16.5 ⏵ 0.16.6100 +1100100100100
Updatedtypes-requests@​2.33.0.20260712 ⏵ 2.33.0.20260906100100100100100

View full report

@nicburgt
nicburgt force-pushed the feat/lfenergy-demo-example branch from ec5cc4c to 6654eab Compare September 8, 2026 08:53

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like these .github instructions are copied from the flexmeasures repo. I think it would make sense to view these as being applicable to the FM server and all FM plugins (basically FlexMeasures organization-wide). I see 3 ways forward:

  1. Keep the files in flexmeasures only, and have plugins (including the flexmeasures-plugin-template repo) point to them in their AGENTS.md. Not sure if agents will respect that.
  2. Move the files to the tsc (or a new dedicated) repo under the FlexMeasures organization. Same uncertainty as 1.
  3. Have them duplicated in each plugin, and keep them in sync (perhaps through a dedicated test in the plugin, against the instructions set in the flexmeasures repo).
  4. Have them duplicated in each plugin; accept diverging.

Do you want to try 1, which would be my preference? I'm afraid you happen to be the first plugin author to face this issue.


Every profile is drawn from a generator seeded on the sensor and the local calendar day,
and each day is generated whole before being cut back to the window. A given day therefore
always gets the same numbers, whether the script runs at dawn or at noon, and a re-run

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

runs at confused me. Is the seed based on the day at which:

  1. the user runs the script,
  2. the belief_time of the forecasts reside in, or
  3. the events that are being forecast reside in?

If it is 2, then I suggest:

Suggested change
always gets the same numbers, whether the script runs at dawn or at noon, and a re-run
always gets the same numbers, whether the forecaster runs at dawn or at noon, and a re-run

Comment on lines +228 to +238
SQLALCHEMY_DATABASE_URI: postgresql://fm-walkthrough-user:fm-walkthrough-pass@fm-db:5432/fm-walkthrough-db
FLEXMEASURES_REDIS_URL: queue-db
FLEXMEASURES_REDIS_PASSWORD: fm-redis-pass
SECRET_KEY: notsecret
SECURITY_TOTP_SECRETS: '{"1": "something-secret"}'
FLEXMEASURES_ENV: development
FLEXMEASURES_PLUGINS: flexmeasures_openadr3
ALLOW_INSECURE_HTTP_VTN: "true"
OAUTHLIB_INSECURE_TRANSPORT: "1"
OAUTHLIB_RELAX_TOKEN_SCOPE: "1"
LOGGING_LEVEL: INFO

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest refactoring to share a single definition of the environment settings across 4 services.

Comment thread examples/lf-energy-demo/LIVE_DEMO.md Resolved
Comment thread flexmeasures_openadr3/utils/sensor.py Resolved

@nhoening nhoening left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the record, I ran this myself (mostly successful), and send Nick my comments per email a few days ago. Also, Nick showed this demo successfully at the LF Energy Summit this week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants