daenny / climate_group

Home Assistant Climate Group
MIT License
129 stars 47 forks source link

New feature proposal: temperature offset #10

Open kozerskil opened 4 years ago

kozerskil commented 4 years ago

I have 2 thermostats in 1 room, however one of them should be set to lower temperature. It would be nice to have a possibility to configure the offset for all of the thermostats.

daenny commented 4 years ago

How would you then like to have the setpoint temperature shown? Should it be the average, or the adjusted average?

daenny commented 4 years ago

Also this would mean that we need to change the method how the calls are made. At the moment only one service call is made to set the temperature etc, with the list of all entities, if you have offsets you would need to make one service call per entity.

kozerskil commented 4 years ago

I think there should be one "master", eg. first entity, and the temperature shown is master temperature. Regarding many call, I don't think it is an issue: how many thermostats there can be in single group? And there might be some logic, grouping all thermostats with the same temperature, and one call made per subgroup. Not sure if it's not overcomplicated, but for me it would be valuable.

blademckain commented 4 years ago

the master slave functionality could be easily solved if you could choose whether to fill the component automatically or manually. Example of code:

climate:
  - platform: climate_group
    name: 'Climate Friendly Name'
    temperature_unit: C  
    entities:
    - climate.clima1
    - climate.clima2
    mode: master or group
    load: automatic or manual
    preset:
      -name: home
        target_temperature_low: 20
        target_temperature_high: 25
      -name: away
       target_temperature_low: 16
       target_temperature_high: 18
     hvac_modes: HVAC_MODE_OFF, HVAC_MODE_HEAT
     fan_modes: FAN_ON, FAN_OFF
....
   *other properties from https://developers.home-assistant.io/docs/core/entity/climate/
....

Mode master: sends the changes to the other climates but does not receive them (except the current temperature) group: that is, it behaves as it is now

Load: automatic: takes all the characteristics of the other climates (that is, it behaves as it is now) manual: creates a climate component with only those characteristics (obviously they must be compatible with the other climates)

LucidityCrash commented 2 years ago

Also this would mean that we need to change the method how the calls are made. At the moment only one service call is made to set the temperature etc, with the list of all entities, if you have offsets you would need to make one service call per entity.

You know this might be a better idea anyway ... if you have a lot of group members it can time out ... I use this with the Wiser integration and any more than 4 or 5 in a group tends to cause issues.