From 7b36903d1b8e644898233a6db9b795abb4505cfd Mon Sep 17 00:00:00 2001 From: Tony Stork Date: Mon, 31 Jul 2023 14:31:17 -0400 Subject: [PATCH] Ability to control timers with voice --- custom_sentences/en/timers.yaml | 47 +++++++++++++++++++++++++++++++++ packages/time.yaml | 38 ++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 custom_sentences/en/timers.yaml create mode 100644 packages/time.yaml diff --git a/custom_sentences/en/timers.yaml b/custom_sentences/en/timers.yaml new file mode 100644 index 0000000..55eec3e --- /dev/null +++ b/custom_sentences/en/timers.yaml @@ -0,0 +1,47 @@ +language: "en" + +intents: + SetTimer: + data: + - sentences: + - "(set|start) [(a|the)] timer in [the] {room} (for|to) {time} {unit}" + - "(set|start) [(a|the)] timer (for|to) {time} {unit} in [the] {room}" + CancelTimer: + data: + - sentences: + - "cancel [the] timer [(in|for)] [the] {room}" + - "cancel [the] {room} timer" + PauseTimer: + data: + - sentences: + - "pause [the] timer [(in|for)] [the] {room}" + - "pause [the] {room} timer" + ResumeTimer: + data: + - sentences: + - "(unpause|resume) [the] timer [(in|for)] [the] {room}" + - "(unpause|resume) [the] {room} timer" + +skip_words: + - "please" + - "can you" + - "alexa" + - "hey google" + +lists: + room: + values: + - in: "kitchen" + out: "timer.kitchen_timer" + unit: + values: + - in: "(hours|hour)" + out: "hours" + - in: "(minutes|minute)" + out: "minutes" + - in: "(seconds|second)" + out: "seconds" + time: + range: + from: 0 + to: 60 \ No newline at end of file diff --git a/packages/time.yaml b/packages/time.yaml new file mode 100644 index 0000000..d04bed8 --- /dev/null +++ b/packages/time.yaml @@ -0,0 +1,38 @@ +intent_script: + SetTimer: + action: + service: timer.start + target: + entity_id: "{{ room }}" + data: + duration: > + {% if unit == 'hours' %} + {{ (time * 60) * 60 }} + {% elif unit == 'minutes' %} + {{ time * 60}} + {% elif unit == 'seconds' %} + {{ time }} + {% endif %} + speech: + text: "Okay" + CancelTimer: + action: + service: timer.cancel + target: + entity_id: "{{ room }}" + speech: + text: "Okay" + PauseTimer: + action: + service: timer.pause + target: + entity_id: "{{ room }}" + speech: + text: "Okay" + ResumeTimer: + action: + service: timer.start + target: + entity_id: "{{ room }}" + speech: + text: "Okay"