New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem with modbus climate for mc6 thermostat #86469
Comments
Hey there @adamchengtkc, @janiversen, @vzahradnik, mind taking a look at this issue as it has been labeled with an integration ( Code owner commandsCode owners of
(message by CodeOwnersMention) modbus documentation |
Response(134, 6, IllegalFunction), comes from the connected device, indicating it does not accept whatever you are doing. please run debug, as described in the documentation of the modbus integration, without a debug log, I cannot tell you what your device do not like. |
In attach: As I say on the forum, in openhab with this configuration: Bridge modbus:tcp:thermostat [ host="192.168.1.95", port=502, id=5, connectTimeoutMillis=15000, connectMaxTries=3 ] { works. Thanks |
And ? There are surely many applications that work, but I am not sure how you see this as helping in identifying your problem. your device does not like:
See the hex string in the second line. You need to consult the manual of your device to find out why this message is illegal (It is a perfectly legal modbus message). |
We are not talking about closed source applications... I write a small python application to make it work:
and works... The device wants a write_multiple_registers:
If I use write_single_register doesn't work. Is it possible to do something? Thanks, |
I am not sure what you mean by “Not talking about closed source applications”, life would have been so much easier, if you had identified the problem, and opened the issue as “set_hvac_mode does not support write_registers”. Currently set_hvac_mode does not support write_registers. There is a workaround, make a template climate and call modbus_write instead of set_hvac_mode, remember to call it with an array instead of a integer. |
Pull requests are welcome, we might look at changing this in a future version (async). |
Can you point me the documentation to do that? |
Search for templates in the home assistant documentation. |
Can I add it as an option? Can you point me the right file to do that? |
No it should not be an option, but done as we did with modbus_write passing an integer argument calls write_register, passing an integer list calls write_registers. Just look in the modbus integration. |
The problem
The hvac_mode_register and hvac_onoff_register (the write registers), doesn't work, and give the error:
Response(134, 6, IllegalFunction)
when I try to set it.
The read registers works.
Thanks,
What version of Home Assistant Core has the issue?
core-2023.1.7
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
modbus climate
Link to integration documentation on our website
https://www.home-assistant.io/integrations/modbus/
Diagnostics information
No response
Example YAML snippet
Anything in the logs that might be useful for us?
Additional information
No response
The text was updated successfully, but these errors were encountered: