Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IDEA] Skill where reminders are like scheduled actions #145

Open
hipitihop opened this issue Oct 14, 2022 · 0 comments
Open

[IDEA] Skill where reminders are like scheduled actions #145

hipitihop opened this issue Oct 14, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@hipitihop
Copy link

This is more a placeholder to engage some thought before actual implementation. With the absence of https://docs.github.com/en/discussions I will capture some thoughts here and invite design discussion.

It is a variation of reminders, where when "the time" comes, we don't just utter something using TTS, but can invoke an action/automation.

Core Idea
I would like to be able to schedule an action at some specific time in the future. Some examples might be:

"Hey Alice, open the gates tomorrow at 8am"

"Hey Alice, turn off the TV at 6pm"

"Hey Alice, when my phone rings, mute the TV"

Requirements

  • Not all actions can be implemented via existing Alice skills/intents. So in some cases, we want to just post on an MQTT topic to be handled by something else e.g. in node-red
  • May require leveraging existing integrations to complete the action. e.g. node-red MQTT handler would call Home Assistant to mute the TV.
  • We may want to know, if the handler has actioned the request, e.g. so that Alice can log it as done/acknowledged/completed/failed. Perhaps each invocation gets UUID in MQTT, and handler can send subsequent MQTT with same ID on sucess/fail.

Initial Discord Discussion
Start of thread https://discord.com/channels/579345007518154752/606857440515981316/1029930305966055475
[edited] highlights below:

Philipp
One thought was to simulate the input „open the garage door“ as soon as the right time is there. That would enable everything Alice can do to be scheduled

lazza 
So kinda like "hey Alice set an 'event' for 6pm on monday" message ="open garage door"

Then at 6pm .. startSession " open garage door". Seems doable at some point 

@Philipp
One thought was to simulate the input „open the garage door“ as soon as the right time is there. That would enable everything Alice can do to be scheduled

hipitihop 
I get your thinking. I suspect though that the time could come, then you get "I don't understand you". It would be nice to pre parse the intent ahead of "right time"

Philipp 
yeah, 100%. The input has to be parsed and I guess Alice should reply with the name of the intent she is planning to execute and what parameters will be entered or something like that.
I don't want her to open the garage floor because she didn't understand what to open correctly without warning me before 

We would need some kind of "test mode" to make it fully compatible with all intents though.

Alice herself can't know if some skill might need additional information based on the input. "Open the door" might work, but it needs the location context for example, so it is optional when speaking "live". But when scheduling it should be obligatory

Philipp
"Schedule for everyday 6pm close the garage door" would need to "test" the generic "closing skill" if the input "garage door" is enough to work without an active session
"Schedule for 9pm, turn off the TV" needs to check if there is more than one TV in the house, but it must not turn it off right away etc... tricky topic, should start writing it down as a concept in github for a time when there is more... time.. ^^

Philipp 
The basic function should be relatively easy, yeah ^^ even with pre-parsing NLU ^^ (edited)

Not a skill though, but a base function as it requires keyword triggering like the chaining of commands (edited)

Alice must not mistake the input as "close the door" but as "schedule xyz", because everything after "schedule [times definition],..." must be "generic input" that is not parsed
@hipitihop hipitihop added the enhancement New feature or request label Oct 14, 2022
@hipitihop hipitihop changed the title [IDEA] Skill where reminders are like scheduled aactions [IDEA] Skill where reminders are like scheduled actions Oct 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant