Skip to content

Tags: frequenz-floss/frequenz-sdk-python

Tags

v1.0.0-rc2211

Toggle v1.0.0-rc2211's commit message

Verified

This tag was signed with the committer’s verified signature.
shsms Sahas Subramanian
# Frequenz Python SDK Release Notes

## Summary

This release updates the microgrid component graph library to v0.5.0.  Formulas now fall back to more sources: a component that shares a meter with other components can be measured as that meter minus its siblings, so a formula can still return a value where it used to return nothing.

## Upgrading

* Update the microgrid component graph library to v0.5.0.  The per-category formulas (battery, PV, CHP, EV charger, ...) now read the component first and use the meter as the fallback.  This is the opposite of the old order, so generated formula strings and power values can change.  To keep the old order, pass `ComponentGraphConfig(prefer_meters_in_component_formulas=True)` to `microgrid.initialize()`.

* Graph validation errors now use a new message format.

## New Features

* Formulas now fall back to more sources.  A component that shares a meter with other components can be measured as that meter minus its siblings, which also covers diamond topologies, and a meter can fall back to the components under it.  So a formula can still return a value when some readings are missing.

* `microgrid.initialize()` has a new keyword argument `component_graph_config`.  It takes a `ComponentGraphConfig` and gives full control over how the component graph is built.  `ComponentGraphConfig` and `FormulaOverrides` are re-exported from `frequenz.sdk.microgrid`.

v1.0.0-rc2210

Toggle v1.0.0-rc2210's commit message

Verified

This tag was signed with the committer’s verified signature.
shsms Sahas Subramanian
# Frequenz Python SDK Release Notes

## Summary

This release updates the microgrid component graph library to v0.5.0.  Formulas now fall back to more sources: a component that shares a meter with other components can be measured as that meter minus its siblings, so a formula can still return a value where it used to return nothing.

## Upgrading

* Update the microgrid component graph library to v0.5.0.  The per-category formulas (battery, PV, CHP, EV charger, ...) now read the component first and use the meter as the fallback.  This is the opposite of the old order, so generated formula strings and power values can change.  To keep the old order, pass `ComponentGraphConfig(prefer_meters_in_component_formulas=True)` to `microgrid.initialize()`.

* Graph validation errors now use a new message format.

## New Features

* Formulas now fall back to more sources.  A component that shares a meter with other components can be measured as that meter minus its siblings, which also covers diamond topologies, and a meter can fall back to the components under it.  So a formula can still return a value when some readings are missing.

* `microgrid.initialize()` has a new keyword argument `component_graph_config`.  It takes a `ComponentGraphConfig` and gives full control over how the component graph is built.  `ComponentGraphConfig` and `FormulaOverrides` are re-exported from `frequenz.sdk.microgrid`.

v1.0.0-rc2209

Toggle v1.0.0-rc2209's commit message

Verified

This tag was signed with the committer’s verified signature.
shsms Sahas Subramanian
# Frequenz Python SDK Release Notes

## Upgrading

* Update microgrid client to v0.18.3+, which fixes a problem with missing steam boilers on formula generation.
* The PV inverter manager now subtracts the power measured on unreachable PV inverters from the distribution target, so the power sent to the reachable inverters can change when some requested PV inverters are unreachable.

## New Features

* The PV inverter manager now accounts for the power measured on unreachable PV inverters when distributing power, so the reachable inverters compensate for it (matching the battery manager's behavior).

## Bug Fixes

* Fixed a resource leak in the power distributor: the formulas created for unreachable batteries were never stopped, so CPU usage slowly climbed over time until the application was restarted.
* Fixed the grid reactive-power formula being recreated and leaked on every access instead of being reused from the cache.

v1.0.0-rc2208

Toggle v1.0.0-rc2208's commit message

Verified

This tag was signed with the committer’s verified signature.
shsms Sahas Subramanian
# Frequenz Python SDK Release Notes

## Summary

Along with the new `tick_delay` resampler config option, this release also includes some performance improvements in the data pipeline.

## New Features

* A new `tick_delay` option was added to `ResamplerConfig` and `ResamplerConfig2` to delay resampling execution after each timer tick. The delay was designed to postpone processing while keeping window boundaries aligned to the original tick times, which can be used for cascaded resampling pipelines. This option is experimental and may be changed or deprecated in a future release.

## Bug Fixes

* Accept `ComponentDataSamples` that only carry state changes (the state changes were dropped before).

v1.0.0-rc2207

Toggle v1.0.0-rc2207's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
llucax Leandro Lucarella
# Frequenz Python SDK Release Notes

## New Features

* A new `tick_delay` option was added to `ResamplerConfig` and `ResamplerConfig2` to delay resampling execution after each timer tick. The delay was designed to postpone processing while keeping window boundaries aligned to the original tick times, which can be used for cascaded resampling pipelines. This option is experimental and may be changed or deprecated in a future release.

v1.0.0-rc2206

Toggle v1.0.0-rc2206's commit message

Verified

This tag was signed with the committer’s verified signature.
shsms Sahas Subramanian
# Frequenz Python SDK Release Notes

## Upgrading

- The minimum required version of frequenz-microgrid-component-graph is now 0.4.

v1.0.0-rc2205

Toggle v1.0.0-rc2205's commit message

Verified

This tag was signed with the committer’s verified signature.
shsms Sahas Subramanian
# Frequenz Python SDK Release Notes

## New Features

- `Resampler`: The resampler can now be configured to have the resampling window closed to the right (default) or left, and to also set the resampler timestamp to the right (default) or left end of the window being resampled. You can configure setting the new options `closed` and `label` in the `ResamplerConfig`.

## Bug Fixes

- Improved formula validation: Consistent error messages for invalid formulas and conventional span semantics.

- This fixes a rare power distributor bug where some battery inverters becoming unreachable because of network outages would lead to excess power values getting set.  This is fixed by measuring the power of the unreachable inverters through their fallback meters and excluding that power from what is distributed to the other inverters.

- Fixed stopping formulas: It will now also stop the evaluator and sub-formulas correctly.

v1.0.0-rc2204

Toggle v1.0.0-rc2204's commit message

Verified

This tag was signed with the committer’s verified signature.
shsms Sahas Subramanian
# Frequenz Python SDK Release Notes

## Upgrading

- The minimum required version of `frequenz-microgrid-component-graph` is now `0.3.4`.  This reverts the formula generation to what it was like before the migration to the external component graph library.  So
    * in component formulas, meters get used as primary sources and inverters, ev chargers, etc. as fallback sources.
    * consumer formula are generated by excluding producer and battery powers from the grid power, or when there is no grid meter, by adding all the non battery and producer meters.

## New Features

- The SDK's data pipeline now supports retrieving telemetry from CHPs.

## Bug Fixes

- Fixed an off-by-one calculation in `OrderedRingBuffer.count_covered` by switching to integer timedelta division, ensuring accurate sample counting for all window sizes and sampling periods.
- Component IDs are validated during creation of battery, pv and ev charger pools, so that errors are caught early and we don't end up getting cryptic failures from somewhere else.

v1.0.0-rc2203

Toggle v1.0.0-rc2203's commit message

Verified

This tag was signed with the committer’s verified signature.
shsms Sahas Subramanian
# Frequenz Python SDK Release Notes

## Bug fixes

- `FormulaEngine` and `FormulaEngine3Phase` are now type aliases to `Formula` and `Formula3Phase`, fixing a typing issue introduced in `v1.0.0-rc2202`.

v1.0.0-rc2202

Toggle v1.0.0-rc2202's commit message

Verified

This tag was signed with the committer’s verified signature.
shsms Sahas Subramanian
# Frequenz Python SDK Release Notes

## Upgrading

- The `FormulaEngine` is now replaced by a newly implemented `Formula` type.  This doesn't affect the high level interfaces.  `FormulaEngine` is now a deprecated wrapper to `Formula`.

- The `ComponentGraph` has been replaced by the `frequenz-microgrid-component-graph` package, which provides python bindings for the rust implementation.

## New Features

- The power manager algorithm for batteries can now be changed from the default ShiftingMatryoshka, by passing it as an argument to `microgrid.initialize()`