Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add SOC constraints as sensors #996

Merged
merged 10 commits into from Mar 26, 2024

Conversation

victorgarcia98
Copy link
Contributor

@victorgarcia98 victorgarcia98 commented Feb 29, 2024

Description

This PR introduces the possibility to define SOC Targets, SOC Maxima and SOC Minima as sensors. The existing way of defining those is still supported.

TODO

Potential improvements to be done in the same PR or follow up Issues/Discussions/PRs.

Related Items

#957


  • 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: Victor Garcia Reolid <victor@seita.nl>
Copy link
Contributor

@Flix6x Flix6x left a comment

Choose a reason for hiding this comment

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

Nice progress!

I still have to review the tests.

flexmeasures/data/schemas/scheduling/storage.py Outdated Show resolved Hide resolved
flexmeasures/data/schemas/scheduling/storage.py Outdated Show resolved Hide resolved
flexmeasures/data/schemas/scheduling/storage.py Outdated Show resolved Hide resolved
flexmeasures/data/schemas/scheduling/storage.py Outdated Show resolved Hide resolved
flexmeasures/data/schemas/scheduling/storage.py Outdated Show resolved Hide resolved
flexmeasures/data/schemas/scheduling/storage.py Outdated Show resolved Hide resolved
…TimedEventSchema schemas.

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
Copy link
Contributor

@Flix6x Flix6x left a comment

Choose a reason for hiding this comment

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

Nice job refactoring! I like how the SensorIdField is now being used more.

