From f6dbb3a72be630452eca192b76f29abf087d246a Mon Sep 17 00:00:00 2001 From: seaspotter Date: Sun, 4 Oct 2026 20:22:13 +0200 Subject: [PATCH 1/2] my-pv ACThor/Elwa-E: write_register statt nicht existierendem write_registers --- packages/modules/consumers/my_pv/acthor/consumer.py | 3 ++- packages/modules/consumers/my_pv/elwa_e/consumer.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/modules/consumers/my_pv/acthor/consumer.py b/packages/modules/consumers/my_pv/acthor/consumer.py index 914f449abf..552a4cf7af 100644 --- a/packages/modules/consumers/my_pv/acthor/consumer.py +++ b/packages/modules/consumers/my_pv/acthor/consumer.py @@ -64,7 +64,8 @@ def update() -> ConsumerState: def set_power_limit(power_limit: float, data: SetLimitData) -> None: power_limit = power_limit * FACTORS.get(config.configuration.model, 9000)/config.configuration.max_power - client.write_registers(1000, power_limit, unit=config.configuration.modbus_id) + client.write_register(1000, int(power_limit), data_type=ModbusDataType.INT_16, + unit=config.configuration.modbus_id) return ConfigurableConsumer(consumer_config=config, initializer=initializer, error_handler=error_handler, diff --git a/packages/modules/consumers/my_pv/elwa_e/consumer.py b/packages/modules/consumers/my_pv/elwa_e/consumer.py index 1943178dba..eede1a7e37 100644 --- a/packages/modules/consumers/my_pv/elwa_e/consumer.py +++ b/packages/modules/consumers/my_pv/elwa_e/consumer.py @@ -80,7 +80,8 @@ def set_power_limit(power_limit: float, data: SetLimitData) -> None: power_limit = min(power_limit, 4000) power_limit = max(power_limit, 0) - client.write_registers(1000, power_limit, unit=config.configuration.modbus_id) + client.write_register(1000, int(power_limit), data_type=ModbusDataType.INT_16, + unit=config.configuration.modbus_id) return ConfigurableConsumer(consumer_config=config, initializer=initializer, error_handler=error_handler, From 073303b99b27bb5947f113ca97a4eaa50b768004 Mon Sep 17 00:00:00 2001 From: SeaSpotter Date: Wed, 7 Oct 2026 11:02:47 +0200 Subject: [PATCH 2/2] Refactor write_registers calls to use Register Samples angepasst auf write_register --- .../sample_consumer/sample_consumer/consumer.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/samples/sample_consumer/sample_consumer/consumer.py b/docs/samples/sample_consumer/sample_consumer/consumer.py index 5d7939788d..025698e48f 100644 --- a/docs/samples/sample_consumer/sample_consumer/consumer.py +++ b/docs/samples/sample_consumer/sample_consumer/consumer.py @@ -57,23 +57,28 @@ def update() -> ConsumerState: # ConsumerUsage.SUSPENDABLE_TUNABLE def set_power_limit(power_limit: float, data: SetLimitData) -> None: nonlocal client - client.write_registers(1000, power_limit, unit=config.configuration.modbus_id) + client.write_register(Register.1000, int(power_limit), data_type=ModbusDataType.INT_16, + unit=config.configuration.modbus_id) # ODER # ConsumerUsage.SUSPENDABLE_ONOFF # ConsumerUsage.CONTINUOUS def switch_on() -> None: nonlocal client - client.write_registers(1000, 1, unit=config.configuration.modbus_id) + client.write_register(Register.1000, 1, data_type=ModbusDataType.INT_16, + unit=config.configuration.modbus_id) def switch_off() -> None: nonlocal client - client.write_registers(1000, 0, unit=config.configuration.modbus_id) + client.write_register(Register.1000, 0, data_type=ModbusDataType.INT_16, + unit=config.configuration.modbus_id) # ODER # ConsumerUsage.SELF_CONTROLLED def send_values(values: CurrentValues) -> None: - client.write_registers(1000, values.evu_power, unit=config.configuration.modbus_id) + nonlocal client + client.write_register(Register.1000, int(values.evu_power), data_type=ModbusDataType.INT_16, + unit=config.configuration.modbus_id) return ConfigurableConsumer(consumer_config=config, initializer=initializer,