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

Add new intents for cover, valve, vacuum, media player #1967

Merged
merged 4 commits into from
Feb 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 171 additions & 0 deletions intents.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,46 @@ HassNevermind:
domain: homeassistant
description: "Does nothing. Used to cancel a request"

HassSetPosition:
supported: true
domain: homeassistant
description: "Sets the position of an entity"
slots:
name:
description: "Name of a device or entity"
required: false
area:
description: "Name of an area"
required: false
domain:
description: "Domain of devices/entities in an area"
required: false
device_class:
description: "Device class of devices/entities in an area"
required: false
position:
description: "Position from 0 to 100"
required: true
slot_combinations:
name_only:
- "name"
area_only:
- "area"
domain_only:
- "domain"
area_name:
- "name"
- "area"
area_domain:
- "area"
- "domain"
area_device_class:
- "area"
- "device_class"
domain_device_class:
- "domain"
- "device_class"

# -----------------------------------------------------------------------------
# light
# -----------------------------------------------------------------------------
Expand Down Expand Up @@ -209,3 +249,134 @@ HassListAddItem:
name:
description: "Name of the list"
required: true

# -----------------------------------------------------------------------------
# vacuum
# -----------------------------------------------------------------------------

HassVacuumStart:
supported: true
domain: vacuum
description: "Starts a vacuum"
slots:
name:
description: "Name of a device or entity"
required: false
area:
description: "Name of an area"
required: false
slot_combinations:
name_only:
- "name"
area_only:
- "area"
area_name:
- "name"
- "area"

HassVacuumReturnToBase:
supported: true
domain: vacuum
description: "Returns a vacuum to base"
slots:
name:
description: "Name of a device or entity"
required: false
area:
description: "Name of an area"
required: false
slot_combinations:
name_only:
- "name"
area_only:
- "area"
area_name:
- "name"
- "area"

# -----------------------------------------------------------------------------
# media_player
# -----------------------------------------------------------------------------

HassMediaPause:
supported: true
domain: media_player
description: "Pauses a media player"
slots:
name:
description: "Name of a device or entity"
required: false
area:
description: "Name of an area"
required: false
slot_combinations:
name_only:
- "name"
area_only:
- "area"
area_name:
- "name"
- "area"

HassMediaUnpause:
supported: true
domain: media_player
description: "Unpauses a media player"
slots:
name:
description: "Name of a device or entity"
required: false
area:
description: "Name of an area"
required: false
slot_combinations:
name_only:
- "name"
area_only:
- "area"
area_name:
- "name"
- "area"

HassMediaNext:
supported: true
domain: media_player
description: "Skips a media player to the next item"
slots:
name:
description: "Name of a device or entity"
required: false
area:
description: "Name of an area"
required: false
slot_combinations:
name_only:
- "name"
area_only:
- "area"
area_name:
- "name"
- "area"

HassSetVolume:
supported: true
domain: media_player
description: "Sets the volume of a media player"
slots:
name:
description: "Name of a device or entity"
required: false
area:
description: "Name of an area"
required: false
volume_level:
description: "Volume level from 0 to 100"
required: true
slot_combinations:
name_only:
- "name"
area_only:
- "area"
area_name:
- "name"
- "area"
5 changes: 5 additions & 0 deletions responses/en/HassMediaNext.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: en
responses:
intents:
HassMediaNext:
default: "Playing next"
5 changes: 5 additions & 0 deletions responses/en/HassMediaPause.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: en
responses:
intents:
HassMediaPause:
default: "Paused"
5 changes: 5 additions & 0 deletions responses/en/HassMediaUnpause.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: en
responses:
intents:
HassMediaUnpause:
default: "Unpaused"
5 changes: 5 additions & 0 deletions responses/en/HassSetPosition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: en
responses:
intents:
HassSetPosition:
default: "Position set"
5 changes: 5 additions & 0 deletions responses/en/HassSetVolume.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: en
responses:
intents:
HassSetVolume:
default: "Volume set"
1 change: 1 addition & 0 deletions responses/en/HassTurnOff.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ responses:
fan_all: "Turned off all of the fans"
cover_device_class: "Closed the {{ slots.device_class }}"
lock: "Unlocked"
valve: "Closed"
1 change: 1 addition & 0 deletions responses/en/HassTurnOn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ responses:
scene: "Activated"
script: "Started"
lock: "Locked"
valve: "Opened"
5 changes: 5 additions & 0 deletions responses/en/HassVacuumReturnToBase.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: en
responses:
intents:
HassVacuumReturnToBase:
default: "Returning"
5 changes: 5 additions & 0 deletions responses/en/HassVacuumStart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: en
responses:
intents:
HassVacuumStart:
default: "Started"
14 changes: 14 additions & 0 deletions sentences/en/_common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,18 @@ lists:
zone:
wildcard: true

