Feature extended filter: use enum type#3248
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the extended filter/peak-filter integration to use the shared ComponentType enum (instead of string literals) across device modules, and extends/updates examples accordingly.
Changes:
- Refactor
PeakFilterto takeComponentTypeand update all call sites (BAT/COUNTER/INVERTER) across device implementations. - Extend Sonnen consumption counter path to create/use a
PeakFilterand pass it into the API method. - Update sample code in
docs/samples/*to showPeakFilterusage withComponentTypeandcheck_values.
Reviewed changes
Copilot reviewed 211 out of 211 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| python_test.sh | Adds a repo-local test/lint helper command. |
| packages/modules/common/utils/peak_filter.py | Switch PeakFilter “type” argument to ComponentType and compare against enum values. |
| packages/modules/common/utils/test_peak_filter.py | Update PeakFilter unit tests to use ComponentType values in test cases. |
| packages/modules/devices/youless/youless/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/vzlogger/vzlogger/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/vzlogger/vzlogger/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/victron/victron_3p75ct/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/victron/victron/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/victron/victron/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/victron/victron/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/varta/varta/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/varta/varta/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/varta/varta/bat_modbus.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/upower/upower/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/upower/upower/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/upower/upower/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/thermia/thermia/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/tasmota/tasmota/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/tasmota/tasmota/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/tasmota/tasmota/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/sunways/sunways/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sungrow/sungrow_sh/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sungrow/sungrow_sh/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/sungrow/sungrow_sh/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/sungrow/sungrow_sg/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sungrow/sungrow_sg/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/sungrow/sungrow_micro/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sungrow/sungrow_ihm/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sungrow/sungrow_ihm/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/sungrow/sungrow_ihm/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/studer/studer/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/studer/studer/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/sonnen/sonnenbatterie/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sonnen/sonnenbatterie/counter_consumption.py | Add PeakFilter creation and pass it into the consumption-counter API update. |
| packages/modules/devices/sonnen/sonnenbatterie/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/sonnen/sonnenbatterie/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/sonnen/sonnenbatterie/api.py | Extend update_consumption_counter to accept/use PeakFilter. |
| packages/modules/devices/solis/solis/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solis/solis/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/solis/solis/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/solax/solax/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solax/solax/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/solax/solax/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/solarmax/solarmax/inverter_maxstorage.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solarmax/solarmax/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solarmax/solarmax/counter_maxstorage.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/solarmax/solarmax/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/solaredge/solaredge/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solaredge/solaredge/external_inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solaredge/solaredge/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/solaredge/solaredge/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/solar_world/solar_world/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solar_world/solar_world/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/solar_watt/solar_watt/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solar_watt/solar_watt/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/solar_watt/solar_watt/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/solar_view/solar_view/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solar_view/solar_view/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/solar_log/solar_log/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solar_log/solar_log/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/solakon/solakon_one/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/solakon/solakon_one/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/sofar/sofar/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sofar/sofar/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/sofar/sofar/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/smartfox/smartfox/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/smart_me/smart_me/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/smart_me/smart_me/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/sma/sma_webbox/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sma/sma_sunny_island/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/sma/sma_sunny_boy/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sma/sma_sunny_boy/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/sma/sma_sunny_boy/bat_tesvolt.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/sma/sma_sunny_boy/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/sigenergy/sigenergy/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/sigenergy/sigenergy/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/sigenergy/sigenergy/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/siemens/siemens_sentron/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/siemens/siemens_sentron/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/siemens/siemens_sentron/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/siemens/siemens/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/siemens/siemens/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/siemens/siemens/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/shelly/shelly/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/shelly/shelly/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/shelly/shelly/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/saxpower/saxpower/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/saxpower/saxpower/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/rct/rct/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/rct/rct/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/rct/rct/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/qcells/qcells/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/qcells/qcells/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/qcells/qcells/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/powerfox/powerfox/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/powerfox/powerfox/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/powerdog/powerdog/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/powerdog/powerdog/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/orno/orno/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/openwb/openwb_flex/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/openwb/openwb_flex/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/openwb/openwb_flex/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/nibe/nibe/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/mystrom/mystrom/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/mtec/mtec/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/mtec/mtec/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/mtec/mtec/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/marstek/venus_c_e/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/lg/lg/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/lg/lg/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/lg/lg/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_steca/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_sem/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_plenticore/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_plenticore/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_plenticore/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_piko_old/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_piko_ci/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_piko_ci/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_piko/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/kostal/kostal_piko/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/kaco/kaco_tx/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/kaco/kaco_nh/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/kaco/kaco_nh/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/kaco/kaco_nh/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/janitza/janitza/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/janitza/janitza/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/janitza/janitza/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/idm/idm/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/huawei/huawei_smartlogger/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/huawei/huawei_smartlogger/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/huawei/huawei_smartlogger/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/huawei/huawei_emma/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/huawei/huawei_emma/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/huawei/huawei_emma/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/huawei/huawei/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/huawei/huawei/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/huawei/huawei/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/growatt/growatt/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/growatt/growatt/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/growatt/growatt/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/good_we/good_we/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/good_we/good_we/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/good_we/good_we/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/generic/mqtt/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/generic/mqtt/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/generic/mqtt/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/generic/json/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/generic/json/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/generic/json/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/generic/http/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/generic/http/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/generic/http/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/fronius/fronius/inverter_secondary.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/fronius/fronius/inverter_production_meter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/fronius/fronius/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/fronius/fronius/counter_sm.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/fronius/fronius/counter_s0.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/fronius/fronius/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/fox_ess/fox_ess/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/fox_ess/fox_ess/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/fox_ess/fox_ess/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/fems/fems/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/fems/fems/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/fems/fems/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/enphase/enphase/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/enphase/enphase/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/enphase/enphase/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/elgris/elgris/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/elgris/elgris/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/elgris/elgris/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/e3dc/e3dc/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/e3dc/e3dc/external_inverter.py | Add PeakFilter creation and apply check_values to external PV power. |
| packages/modules/devices/e3dc/e3dc/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/e3dc/e3dc/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/discovergy/discovergy/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/discovergy/discovergy/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/deye/deye/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/deye/deye/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/deye/deye/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/chint/chint/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/carlo_gavazzi/carlo_gavazzi/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/byd/byd/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/batterx/batterx/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/batterx/batterx/external_inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/batterx/batterx/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/batterx/batterx/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/azzurro_zcs/azzurro_zcs_3p/pv_inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/azzurro_zcs/azzurro_zcs/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/azzurro_zcs/azzurro_zcs/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/azzurro_zcs/azzurro_zcs/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/avm/avm/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/ampere/ampere/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/ampere/ampere/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/ampere/ampere/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/alpha_ess/alpha_ess/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/alpha_ess/alpha_ess/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/alpha_ess/alpha_ess/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| packages/modules/devices/algodue/algodue/inverter.py | Use ComponentType.INVERTER when constructing PeakFilter. |
| packages/modules/devices/algodue/algodue/counter.py | Use ComponentType.COUNTER when constructing PeakFilter. |
| packages/modules/devices/algodue/algodue/bat.py | Use ComponentType.BAT when constructing PeakFilter. |
| docs/samples/sample_request_by_device/sample_request_by_device/inverter.py | Update example to create/use PeakFilter with ComponentType. |
| docs/samples/sample_request_by_device/sample_request_by_device/counter.py | Update example to create/use PeakFilter with ComponentType. |
| docs/samples/sample_request_by_device/sample_request_by_device/bat.py | Update example to create/use PeakFilter with ComponentType. |
| docs/samples/sample_request_by_component/sample_request_by_component/inverter.py | Update example to create/use PeakFilter with ComponentType. |
| docs/samples/sample_request_by_component/sample_request_by_component/counter.py | Update example to create/use PeakFilter with ComponentType. |
| docs/samples/sample_request_by_component/sample_request_by_component/bat.py | Update example to create/use PeakFilter with ComponentType. |
| docs/samples/sample_modbus/sample_modbus/inverter.py | Update modbus example to validate via PeakFilter and use returned exported value. |
| docs/samples/sample_modbus/sample_modbus/counter.py | Update modbus example to validate via PeakFilter and use returned imported/exported values. |
| docs/samples/sample_modbus/sample_modbus/bat.py | Update modbus example to validate via PeakFilter and use returned imported/exported values. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
python_test.sh
Outdated
| @@ -0,0 +1 @@ | |||
| PYTHONPATH="/var/www/html/openWB/packages" python3.9 -m pytest -vv -o log_cli=true --log-cli-level=DEBUG; python3.9 -m flake8 --max-line-length 120 /var/www/html/openWB/packages --exclude='/var/www/html/openWB/packages/modules/display_themes','/var/www/html/openWB/packages/modules/web_themes' | |||
There was a problem hiding this comment.
pytest and flake8 are chained with ;, so a failing test run won't stop the script and the final exit code will be from flake8 (potentially masking test failures). Use set -e (or && chaining) and consider adding a bash shebang so this behaves predictably when executed.
| def __init__(self, type: ComponentType, component_id: int, fault_state: FaultState): | ||
| self.type = type | ||
| self.component_id = component_id |
There was a problem hiding this comment.
The constructor parameter/attribute name type shadows Python's built-in type. Since this is a public-ish utility used widely, consider renaming to component_type (and self.component_type) for clarity and to reduce confusion in debugging/type hints.
LKuemmel
left a comment
There was a problem hiding this comment.
Ich schließe mich Copilot an.
|
Benutzerverwaltung in #3256 erweitert. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 210 out of 210 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if self.startup: | ||
| self.startup = False | ||
| else: | ||
| if total_energy is not None: | ||
| if previous_total_energy is None: |
There was a problem hiding this comment.
The new startup flag is handled inside check_total_energy(), but check_imported_exported() calls check_total_energy() twice per interval (imported then exported). This means the first update will skip validation for only the first energy value (typically imported) while still validating exported, leading to inconsistent behavior and potentially unexpected warnings/None results. Consider handling startup once in check_imported_exported() (e.g., skip both energy plausibility checks on the first cycle and just seed self.imported/self.exported), or track separate startup state for imported vs exported.
openWB/openwb-ui-settings#938