intents icon indicating copy to clipboard operation
intents copied to clipboard

[EN] HassStartTimer add area and floor slots

Open staticdev opened this issue 3 months ago • 10 comments

Summary:

  • Add floor and area slots to HassStartTimer
  • Add new slot combinations with floor and are to HassStartTimer
  • Add example test and sentence match in EN

staticdev avatar Sep 12 '25 17:09 staticdev

Why did you remove the EN language leader and added 3 other people to the list of reviewers of a PR concerning an improvement in EN?

tetele avatar Sep 14 '25 13:09 tetele

Why did you remove the EN language leader and added 3 other people to the list of reviewers of a PR concerning an improvement in EN?

I did not remove anyone @tetele, this was added by Github since I edited the root intents.yaml which is actually the most important change of this PR, not really the EN part.

staticdev avatar Sep 14 '25 13:09 staticdev

@staticdev ok, sorry. I have no clue how I got added in that pool, then :) I'm definitely not among the CODEOWNERS.

tetele avatar Sep 15 '25 06:09 tetele

@tetele root files in this repository do not have CODEOWNERS, most probably you were picked by Github due to your permissions in this repository.

staticdev avatar Sep 15 '25 06:09 staticdev

I don't understand how this is supposed to work. If you start a timer with a different area/floor, it won't be present on the voice satellite in that area/floor. Timers can only be started from the device that the voice command was issued on.

synesthesiam avatar Sep 15 '25 15:09 synesthesiam

@synesthesiam this is a strange limitation to me. Let's say a use case: there is one satellite in each room (kitchen and two rooms on another floor) and I am cooking in the kitchen. I want to set a timer to people in their rooms to come eat. Is it not possible at all that one satellite receives the command to create the timer and the timer is set in the other satellites? What is preventing this to work exactly?

staticdev avatar Sep 15 '25 15:09 staticdev

There's no technical limitation, we just use the device id of the satellite to group active timers. There isn't any logic to try and figure out which satellite you meant if an area or floor is specified.

What happens if there are multiple satellites in an area or on a floor?

synesthesiam avatar Sep 15 '25 15:09 synesthesiam

There's no technical limitation, we just use the device id of the satellite to group active timers. There isn't any logic to try and figure out which satellite you meant if an area or floor is specified.

I suppose all satellites in the area or floor would start a countdown, like how is consistent with lights and other devices.

staticdev avatar Sep 15 '25 16:09 staticdev

@synesthesiam also another fun thing all other intents related to timers already support area slot:

  • HassIncreaseTimer: https://github.com/OHF-Voice/intents/blob/main/intents.yaml#L1774
  • HassDecreaseTimer: https://github.com/OHF-Voice/intents/blob/main/intents.yaml#L1997
  • HassCancelTimer: https://github.com/OHF-Voice/intents/blob/main/intents.yaml#L1683
  • HassCancelAllTimers: https://github.com/OHF-Voice/intents/blob/main/intents.yaml#L1645
  • HassTimerStatus: https://github.com/OHF-Voice/intents/blob/main/intents.yaml#L2452
  • HassPauseTimer: https://github.com/OHF-Voice/intents/blob/main/intents.yaml#L2300
  • HassUnpauseTimer: https://github.com/OHF-Voice/intents/blob/main/intents.yaml#L2376

staticdev avatar Sep 15 '25 16:09 staticdev

The slots in those intents are for targeting the satellite that's currently running a timer. Potentially starting timers on multiple devices is an interesting idea. @jlpouffier any thoughts?

synesthesiam avatar Sep 16 '25 20:09 synesthesiam