position:
range:
type: "percentage"
from: 0
to: 100

volume:
range:
type: "percentage"
from: 0
to: 100

expansion_rules:
name: "[the] {name}"
area: "[the] {area}"
Expand All @@ -325,6 +337,8 @@ expansion_rules:
set: "(set|make|change|turn)"
numeric_value_set: "(set|change|turn|increase|decrease|make)"
in: "(in|on|at|of)"
position: "{position}[[ ]%| percent]"
volume: "{volume:volume_level}[[ ]%| percent]"

# Questions
what_is_the_class_of_name: "(<what_is> the <class> (of|in|from|(indicated|measured) by) <name> [in <area>]|<what_is> <name>['s] <class> [in <area>]|<what_is> <area> <name>['s] <class>)"
Expand Down
10 changes: 10 additions & 0 deletions sentences/en/homeassistant_HassSetPosition.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
language: en
intents:
HassSetPosition:
data:
- sentences:
- "<set> <name> [position] to <position>"
requires_context:
domain:
- cover
- valve
1 change: 1 addition & 0 deletions sentences/en/homeassistant_HassTurnOn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ intents:
- scene
- script
- sensor
- valve
8 changes: 8 additions & 0 deletions sentences/en/media_player_HassMediaNext.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
language: en
intents:
HassMediaNext:
data:
- sentences:
- "next [track|item] [on|for] <name>"
requires_context:
domain: media_player
8 changes: 8 additions & 0 deletions sentences/en/media_player_HassMediaPause.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
language: en
intents:
HassMediaPause:
data:
- sentences:
- "(pause|stop) <name>"
requires_context:
domain: media_player
8 changes: 8 additions & 0 deletions sentences/en/media_player_HassMediaUnpause.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
language: en
intents:
HassMediaUnpause:
data:
- sentences:
- "(unpause|resume) <name>"
requires_context:
domain: media_player
8 changes: 8 additions & 0 deletions sentences/en/media_player_HassSetVolume.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
language: en
intents:
HassSetVolume:
data:
- sentences:
- "set <name> [volume] to <volume>"
requires_context:
domain: media_player
8 changes: 8 additions & 0 deletions sentences/en/vacuum_HassVacuumReturnToBase.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
language: en
intents:
HassVacuumReturnToBase:
data:
- sentences:
- "return <name>[to base]"
requires_context:
domain: vacuum
8 changes: 8 additions & 0 deletions sentences/en/vacuum_HassVacuumStart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
language: en
intents:
HassVacuumStart:
data:
- sentences:
- "start <name>"
requires_context:
domain: vacuum
11 changes: 11 additions & 0 deletions sentences/en/valve_HassTurnOff.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
language: en
intents:
HassTurnOff:
data:
- sentences:
- "<close> <name>"
requires_context:
domain: valve
slots:
domain: valve
response: valve
11 changes: 11 additions & 0 deletions sentences/en/valve_HassTurnOn.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
language: en
intents:
HassTurnOn:
data:
- sentences:
- "<open> <name>"
requires_context:
domain: valve
slots:
domain: valve
response: valve
17 changes: 17 additions & 0 deletions tests/en/_fixtures.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ entities:
state: "closed"
attributes:
device_class: curtain
position: "0"

- name: "Outside Temperature"
id: "sensor.outside_temperature"
Expand Down Expand Up @@ -708,3 +709,19 @@ entities:
- name: "Trader Joe[']s"
id: "todo.trader_joes"
state: ""

- name: "Main Valve"
id: "valve.main_valve"
state: "open"
attributes:
position: "100"

- name: "TV"
id: "media_player.tv"
state: "idle"
attributes:
volume_level: "50"

- name: "Rover"
id: "vacuum.rover"
state: "idle"
Loading