Skip to content

Conversation

@matthias-wende-frequenz
Copy link
Owner

  • Add Temperature quantity
  • Add ComponentMetricId.TEMPERATURE_MAX and the ability to retrieve this metric
  • Add TemperatureMetrics to timeseries.battery_pool
  • Add BatteryPool.temperature metrics receiver
  • Nice error message for empty buffer and new test case
  • Bump mkdocs-material from 9.1.18 to 9.1.19
  • Bump polars from 0.18.7 to 0.18.8
  • Add capability to multiply quantities with percentage
  • Implement dunder iadd, isub, imul methods for Quantity
  • Bump types-protobuf from 4.23.0.1 to 4.23.0.2
  • Add token type CONSTANT
  • Support constants in arithmetic FormulaEngine operations
  • Add test for composing formulas with constants
  • Add failing tests for formula composition
  • Move formula evaluator to separate file
  • Update release notes
  • Remove support for hashing of Quantity objects
  • Document internal representation of Quantity objects as floats
  • Add isclose() method for Quantity objects
  • Add RELEASE_NOTES entries
  • Rewrite component data wrapper classes to not redefine data fields
  • Allow MockMicrogrid battery chains without meters
  • Update logical meter grid power test to use a battery without a meter
  • Update PowerDistributingActor constructor test to use MockMicrogrid
  • Expose internal mock_client to users of MockMicrogrid
  • Use constant BATTERY_ID instead of hardcoded number
  • Update PowerDistributingActor tests to use MockMicrogrid
  • Remove hardcoded component graph and fixtures
  • Check that minimum blocking duration is not greater than the maximum
  • Ensure component data is stale after receiving a timer event
  • Add recovery tests for BatteryStatusTracker
  • Bump pylint from 2.17.4 to 2.17.5
  • Update to repo-config v0.4.0
  • Bump mkdocs-material from 9.1.19 to 9.1.21
  • Add tests for the Temperature quantity
  • Rename temperature_max fields to temperature
  • Replace TemperatureMetrics with Sample[Temperature]
  • Add tests for battery_pool.temperature
  • Bump polars from 0.18.8 to 0.18.9
  • Bump polars from 0.18.9 to 0.18.11
  • Remove dunder iadd, isub and imul methods for Quantity
  • Add zero() constructor for Quantities
  • Update RELEASE_NOTES.md
  • Update src/frequenz/sdk/microgrid/component/_component_data.py
  • Update battery pool SoC calculation
  • Update release notes
  • Add CI check that RELEASE_NOTES.md was updated
  • Improve test that raises an exception
  • Fix and add missing release notes
  • Resampler emits sample as regularly as possible using Timer.periodic
  • Fix resample timer drifting tests
  • Preserve the state of the resampling timer
  • Properly align the timer to align_to
  • Always wait for at least one resampling period
  • Rename receiver/sender variables to make more sense
  • Clear release notes
  • Allow running release notes check in merge queues
  • Update frequenz-api-microgrid to version 0.15.1
  • Add inclusion/exclusion bounds to low-level component data types
  • Use inclusion bounds to replace older bounds fields
  • Use ComponentCategory from frequenz-api-common package
  • Update MicrogridGrpcClient and tests to use latest grpc methods
  • Update mock api to mock the v0.15.1 of the api
  • Import Bounds from the frequenz-api-common package
  • Disable pylint rules that started failing after updating to v0.15.1
  • Fetch component_type from component metadata
  • Update RELEASE_NOTES.md
  • Rename internal inclusion-bound variables to latest naming scheme
  • Support fetching of exclusion bounds from the data sourcing actor
  • Rename BatteryPool.Bound to Bounds
  • Rename fields to power inclusion/exclusion bounds, in battery pool
  • Use Power objects to represent power bounds in battery pool
  • Refactor inclusion_bounds extraction code to a separate method
  • Implement fetching and streaming of exclusion bounds in battery pool
  • Update RELEASE_NOTES.md
  • Use built-in types for typing
  • Improve documentation for ConfigManagingActor
  • Improve logging for ConfigManagingActor
  • Add missing type hints to attributes
  • Rename conf_file to config_path and accept pathlib.Path
  • Add clarification about watching the parent directory
  • Use match to process the file watcher events
  • Bump brettcannon/check-for-changed-files
  • Update tag comment for check-for-changed-files action
  • Bump types-protobuf from 4.23.0.2 to 4.23.0.3
  • Bump polars from 0.18.11 to 0.18.12
  • Bump polars from 0.18.12 to 0.18.13
  • Replace Power.from_watts(0) with Power.zero()
  • Add a _get_bounds method in PowerDistributingActor
  • Remove unused to_protobuf method in power distribution tests
  • Support exclusion bounds in power distribution tests
  • Respect exclusion bounds in PowerDistributingActor._check_request
  • Refactor to reduce the amount of calls to the component data cache
  • Update distribution algorithm to support exclusion bounds
  • Extract reusable create_components method outside test class
  • Test exclusion bounds in power distribution algorithm
  • Update RELEASE_NOTES.md
  • mkdocs: Add cross-linking object inventory for APIs
  • Change links to the source with links to the docs
  • Remove leftover print()
  • Use is_close_to_zero() instead of math.isclose(..., abs_tol=...)
  • Simplify a < b < c comparison
  • Update release notes for the v0.24.0 release
  • Bump types-protobuf from 4.23.0.3 to 4.24.0.0
  • Remove absolute tolerance in floating-point comparison
  • Remove redundant deficits updates
  • Consolidate deficits for-loops
  • Fix updating gaps code
  • Add test for gap update code in fix_ringbuffer
  • Add test to remove single gap if outdated
  • Update release notes
  • Clear release notes
  • Bump mypy from 1.4.1 to 1.5.0
  • Bump time-machine from 2.11.0 to 2.12.0
  • Bump polars from 0.18.13 to 0.18.15
  • Put frequently used code in base function.
  • Properly handle PV power requests when no or only some meters exist.
  • Bump mypy from 1.5.0 to 1.5.1
  • Bump types-protobuf from 4.24.0.0 to 4.24.0.1
  • Resampling: Reuse existing variable.
  • PvPowerFormula: Fix comment typo
  • MockMicrogrid: Add a consumer meter only explicitly.
  • Add some tests for scenarios with no meter.
  • Fix consumer_power() not working certain configurations.
  • Bump mkdocs-material from 9.1.21 to 9.2.1
  • Add function that returns the grid component
  • Add dfs component search to component graph
  • Add tests for graph DFS search
  • [ci] Add test for installation in multiple architectures
  • [ci] Publish docs only if installation test succeeds
  • Update Release Notes
  • Improve pv power formula
  • Improve producer power formula
  • Add test pv with no pv components
  • Add no_meter params to add_chps in MockMicrogrid
  • Fix producer formula test
  • Update Release Notes
  • Remove obsolete annotations import
  • Fix typos in graph DFS docs
  • Move distribution algorithm into power distributing actor package
  • Remove unused methods in power distributing actor
  • Rename power distributing actor result OutOfBound -> OutOfBounds
  • Forward zero power requests always to the microgrid API
  • Rewrite power distribution algorithm examples as a table
  • Update release notes
  • Improve release notes formatting
  • Add a BackgroundService abstract base class
  • Add Actor abstract base class
  • Support the Actor class in actor.run()
  • Setting the restart limit in disable_actor_auto_restart fixture
  • Migrate ConfigManagingActor to the Actor class
  • Make _ActorInfo generic
  • Make _data_pipeline.initialize() async
  • Migrate ComponentMetricsResamplingActor to the Actor class
  • Improve _run() docs for ComponentMetricsResamplingActor
  • Migrate DataSourcingActor to the Actor class
  • Migrate PowerDistributingActor to the Actor class
  • Add optional name to actors
  • Convert actor decorator tests to Actor class tests
  • Remove actor decorator
  • Make MovingWindow a BackgroundService
  • Reset the actor restart limit in the fixture
  • Use a context manager to temporarily change the restart limit
  • Add a new actor_auto_restart_once fixture
  • Improve and add more actor tests
  • Properly propagate CancelledError in wait()
  • Add an actor cancellation test
  • Add BackgroundService tests
  • Make darglint ignores markdown comments
  • Add release notes for BackgroundService and Actor
  • Replace absolute imports with relative imports
  • Log exception message when parsing component graph fails
  • Drop example to private PowerDistributor API
  • Update power distributing Result to Power type
  • Update the timeout type in power Request
  • Update power Request attribute to Power type
  • Refactor set_bounds() in EVChargerPool
  • Update release notes
  • Bump mkdocs-material from 9.2.1 to 9.2.5
  • Improve consumer power formula
  • Update Release Notes
  • Fix typo
  • Remove unnecessary annotations import
  • Fix typo in release Notes
  • Make nones_are_zeros a keyword-only parameter
  • Make BackgroundService.start() sync
  • DataPipeline: Fix resampling/ds/power actors not started
  • Remove extensions and _cookiecutter from replay file
  • Remove unused Introduction from the replay file
  • Add \n to the end of the replay file
  • Bump repo-config version to v0.5.2
  • Add editorconfig file
  • Use repo-config for linting examples in docstrings
  • ci: Checkout submodules
  • Allow matching dotfiles in the labeler workflow patterns
  • Rename the workflow to check for release notes
  • Don't ship development files in the source distribution
  • Bump setuptools dependency
  • Implement a hash method for Component
  • Refactor optional type declarations in _component.py
  • Add metadata to Components
  • Allow setting grid metadata in mocks
  • Add module to easily create component graphs
  • mypy: Add no_incremental option
  • Store references to streaming tasks
  • Update RELEASE_NOTES.md
  • Add min and max formula steps
  • Add min and max to formula engine
  • Add tests for min max operations
  • Update Release Notes
  • Clear release notes
  • Add a module for grid connection points
  • Add a Fuse class and use it in Grid
  • Use fuse in GridMetadata
  • Group dependabot updates and make them weekly
  • ci: Add debug info and run nox sessions in parallel
  • Remove darglint configuration
  • Remove transitive dependencies
  • Change docstrings dependencies to flake8
  • Ignore pylint errors that overlap with flake8
  • Add mypy configuration to pyproject.toml
  • **Document *args and kwargs properly
  • Remove documented exceptions that are not really raised
  • Add missing returns documentation
  • Fix wrong order in documented arguments
  • Make exception documentation more generic
  • Add missing indirectly raised exceptions
  • Fix wrong raises documentation
  • Improve overloads for quantity scaling by Percentage
  • Add ignore rules and document indirectly raised exceptions
  • Fix typing of Self
  • Replace not x in y with x not in y
  • Import (Async)Iterator directly
  • Add missing Self import
  • Remove type specifications from docstrings
  • Remove inexistent arguments from docstrings
  • Add missing arguments to docstrings
  • Fix wrong arguments in docstrings
  • Add missing Returns and Raises to docstrings
  • Ignore indirect raises in Raises specification
  • Add missing ending full stop to docstrings.
  • Don't leave an empty line between docstrings and code
  • Fit one-line docstrings in one line.
  • Add missing docstrings
  • Use imperative for function docstring
  • Remove empty file
  • Rephrase comment to make the summary fit in one line
  • Use _ symbol for unused variable
  • Shorten long lines
  • Use only one # for comments
  • Remove unused import
  • Convert lamda to a function
  • Remove unused variable
  • Ignore unused import error
  • Make sure that the returned grid is not None
  • Bump dependency for repo-config to v0.6.1
  • Use a consistent format for comments for noqa: DOC502
  • Bump polars from 0.18.15 to 0.19.1
  • Bump the optional group with 4 updates
  • Bump types-setuptools from 68.1.0.0 to 68.1.0.1
  • Clarify documentation of BatteryPool soc and capacity methods
  • Add frequency metric to Inverter and EVCharger data
  • DataSourcingActor: Add frequency support
  • Move ComponentMetricRequest structure to avoid cyclic imports
  • Don't return None from battery pool methods (None values from BatteryPool's SoC/Capacity methods frequenz-floss/frequenz-sdk-python#545)
  • Move "fake_time" fixture to conftest.py
  • Add support for grid frequency
  • Rename variable according to the naming convention
  • Remove type variable no longer needed
  • Fix typos in code documentation
  • Document class and module attributes
  • Define regular attributes with default values
  • Remove PV_ARRAY component category
  • Add more unit tests for gaps
  • Clear release notes
  • Treat NaNs as missing values for gaps in ring buffer
  • Apply changes suggested by the tool pyupgrade
  • Fix types that were not replaced by pyupgrade
  • Remove obsolete imports no longer needed
  • Remove annotations from future when not needed
  • Add capacity property to moving window
  • Minor: Fix doc in test_moving_window
  • Add oldest and newest timestamp to ring buffer
  • Expose oldest and newest timestamp in moving window
  • Add pretty-printing FormulaFormatter
  • Cover higher order formulas and fix precedence in formula formatter
  • Add release notes for FormulaFormatter
  • Rework assert to also give quick introspection of what is wrong
  • Favor print() over logging API in test cases
  • Rewrite FormulaFormatter.format to format_formula
  • Replace the section-index plugin with navigation.indexes
  • Prepare release notes for the release
  • Fix consumer power formula
  • Add test for consumer power formula
  • Update release notes
  • [ci] Add tests for non-native architectures
  • [ci] Add pytest_max to cross-arch tests
  • [ci] Move cross-arch testing instructions to CONTRIBUTING.md
  • [ci] Added pip freeze to cross-arch tests
  • [ci] Do not cache nox downloads in cross-arch tests
  • [ci] Run publish-docs only if nox-cross-arch step passes
  • [ci] Cache pip cache for cross-arch tests
  • [ci] Move pip commands to run cmd for cross-arch tests
  • Add a "Supported Platforms" section to the README
  • Add an Introduction section to the documentation
  • Move the glossary from the Wiki to its own page
  • Improve glossary's wording and formatting
  • Add title and introduction to the glossary
  • Move the metrics not used by the SDK to Metrics
  • Add cross-reference of glossary items
  • Add common acronyms and component categories to the glossary
  • Add a description for the microgrid term in the glossary
  • Add definition for Island
  • Add PSC definition to the glossary
  • Add definitions for Consumption and Production
  • Remove the Microgrid Power Terminology section
  • Add definition for "load"
  • Add definitions for power terms
  • Add definition of DC-to-DC converter
  • Apply suggestions from code review
  • Add definition for Passive Sign Convention
  • Improve definition of phase
  • Apply suggestions from code review
  • [ci] Add a collector job for the nox-cross-arch job matrix
  • Bump actions/checkout from 3 to 4
  • Use a string explicitly in the cross-arch job
  • Enable nox-cross-arch test for push events
  • Make min and max functions public
  • Remove extra space
  • Add a job to join the nox matrix jobs
  • Rephrase the nox-cross-arch-all job comment
  • Add more formula tests for min and max
  • Update release notes
  • Drop Averager from FormulaEngine
  • Add tests for window method in ring buffer
  • Do not force copy on Nones in ring buffer window
  • Add separate method for extracting wrapped buffers
  • Fix copy behavior when extracting wrapped buffers
  • Copy by default in ring buffer window
  • Fix start equal end in ring buffer window
  • Add window function to moving window
  • Update release notes
  • Refactor power distribution Result
  • Adjust the glossary to 80 columns
  • Add count_valid method to ring buffer
  • Replace len magic with count_valid for ring buffer
  • Remove len magic from ring buffer
  • Expose count_valid in moving window
  • Replace len magic with count_valid for moving window
  • Remove len magic from moving window
  • Prepare release notes for the 1.0.0-rc1 release
  • Clear the release notes
  • Bump docker/setup-buildx-action from 2 to 3
  • Bump docker/setup-qemu-action from 2 to 3
  • Bump the optional group with 9 updates
  • Bump docker/build-push-action from 4 to 5
  • Add mkdocs-macros plugin
  • Add a mkdocs macro to link to the glossary
  • Move mkdocstrings_autoapi.py to docs/_scripts
  • Sort mkdocs.yml watch section
  • Remove unused mkdocs-section-index package
  • mkdocs: Don't watch the README.md file anymore
  • Add a link to the official pip installation instructions
  • Move _slugify() to the top-level
  • Add a macro to easily display a code annotation
  • Make code annotations numbered
  • Add an introduction to actors
  • Remove setitem magic from ring buffer
  • Update obsolete comment about networkx-stubs
  • mkdocs: Fix numbered code annotations
  • Fix the labeler to match all Python files in docs/ directory
  • Add getting started tutorial
  • Update Release Notes
  • Allow using macros in docstrings
  • Rename datetime_to_index to to_internal_index
  • Fix mermaid diagrams custom renderer
  • Move actors high-level documentation to the module
  • Don't use generics unnecessarily
  • Use an async context manager to start the server in the tests
  • Move creation of the client to the _grpc_server()
  • Auto-increment port number in microgrid client tests
  • Fix the outdated frequenz-channels cross-reference link
  • Show inherited members in the API reference
  • Use a quote admonition instead of the normal quote
  • Use more readable variable names for examples
  • Add a note about why we use an async context manager
  • Fix numbered list indentation
  • Add Lifecycle, Communication and Implementing an Actor sections
  • Improve the Example section to host more than one example
  • Add an example showing how to receive from multiple channels
  • Add section on spawning extra tasks
  • Update release notes
  • Clarify that using channels is not enforced
  • Improve links consistency
  • Improve wording
  • Remove unused (and duplicated) code annotation
  • Remove detailed documentation from the class
  • Add link to the actor module documentation
  • Add a section explaining how to initialize an actor
  • ci: Fix job dependencies
  • Add get_timestamp method
  • Add count_covered for coverage between valid samples
  • Expose count_covered in moving window
  • Support int indices in ring buffer window method
  • Support int indices for window method in moving window
  • Use window method in moving window's getitem magic
  • Update release notes
  • Rename Introduction to User Guide
  • Move the Tutorials section after the User Guide
  • Enhance index access tests for moving window
  • Add at method for single element access of moving window
  • Use at method in getitem magic of moving window
  • Bump types-pytz from 2023.3.1.0 to 2023.3.1.1
  • Bump types-pyyaml from 6.0.12.11 to 6.0.12.12
  • Bump types-protobuf from 4.24.0.1 to 4.24.0.2
  • Allow component graph to be a DAG instead of a tree
  • Fix comments in tests
  • Don't guess missing power bounds from adjacent components
  • GraphGenerator: Add function to generate list of components
  • PowerDistributing: Add n:m support for inverters:batteries
  • Add n:m test for two batteries with different exclusion bounds
  • Update pydantic to v2.3
  • Fix bug in how failed batteries are tracked in PowerDistributor
  • Add fill_value option to ring buffer window
  • Expose fill_value option in moving window's window method
  • Remove left-over None-typing in BatteryPool's MetricAggregator
  • Add SortedSet implementation
  • Implement PowerManagingActor using the Matryoshka algorithm
  • Update PowerDistributingActor to have a single output
  • Update _DataPipeline to manage PowerManagingActor instance
  • Add PowerDistributor request params to PowerManager proposals
  • Update BatteryPool to send requests to the PowerManager
  • Improve task cleanups in the data pipeline and in test mocks
  • Add some basic tests for the updated BatteryPool control methods
  • Track power bounds from BatteryPool for battery sets
  • Mock _add_bounds_tracker in the tests for the PowerManagingActor
  • Use system bounds as highest-priority in the Matryoshka implementation
  • Test BatteryPool control methods with lower level streaming mocks
  • Remove adjust_power as a parameter to BatteryPool's power methods
  • Remove duplicate check for Algorithm in PowerManagingActor
  • Rename BatteryPool.power_bounds to _system_power_bounds
  • Report target_power and available_bounds based on priority
  • Stream status reports corresponding to received requests
  • Replace handle_proposal to get_target_power
  • Rename _send_report to _send_reports
  • Make _add_bounds_tracker sync, to fix race condition
  • Validate and update target power when system bounds change
  • Calculate target power only if at least one proposal has been received
  • Use a narrow ReceiverFetcher interface to type data stream methods
  • Implement a ReceiverFetcher that uses an underlying channel registry
  • Expose bounds from PowerManager through the BatteryPool
  • Remove power_distribution_results from the battery pool
  • Ignore unknown battery bucket in the absence of system bounds
  • Improve target_power calculation and handling of overlapping bounds
  • Rename test_power_managing_actor.py -> test_matryoshka.py
  • Test priority-based bounds calculation for the Matryoshka algorithm
  • Refactor target power calculation into a separate method
  • Rename available_bounds to inclusion_bounds in PowerManager Reports
  • Allow None values in PowerManager reporting streams
  • Replace Bounds classes in BatteryPool/PowerManager with a single one
  • Expose exclusion_bounds through PowerManager reporting streams
  • Expose power distribution results through PowerManager reporting streams
  • Resend request if PowerDistributor returns PartialFailure
  • Add a BatteryPoolWrapper to be the external interface of BatteryPool
  • Return BatteryPoolWrapper from the data pipeline instead of BatteryPool
  • Remove unused method from BatteryPool
  • Accept None values in BatteryPool control methods
  • Accept Bounds object in set_power, instead of separate values
  • Sort set_power call order in battery pool tests, before checking
  • Use -sys.maxsize - 1 as default priority for BatteryPool
  • Rename power_bounds -> power_status and update docs
  • Rename set_power/(dis)charge -> propose_{power,(dis)charge}
  • Accept name as parameter in call to microgrid.battery_pool()
  • Improve documentation in multiple parts
  • Rename BatteryPool -> BatteryPoolReferenceStore
  • Rename BatteryPoolWrapper -> BatteryPool
  • Re-export ReceiverFetcher to make it visible in documentation
  • Send requests to PowerDistributor even if target power hasn't changed
  • Refactor battery_id validation to improve readability
  • Bump pydoclint from 0.3.2 to 0.3.3
  • Update RELEASE_NOTES.md
  • Backquote keywords in documentation
  • Derive _RegistryReceiverFetcher from Generic[T]
  • Make data-class constructors kw-only
  • Add code comment explaining the use of an Enum for Algorithm
  • Add more cross-referencing in BatteryPool docstrings
  • Update BatteryPool.propose_power docstring to be less ambiguous
  • Rename get_target_power to calculate_target_power
  • Remove support for include_broken_batteries in control commands
  • Update RELEASE_NOTES.md
  • Update RELEASE_NOTES.md
  • Prepare release notes for v1.0.0-rc2
  • Refactor battery aggregation so it can be re-used easier
  • Rename _get_all() to _get_all_from_map()
  • Rename mappings to use consistent plural
  • Update mkdocs macro glossary to take optional link text
  • Add a user guide explaining microgrid concepts from an SDK perspective
  • Remove boiler-plate code from LogicalMeter example
  • Link PSC to detailed entry in glossary
  • Improve grammar and tone
  • Make inverter-battery maps creation function modular
  • Update _methods to use shared battery/inverter mappings function
  • Use more specific assert error string
  • Replace pathlib.Path.relative_to with os.path.relpath
  • Move microgrid docs to the module and reference it in the user guide
  • Rename frequenz.sdk.{_formula_engine => formula_engine}
  • Remove internal formula helper types from the public interface
  • Add a Component Graph entry in the glossary
  • Improve docs for the FormulaEngine class
  • Improve docs for the FormulaEngine3Phase class
  • Expose FormulaEngine docs through a user-guide documentation page
  • Link to glossary entries, and fix typos
  • Bump types-protobuf from 4.24.0.2 to 4.24.0.3
  • Expose ComponentGraph from its own module
  • Update RELEASE_NOTES.md
  • Document how BatteryPool instances should be created
  • Document how LogicalMeter instances should be created
  • Improve EVChargerPool documentation
  • Clarify in client docs that it is a low-level interface
  • Apply documentation suggestions from code review
  • Redesign access to migrogrid.grid()
  • Rename datetime to timestamp variables
  • Amend documentation to use timestamp
  • Add a restart delay to actors to avoid spam-restarting of buggy actors
  • Set Actor restart delay fixed to 2 seconds
  • Use self.RESTART_DELAY instead of hard-coding Actor class' value
  • Add set_resend_latest method to ChannelRegistry class
  • Set resent_latest=True for BatteryPool.power_status's channels
  • Update RELEASE_NOTES.md
  • Update docstring in _channel_registry.py
  • Fix warnings in power distributing actor tests
  • Fix unclosed event loop warning in test
  • Bump types-protobuf from 4.24.0.3 to 4.24.0.4
  • Add Consumer and Producer formula steps
  • Update FormulaBuilder supporting new formula steps
  • Add consumption and production operator to Formula Engine
  • Add consumption and production functions to HO formula engine
  • Add consumption and production formula tests
  • Update release notes
  • Improve readability of bounds calculation
  • Use exclusion bounds while calculating working bounds for proposals
  • Use exclusion bounds while calculating target_power
  • Extract stateful testing code for Matryoshka into a separate class
  • Update matryoshka algorithm tests to use the new StatefulTester
  • Test scenarios with exclusion bounds for the matryoshka algorithm
  • De-clutter assignment statements
  • Document what bounds overlapping with exclusion bounds look like
  • Expose PowerManagingActor's Report type through the BatteryPool
  • Allow _clamp_to_bounds to clamp power values to both sides
  • Move bounds methods to a separate module
  • Add method for adjusting power values to battery pool's reports
  • Expose only outer usable bounds
  • Remove the cons/prod formulas from logical meter
  • Remove prod/cons formulas from battery pool
  • Remove prod/cons formulas from ev pool
  • Remove FormulaType
  • Update release notes
  • Change internal presense of the Grid, eliminating _grid
  • Add try/finally to decorated context managers yield statement
  • Update inverter component data to extract AC current values
  • Update DataSourcingActor to accept current requests for inverters
  • Add logging for errors that are raised in spun-off tasks
  • Update RELEASE_NOTES.md
  • Apply suggestions from code review
  • Apply suggestions from code review
  • Rename nitrogen to Microgrid service
  • Remove unused paranthesis in formula generators
  • Fix bug in inverter current data extractor
  • Add test for inverter data parsing from the microgrid API
  • Apply suggestions from code review
  • Fix power failure report
  • Add a test for power partial failure result
  • Apply documentation suggestion from code review
  • Fix branch name in docs edit links
  • Upgrade to repo-config v0.7.4
  • Update release notes
  • Bump mike from 1.1.2 to 2.0.0
  • mike: Keep using redirects for aliases
  • Use a custom logger in the data sourcing actor
  • Rename BatteryPool.PowerMetrics -> SystemBounds
  • Move battery_pool.SystemBounds to timeseries._base_types
  • Remove mentions of batteries from PowerManager's ReportRequest class
  • Override PowerManager.Report with protocol class BatteryPoolReport
  • Take bounds from the correct component pool in PowerManagingActor
  • Remove references to batteries from the PowerManagingActor
  • Add microgrid metadata types
  • Add function to retrieve the microgrid metadata
  • Fetch metadata when connecting to the microgrid
  • Expose microgrid ID and location
  • Amend tests to reflect microgrid metadata changes
  • Update release notes
  • Remove notes from the rc2 release
  • Update release notes for the v1.0.0-rc3 release
  • Clear release notes
  • Derive Report implementation and interface from a protocol class
  • Make internal SystemBounds class kw_only
  • Remove unused pylint hints
  • Update RELEASE_NOTES.md
  • Rename BatteryStatusComponentStatus
  • Use type-hints rather than typing class instantiation statements
  • Rename _BatteryStatusChannelHelper_ComponentStatusChannelHelper
  • Rename BatteryPoolStatusComponentPoolStatusTracker
  • Rename _battery_pool_status.py → _component_pool_status_tracker.py
  • Fix timeout argument types
  • Rename ComponentStatusComponentPoolStatus
  • Rename StatusComponentStatusEnum
  • Refactor ComponentPoolStatusTracker's BatteryStatusTracker creation
  • Include component_id in updates from BatteryStatusTracker
  • Fix hint errors in microgrid client
  • Rename _battery_status.py → _battery_status_tracker.py
  • Move SetPowerResult class to _component_status.py
  • Use generic ComponentStatusTracker in ComponentPoolStatusTracker
  • Use custom loggers for each module
  • Apply suggestions from code review comments
  • Use tighter types for SetPowerResult
  • Introduce a delay between restarts of ComponentPoolStatusTracker
  • Rename variable _all_battery_status_component_pool_status_tracker
  • Rename Request.batteriescomponent_ids in PowerDistributingActor
  • Use collections.abc.Set and not set in PowerDistributor results
  • Replace batteriescomponents in PowerDistributor's result types
  • Rename PowerDistributor's {battery → component_pool}_status_sender
  • Move battery specific code to _battery_manager.py
  • Rename DistributionAlgorithmBatteryDistributionAlgorithm
  • Move Fuse to timeseries module
  • Update RELEASE_NOTES.md
  • Fix typo in _component_managers module docstring
  • Test that all modules can be imported
  • Remove tests no longer needed
  • Break circular dependency between Current and Fuse
  • Amend redundant comment to break circular import
  • Add formula engine pool to grid
  • Initialize grid in data pipeline
  • Amend grid connection tests
  • Move grid power and current formulas to Grid
  • Amend docstring for Grid.current property
  • Refactor Grid interface
  • Update release notes
  • Bump frequenz-channels from 0.16 to 1.0.0b2
  • Rename ComponentGraph.components() parameters to be plural
  • Fix data pipeline test
  • Fix Battery Pool tests
  • Replace Peekable in test_client.py with Receivers
  • Remove mention of Peekables from docs in MicrogridApiClient
  • Add a LatestValueCache that can be used to replace Peekable
  • Replace Peekable with LatestValueCache in EVChargerPool
  • Replace Peekable in PowerDistributor with LatestValueCache
  • Update PowerDistributor tests to not mock time
  • Remove parameters for frequency()
  • Remove log or make it debug level
  • Pass through zero-power requests from PowerManager
  • Pass through zero-power requests in the PowerDistributingActor
  • Test that zero-power requests are not adjusted to exclusion bounds
  • Update RELEASE_NOTES.md
  • Move frequency() tests into own file
  • Fix frequency() sending Quantities instead of Frequency
  • Fix the resampler handling of output zeros
  • Find first descendant component in component graph
  • Remove find source component from GridFrequency
  • Fetch and stream 3-phase voltage
  • Expose voltage streaming to the user
  • Add tests for voltage streaming
  • Update release notes
  • Process voltage phases dynamically
  • Add 3-phase voltage to inverter data
  • Add 3-phase voltage to microgrid API source
  • Add inverter category to voltage streaming
  • Stream voltage per phase in mock microgrid
  • Rename VoltageStreaming to VoltageStreamer
  • Amend voltage documentation
  • Speedup tests by lowering the actors restart delay
  • Bump actions/download-artifact from 3 to 4
  • Bump actions/setup-python from 4 to 5
  • Bump the optional group with 18 updates
  • Remove unnecessary unwrapping
  • Fix MockResampler zero handling
  • Fix MockResampler to treat nan as None
  • Fix bug in GridFrequency quantity conversion
  • Make GridFrequency produce None when the value is nan
  • Add test for when the grid frequency is None/nan
  • Add missing type hints to instance members
  • Update release notes
  • Remove some duplicate checks from pylint
  • Make Mocks private to the module
  • Import module from typing
  • Allow passing the mocker in the constructor
  • Make MockMicrogrid an async context manager
  • Use the MockMicrogrid as an async context manager
  • Improve finalization of power distributing tests
  • Improve finalization of voltage streamer tests
  • Improve finalization of logical meter tests
  • Improve finalization of formula formatter tests
  • Improve finalization of EV charger pool tests
  • Improve finalization of formula composition tests
  • Improve finalization of battery status tests
  • Improve finalization of grid tests
  • Disable pylint check only in one line
  • Avoid importing typing multple times
  • Import symbols directly
  • Remove unnecessary explicit inheritance from Generic
  • Remove the old ChannelRegistry implementation
  • Make the ChannelRegistry type-aware
  • Add tests for the new ChannelRegistry methods
  • Make ReceiverFetcher compatible with Broadcast
  • Adapt code to use the new ChannelRegistry
  • Fix missing conversion to QuantityT
  • Fix checks in tests
  • MockMigrogrid/Resampler: Fail on unhandled exceptions
  • Update release notes
  • Move component status tracking into _component_status sub package
  • Accept component_ids as an immutable set
  • Represent durations as timedeltas rather than as floats
  • Use a cached zero duration value, instead of repeatedly allocating
  • Update ComponentStatusTrackers to be BackgroundServices
  • Adjust BatteryPool's SoC to 100.0 when it isclose to 100.0
  • Use floating point constants in floating point calculations
  • Retry only once on PartialFailure
  • Add a creation_time attribute to Proposals
  • Add a drop_old_proposals method in PowerManager algorithms
  • Add a timer in the PowerManager to cleanup old proposals
  • Test dropping of old proposals that have not been updated
  • Update RELEASE_NOTES.md
  • Use a sentinel in LatestValueCache to denote if the cache is empty
  • Update uses of the LatestValueCache to follow its new API
  • Add a EVChargeData.is_ev_connected method
  • Add power bounds in streaming raw EV charger data
  • Replace LatestValueCache.latest_value property with a get method
  • Fix missing number in Quantity formatting for small values
  • Add logical component for consumer power formulas
  • Add logical component for producer power formulas
  • Expose Consumer component through the microgrid
  • Expose producer component through the microgrid
  • Add test for consumer power formula
  • Add test for producer power formula
  • Remove producer and consumer from logical meter
  • Update consumer references in documentation
  • Update producer references in documentation
  • Update release notes
  • Amend data pipeline methods documentation
  • Add function to allow parsing of Quantity strings
  • Fix quantity formatting bug with -0/0
  • Fix quantity rounding formatting bug
  • Bump frequenz-api-microgrid to 0.15.3
  • Revert frequenz-api-microgrid update
  • Revert frequenz-repo-config update
  • Revert time-machine update
  • Use a non-_ name for arguments
  • Remove unnecessary type ignore
  • Explicitly cast the exceptions dict
  • Add more type ignore to the FormulaEngine
  • Remove unused mkdocstrings option
  • Bump actions/cache from 3 to 4
  • Bump flake8 from 6.1.0 to 7.0.0
  • Bump types-setuptools from 68.2.0.0 to 69.0.0.20240125
  • Bump black from 23.12.1 to 24.1.1
  • Bump pylint from 2.17.5 to 3.0.3
  • Bump types-protobuf from 4.24.0.4 to 4.24.0.20240129
  • Bump setuptools version
  • Bump setuptools-scm version
  • Adapt formatting to the new black version
  • Fix checks failing with the new pylint version
  • Remove unused type stubs
  • Add release notes summary for the release
  • Clear release notes
  • Add active power per phase metric IDs
  • Fetch AC active power per phase from components
  • Add active power metrics to data sourcing
  • Add formula engine that streams 3-phase power
  • Add formula generator for the grid 3-phase power
  • Expose 3-phase power through the grid
  • Add tests for 3-phase power metrics
  • Fix grid current formula generation
  • Update bug-fixes in release-notes
  • Remove darglint configuration file
  • Remove remanent darglint comments
  • Add a new _new() convenience method to Quantity
  • Make sure Quantity.base_value is always a float
  • Add clarification about from_string tests limitations
  • Update release notes
  • Allow all quantities multiplication by float | Percentage
  • Improve type: ignore for __mul__
  • Use hypothesis for __mul__ Percentage tests
  • Add __mul__() tests for float
  • Update release notes
  • Remove unnecessary send adapter
  • Mock resampler: Improve variable names
  • Remove the last reference to darglint
  • Apply suggestions from code review
  • Bump actions/upload-artifact from 3 to 4
  • Allow all quantities division by float | Self
  • Improve module documentation for BatteryStatusTracker
  • Mark BatteryManager interface functions as @override
  • Extract BlockingStatus to a separate private module
  • Update BlockingStatus to have kw_only constructor
  • Extract Power{Distributor/Manager} creation to PowerWrapper class
  • Use ComponentCategory to identify PowerManager type
  • Tests: Add convenience methods to create batteries with multiple inverters
  • Update power formula to work properly with multiple inverters/batteries
  • Update test method descriptions
  • Prepare release notes for 1.0.0-rc5
  • Clear release notes
  • Bump types-markdown from 3.5.0.3 to 3.5.0.20240129
  • Bump actions/labeler from 4.3.0 to 5.0.0
  • Add dependency to frequenz-client-microgrid
  • Use the new external microgrid API client
  • Fix uses of Connection as if they were tuples
  • Use the client Fuse types where appropriate
  • Import from the leaf module
  • Don't pass blindly what comes from the API to Fuse
  • Remove some clutter from the test
  • Don't mock the internals of the microgrid client
  • Remove internal microgrid API client
  • Remove old and unused _api_client module
  • Update release notes
  • Update minimum frequenz-channels version to v1.0.0-rc1
  • Update import paths for channel components
  • Import EventType separately in uses of FileWatcher
  • Replace Merge with merge for constructing and Merger for typing
  • Replace MergeNamed in battery_pool example with merge
  • Specify timeout policy when constructing Timers
  • Replace uses Selected.value with Selected.message
  • Use covariant generics in ReceiverFetcher and LatestValueCache
  • Specify name as a kw argument when creating channels and receivers
  • Specify limit as a kw argument when creating channels and receivers
  • Use timeout to check if a receiver is empty
  • Increase BatteryStatusTracker test tolerance for missing data
  • Update release notes
  • Fix typo in RELEASE_NOTES.md
  • Use abc.Set for component_ids in EVChargerPool
  • Fix formatting for f-string expressions in benchmark_ringbuffer.py
  • Rename BatteryPool.battery_idscomponent_ids
  • Update ReceiverFetcher to be compatible with Broadcast channels
  • Make the _mocks power distributor test fixture component-agnostic
  • Extract microgrid mocking wrapper into a separate module
  • Update release notes
  • Add a ComponentCategory parameter to the PowerDistributingActor
  • Remove support for streaming per-component data from EVChargerPool
  • Remove support for setting per-component bounds in EVChargerPool
  • Remove references to removed EVChargerPool methods from docs
  • Use a grid meter component for testing EVChargerPool.power
  • Update release notes
  • Move battery/pool status tests to a _component_status subdirectory
  • Amend documentation for a method in actor class
  • Amend actor documentation and examples
  • Translate discharge power to passive-sign convention
  • Implement a __eq__ method for _power_managing.Proposal
  • Replace SortedSet with a set in the Matryoshka algorithm
  • Update release notes
  • Widen the channels dependency to allow for the final 1.0.0 release
  • Don't raise when mock_resampler's task is cancelled
  • Move receive_timeout to tests.utils package, so it can be reused
  • Add an EVChargerStatusTracker implementation
  • Send power distribution results from the component manager
  • Add a EVChargerManager that can plug into the PowerDistributor
  • Support EV chargers as a component category in PowerDistributingActor
  • Add a system bounds tracker for EV charger pools
  • Add system bounds tracking for components in an EVChargerPool
  • Support EVChargers in PowerManager
  • Move reusable parts of EVChargerPool to EVChargerPoolReferenceStore
  • Add power_status method to EVChargerPool
  • Add a propose_power method to EVChargerPool
  • Move EV charger pool tests to a sub directory
  • Define how long PowerDistributor should wait for data as a constant
  • Test EV Charger Pool control methods
  • Update release notes
  • Apply suggestions from code review
  • Rename reference-store variable names to be more accurate
  • Rename reference-store key variable names to be more accurate
  • Warn when multiple *pool calls are made with the same parameters
  • Improve documentation for *pool creation methods
  • Update release notes
  • Remove unused line
  • Check that only charge powers are requested through EVChargerPool
  • Remove unnecessary sleep
  • Start EV charger manager only if there are EV chargers in the graph
  • Remove support for repeating EV charger commands to the API
  • Bump the optional group with 16 updates
  • Use min() instead of if to calculate ev_to_deallocate
  • Disable too-many-return-statements pylint check
  • ci: Support using git URLs in test-installation job
  • Upgrade pytest to v8
  • Remove mypy exclusion for sybil
  • Remove pylint checks also done by flake8
  • Add a component status tracker for PV inverters
  • Pass ComponentType as arguments to PowerManager and PowerDistributor
  • Add a stop method for LatestValueCache
  • Add a PVManager implementation
  • Update PowerDistributor to support PV inverters
  • Implement a SystemBoundsTracker for PV inverters
  • Implement a PV pool with a _system_power_bounds method
  • Expose the PVPool through microgrid.pv_pool()
  • Support PV inverters in the PowerManager
  • Implement power_status reporting from the PV pool
  • Support sending power proposals to PowerManager from the PVPool
  • Move the PV power formula from logical_meter to PVPool
  • Add a stop method to BatteryPool
  • Add tests for PVPool control methods
  • Add section for PV arrays in microgrid concepts documentation
  • Update section for EV chargers in microgrid concepts documentation
  • Update release notes
  • Make component_category and component_type parameters kw-only
  • Initialize super-class as the first step
  • Fix docstring
  • Broaden exception handling when setting power through microgrid API
  • Remove *Pool constructor related docs from the class docs
  • Fix exception handling bugs in EV and PV managers
  • Prepare release notes for the v1.0.0-rc6 release
  • Update to frequenz-client-microgrid v0.3
  • Update release notes

shsms and others added 30 commits January 11, 2024 17:09
When constructing `ComponentPoolStatusTracker` objects.

Signed-off-by: Sahas Subramanian <[email protected]>
In the component status tracking parts of the power distributor.

Signed-off-by: Sahas Subramanian <[email protected]>
This helps better leverage the new instruction specialization feature
of Python.

Signed-off-by: Sahas Subramanian <[email protected]>
When SoC is close to 0.0 or 100.0, it will be exactly 0.0 or 100.0.
- Refactor component status tracking into its own package.
- Use `timedelta`s instead of `float`s for duration in component status
trackers.
- Convert `ComponentStatusTracker`s into `BackgroundService`s
When the PowerManager receives a `PartialFailure`, in many cases,
resending the request would fix it, because the power distributor
would have new information on how to redistribute differently.

But this doesn't always work, for example in single battery locations
or if all batteries are in an UNCERTAIN state, in which case the power
distributor has to retry with the same batteries.

For this reason, if we don't have a limit on such retries from the
PowerManager, we'd get into an infinite loop that doesn't have any
delay inbetween retries.

Signed-off-by: Sahas Subramanian <[email protected]>
This is used to identify proposals that are too old, so that they can
be removed from consideration when the PowerManager calculates target
power.

Signed-off-by: Sahas Subramanian <[email protected]>
In the matryoshka algorithm, this method is implemented to delete
proposals that haven't been replaced/updated in the last
`max_proposal_age`.

Signed-off-by: Sahas Subramanian <[email protected]>
Signed-off-by: Sahas Subramanian <[email protected]>
The PowerManager doesn't have a way to identify if an actor that sent a
proposal is still active. It needs to know that to know when to drop
proposals from a given sender.

With this PR, the resending of proposals by actors also functions as a
heart-beat between the actors and the power manager. If an actor hasn't
sent a new proposal in 60 seconds, the latest available proposal from
that actor is also removed from the power manager.
This is necessary because `None` is a valid value that could have been
sent through a channel, so the having a `None` value might not mean
that the cache is empty.

Signed-off-by: Sahas Subramanian <[email protected]>
When the charger is not in an error state, this would return whether
an EV is connected to the charger or not.

Signed-off-by: Sahas Subramanian <[email protected]>
…-floss#848)

- A new method `is_ev_connected` to analyze the states better
- New fields to represent active power bounds for ev chargers
The previous commit has introduced the possibility for exceptions to
be raised from the implementation of `latest_value` property.

Properties should ideally not raise, so we replace it with the `get`
method.

Signed-off-by: Sahas Subramanian <[email protected]>
…requenz-floss#846)

This is necessary because `None` is a valid value that could have been
sent through a channel, so the having a `None` value might not always
mean that the cache is empty.

Closes frequenz-floss#820
The producer and consumer power formulas are now
implemented in their own logical component classes.

Signed-off-by: Daniel Zullo <[email protected]>
shsms and others added 16 commits April 10, 2024 15:57
Signed-off-by: Sahas Subramanian <[email protected]>
Signed-off-by: Sahas Subramanian <[email protected]>
This affects the PowerManager, PowerDistributor and PowerWrapper.  The
`component_type` paramater now also has a default value of `None`.

Signed-off-by: Sahas Subramanian <[email protected]>
Co-authored-by: Leandro Lucarella <[email protected]>
Signed-off-by: Sahas Subramanian <[email protected]>
Co-authored-by: Leandro Lucarella <[email protected]>
Signed-off-by: Sahas Subramanian <[email protected]>
Also use `logging.exception` to log broad exceptions

Signed-off-by: Sahas Subramanian <[email protected]>
Updates the requirements on
[pydoclint](https://github.com/jsh9/pydoclint),
[polars](https://github.com/pola-rs/polars),
[black](https://github.com/psf/black),
[markdown](https://github.com/Python-Markdown/markdown),
[mkdocs-material](https://github.com/squidfunk/mkdocs-material),
[mkdocstrings[python]](https://github.com/mkdocstrings/mkdocstrings),
[frequenz-repo-config[lib]](https://github.com/frequenz-floss/frequenz-repo-config-python),
[mypy](https://github.com/python/mypy),
[types-markdown](https://github.com/python/typeshed),
[types-setuptools](https://github.com/python/typeshed),
[pylint](https://github.com/pylint-dev/pylint),
[frequenz-repo-config[extra-lint-examples]](https://github.com/frequenz-floss/frequenz-repo-config-python),
[pytest-mock](https://github.com/pytest-dev/pytest-mock),
[pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio),
[async-solipsism](https://github.com/bmerry/async-solipsism),
[pytest](https://github.com/pytest-dev/pytest) and
[hypothesis](https://github.com/HypothesisWorks/hypothesis) to permit
the latest version.

Also do some extra upgrades coming from the upgrade of repo-config from
v0.7 to v0.9.

Updates `pydoclint` from 0.3.8 to 0.4.1
- [Release notes](https://github.com/jsh9/pydoclint/releases)
- [Changelog](https://github.com/jsh9/pydoclint/blob/main/CHANGELOG.md)
- [Commits](jsh9/pydoclint@0.3.8...0.4.1)

Updates `polars` from 0.20.2 to 0.20.18
- [Release notes](https://github.com/pola-rs/polars/releases)
-
[Commits](pola-rs/polars@py-0.20.2...py-0.20.18)

Updates `black` from 24.1.1 to 24.3.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@24.1.1...24.3.0)

Updates `markdown` from 3.5.1 to 3.6
- [Release notes](https://github.com/Python-Markdown/markdown/releases)
-
[Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md)
-
[Commits](Python-Markdown/markdown@3.5.1...3.6)

Updates `mkdocs-material` from 9.5.3 to 9.5.16
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
-
[Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
-
[Commits](squidfunk/mkdocs-material@9.5.3...9.5.16)

Updates `mkdocstrings[python]` from 0.24.0 to 0.24.1
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
-
[Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
-
[Commits](mkdocstrings/mkdocstrings@0.24.0...0.24.1)

Updates `frequenz-repo-config[lib]` from 0.7.4 to 0.9.1
- [Release
notes](https://github.com/frequenz-floss/frequenz-repo-config-python/releases)
-
[Changelog](https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.x.x/RELEASE_NOTES.md)
-
[Commits](frequenz-floss/frequenz-repo-config-python@v0.7.4...v0.9.1)

Updates `mypy` from 1.8.0 to 1.9.0
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.8.0...1.9.0)

Updates `types-markdown` from 3.5.0.20240129 to 3.6.0.20240316
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-setuptools` from 69.0.0.20240125 to 69.2.0.20240317
- [Commits](https://github.com/python/typeshed/commits)

Updates `pylint` from 3.0.3 to 3.1.0
- [Release notes](https://github.com/pylint-dev/pylint/releases)
-
[Commits](pylint-dev/pylint@v3.0.3...v3.1.0)

Updates `frequenz-repo-config[extra-lint-examples]` from 0.7.4 to 0.9.1
- [Release
notes](https://github.com/frequenz-floss/frequenz-repo-config-python/releases)
-
[Changelog](https://github.com/frequenz-floss/frequenz-repo-config-python/blob/v0.x.x/RELEASE_NOTES.md)
-
[Commits](frequenz-floss/frequenz-repo-config-python@v0.7.4...v0.9.1)

Updates `pytest-mock` from 3.12.0 to 3.14.0
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
-
[Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
-
[Commits](pytest-dev/pytest-mock@v3.12.0...v3.14.0)

Updates `pytest-asyncio` from 0.23.3 to 0.23.6
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
-
[Commits](pytest-dev/pytest-asyncio@v0.23.3...v0.23.6)

Updates `async-solipsism` from 0.5 to 0.6
- [Commits](bmerry/async-solipsism@0.5...0.6)

Updates `pytest` from 7.4.4 to 8.1.1
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Commits](pytest-dev/pytest@7.4.4...8.1.1)

Updates `hypothesis` from 6.92.1 to 6.100.0
- [Release
notes](https://github.com/HypothesisWorks/hypothesis/releases)
-
[Commits](HypothesisWorks/hypothesis@hypothesis-python-6.92.1...hypothesis-python-6.100.0)
These additional logs will help in understanding
why certain microgrid components, such as meters,
fail to provide relevant samples for resampling.

Signed-off-by: Daniel Zullo <[email protected]>
To add an entry in the `Enhancements` session related to the
new warning message that is logged when no relevant samples
are found in a component for resampling.

Signed-off-by: Daniel Zullo <[email protected]>
daniel-zullo-frequenz and others added 4 commits April 12, 2024 11:57
…#923)

These additional logs will help in understanding why certain microgrid
components, such as meters, fail to provide relevant samples for
resampling.
The microgrid API client 0.3.0 introduces reactive power to the
`InverterData`, `MeterData` and `EvChargerData` classes. This commit
adds the missing reactive power.

Signed-off-by: Leandro Lucarella <[email protected]>
Signed-off-by: Matthias Wende <[email protected]>
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.

5 participants