I suggest you still tackle the two documentation todos, and leave the CLI field for a different PR.

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
documentation/api/change_log.rst Outdated Show resolved Hide resolved
flexmeasures/api/v3_0/sensors.py Show resolved Hide resolved
flexmeasures/data/models/planning/tests/test_solver.py Outdated Show resolved Hide resolved
@victorgarcia98 victorgarcia98 added this to the 0.20 milestone Mar 11, 2024
Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
* Enhance test_closest_sensor to Support Variable Number of Closest Sensors (n) (#998)

* use scalars instead of scalar having limit constraint

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

* update the test_closest_sensor, to test multiple sensor as params

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

* update the docstring

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

---------

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

* [CLI] add `--offspring` flag to command flexmeasures delete beliefs (#1003)

* add --offspring flag to command flexmeasures delete beliefs

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add docstring

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* fix: include offspring assets in prompt and done messages

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

* fix: less alarming message in case a time window was passed

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

* Improve processing time for deleting beliefs via CLI (#1005)

* speed up deleting beliefs via CLI

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

* docs: changelog entry

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

* fix: typo

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

---------

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>
Signed-off-by: F.N. Claessen <felix@seita.nl>
Co-authored-by: F.N. Claessen <felix@seita.nl>

* fix: CLI message

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

* docs: changelog entry

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

---------

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
Signed-off-by: F.N. Claessen <felix@seita.nl>
Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>
Co-authored-by: F.N. Claessen <felix@seita.nl>
Co-authored-by: Ahmad Wahid <59763365+Ahmad-Wahid@users.noreply.github.com>

* docs: expand explanation

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

* fix: upsample and convert to instantaneous

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

* fix: better implementation and moved to timely-beliefs

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

* Introduce FLEXMEASURES_FORCE_HTTPS  (#1008)

* introduce FLEXMEASURES_FORCE_HTTPS so we can control better when we want the app to answer to https. Apply in the internal API to solve a load balancer situation.

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

* add warning to consider this setting before upgrading

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

* build the URL right in the beginning of internal view functions

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

---------

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

* add forgotten changelog entry for #1008

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

* Make installable on MacOS (#1000)

* Update db setup text in toy example setup

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Fix commit message Signed-off-by: Nikolai Rozanov <nickolay@seita.nl>

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Fix commit message

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Make runnable on macos + update docs accordingly

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Post review fixes. Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Post review fixes

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Add command for highs macOS installation

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Enhance test_closest_sensor to Support Variable Number of Closest Sensors (n) (#998)

* use scalars instead of scalar having limit constraint

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

* update the test_closest_sensor, to test multiple sensor as params

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

* update the docstring

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

---------

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>
Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* [CLI] add `--offspring` flag to command flexmeasures delete beliefs (#1003)

* add --offspring flag to command flexmeasures delete beliefs

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add docstring

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* fix: include offspring assets in prompt and done messages

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

* fix: less alarming message in case a time window was passed

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

* Improve processing time for deleting beliefs via CLI (#1005)

* speed up deleting beliefs via CLI

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

* docs: changelog entry

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

* fix: typo

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

---------

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>
Signed-off-by: F.N. Claessen <felix@seita.nl>
Co-authored-by: F.N. Claessen <felix@seita.nl>

* fix: CLI message

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

* docs: changelog entry

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

---------

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
Signed-off-by: F.N. Claessen <felix@seita.nl>
Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>
Co-authored-by: F.N. Claessen <felix@seita.nl>
Co-authored-by: Ahmad Wahid <59763365+Ahmad-Wahid@users.noreply.github.com>
Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Introduce FLEXMEASURES_FORCE_HTTPS  (#1008)

* introduce FLEXMEASURES_FORCE_HTTPS so we can control better when we want the app to answer to https. Apply in the internal API to solve a load balancer situation.

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

* add warning to consider this setting before upgrading

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

* build the URL right in the beginning of internal view functions

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

---------

Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* add forgotten changelog entry for #1008

Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Changelog message

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* Changelog message fix

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* [CLI] add `--offspring` flag to command flexmeasures delete beliefs (#1003)

* add --offspring flag to command flexmeasures delete beliefs

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add docstring

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* fix: include offspring assets in prompt and done messages

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

* fix: less alarming message in case a time window was passed

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

* Improve processing time for deleting beliefs via CLI (#1005)

* speed up deleting beliefs via CLI

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>

* docs: changelog entry

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

* fix: typo

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

---------

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>
Signed-off-by: F.N. Claessen <felix@seita.nl>
Co-authored-by: F.N. Claessen <felix@seita.nl>

* fix: CLI message

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

* docs: changelog entry

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

---------

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
Signed-off-by: F.N. Claessen <felix@seita.nl>
Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>
Co-authored-by: F.N. Claessen <felix@seita.nl>
Co-authored-by: Ahmad Wahid <59763365+Ahmad-Wahid@users.noreply.github.com>
Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

* merge master

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>

---------

Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>
Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>
Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
Signed-off-by: F.N. Claessen <felix@seita.nl>
Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: nrozanov <50166318+nrozanov@users.noreply.github.com>
Co-authored-by: Nikolai <nrozanov@iponweb.net>
Co-authored-by: Ahmad Wahid <59763365+Ahmad-Wahid@users.noreply.github.com>
Co-authored-by: Victor <victor@seita.nl>
Co-authored-by: F.N. Claessen <felix@seita.nl>
Co-authored-by: Nicolas Höning <nicolas@seita.nl>

* [Reporting] Define belief horizon for the PandasReporter output beliefs (#1013)

* add belief horizon field

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* using correct offset

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add `belief_horizon` field to schema

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add changelog entry

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* fix entry

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

---------

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* [Reporting] skip output event resolution in `PandasReporter` (#1009)

* add flag check_output_resolution and get the minimum resolution of the input data from the min of the input sensors event resolutions instead of the output sensors.

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* ammend docstring and correct flag logic

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add field to schema

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add changelog entry

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* handle default in function argument instead

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

---------

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* [Reporting] Fix `PandasReporter` input event resolution (#1010)

* Get the minimum resolution of the input data from the min of the input sensors event resolutions instead of the output sensors.

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add changelog entry

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

---------

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* [Scheduling] convert the units of inflexible power sensors MW (#1007)

* convert units to MW

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add changelog entry

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* update docstring.

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* add inflexible devices with different units

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

---------

Signed-off-by: Victor Garcia Reolid <victor@seita.nl>

* Align API endpoint policy w.r.t. trailing slash (#1014)

* use same trailing slash policy as in main API (none)

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

* do not add slashes when calling dev API, either

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

* align asset API endpoints for chart data with no trailing slash policy, as well

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

* align UI Crud endpoints with no trailing slash policy, as well

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

* fix test

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

* align two more links

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

* add changelog entry & warning

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

* implement option A1 from review discussion + add comments for later

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

* remove changelog warning after option A1 was implemented

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

---------

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

* docs: fix typo and remove obsolete comment

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

* refactor: use xfail

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

* docs: add docstring param

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

---------

Signed-off-by: Ahmad Wahid <ahmedwahid16101@gmail.com>
Signed-off-by: Victor Garcia Reolid <victor@seita.nl>
Signed-off-by: F.N. Claessen <felix@seita.nl>
Signed-off-by: Nicolas Höning <nicolas@seita.nl>
Signed-off-by: Nikolai Rozanov <nickolay.rozanov@gmail.com>
Signed-off-by: nrozanov <50166318+nrozanov@users.noreply.github.com>
Co-authored-by: Ahmad Wahid <59763365+Ahmad-Wahid@users.noreply.github.com>
Co-authored-by: Victor <victor@seita.nl>
Co-authored-by: Nicolas Höning <nicolas@seita.nl>
Co-authored-by: nrozanov <50166318+nrozanov@users.noreply.github.com>
Co-authored-by: Nikolai <nrozanov@iponweb.net>
@Flix6x
Copy link
Contributor

Flix6x commented Mar 26, 2024

@victorgarcia98 Can you resolve the merge conflicts, please? I believe this could still be shipped.

Copy link
Contributor

@Flix6x Flix6x left a comment

Choose a reason for hiding this comment

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

Engage! 🖖

@Flix6x Flix6x merged commit 6244575 into main Mar 26, 2024
9 checks passed
@Flix6x Flix6x deleted the feature/plannign/soc-constraints-as-sensors branch March 26, 2024 08:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants