I just got the new model NIBE SVM S332 and when I try to integrate it with the modbus option (for s320 or s325 which in should have the same registers) I get an error.
I am attaching the document with the registers from Nibe (quick search for s332 will lead you to the right place).
Logger: homeassistant.components.nibe_heatpump
Source: components/nibe_heatpump/config_flow.py:192
integration: nibe_heatpump (documentation, issues)
First occurred: 22:21:45 (1 occurrences)
Last logged: 22:21:45
Unexpected exception
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/nibe_heatpump/config_flow.py", line 192, in async_step_modbus
title, data = await validate_modbus_input(self.hass, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/nibe_heatpump/config_flow.py", line 150, in validate_modbus_input
await connection.verify_connectivity()
File "/usr/local/lib/python3.13/site-packages/nibe/connection/modbus.py", line 174, in verify_connectivity
await verify_connectivity_read_write_alarm(self, self._heatpump)
File "/usr/local/lib/python3.13/site-packages/nibe/connection/__init__.py", line 103, in verify_connectivity_read_write_alarm
await connection.write_coil(coil_data)
File "/usr/local/lib/python3.13/site-packages/tenacity/asyncio/__init__.py", line 189, in async_wrapped
return await copy(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/tenacity/asyncio/__init__.py", line 111, in __call__
do = await self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/tenacity/asyncio/__init__.py", line 153, in iter
result = await action(retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/tenacity/_utils.py", line 99, in inner
return call(*args, **kwargs)
File "/usr/local/lib/python3.13/site-packages/tenacity/__init__.py", line 398, in <lambda>
self._add_action_func(lambda rs: rs.outcome.result())
~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/usr/local/lib/python3.13/site-packages/tenacity/asyncio/__init__.py", line 114, in __call__
result = await fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/nibe/connection/modbus.py", line 142, in write_coil
result = await self._client.write_registers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<3 lines>...
)
^
File "/usr/local/lib/python3.13/site-packages/async_modbus/core.py", line 233, in write_registers
request = self.protocol.write_multiple_registers(
slave_id, starting_address, values
)
File "/usr/local/lib/python3.13/site-packages/umodbus/client/tcp.py", line 223, in write_multiple_registers
return _create_request_adu(slave_id, function.request_pdu)
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/async_modbus/umodbus_numpy.py", line 130, in request_pdu_registers
return pack_16bits(self.function_code, self.starting_address, self._values)
File "/usr/local/lib/python3.13/site-packages/async_modbus/umodbus_numpy.py", line 46, in pack_16bits
values = numpy.array(values, dtype=dtype, copy=False)
ValueError: Unable to avoid copy while creating an array as requested.
If using `np.array(obj, copy=False)` replace it with `np.asarray(obj)` to allow a copy when needed (no behavior change in NumPy 1.x).
For more details, see https://numpy.org/devdocs/numpy_2_0_migration_guide.html#adapting-to-changes-in-the-copy-keyword.
Also attaching a list of the default registers exported from the machine.
Title Register type Register Division factor Unit Size of variable Min value Max value Default value
Current outdoor temperature (BT1) MODBUS_INPUT_REGISTER 1 10 °C 2 0 0 0
Supply line (BT2) MODBUS_INPUT_REGISTER 5 10 °C 2 0 0 0
Return line (BT3) MODBUS_INPUT_REGISTER 7 10 °C 2 0 0 0
Hot water top (BT7) MODBUS_INPUT_REGISTER 8 10 °C 2 0 0 0
Hot water charging (BT6) MODBUS_INPUT_REGISTER 9 10 °C 2 0 0 0
Roomsensor 1-1 MODBUS_INPUT_REGISTER 26 10 °C 2 0 0 0
Average temperature (BT1) MODBUS_INPUT_REGISTER 37 10 °C 2 0 0 0
Flow sensor (BF1) MODBUS_INPUT_REGISTER 40 10 l/m 2 0 0 0
- MODBUS_INPUT_REGISTER 60 10 °C 2 0 0 0
- MODBUS_INPUT_REGISTER 61 10 °C 2 0 0 0
- MODBUS_INPUT_REGISTER 62 10 °C 2 0 0 0
- MODBUS_INPUT_REGISTER 63 10 °C 2 0 0 0
- MODBUS_INPUT_REGISTER 64 10 °C 2 0 0 0
- MODBUS_INPUT_REGISTER 65 10 °C 2 0 0 0
Additional heat (BT63) MODBUS_INPUT_REGISTER 72 10 °C 2 0 0 0
Degree minutes MODBUS_HOLDING_REGISTER 11 10 DM 3 -30000 30000 0
Calculated supply climate system 1 MODBUS_INPUT_REGISTER 1017 10 °C 2 0 0 0
Power internal additional heat MODBUS_INPUT_REGISTER 1027 100 kW 2 0 0 0
Operating mode internal add. heat MODBUS_INPUT_REGISTER 1029 1 4 0 0 0
Return line (EB101-BT3) MODBUS_INPUT_REGISTER 1475 10 °C 2 0 0 0
Supply line (EB101-BT12) MODBUS_INPUT_REGISTER 1478 10 °C 2 0 0 0
Outdoor temperature (EB101-BT28) MODBUS_INPUT_REGISTER 1621 10 °C 2 0 0 0
Evaporator (EB101-BT16) MODBUS_INPUT_REGISTER 1622 10 °C 2 0 0 0
Heating medium pump speed (GP1) MODBUS_INPUT_REGISTER 1636 1 % 4 0 0 0
Pressure sensor, condenser (EB101-BP4) MODBUS_INPUT_REGISTER 1801 10 bar 2 0 0 0
Current compressor frequency (EB101) MODBUS_INPUT_REGISTER 1803 10 Hz 2 0 0 0
Protection mode (EB101) MODBUS_INPUT_REGISTER 1804 1 5 0 0 0
Requested compressor frequency (EB101) MODBUS_INPUT_REGISTER 1854 1 Hz 4 0 0 0
Evaporator 2 (EB101-EP14-BT16) MODBUS_INPUT_REGISTER 1966 10 °C 2 0 0 0
Alarm number MODBUS_INPUT_REGISTER 1975 1 2 0 0 0
Flow sensor, hot water (BF4) MODBUS_INPUT_REGISTER 2125 100 l/m 2 0 0 0
Pump speed (GP8) MODBUS_INPUT_REGISTER 2136 1 % 4 0 0 0
Hot water out (BT38) MODBUS_INPUT_REGISTER 2134 10 °C 2 0 0 0
Charge pump (GP8) MODBUS_INPUT_REGISTER 2135 1 4 0 0 0
Current (BE1) MODBUS_INPUT_REGISTER 50 10 A 6 0 0 0