Skip to content

simcount: use component type#3313

Draft
LKuemmel wants to merge 4 commits into
openWB:masterfrom
LKuemmel:simcount-use-enum
Draft

simcount: use component type#3313
LKuemmel wants to merge 4 commits into
openWB:masterfrom
LKuemmel:simcount-use-enum

Conversation

@LKuemmel

Copy link
Copy Markdown
Contributor

No description provided.

@LKuemmel LKuemmel added this to the 2.2.1 milestone Apr 21, 2026
@LKuemmel LKuemmel force-pushed the simcount-use-enum branch from 843e682 to ec6814f Compare May 29, 2026 11:20
@LKuemmel LKuemmel force-pushed the simcount-use-enum branch from a2cf8f7 to ee34606 Compare June 16, 2026 12:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR standardizes component value-store creation and simcount initialization by switching device components from type-specific store factories (get_*_value_store) and SimCounter(prefix=...) usage to a single get_component_value_store(component_type, id) factory and SimCounter(..., component_type).

Changes:

  • Added modules.common.store._factory.get_component_value_store() and re-exported it via modules.common.store.
  • Updated many device components (battery/counter/inverter) to call get_component_value_store(self.component_config.type, self.component_config.id) and to construct SimCounter(..., self.component_config.type) instead of prefix=....
  • Updated related tests and sample docs; added create_post_function helper; extended ConfigurableDevice.add_component with an optional dependency-injection hook.

Reviewed changes

