ekutner/home-connect-hass

Option to select dishwasher "end time"

Closed this issue · 5 comments

Is your feature request related to a problem? Please describe.
Currently, we are able to select a "start time" which is really a delay from current time. This always involves a manual/mental calculation based on the target end time.

It would be more convenient if there was an alternative select drop down box where the use can select the target end time (in 30 minute granularity, exactly like the current start time select). The integration can then work backwards from that, taking into account the expected program run time. The delay now can also be more granular to the minute, rather than 30 minutes.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Provide an alternative select drop down box where the use can select the target end time (in 30 minute granularity, exactly like the current start time select). The integration can then work backwards from that, taking into account the expected program run time. The delay now can also be more granular to the minute, rather than 30 minutes.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

It's an interesting request. I agree it's pretty annoying to have to work out the delay instead of just selecting the actual required end time. However this creates two complications that will have to be handled. Consider the following scenario:
Let's say that it is noon now and you select a program that takes two hours.
The select box should not allow you to select times between 12:00 and 14:00. But this must keep updating. If you didn't start the program immediately and it's now 12:35 then you should be able to select 14:30 as the end time. Also, since a select box must have something selected let's say that you selected 15:00 as the end time, but didn't start the program. Then at 13:00, your selected option will have to be modified automatically, presumably to the next allowed time slot.
It may seem trivial but I'm not aware of a way for a push type integration, like this one, to receive time based events which can serve to update the select box as required.

The second issue is that it will be a breaking change form the current familiar behavior that is also consistent with the regular behavior of the appliance. It would be good of other users chimed in to give their thoughts on this change.

Bottom line is that I'm not sure it can be done but assuming it is I'll prefer getting some more feedback from other users about the breaking change in behavior.

Thanks for looking into this. Perhaps rather than a breaking change, a second drop down list could be introduced, although then some mechanism needs to be introduce to toggle between the two drop down lists.

It was actually a request by the wife since she was used to being able to select the end time for the Samsung washing machine in Smartthings. I made a workaround for her for the Bosch dishwasher by creating some (home assistant and physical) buttons for her. eg when she presses one button it sets the program (by selecting the program from your drop down list) and selects the start delay (by selecting the approximate start delay on your drop down light, based on a fixed end time since we normally run the dishwasher overnight - this is rather coarse because the drop down list provides 30 minute granularity). Another button selects a different program, and based on that the delay is adjusted because the program duration is different.

For simplicity, I just target a fixed end time (which works ok for a dishwasher in our case). But having the ability to select end time would make it more flexible, and I could even look at doing that in the wrapper (if it is too complicated to do it in the integration).

A further update - I was able to do this more or less with Node-red and a new button and new input_select (for end time), see screenshot below :)

I select the program and the target end time (still in 30 minute granularity), and when I press the "Dishwasher delay start" button, it calculates the target delay from the time the button was pressed. If as you mentioned, it is noon now, and I select an end time of 12:30, then assuming the program takes longer than 30 minutes, I just start immediately (delay of 0!) (ie I don't do any smarts that excludes selection of impossible end times).

The main compromise I have at the moment is that because I select the delay based on your integration's dropdown list, I have to round up or round down to 30 minutes. If there was a way for me to select a specific time (to the minute) for the delay, then it would be better...

image

It doesn't look like you implemented what I thought you were asking for.
My understanding was that you were looking for setting an absolute end time, something like "I'd like the program to end at 18:15". This seems to be the most sensible approach to dealing with it but it creates some UX complications that users will have to be aware of. However, what you seem to have implemented here is something like "I'd like the program to end in 5 hours", which is very different.
In general the integration uses the delay method supported by the appliance. It seems that washing machines use what HC calls "FinishInRelative" delay, which is the time delay till the end of the program while dishwashers use "StartInRelative" which is the time delay till the program starts.
I'd still like to explore implementing an absolute end time UI for dealing with delayed programs however this control will have to be custom built and specifically tailored to support this behavior. That is a completely different approach than everything else in the integration which is totally generic and automatically detects and creates the relevant HA entities without any prior knowledge about the appliances or what features they support. Since I don't own a HC enabled dishwasher I'm going to need some data in order to figure out what can be done with those appliances. Can you please press the "Home Connect Debug Info" button in the HA dashboard and upload the log?

Closing as done