Skip to content

Feat/clean up duplicate flattening implementation#1984

Merged
Flix6x merged 8 commits intofeat/allow-Ssensorstoshow-schemafrom
feat/clean-up-duplicate-flattening-implementation
Feb 25, 2026
Merged

Feat/clean up duplicate flattening implementation#1984
Flix6x merged 8 commits intofeat/allow-Ssensorstoshow-schemafrom
feat/clean-up-duplicate-flattening-implementation

Conversation

@Flix6x
Copy link
Contributor

@Flix6x Flix6x commented Feb 24, 2026

Description

Internal refactoring for PR #1904:

  • Get rid of duplicate implementation of flattening method for sensors to show.
  • Support lists of flex-model/flex-context fields (at least in the flattening function)
  • Improve docstring examples
  • Make a doctest out of the existing example
  • rst style docstrings

…sets.py

Signed-off-by: F.N. Claessen <claessen@seita.nl>
Signed-off-by: F.N. Claessen <claessen@seita.nl>
Signed-off-by: F.N. Claessen <claessen@seita.nl>
…to show

Signed-off-by: F.N. Claessen <claessen@seita.nl>
Signed-off-by: F.N. Claessen <claessen@seita.nl>
Signed-off-by: F.N. Claessen <claessen@seita.nl>
Signed-off-by: F.N. Claessen <claessen@seita.nl>
Signed-off-by: F.N. Claessen <claessen@seita.nl>
@Flix6x Flix6x requested a review from joshuaunity February 24, 2026 14:42
@Flix6x Flix6x self-assigned this Feb 24, 2026
@read-the-docs-community
Copy link

Documentation build overview

📚 flexmeasures | 🛠️ Build #31538521 | 📁 Comparing 82c8f3e against latest (6633ff2)


🔍 Preview build

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

input_value = [
{
"plots": [
{
Copy link
Contributor

Choose a reason for hiding this comment

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

An asset flex-config reference can only have one reference(No support for two differnet reference or a list of fields from a single reference). The backend and modal were designed this way based on initial data samples.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's okay. For now I'm just generalizing the flatten method with potential future support for this in mind.

@Flix6x Flix6x merged commit e0683d4 into feat/allow-Ssensorstoshow-schema Feb 25, 2026
11 checks passed
@Flix6x Flix6x deleted the feat/clean-up-duplicate-flattening-implementation branch February 25, 2026 09:04
nhoening added a commit that referenced this pull request Mar 18, 2026
* refactor: refactored SensorsToShowSchema to validate into new shape

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

* chore: debugging - work in progress

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

* chore: debug errors

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

* fix: fixed cahrts failing to render

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

* chore: udpate test case with new schema changes

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

* tests: adapting more testcases to new schema shape

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

* fix: fix failing test

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

* fix: fixed failing api due to logic oversight

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

* fix: handle asset plot entry

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

* chore: add changelog entry

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

* Update documentation/changelog.rst

Co-authored-by: Felix Claessen <30658763+Flix6x@users.noreply.github.com>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/data/schemas/utils.py

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/data/schemas/generic_assets.py

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/data/schemas/generic_assets.py

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/data/schemas/generic_assets.py

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* fix: fixed schema bugs

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

* fix: fixed skipped validation step

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

* chore: add docstring to schema functions

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

* chore: little changes

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

* tests: expanding test case

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

* refactor: more backward compatibility refactoring

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

* chore: update docstring for SensorsToShowSchema

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

* refactor: support for old sensor to show format for flatenen functions

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

* tests: change test reference asset

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

* test: apply fixture to test case due to asset resource not found

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

* chore: multiple followups across docs and schema based on PR request changes

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

* fix: fixed failing test

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

* chore: update tpy accoutn data relating to sensors_to_show

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

* tests: update test cases

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

* refactor: refactored util function for backward compatibility

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

* tests: fixed failing tests - phase 2

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

* fix: Fix failing pipeline due to code indentation

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

* Feat/clean up duplicate flattening implementation (#1984)

* refactor: move extract_sensors_from_flex_config to schemas/generic_assets.py

Signed-off-by: F.N. Claessen <claessen@seita.nl>

* delete: internal import no longer needed

Signed-off-by: F.N. Claessen <claessen@seita.nl>

* refactor: rename util method to flatten_sensors_to_show

Signed-off-by: F.N. Claessen <claessen@seita.nl>

* refactor: get rid of duplicate implementation for flattening sensors to show

Signed-off-by: F.N. Claessen <claessen@seita.nl>

* feat: make doctest out of example

Signed-off-by: F.N. Claessen <claessen@seita.nl>

* style: rst-style docstrings

Signed-off-by: F.N. Claessen <claessen@seita.nl>

* feat: support multiple flex-config field names

Signed-off-by: F.N. Claessen <claessen@seita.nl>

* feat: test flatten function

Signed-off-by: F.N. Claessen <claessen@seita.nl>

---------

Signed-off-by: F.N. Claessen <claessen@seita.nl>

* Update documentation/views/asset-data.rst

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/data/schemas/generic_assets.py

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Feat: Graph modal upgrade - flex-config integration (#1926)

* chore: multiple updates

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

* chore: stabilized leeft side of modal and kicked off work onteh right side, including dissabling logic

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

* chore: completed left side of graph modal

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

* chore: work in progress

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

* refactor: more stabilization work as well as reactivation of broken features

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

* chore: reorder tabs

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

* fix: fixed bug whre options keep gettgin added teh configType dropdown. Also added some docstring

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

* fix: fixed error where graph cant be removed

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

* fix: ixed issue with graph titles not being editable

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

* fix: fixed broken units dropdown as well as some other refactoring to revive other broken features

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

* refactor: Major refactor phase 1

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

* refactor: Major refactor phase 2

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

* feat; new util function to find an asset site_asset

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

* chore: add extra info icon to form elements

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

* chore: update writeup

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

* fix: fix failing util function due to wrong formatting allowing trailing zeros

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

* fix: fixed bug where a new sensor cant be added to an existing graph

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

* refactor: Fixed graphs to properly display subcharts and mixed charts containg fixed and dynamic value plots

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

* chore: removed unused code

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

* refactor: post resolving conflicts refactoring

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

* tests: remove unsupported edgecase

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

* fix: fix issue where unsuppoerted flexocntext fields are sent to API, causing validation error

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

* feat: up to date asset data for graph modals

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

* fix: Fix bug where you cant remove sensors from a grpah with multiple sensors

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

* chore: amek all asset ref inputs equal size

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

* Update flexmeasures/ui/templates/assets/asset_graph.html

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/ui/templates/assets/asset_graph.html

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* fix: fixed error when trying to remove polts thats not a array of sensors

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

* fix: Fixed bug where the options to select a felxConfig field disables the first option, in turn the first option coudlnt be selected

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

* refactor: imporve fuction to improve readability and also fix edgecase bug

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

* fix: Fixed bug where sensors filter sectoin doesnt change after a selected card has been remvoed, still shows 'Add to X graph'

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

* chore: udpate temp sensor naming sceme

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

* chore: persisten root asset selection

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

* chore: implement new data format in toy data for testing

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

* chore: removed unused values

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

* chore: rename util function name

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

* chore: adding comments

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

* feat: dynamically render graph title on 'add plot' button

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

* chore: remvoed duplicate asset name in graph ledgend

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

* chore: fetch sensors based on site asset instead of current asset

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

* Dynamically change ledgen titles

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

* chore: little change to wording

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

* refactor: transfer initialization check into component for rendering graphs

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

* Update flexmeasures/ui/templates/assets/asset_graph.html

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/ui/templates/assets/asset_graph.html

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/ui/templates/assets/asset_graph.html

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/ui/templates/assets/asset_graph.html

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/ui/templates/assets/asset_graph.html

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/ui/templates/assets/asset_graph.html

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* Update flexmeasures/ui/templates/assets/asset_graph.html

Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>

* chore: name change

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

* refactor: backward compatibility support and imporvement UI data representation

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

* fix: Fix issue where subcharts are split up into single cahrts on the frontend

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

* refactor: Improve asset identification in plot headers and enhance sensor rendering logic

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

* refactor: Simplify asset plot card rendering and improve code readability

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

* style: Adjust disabled input width and clean up class names in asset plot card

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

* style: Update plot header class for improved font size consistency

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

* chore: add changelog entry

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

* update OpenAPI specs

Signed-off-by: Nicolas Höning <nicolas@seita.nl>

* address a flake8, mypy, precommit errors

Signed-off-by: Nicolas Höning <nicolas@seita.nl>

---------

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>
Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Co-authored-by: Nicolas Höning <nicolas@seita.nl>

* style: black

Signed-off-by: F.N. Claessen <claessen@seita.nl>

---------

Signed-off-by: joshuaunity <oghenerobojosh01@gmail.com>
Signed-off-by: JDev <45713692+joshuaunity@users.noreply.github.com>
Signed-off-by: F.N. Claessen <claessen@seita.nl>
Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Co-authored-by: Felix Claessen <30658763+Flix6x@users.noreply.github.com>
Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Co-authored-by: F.N. Claessen <claessen@seita.nl>
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.

2 participants