Copilot reviewed 245 out of 245 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
packages/modules/common/store/_factory.py New unified value-store factory for bat/counter/inverter components.
packages/modules/common/store/init.py Re-export get_component_value_store and stop exporting type-specific factories.
packages/modules/common/configurable_device.py Adds optional component dependency injection during add_component.
packages/modules/common/store/_counter_test.py Updates SimCounter construction to the new (component_type) argument.
packages/control/counter_all.py Updates SimCounter construction to use ComponentType.COUNTER.
packages/modules/devices/generic/http/api.py Adds create_post_function helper.
packages/modules/devices/vzlogger/vzlogger/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/vzlogger/vzlogger/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/vzlogger/vzlogger/counter_test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/victron/victron/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/victron/victron/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/victron/victron/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/victron/victron_3p75ct/counter.py Switch to get_component_value_store.
packages/modules/devices/varta/varta/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/varta/varta/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/varta/varta/bat_modbus.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/varta/varta/bat_api.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/upower/upower/inverter.py Switch to get_component_value_store.
packages/modules/devices/upower/upower/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/upower/upower/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/thermia/thermia/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/tesla/tesla/bat.py Switch to get_component_value_store.
packages/modules/devices/tesla/tesla/counter.py Switch to get_component_value_store.
packages/modules/devices/tesla/tesla/inverter.py Switch to get_component_value_store.
packages/modules/devices/tesla/tesla/tesla_test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/tasmota/tasmota/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/tasmota/tasmota/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/tasmota/tasmota/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sungrow/sungrow_sh/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sungrow/sungrow_sh/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sungrow/sungrow_sg/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sungrow/sungrow_sg/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sungrow/sungrow_micro/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sungrow/sungrow_ihm/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sungrow/sungrow_ihm/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sungrow/sungrow_ihm/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sonnen/sonnenbatterie/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sonnen/sonnenbatterie/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sonnen/sonnenbatterie/counter_consumption.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sonnen/sonnenbatterie/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solis/solis/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solis/solis/counter.py Switch to get_component_value_store.
packages/modules/devices/solis/solis/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solax/solax/inverter.py Switch to get_component_value_store.
packages/modules/devices/solax/solax/counter.py Switch to get_component_value_store.
packages/modules/devices/solax/solax/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solaredge/solaredge/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solaredge/solaredge/external_inverter.py Switch to get_component_value_store.
packages/modules/devices/solaredge/solaredge/counter.py Switch to get_component_value_store.
packages/modules/devices/solaredge/solaredge/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solar_world/solar_world/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solar_world/solar_world/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solar_watt/solar_watt/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solar_watt/solar_watt/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solar_watt/solar_watt/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solar_view/solar_view/inverter.py Switch to get_component_value_store.
packages/modules/devices/solar_view/solar_view/counter.py Switch to get_component_value_store.
packages/modules/devices/solar_log/solar_log/inverter.py Switch to get_component_value_store.
packages/modules/devices/solar_log/solar_log/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solarmax/solarmax/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solarmax/solarmax/inverter_maxstorage.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solarmax/solarmax/counter_maxstorage.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solarmax/solarmax/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/solakon/solakon_one/inverter.py Switch to get_component_value_store.
packages/modules/devices/solakon/solakon_one/bat.py Switch to get_component_value_store.
packages/modules/devices/sofar/sofar/inverter.py Switch to get_component_value_store.
packages/modules/devices/sofar/sofar/counter.py Switch to get_component_value_store.
packages/modules/devices/sofar/sofar/bat.py Switch to get_component_value_store.
packages/modules/devices/smartfox/smartfox/counter.py Switch to get_component_value_store.
packages/modules/devices/smart_me/smart_me/inverter.py Switch to get_component_value_store.
packages/modules/devices/smart_me/smart_me/counter.py Switch to get_component_value_store.
packages/modules/devices/studer/studer/inverter.py Switch to get_component_value_store.
packages/modules/devices/studer/studer/bat.py Switch to get_component_value_store.
packages/modules/devices/sunways/sunways/inverter.py Switch to get_component_value_store.
packages/modules/devices/shelly/shelly/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/shelly/shelly/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/shelly/shelly/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/saxpower/saxpower/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/saxpower/saxpower/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/rct/rct/inverter.py Switch to get_component_value_store.
packages/modules/devices/rct/rct/counter.py Switch to get_component_value_store.
packages/modules/devices/rct/rct/bat.py Switch to get_component_value_store.
packages/modules/devices/qcells/qcells/inverter.py Switch to get_component_value_store.
packages/modules/devices/qcells/qcells/counter.py Switch to get_component_value_store.
packages/modules/devices/qcells/qcells/bat.py Switch to get_component_value_store.
packages/modules/devices/powerfox/powerfox/inverter.py Switch to get_component_value_store.
packages/modules/devices/powerfox/powerfox/counter.py Switch to get_component_value_store.
packages/modules/devices/powerdog/powerdog/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/powerdog/powerdog/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/openwb/openwb_flex/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/openwb/openwb_flex/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/openwb/openwb_flex/consumption_counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/openwb/openwb_flex/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/orno/orno/counter.py Switch to get_component_value_store.
packages/modules/devices/nibe/nibe/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/mystrom/mystrom/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/mtec/mtec/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/mtec/mtec/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/mtec/mtec/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/marstek/venus_c_e/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/lg/lg/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/lg/lg/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/lg/lg/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/kostal/kostal_steca/inverter.py Switch to get_component_value_store.
packages/modules/devices/kostal/kostal_sem/counter.py Switch to get_component_value_store.
packages/modules/devices/kostal/kostal_plenticore/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/kostal/kostal_plenticore/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/kostal/kostal_piko/inverter.py Switch to get_component_value_store.
packages/modules/devices/kostal/kostal_piko/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/kostal/kostal_piko/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/kostal/kostal_piko_old/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/kostal/kostal_piko_old/inverter_test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/kostal/kostal_piko_ci/inverter.py Switch to get_component_value_store.
packages/modules/devices/kostal/kostal_piko_ci/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/kaco/kaco_tx/inverter.py Switch to get_component_value_store.
packages/modules/devices/kaco/kaco_nh/inverter.py Switch to get_component_value_store.
packages/modules/devices/kaco/kaco_nh/counter.py Switch to get_component_value_store.
packages/modules/devices/kaco/kaco_nh/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/janitza/janitza/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/janitza/janitza/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/janitza/janitza/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/idm/idm/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/huawei/huawei/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/huawei/huawei/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/huawei/huawei/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/huawei/huawei_smartlogger/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/huawei/huawei_smartlogger/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/huawei/huawei_smartlogger/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/huawei/huawei_emma/inverter.py Switch to get_component_value_store; add SimCounter(..., type).
packages/modules/devices/huawei/huawei_emma/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/huawei/huawei_emma/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/growatt/growatt/inverter.py Switch to get_component_value_store.
packages/modules/devices/growatt/growatt/counter.py Switch to get_component_value_store.
packages/modules/devices/growatt/growatt/bat.py Switch to get_component_value_store.
packages/modules/devices/good_we/good_we/inverter.py Switch to get_component_value_store.
packages/modules/devices/good_we/good_we/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/good_we/good_we/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/generic/virtual/counter.py Switch to get_component_value_store and SimCounter(..., type) (virtual counter case).
packages/modules/devices/generic/mqtt/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/generic/mqtt/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/generic/mqtt/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/generic/json/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/generic/json/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/generic/json/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/generic/json/device_test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/generic/http/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/generic/http/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/generic/http/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/fronius/fronius/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/fronius/fronius/inverter_secondary.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/fronius/fronius/inverter_production_meter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/fronius/fronius/inverter_production_meter_test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/fronius/fronius/counter_sm.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/fronius/fronius/counter_s0.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/fronius/fronius/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/fox_ess/fox_ess/inverter.py Switch to get_component_value_store.
packages/modules/devices/fox_ess/fox_ess/counter.py Switch to get_component_value_store.
packages/modules/devices/fox_ess/fox_ess/bat.py Switch to get_component_value_store.
packages/modules/devices/fems/fems/inverter.py Switch to get_component_value_store.
packages/modules/devices/fems/fems/inverter_test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/fems/fems/counter.py Switch to get_component_value_store.
packages/modules/devices/fems/fems/counter_test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/fems/fems/bat.py Switch to get_component_value_store.
packages/modules/devices/fems/fems/bat_test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/fems/fems/device test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/enphase/enphase/inverter.py Switch to get_component_value_store.
packages/modules/devices/enphase/enphase/counter.py Switch to get_component_value_store.
packages/modules/devices/enphase/enphase/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/elgris/elgris/inverter.py Switch to get_component_value_store.
packages/modules/devices/elgris/elgris/counter.py Switch to get_component_value_store.
packages/modules/devices/elgris/elgris/bat.py Switch to get_component_value_store.
packages/modules/devices/e3dc/e3dc/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/e3dc/e3dc/external_inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/e3dc/e3dc/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/e3dc/e3dc/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/discovergy/discovergy/inverter.py Switch to get_component_value_store.
packages/modules/devices/discovergy/discovergy/counter.py Switch to get_component_value_store.
packages/modules/devices/discovergy/discovergy/device test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/deye/deye/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/deye/deye/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/deye/deye_solarman/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/deye/deye_solarman/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/deye/deye_solarman/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/chint/chint/counter.py Switch to get_component_value_store.
packages/modules/devices/carlo_gavazzi/carlo_gavazzi/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/byd/byd/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/batterx/batterx/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/batterx/batterx/external_inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/batterx/batterx/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/batterx/batterx/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/batterx/batterx/batterx_test.py Monkeypatch updated to get_component_value_store.
packages/modules/devices/azzurro_zcs/azzurro_zcs/inverter.py Switch to get_component_value_store.
packages/modules/devices/azzurro_zcs/azzurro_zcs/counter.py Switch to get_component_value_store.
packages/modules/devices/azzurro_zcs/azzurro_zcs/bat.py Switch to get_component_value_store.
packages/modules/devices/azzurro_zcs/azzurro_zcs_3p/pv_inverter.py Switch to get_component_value_store.
packages/modules/devices/avm/avm/counter.py Switch to get_component_value_store.
packages/modules/devices/anker/anker_solix/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/anker/anker_solix/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/anker/anker_solix/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/ampere/ampere/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/ampere/ampere/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/ampere/ampere/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/alpha_ess/alpha_ess/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/alpha_ess/alpha_ess/counter.py Switch to get_component_value_store.
packages/modules/devices/alpha_ess/alpha_ess/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/algodue/algodue/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/algodue/algodue/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/algodue/algodue/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/youless/youless/inverter.py Switch to get_component_value_store.
packages/modules/devices/sma/sma_shm/utils.py Updates value store factory call to accept (type, id).
packages/modules/devices/sma/sma_shm/inverter.py Switch to get_component_value_store via SpeedwireComponent factory.
packages/modules/devices/sma/sma_shm/counter.py Switch to get_component_value_store via SpeedwireComponent factory.
packages/modules/devices/sma/sma_webbox/inverter.py Switch to get_component_value_store.
packages/modules/devices/sma/sma_sunny_island/bat.py Switch to get_component_value_store.
packages/modules/devices/sma/sma_sunny_boy/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sma/sma_sunny_boy/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sigenergy/sigenergy/inverter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sigenergy/sigenergy/counter.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/sigenergy/sigenergy/bat.py Switch to get_component_value_store and SimCounter(..., type).
packages/modules/devices/fems/fems/device test.py Monkeypatch updated to get_component_value_store.
docs/samples/sample_request_by_device/sample_request_by_device/inverter.py Sample updated to new store factory and simcount argument.
docs/samples/sample_request_by_device/sample_request_by_device/counter.py Sample updated to new store factory and simcount argument.
docs/samples/sample_request_by_device/sample_request_by_device/bat.py Sample updated to new store factory and simcount argument.
docs/samples/sample_request_by_component/sample_request_by_component/inverter.py Sample updated to new store factory and simcount argument.
docs/samples/sample_request_by_component/sample_request_by_component/counter.py Sample updated to new store factory and simcount argument.
docs/samples/sample_request_by_component/sample_request_by_component/bat.py Sample updated to new store factory and simcount argument.
docs/samples/sample_modbus/sample_modbus/inverter.py Sample updated to new store factory and simcount argument.
docs/samples/sample_modbus/sample_modbus/counter.py Sample updated to new store factory and simcount argument.
docs/samples/sample_modbus/sample_modbus/bat.py Sample updated to new store factory and simcount argument.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +23 to +29
def create_post_function(url: str, path: Optional[str]) -> Callable[[Session, dict], None]:
if path is None:
return lambda _: None
else:
def post_function(session: Session, params: dict):
session.post(url + path, params=params, timeout=5)
return post_function
Comment on lines +1 to +18
from typing import Optional
from modules.common.component_type import ComponentType
from modules.common.simcount._simcounter import SimCounter
from modules.common.store._battery import get_bat_value_store
from modules.common.store._counter import get_counter_value_store
from modules.common.store._inverter import get_inverter_value_store


def get_component_value_store(component_type: str,
component_num: int,
add_child_values: bool = False,
simcounter: Optional[SimCounter] = None):
if ComponentType.BAT.value in component_type:
return get_bat_value_store(component_num)
elif ComponentType.COUNTER.value in component_type:
return get_counter_value_store(component_num, add_child_values, simcounter)
elif ComponentType.INVERTER.value in component_type:
return get_inverter_value_store(component_num)
Comment on lines 114 to 121
component = self.__component_factory(component_config)
component.initialized = False
self.components["component" + str(component_config.id)] = component
component.initialize()
component.initialized = True
if component_dependency_injection is not None:
component = component_dependency_injection(component)

from modules.common.component_state import CounterState
from modules.common.store import get_counter_value_store
from modules.common.component_type import ComponentDescriptor
from modules.common.store._factory import get_component_value_store
from modules.common.component_type import ComponentDescriptor
from modules.common.simcount._simcounter import SimCounter
from modules.common.store._counter import get_counter_value_store
from modules.common.store._factory import get_component_value_store
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants