Skip to content
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

Modbus allows overlapping registers in climate #117796

Closed
crug80 opened this issue May 20, 2024 · 2 comments · May be fixed by #117359
Closed

Modbus allows overlapping registers in climate #117796

crug80 opened this issue May 20, 2024 · 2 comments · May be fixed by #117359
Assignees

Comments

@crug80
Copy link
Contributor

crug80 commented May 20, 2024

The problem

The modbus integration allows to configure climate entities having conflicts in some registers, because shared among other entities of inside the same.

Conflict 1: in case FAN_MODE register is written as list of 1 int, the system doesn't recognize the conflict with TARGET_TEMPERATURE

Conflict 2: in case of 2 entities having same device address but FAN_MODE register written as single int in 1 case and list of 1 int in the other case, the system doesn't raise an error despite of the conflicting address.

What version of Home Assistant Core has the issue?

core-2024.5.2

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

Link to integration documentation on our website

https://www.home-assistant.io/integrations/modbus/#configuring-climate-entities

Diagnostics information

No response

Example YAML snippet

# conflict 1: FAN_MODE register wirtten as list is not recognized as overlapping register with target temperature:
- name: "Fake CLimate"
  unique_id: "fc_fake_climate"
  device_address: 27
  scan_interval: 32
  input_type: input
  address: 46801
  precision: 1
  scale: 0.1
  hvac_mode_register:
    address: 28302
    write_registers: true
    values:
      state_off: 0
      state_heat: 4
      state_cool: 1
  write_registers: true
  hvac_onoff_register: 28301
  max_temp: 35
  min_temp: 15
  temp_step: 1
  target_temp_register: [28311,28310,28310,28310,28311,28311,28311]
  target_temp_write_registers: true
  fan_mode_register:
    address: [28311]
    values:
      state_fan_off: 0
      state_fan_low: 2
      state_fan_medium: 3
      state_fan_high: 4

#Conflict 2: 2 entities share the same FAN_MODE register

- name: "Ikaro Androne Notte"
  unique_id: "fc_ikaro_notte"
  device_address: 26
  scan_interval: 32
  input_type: input
  address: 46801
  precision: 1
  scale: 0.1
  hvac_mode_register:
    address: 28302
    write_registers: true
    values:
      state_off: 0
      state_heat: 4
      state_cool: 1
  write_registers: true
  hvac_onoff_register: 28301
  max_temp: 35
  min_temp: 15
  temp_step: 1
  target_temp_register: [28311,28310,28310,28310,28311,28311,28311]
  target_temp_write_registers: true
  fan_mode_register:
    address: [28303]
    values:
      state_fan_off: 0
      state_fan_low: 2
      state_fan_medium: 3
      state_fan_high: 4


#-------------------------------------- FAKE ----------------------------------------------
  # Fake Climate
- name: "Fake CLimate"
  unique_id: "fc_fake_climate"
  device_address: 26
  scan_interval: 32
  input_type: input
  address: 46901
  precision: 1
  scale: 0.1
  hvac_mode_register:
    address: 29302
    write_registers: true
    values:
      state_off: 0
      state_heat: 4
      state_cool: 1
  write_registers: true
  hvac_onoff_register: 29301
  max_temp: 35
  min_temp: 15
  temp_step: 1
  target_temp_register: [29311,29310,29310,29310,29311,29311,29311]
  target_temp_write_registers: true
  fan_mode_register:
    address: 28303
    values:
      state_fan_off: 0
      state_fan_low: 2
      state_fan_medium: 3
      state_fan_high: 4

Anything in the logs that might be useful for us?

No response

Additional information

No response

@home-assistant
Copy link

Hey there @janiversen, mind taking a look at this issue as it has been labeled with an integration (modbus) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of modbus can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign modbus Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


modbus documentation
modbus source
(message by IssueLinks)

@janiversen
Copy link
Member

You already have a pull request open, so no need to open an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants