Skip to content

Feat: Graph modal upgrade - flex-config integration#1926

Merged
nhoening merged 67 commits intofeat/allow-Ssensorstoshow-schemafrom
feat/sensortoshow-modal-upgrade
Mar 17, 2026
Merged

Feat: Graph modal upgrade - flex-config integration#1926
nhoening merged 67 commits intofeat/allow-Ssensorstoshow-schemafrom
feat/sensortoshow-modal-upgrade

Conversation

@joshuaunity
Copy link
Contributor

@joshuaunity joshuaunity commented Jan 23, 2026

Description

This PR adapts the new SensorsToShowSchema, which introduced the concept of plots and aset flex-config references.

Look & Feel

Before:

image

After:

image

How to test

  1. Visit any asset with sensors
  2. Navigate to the graph page
  3. Click on the "Edit Graphs" button
  4. Observe the new changes and test them out
  5. Make sure both new and old features work as expected

Related Items

This PR Closes #1881

Sign-off

  • I agree to contribute to the project under Apache 2 License.
  • To the best of my knowledge, the proposed patch is not based on code under GPL or other license that is incompatible with FlexMeasures

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
@joshuaunity joshuaunity self-assigned this Jan 23, 2026
@read-the-docs-community
Copy link

read-the-docs-community bot commented Jan 23, 2026

Documentation build overview

📚 flexmeasures | 🛠️ Build #31853181 | 📁 Comparing d917895 against latest (f1707fc)


🔍 Preview build

Show files changed (11 files in total): 📝 11 modified | ➕ 0 added | ➖ 0 deleted
File Status
changelog.html 📝 modified
genindex.html 📝 modified
_autosummary/flexmeasures.data.models.charts.belief_charts.html 📝 modified
_autosummary/flexmeasures.data.models.generic_assets.html 📝 modified
_autosummary/flexmeasures.data.schemas.generic_assets.html 📝 modified
_autosummary/flexmeasures.data.schemas.sensors.html 📝 modified
_autosummary/flexmeasures.utils.coding_utils.html 📝 modified
_autosummary/flexmeasures.utils.html 📝 modified
_autosummary/flexmeasures.utils.unit_utils.html 📝 modified
api/v3_0.html 📝 modified
views/asset-data.html 📝 modified

@joshuaunity joshuaunity changed the base branch from main to feat/allow-Ssensorstoshow-schema January 25, 2026 21:46
… side, including dissabling logic

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
…sures/flexmeasures into feat/sensortoshow-modal-upgrade
…sures/flexmeasures into feat/sensortoshow-modal-upgrade
Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
…eatures

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
…sures/flexmeasures into feat/sensortoshow-modal-upgrade
@joshuaunity joshuaunity requested a review from nhoening February 3, 2026 08:31
…sures/flexmeasures into feat/sensortoshow-modal-upgrade
@joshuaunity joshuaunity added enhancement New feature or request UI labels Feb 4, 2026
Copy link
Contributor

@nhoening nhoening left a comment

Choose a reason for hiding this comment

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

Good start!
I noticed these things when I tested:

Also, the "Asset Config" tab should be the first option: on the left, open per default. (I believe we want users to use those fields if possible, and use the sensor search if they need more than that). And I would call it "Flex Config".

When selecting an asset, I sometimes see "flex-model" twice under Config-Type.

When I select a different config-type, previously selected field & details should be emptied. Actually, it seems the list of available fields is not replaced, as well.

Some help texts.

  • Next to "field" let's have an info icon, explaining that here, fields can be selected (Q: do you only show fields withUnder "Field Details", let's

I wanted to remove such a new field, but nothing happened, also no error.
Removing a traditional field got me "Uncaught ReferenceError: removeSensorFromGraph is not defined"

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
…n. Also added some docstring

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
@joshuaunity joshuaunity requested a review from nhoening February 10, 2026 08:42
Copy link
Contributor

@nhoening nhoening left a comment

Choose a reason for hiding this comment

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

Additions I'd like to see:

  • Can we add the flex-config information to the plot legends? Now I see "sensor-name (asset-name)" in the legend. But if I selected a sensor for its function in the flex-model, we should make that information visible, as to make the UX clearer. So in the case I selected soc-min, I'd like to see "sensor-name (soc-min for asset-name)". I know this might be a bit tricky to accomplish. But it's important for users to see why a plot was added.
  • On compontens.js, I asked for docstrings of the functions, but I believe you only added one.
  • The form for flex config settings should have some info icons for help. E.g. which assets are shown in the dropdown? Will fields without value be hidden?

Some things that don't seem to work properly:

  • I am actually confused which assets show up in the list - as I am testing it is a short list. I believe it is short because it is limited by pagination (&per_page=10). So that limitation is wrong. But also the set of assets being offered - the issue says: "assets are all assets in the same tree as the currently edited one". For this, the new root parameter of that asset endpoint can be used. On that issue, you discussed with us how to do this.
  • Searching for sensors (old-fashioned) gives JS error: "Uncaught ReferenceError: filterSensors is not defined"
  • Also, when I select a graph on the left, the button to add a sensor used to switch its text, but now it keeps saying "Add new Graph"

@joshuaunity
Copy link
Contributor Author

joshuaunity commented Feb 11, 2026

Searching for sensors (old-fashioned) gives JS error: "Uncaught ReferenceError: filterSensors is not defined"

i caught this yesterday as well, i havent pushed my updates yet

Also, when I select a graph on the left, the button to add a sensor used to switch its text, but now it keeps saying "Add new Graph"

This is in progress

I am actually confused which assets show up in the list - as I am testing it is a short list. I belie...

Yes, you are correct, to speed up development on the initial phase, i just fetched the sensors. I will implement this feature now as i did forget

On compontens.js, I asked for docstrings of the functions, but I believe you only added one.

I thought you were referring to only the util function, i can add for the rest too.

… revive other broken features

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
@nhoening
Copy link
Contributor

@joshuaunity let me know when this is ready for review

@joshuaunity
Copy link
Contributor Author

@joshuaunity let me know when this is ready for review

You can go ahead and review, as I'm currently working on the fixed value graphs

Copy link
Contributor

@nhoening nhoening left a comment

Choose a reason for hiding this comment

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

Actually, at least half of my previous review has not been addressed. So then you should not tell me it's okay to review.

Please address these open items from the last review:

  • Can we add the flex-config information to the plot legends? Now I see "sensor-name (asset-name)" in the legend. But if I selected a sensor for its function in the flex-model, we should make that information visible, as to make the UX clearer. So in the case I selected soc-min, I'd like to see "sensor-name (soc-min for asset-name)". I know this might be a bit tricky to accomplish. But it's important for users to see why a plot was added.
  • The form for flex config settings should have some info icons for help. E.g. which assets are shown in the dropdown? Will fields without value be hidden?
  • Searching for sensors (old-fashioned) gives JS error: "Uncaught ReferenceError: filterSensors is not defined"

Also, I found some other things which should be improved:

  • There are fields which are booleans (e.g. ' prefer-charging-sooner). Let's not offer those.
  • I wanted to remove a field from a graph (clicking "x"), but that did not work. No error in the console.
  • There is logs in the console which should go away:
    • "Rendering graph cards..."
    • "Rendering API sensors..."

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
@joshuaunity
Copy link
Contributor Author

The following are left

The form for flex config settings should have some info icons for help. E.g. which assets are shown in the dropdown? Will fields without value be hidden?

#1926 (comment)

@nhoening
Copy link
Contributor

The following are left

The form for flex config settings should have some info icons for help. E.g. which assets are shown in the dropdown? Will fields without value be hidden?

#1926 (comment)

Okay, if you get them done by tomorrow I can probably still review.

And you said fixed values (e.g. "30 kW") are already worked on in this PR?

joshuaunity and others added 3 commits March 13, 2026 09:33
Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>
Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>
Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>
@joshuaunity
Copy link
Contributor Author

the 2. remove flexValue part is

Is? It looks like there is more to this sentence

@joshuaunity
Copy link
Contributor Author

I know they are useful, but the naming is what I want to improve. And we don't really need it to be a function on its own.
What I care about is that a reader understands this faster.

I'm now noticing this is not from yesterday, but rather 3 days ago, cause i already made changes regarding this. Do you still have any thoughts on it, or is the current state satisfactory?

@joshuaunity
Copy link
Contributor Author

If the flex-config-based sensor is shown in the graph card

This is possible, will take some time. But other values, like arrays and fixed values, would still appear as is.

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
…esentation

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
… frontend

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
@nhoening
Copy link
Contributor

the 2. remove flexValue part is

Is? It looks like there is more to this sentence

I believe the field length in the audit log is limited. Can you log in the code what the complete message would be?

I mean where does the term "flexValue" come from - it's not part of the sensors_to_show structure, right?

@nhoening
Copy link
Contributor

If the flex-config-based sensor is shown in the graph card

This is possible, will take some time. But other values, like arrays and fixed values, would still appear as is.

What is the context of this? you only quoted a part of my original sentence, I don't recall it all.

@joshuaunity
Copy link
Contributor Author

If the flex-config-based sensor is shown in the graph card

This is possible, will take some time. But other values, like arrays and fixed values, would still appear as is.

What is the context of this? you only quoted a part of my original sentence, I don't recall it all.

image

This is the comment,

@nhoening
Copy link
Contributor

nhoening commented Mar 13, 2026

Let's make this a follow-up issue then.
The audit log field for messages might have to be a little larger and we should investigate various changes on graphs, flex-context and model to see if the audit log captures those okay.

@joshuaunity joshuaunity requested a review from nhoening March 13, 2026 17:07
Copy link
Contributor

@nhoening nhoening left a comment

Choose a reason for hiding this comment

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

Just tried it out again, this time in the HEMS exampe (a more realistic way to try this), and it seems to work really well!

I basically have only one thing left:

In the graph cards, I'd like to make the asset config entries visually better structured, by just changing the heading and asset information a bit.

See the below example - to me it is confusing - it looks like two entries.

Image
  1. The title of that section "Asset" - that should be the field title, e.g. here "My Building 1 - site-consumption-capacity
  2. Then the next line can be context information: "Asset ID: 4237, In: Flex-Context"
  3. Why does the sensor entry have an "x" to remove it ? That should probably simply go.

Can you make the issue for checking / improving the audit log?

@Flix6x Flix6x added this to the 0.32.0 milestone Mar 17, 2026
@joshuaunity
Copy link
Contributor Author

Can you make the issue for checking / improving the audit log?

yes i can

…nsor rendering logic

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
…lity

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
…plot card

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
Copy link
Contributor

@nhoening nhoening left a comment

Choose a reason for hiding this comment

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

Excellent feature, thanks for the patience to get it through!

joshuaunity and others added 4 commits March 17, 2026 22:56
Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: Nicolas Höning <nicolas@seita.nl>
…w-modal-upgrade

Signed-off-by: Nicolas Höning <nicolas@seita.nl>
@nhoening nhoening merged commit cf1d6bb into feat/allow-Ssensorstoshow-schema Mar 17, 2026
5 of 7 checks passed
@nhoening nhoening deleted the feat/sensortoshow-modal-upgrade branch March 17, 2026 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhance graphs dialogue to allow flex-config field selection

3 participants