Fix write_registers calling after the upgrade of pymodbus to 3.8.x #139017
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Breaking change
Proposed change
Pymodbus requires for write_registers function a list of integer and a list of bool for write_coils
Actually this requirements is satisfied only in the Climate component, where specific config parameters help the modbus climate to pass correctly the values to underlying pymodbus library.
Switches, lights or fans, instead, use a different approach. I suppose that in the older version of the library this lack was fixed by the library itself, now instead this has generated the impossibility to use the modbus component in those users who need to use coils/holdings registers for switches/fans/lights as tracked in several issues.
This PR before to call write_registers or write_coils, check if the value is correctly a list and it forces to a list in case it is not.
Type of change
Additional information
Checklist
ruff format homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all.To help with the load of incoming pull requests: