Replies: 2 comments 2 replies
-
|
(I moved this from the Q&A to the Ideas category, as otherwise GitHub suggested my comment would turn op as a straight answer to a question. I think this will be more of a discussion topic for a new idea.) I tend to think about this from the perspective of having multiple distribution boards under a grid connection. For that case, a higher-level aggregate power sensor should record the sum over lower-level aggregate power sensors. This touches on our work on device groups and intermediate power constraints. The direction we are taking is to let you extend the flex-model (now a list of device descriptions) with group descriptions. If the group description contains a power sensor we would use that as the aggregate-power sensor for that group. This direction is effectively making the topology part of the flex-model. For asset trees defined in the db, we might derive this topology automatically, or require it to be defined explicitly in the flex-model of each asset. I'll add some examples here later. Are you really only interested short-term in having a straight-up copy of the aggregate power data on a second sensor, or would you agree to discuss this in the context of multiple distribution boards? |
Beta Was this translation helpful? Give feedback.
-
|
Thanks Felix, the group-based flex-model direction is exactly what we'd love to see! We're very much interested in discussing this in the multi-DB context, not just a simple copy. Our real-world topology looks like: Grid What's the rough timeline you're thinking for the group descriptions work? We'll implement a short-term workaround on our side (some sensor that sums child DB aggregates) in the meantime. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Context & Problem Statement
In a typical behind-the-meter energy site, the electrical topology has multiple hierarchical levels where aggregate power is meaningful:
Currently, the FlexMeasures
StorageSchedulerwrites the aggregate scheduled power to a single sensor, referenced via theaggregate-powerkey in the site'sflex-context. This sensor is typically attached to the distribution board level.We attempted to add a second
aggregate-powerschedule sensor at the PCC level (one topology level above the distribution board), so that the total scheduled power is visible at both the DB and PCC levels. However, the current architecture only supports a single sensor reference in the flex-context:When multiple assets have an aggregate-power schedule sensor, only the first one found during setup receives data. All other sensors are provisioned but remain permanently empty — the scheduler never writes to them.
Proposed Solution / Approach
Support writing aggregate schedule data to multiple sensors across different topology levels. Two possible approaches:
Option A: Multi-sensor
aggregate-powerin flex-contextAllow
aggregate-powerto reference a list of sensors instead of a single one:The scheduler would write the same aggregate schedule to all referenced sensors after each scheduling cycle.
Option B: Derived/cascading schedule sensors
Keep the single
aggregate-powerreference but allow other schedule sensors to be defined as "mirrors" or "derived" sensors that automatically copy data from the primary aggregate sensor. This would be handled at the data layer rather than the scheduler.Option C: Post-schedule hook
Add a post-scheduling hook that propagates the aggregate schedule data up the topology tree, writing to parent-level sensors automatically based on the asset hierarchy.
Action Items (Task List)
flex-contextschema to accept a list of sensor references foraggregate-powerStorageSchedulerto iterate and store results to all referenced sensorsAcceptance Criteria
aggregate-powerschedule sensors at both levelsTechnical Notes / Resources
Current behavior observed:
power_balanceschedule sensor foundRelevant scheduler flow:
reload_global_flex_context()discovers aggregate-power sensors on distribution-board-type assetsflex_context["aggregate-power"]["sensor"]to the first sensor foundStorageSchedulerreads this single sensor ID and stores the aggregate schedule only thereSite topology that triggered this:
Open Questions
Beta Was this translation helpful? Give feedback.
All reactions