jmcollin78 / versatile_thermostat

A full featured Thermostat for Home Assistant: presets, window, motion, presence and overpowering management
MIT License
309 stars 35 forks source link

Capability to manage multiple heaters with one VThermostat #67

Closed jmcollin78 closed 1 year ago

jmcollin78 commented 1 year ago

The request is to be able to manage multiple heaters with the same Versatile Thermostat. This could be useful when a room have more than one heaters and will allow a better load balancing and regulation of the heaters in case of power regulation.

jmcollin78 commented 1 year ago

See more information on the hacf forum: https://forum.hacf.fr/t/nouveau-thermostat-type-proportionnel-avec-gestion-des-presets-portes-et-fenetres-detection-de-mouvement-gestion-de-presence-et-surconsommation/19160/425?u=jean-marc_collin

salabur commented 1 year ago

Just for information, at the moment I use this solution to archive managing multiple (2) heaters with one of your thermostats. I would be interested to test another solution as this lacks obviously the advanced features described in your link but works for the moment:

climate:
  - platform: climate_template
    name: EG-EZ-KU-Heizung-TP
    unique_id: EG-EZ-KU-Heizung-TP
    modes:
      - "heat"
      - "eco"
      - "off"
    min_temp: 5
    max_temp: 30
    temp_step: 0.5
    precision: 0.1  

    # get current temp.
    current_temperature_template: "{{ states('sensor.temperatur_049_temperature') }}"

    # get current humidity.
    current_humidity_template: "{{ states('sensor.temperatur_049_humidity') }}"

    #target_temperature_template: "{{ state_attr('climate.thermostat_015', 'temperature') }}"

    #current_temperature_template: "{{ state_attr('climate.thermostat_real', 'current_temperature') }}"
    #target_temperature_template: "{{ state_attr('climate.thermostat_015', 'temperature') }}"
    #hvac_mode_template: "{{ 'heat' if states('climate.thermostat_015') == 'auto' else 'heat' if states('climate.thermostat_015') == 'heat' else 'off' }}"
    # swing mode switch for UI.
    #swing_mode_template: "{{ states('input_boolean.bedroom_swing_mode') }}"

    # available based on esphome nodes' availability.
    #availability_template: "{{ is_state('binary_sensor.bedroom_node_status', 'on') }}"
    #"{{ temperature }}"  
    set_temperature:
      - service: climate.set_temperature
        data:
          entity_id: "climate.thermostat_eg_ez_022"
          temperature: "{{ temperature }}" 
      - service: climate.set_temperature
        data:
          entity_id: "climate.thermostat_eg_kueche_041"
          temperature: "{{ temperature }}" 

    # # example action
    set_hvac_mode:
      - service: climate.set_hvac_mode
        data:
          entity_id: "climate.thermostat_eg_ez_022"
          hvac_mode: "{{ 'heat' if hvac_mode == 'heat' else 'heat' if hvac_mode == 'eco' else 'off' }}"
      - service: climate.set_hvac_mode
        data:
          entity_id: "climate.thermostat_eg_kueche_041"
          hvac_mode: "{{ 'heat' if hvac_mode == 'heat' else 'heat' if hvac_mode == 'eco' else 'off' }}"
jmcollin78 commented 1 year ago

Hello @salabur ,

Yes this is fine. What I will do, (i start today) is to be able to natively do almost the same thing with Versatile Thermostat. So you wont have to define your own climate_template.