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

[feat] - heat pump mode (dual with only one switch) #143

Closed
swingerman opened this issue Apr 3, 2024 · 9 comments · Fixed by #246
Closed

[feat] - heat pump mode (dual with only one switch) #143

swingerman opened this issue Apr 3, 2024 · 9 comments · Fixed by #246
Assignees
Labels
enhancement New feature or request

Comments

@swingerman
Copy link
Owner

swingerman commented Apr 3, 2024

Many users have a problem using the component in dual mode with a heat pump with only one switch, and the heat pump switches to heat or cool.
[#142][#54][#225]

Possible solution:

  • introduce a boolean input (switch) that reverses the HVAC action
  • if this is set, then allow using the same switch for both the heater and the cooler
  • in this case, this setup will need the following configuration values set:
    • heater
    • cooler
    • heat_cool_mode: true
    • heat_cool_reverse_entity
@swingerman swingerman added the enhancement New feature or request label Apr 3, 2024
@swingerman swingerman self-assigned this Apr 3, 2024
@Smittybk1
Copy link

Smittybk1 commented May 17, 2024

To add to this, My system requires the fan operate in both heating and cooling mode. There is a Fan_on_with_ac option, I also need a Fan_on_with_heater option. My work around is to use HA helpers to create a switch group for the heater that uses the heater and fan switch and make it one entity so to speak.

@cputoaster
Copy link

Would the boolean input switch be able to directly connect to a binary sensor? My heat pump exposes a "binary_sensor.status_cooling_43024" that would need to be somehow used by the heat_cool_reverse_entity configuration value.

@swingerman
Copy link
Owner Author

Yes. In the implementation, the switch can be a boolean input. Either manual or direct inout from the heat pump.

@swingerman
Copy link
Owner Author

swingerman commented Jul 15, 2024

Update: I am happy to inform you that I implemented a working version of the heat pump mode. Now, I have to cover all with tests to ensure the feature is stable enough to let you try it out.

In heat_pump mode, there will be a maximum of three HVAC modes available based on the current mode of the heat pump and if dual mode is enabled:

Dual mode

heating (is_heat_pump_cooling: false):

  • heat/cool
  • heat
  • off

cooling (is_heat_pump_cooling: true):

  • heat/cool
  • cool
  • off

Single mode

heating (is_heat_pump_cooling: false):

  • heat
  • off

cooling (is_heat_pump_cooling: true):

  • cool
  • off

@Matz88
Copy link

Matz88 commented Jul 18, 2024

Hi, do i understand correctly that this fix will also allow to set the same entity for cooler and heater?
See #255

@swingerman
Copy link
Owner Author

Exactly!

@RaxCore
Copy link

RaxCore commented Jul 20, 2024

Hi, I was looking for that feature, too - thanks! Unfortunately I don´t get it running. The same entity for cooler and heater throws an error:
grafik
This is my config:

# --------- Arbeitszimmer DUAL--------- #    
  - platform: dual_smart_thermostat
    name: Dual Thermostat Arbeitszimmer
    unique_id: Dual_Thermostat_Arbeitszimmer
    heater: switch.shmini_arbeitszimmer_switch_0
    cooler: switch.shmini_arbeitszimmer_switch_0
    target_sensor: sensor.klima_arbeitszimmer_temperature
    heat_cool_mode: true # <-required
    initial_hvac_mode: "off"    
    min_temp: 15
    max_temp: 25
    target_temp: 22
    cold_tolerance: 0.3
    hot_tolerance: 0.3
    min_cycle_duration:
      seconds: 5
    precision: 0.1 

What I'm doing wrong?

@swingerman
Copy link
Owner Author

swingerman commented Jul 22, 2024

Hi, I was looking for that feature, too - thanks! Unfortunately I don´t get it running. The same entity for cooler and heater throws an error: grafik This is my config:

# --------- Arbeitszimmer DUAL--------- #    
  - platform: dual_smart_thermostat
    name: Dual Thermostat Arbeitszimmer
    unique_id: Dual_Thermostat_Arbeitszimmer
    heater: switch.shmini_arbeitszimmer_switch_0
    cooler: switch.shmini_arbeitszimmer_switch_0
    target_sensor: sensor.klima_arbeitszimmer_temperature
    heat_cool_mode: true # <-required
    initial_hvac_mode: "off"    
    min_temp: 15
    max_temp: 25
    target_temp: 22
    cold_tolerance: 0.3
    hot_tolerance: 0.3
    min_cycle_duration:
      seconds: 5
    precision: 0.1 

What I'm doing wrong?

The feature is not released yet. Please stay tuned. I need to write a lot of tests to make sure it's stable.

@swingerman swingerman pinned this issue Jul 22, 2024
@swingerman swingerman changed the title [FEAT] - heat pump mode (dual with only one switch) [feat] - heat pump mode (dual with only one switch) Jul 23, 2024
swingerman pushed a commit that referenced this issue Jul 23, 2024
swingerman pushed a commit that referenced this issue Jul 23, 2024
swingerman pushed a commit that referenced this issue Jul 23, 2024
swingerman pushed a commit that referenced this issue Jul 23, 2024
swingerman pushed a commit that referenced this issue Jul 23, 2024
@swingerman
Copy link
Owner Author

swingerman commented Jul 23, 2024

Please check and enjoy v0.9.8.beta-1

Heat Pump (one switch heat/cool) mode

This setup allows you to use a single switch for both heating and cooling. To enable this mode you define only a single switch for the heater and set the set youer heat pump's current state (heating or cooling) as for the heat_pump_cooling attribute. This must be an entity id of a sensor that has a state of heating or cooling.

The entity can be an input buulean for manual control or an entity that provided by the heat pump.

heater: switch.study_heat_pump
target_sensor: sensor.study_temperature
heat_pump_cooling: sensor.study_heat_pump_state

Heat Pump Hvac Modes

Heat-Cool Mode
heater: switch.study_heat_pump
target_sensor: sensor.study_temperature
heat_pump_cooling: sensor.study_heat_pump_state
heat_cool_mode: true

heating (heat_pump_cooling: false):

  • heat/cool
  • heat
  • off

cooling (heat_pump_cooling: true):

  • heat/cool
  • cool
  • off
Single mode
heater: switch.study_heat_pump
target_sensor: sensor.study_temperature
heat_pump_cooling: sensor.study_heat_pump_state
heat_cool_mode: false # <-- or not set

heating (heat_pump_cooling: false):

  • heat
  • off

cooling (heat_pump_cooling: true):

  • cool
  • off

@swingerman swingerman unpinned this issue Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants