Skip to content

Commit

Permalink
[FR] Make timers great again (#2239)
Browse files Browse the repository at this point in the history
* Hot madness don't ask me how it works

* typo typo typo yolo yolo yolo

* Better more robust tests (Also yolo)
  • Loading branch information
jlpouffier committed Jun 20, 2024
1 parent b5e6869 commit cae5125
Show file tree
Hide file tree
Showing 8 changed files with 105 additions and 48 deletions.
56 changes: 46 additions & 10 deletions sentences/fr/_common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -309,9 +309,9 @@ responses:
duplicate_entities_in_floor: "Désolé, plusieurs appareils de cet étage sont nommés {{entity}}"

# Errors for timers
timer_not_found: Désole, je n'ai pas trouvé ce minuteur
multiple_timers_matched: Désole, je ne peux pas cibler plusieurs minutuers
no_timer_support: Désolé, cet appareil ne supporte pas les fonctions lié aux minuteurs.
timer_not_found: "Désolé, je n'ai pas trouvé ce minuteur"
multiple_timers_matched: "Désolé, je ne peux pas cibler plusieurs minuteurs"
no_timer_support: "Désolé, cet appareil ne supporte pas les fonctions lié aux minuteurs"

lists:
color:
Expand Down Expand Up @@ -624,16 +624,35 @@ lists:
range:
from: 1
to: 100

timer_minutes:
range:
from: 1
to: 100

timer_hours:
range:
from: 1
to: 100

timer_words_seconds:
values:
- in: "un|une"
out: "1"

timer_words_minutes:
values:
- in: "un|une"
out: "1"

timer_words_hours:
values:
- in: "un|une"
out: "1"

timer_name:
wildcard: true

timer_command:
wildcard: true

Expand Down Expand Up @@ -690,15 +709,32 @@ expansion_rules:
volume: "(volume|son|watt[s])"
minuteur: "(compte a rebours)|(compte à rebours)|(minuteur)|(décompte)"

# Timers
timer_duration_seconds: "{timer_seconds:seconds} seconde[s]"
timer_duration_minutes: "{timer_minutes:minutes} minute[s][ [et ]{timer_seconds:seconds} seconde[s]]"
timer_duration_hours: "{timer_hours:hours} heure[s][ [et ]{timer_minutes:minutes} minute[s]][ [et ]{timer_seconds:seconds} seconde[s]]"
### Timers ###
# mix numerical and litteral value for seconds, minutes and hours for the setting of the duration of the timmer
nb_seconds_duration: "({timer_seconds:seconds}|{timer_words_seconds:seconds})"
nb_minutes_duration: "({timer_minutes:minutes}|{timer_words_minutes:minutes})"
nb_hours_duration: "({timer_hours:hours}|{timer_words_hours:hours})"

# mix numerical and litteral value for seconds, minutes and hours for the request of the status of a timmer by its initial duration
nb_seconds_start: "({timer_seconds:start_seconds}|{timer_words_seconds:start_seconds})"
nb_minutes_start: "({timer_minutes:start_minutes}|{timer_words_minutes:start_minutes})"
nb_hours_start: "({timer_hours:start_hours}|{timer_words_hours:start_hours})"

# definition of the units for seconds, minutes and hours
second_unit: "(seconde|secondes|sec|s)"
minute_unit: "(minute|minutes|min|m)"
hour_unit: "(heure|heures|h)"

# definition of all possible values for the setting of the duration of the timmer
timer_duration_seconds: "<nb_seconds_duration>[ ]<second_unit>"
timer_duration_minutes: "<nb_minutes_duration>[ ]<minute_unit>[[ ][et][ ]<nb_seconds_duration>[ ][<second_unit>]]"
timer_duration_hours: "<nb_hours_duration>[ ]<hour_unit>[[ ][et][ ]<nb_minutes_duration>[ ][<minute_unit>]][[ ][et][ ]<nb_seconds_duration>[ ][<second_unit>]]"
timer_duration: "<timer_duration_seconds>|<timer_duration_minutes>|<timer_duration_hours>"

timer_start_seconds: "{timer_seconds:start_seconds} seconde[s]"
timer_start_minutes: "{timer_minutes:start_minutes} minute[s][ [et ]{timer_seconds:start_seconds} seconde[s]]"
timer_start_hours: "{timer_hours:start_hours} heure[s][ [et ]{timer_minutes:start_minutes} minute[s]][ [et ]{timer_seconds:start_seconds} seconde[s]]"
# definition of all possible values for the request of the status of a timmer by its initial duration
timer_start_seconds: "<nb_seconds_start>[ ]<second_unit>"
timer_start_minutes: "<nb_minutes_start>[ ]<minute_unit>[[ ][et][ ]<nb_seconds_start>[ ][<second_unit>]]"
timer_start_hours: "<nb_hours_start>[ ]<hour_unit>[[ ][et][ ]<nb_minutes_start>[ ][<minute_unit>]][[ ][et][ ]<nb_seconds_start>[ ][<second_unit>]]"
timer_start: "<timer_start_seconds>|<timer_start_minutes>|<timer_start_hours>"

# Others
Expand Down
2 changes: 1 addition & 1 deletion tests/fr/homeassistant_HassCancelTimer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ tests:
# duration
- sentences:
- "Supprime le minuteur de 5 minutes"
- "Arrête le minuteur de 5 minutes"
- "Arrête le minuteur de 5 min"
intent:
name: HassCancelTimer
slots:
Expand Down
6 changes: 3 additions & 3 deletions tests/fr/homeassistant_HassDecreaseTimer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ tests:
# No name
- sentences:
- "Enlève 2 minute du minuteur"
- "Enlève 2 minute au minuteur"
- "Enlève 2 min au minuteur"
- "Enlève 2 minute sur le minuteur"
intent:
name: HassDecreaseTimer
Expand All @@ -16,7 +16,7 @@ tests:
- sentences:
- "Enlève 2 minute du minuteur de la cuisine"
- "Enlève 2 minute au minuteur de la cuisine"
- "Enlève 2 minute sur le minuteur de la cuisine"
- "Enlève 2 min sur le minuteur de la cuisine"
intent:
name: HassDecreaseTimer
slots:
Expand All @@ -27,7 +27,7 @@ tests:
# duration
- sentences:
- "Enlève 2 minute du minuteur de 5 minutes"
- "Enlève 2 minute au minuteur de 5 minutes"
- "Enlève 2 min au minuteur de 5 min"
- "Enlève 2 minute sur le minuteur de 5 minutes"
intent:
name: HassDecreaseTimer
Expand Down
10 changes: 5 additions & 5 deletions tests/fr/homeassistant_HassIncreaseTimer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ language: fr
tests:
# No name
- sentences:
- "Ajoute 2 minute du minuteur"
- "Ajoute 2 min du minuteur"
- "Ajoute 2 minute au minuteur"
- "Ajoute 2 minute sur le minuteur"
intent:
Expand All @@ -16,7 +16,7 @@ tests:
- sentences:
- "Ajoute 2 minute du minuteur de la cuisine"
- "Ajoute 2 minute au minuteur de la cuisine"
- "Ajoute 2 minute sur le minuteur de la cuisine"
- "Ajoute 2 min sur le minuteur de la cuisine"
intent:
name: HassIncreaseTimer
slots:
Expand All @@ -27,8 +27,8 @@ tests:
# duration
- sentences:
- "Ajoute 2 minute du minuteur de 5 minutes"
- "Ajoute 2 minute au minuteur de 5 minutes"
- "Ajoute 2 minute sur le minuteur de 5 minutes"
- "Ajoute 2 min au minuteur de 5 min"
- "Ajoute 2 minute sur le minuteur de 5 min"
intent:
name: HassIncreaseTimer
slots:
Expand All @@ -39,7 +39,7 @@ tests:
# name
- sentences:
- "Ajoute 2 minute du minuteur chocolatine"
- "Ajoute 2 minute au minuteur chocolatine"
- "Ajoute 2 min au minuteur chocolatine"
- "Ajoute 2 minute sur le minuteur chocolatine"
intent:
name: HassIncreaseTimer
Expand Down
4 changes: 2 additions & 2 deletions tests/fr/homeassistant_HassPauseTimer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ tests:
# duration
- sentences:
- "Mets le minuteur de 5 minutes en pause"
- "Mets le minuteur de 5 minutes sur pause"
- "Mets le minuteur de 5 min sur pause"
- "Mets en pause le minuteur de 5 minutes"
- "Mets sur pause le minuteur de 5 minutes"
- "Mets sur pause le minuteur de 5 min"
intent:
name: HassPauseTimer
slots:
Expand Down
72 changes: 46 additions & 26 deletions tests/fr/homeassistant_HassStartTimer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ language: fr
tests:
# No name / No Verb
- sentences:
- "Minuteur 5 minutes"
- "Minuteur 5 min"
- "Minuteur pour 5 minutes"
- "Minuteur de 5 minutes"
- "Minuteur de 5 min"
intent:
name: HassStartTimer
context:
Expand All @@ -14,22 +14,42 @@ tests:
minutes: 5
response: Minuteur lancé
- sentences:
- "Minuteur d'1 heure"
- "Minuteur d'une heure"
intent:
name: HassStartTimer
context:
area: Cuisine
slots:
hours: "1"
response: Minuteur lancé
- sentences:
- "Minuteur 02h16" # Real and problematic STT output for HA Cloud (To be kept in the test suit)
- "Minuteur 2 h et 16 Min"
intent:
name: HassStartTimer
context:
area: Cuisine
slots:
hours: 2
minutes: 16
response: Minuteur lancé
- sentences:
- "Minuteur 01h30" # Real and problematic STT output for HA Cloud (To be kept in the test suit)
intent:
name: HassStartTimer
context:
area: Cuisine
slots:
hours: 1
minutes: 30
response: Minuteur lancé

# No name / Verb
- sentences:
- "Crée un minuteur de 5 minutes"
- "Crée un minuteur pour 5 minutes"
- "Crée un minuteur pour 5 min"
- "Démarre un minuteur de 5 minutes"
- "Démarre un minuteur pour 5 minutes"
- "Mets un minuteur de 5 minutes"
- "Mets un minuteur de 5 min"
- "Mets un minuteur pour 5 minutes"
intent:
name: HassStartTimer
Expand All @@ -39,22 +59,22 @@ tests:
minutes: 5
response: Minuteur lancé
- sentences:
- "Crée un minuteur d'1 heure"
- "Démarre un minuteur d'1 heure"
- "Mets un minuteur d'1 heure"
- "Crée un minuteur d'une heure"
- "Démarre un minuteur d'une heure"
- "Mets un minuteur d'une heure"
intent:
name: HassStartTimer
context:
area: Cuisine
slots:
hours: 1
hours: "1"
response: Minuteur lancé

# Name / No Verb
- sentences:
# - "Minuteur chocolatine 5 minutes"
- "Minuteur chocolatine pour 5 minutes"
- "Minuteur chocolatine de 5 minutes"
- "Minuteur chocolatine de 5 min"
- "Minuteur 5 minutes appelé chocolatine"
- "Minuteur pour 5 minutes appelé chocolatine"
- "Minuteur de 5 minutes appelé chocolatine"
Expand All @@ -70,15 +90,15 @@ tests:
response: Minuteur lancé
- sentences:
# - "Minuteur chocolatine 1 heure"
- "Minuteur chocolatine d'1 heure"
- "Minuteur d'1 heure appelé chocolatine"
- "Minuteur 1 heure appelé chocolatine"
- "Minuteur chocolatine d'une heure"
- "Minuteur d'une heure appelé chocolatine"
- "Minuteur une heure appelé chocolatine"
intent:
name: HassStartTimer
context:
area: Cuisine
slots:
hours: 1
hours: "1"
name:
- "chocolatine "
- "chocolatine"
Expand All @@ -88,16 +108,16 @@ tests:
- sentences:
- "Crée un minuteur chocolatine de 5 minutes"
- "Crée un minuteur chocolatine pour 5 minutes"
- "Démarre un minuteur chocolatine de 5 minutes"
- "Démarre un minuteur chocolatine de 5 min"
- "Démarre un minuteur chocolatine pour 5 minutes"
- "Mets un minuteur chocolatine de 5 minutes"
- "Mets un minuteur chocolatine pour 5 minutes"
- "Crée un minuteur de 5 minutes appelé chocolatine"
- "Crée un minuteur de 5 min appelé chocolatine"
- "Crée un minuteur pour 5 minutes appelé chocolatine"
- "Démarre un minuteur de 5 minutes appelé chocolatine"
- "Démarre un minuteur pour 5 minutes appelé chocolatine"
- "Démarre un minuteur pour 5 min appelé chocolatine"
- "Mets un minuteur de 5 minutes appelé chocolatine"
- "Mets un minuteur pour 5 minutes appelé chocolatine"
- "Mets un minuteur pour 5 min appelé chocolatine"
intent:
name: HassStartTimer
context:
Expand All @@ -109,18 +129,18 @@ tests:
- "chocolatine"
response: Minuteur lancé
- sentences:
- "Crée un minuteur chocolatine d'1 heure"
- "Démarre un minuteur chocolatine d'1 heure"
- "Mets un minuteur chocolatine d'1 heure"
- "Crée un minuteur d'1 heure appelé chocolatine"
- "Démarre un minuteur d'1 heure appelé chocolatine"
- "Mets un minuteur d'1 heure appelé chocolatine"
- "Crée un minuteur chocolatine d'une heure"
- "Démarre un minuteur chocolatine d'une heure"
- "Mets un minuteur chocolatine d'une heure"
- "Crée un minuteur d'une heure appelé chocolatine"
- "Démarre un minuteur d'une heure appelé chocolatine"
- "Mets un minuteur d'une heure appelé chocolatine"
intent:
name: HassStartTimer
context:
area: Cuisine
slots:
hours: 1
hours: "1"
name:
- "chocolatine "
- "chocolatine"
Expand Down
2 changes: 1 addition & 1 deletion tests/fr/homeassistant_HassTimerStatus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ tests:
# duration
- sentences:
- "Combien de temps reste-t-il au minuteur de 5 minutes"
- "Combien de temps reste-t-il sur le minuteur de 5 minutes"
- "Combien de temps reste-t-il sur le minuteur de 5 min"
- "Combien de temps reste-t-il dans le minuteur de 5 minutes"
intent:
name: HassTimerStatus
Expand Down
1 change: 1 addition & 0 deletions tests/fr/homeassistant_HassUnpauseTimer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ tests:

# duration
- sentences:
- "Reprends le minuteur de 5 min"
- "Reprends le minuteur de 5 minutes"
intent:
name: HassUnpauseTimer
Expand Down

0 comments on commit cae5125

Please sign in to comment.