zlangbert / ha-daikinone

Home Assistant integration for Daikin One HVAC systems and thermostats
12 stars 7 forks source link

Missing schedule and away modes and fan settings #29

Open wirecuttr opened 7 months ago

wirecuttr commented 7 months ago

I was looking for a way to pause and resume scheduling, but it seems to be missing. Looking over at the daikinskyport integration, they have it under Preset:

daikinskyport presets: Temp hold: pauses the schedule until the next change Manual: turns off schedule Schedule: turns on schedule Away: turns off schedule and enables Away mode

Screenshot_20240218-071538

They also have fan speed control which would also be nice to have in this integration: Screenshot_20240218-071603

It sets the circulate air functions on the thermostat: Screenshot_20240218-074711

Auto: turns off circulate air On: circulate air always on Schedule: circulate air on a schedule Low/Medium/High: sets the speed for On and Schedule

It's a bit awkward how it works and needs a two-sequence tap to get everything to work. If it is currently set to schedule/medium you want fan mode to On/low, you need to first tap Low. The UI shows Low for a few seconds and then reverts back to Schedule. Then Tap On. The low/medium/high labels are only shown temporarily then revert back Auto/On/Schedule.

I guess this follows the physical thermostat UI where the off/on/schedule is shown at the upper level. What's awkward is that your can't actually see the current fan speed anywhere.

If doable I think it would make more sense to have 7 options instead: Auto: turns off circulate air On L/M/H: circulate air always on at set speed Schedule L/M/H: circulate air on a schedule at set speed

zlangbert commented 6 months ago

Agreed it would. be good to support all these functions. To break this down I think there are three distinct things here:

I question whether using presets is the best way to surface these. For example, with the support for emergency heat mode just added as a preset (which I think makes sense since that is the closest things to a mode), choosing a different preset would seem to imply turning off emergency heat. Not to mention the issues you are also bringing up with the preset approach. I don't see a way to make that make sense.

Another option I can think of is start adding other types of entities on the thermostat. So for example we could have a switch for turning the temperature schedule on and off. Maybe there is a service call to set the schedule parameters.

What do you think?

wirecuttr commented 6 months ago

Emergency heat as an HVAC mode would be preferable. If it can't be done (I don't know enough about the coding side to assess feasibility) then moving it out to a service call or a switch makes sense. HASS has a climate.set_aux_heat service call (per https://www.home-assistant.io/integrations/climate/), so that seems to be the way they want you to do it.

For air circulation, I think climate.set_fan_mode with 7 options: Auto On-low On-med On-high Schedule-low Schedule-med Schedule-high I think that is the most straight forward. It has an easy way to set and display the speed; avoids the multiple taps needed in the daikinskyport integration and avoids needing to create a separate control for the l/m/h speed setting.

Away and Schedule switches is in line with the physical thermostat UI, but the two settings interact since Away overides schedule (i.e., you can't have Schedule and Away both On together.). Also shecdule functions actually like 3 options: on, off and temp overriden. I think the way the daikinskyport integration handles this part makes sense using the preset. climate.set_preset_mode: Temp hold (Home) Schedule (Home) Manual (Home) Away

As for setting schedule parameters, I (personally) think it's lower priority as users can use automations within Home Assistant.

wirecuttr commented 6 months ago

Looks like the daikinskyport intergation has a bunch of this stuff in [services]https://github.com/apetrycki/daikinskyport/blob/master/custom_components/daikinskyport/services.yaml)

otherwish commented 6 months ago

Going back and forth between this and the spyport integration. I'm getting a lot of functionality from controlling the away and schedule modes on the skyport integration. I feel some of these parameters would be better suited for a select entity anyways. Temporary Hold duration could be a good candidate.