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

[BG] Added timers #2338

Merged
merged 1 commit into from
Sep 2, 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
6 changes: 6 additions & 0 deletions responses/bg/HassCancelTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: bg
responses:
intents:
HassCancelTimer:
default: "Спрях таймера"
6 changes: 6 additions & 0 deletions responses/bg/HassDecreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: bg
responses:
intents:
HassDecreaseTimer:
default: "Обнових таймера"
6 changes: 6 additions & 0 deletions responses/bg/HassIncreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: bg
responses:
intents:
HassIncreaseTimer:
default: "Обнових таймера"
6 changes: 6 additions & 0 deletions responses/bg/HassPauseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: bg
responses:
intents:
HassPauseTimer:
default: "Паузирах таймера"
7 changes: 7 additions & 0 deletions responses/bg/HassStartTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
language: bg
responses:
intents:
HassStartTimer:
default: "Стартирах таймер"
command: "Приех командата"
116 changes: 116 additions & 0 deletions responses/bg/HassTimerStatus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
---
language: bg
responses:
intents:
HassTimerStatus:
default: |
{% set num_timers = slots.timers | length %}
{% set active_timers = slots.timers | selectattr('is_active') | list %}
{% set num_active_timers = active_timers | length %}
{% set paused_timers = slots.timers | rejectattr('is_active') | list %}
{% set num_paused_timers = paused_timers | length %}
{% set next_timer = None %}

{% if num_timers == 0: %}
Няма таймери.
{% elif num_active_timers == 0: %}
{% if num_paused_timers == 1: %}
{% set next_timer = paused_timers[0] %}
Таймерът е паузиран.
{% else: %}
{{ num_paused_timers }} таймера са паузирани.
{% endif %}
{% else: %}
{% if num_active_timers == 1: %}
{% set next_timer = active_timers[0] %}
{% else: %}
{% set sorted_timers = active_timers | sort(attribute='total_seconds_left') %}
{% set next_timer = sorted_timers[0] %}
{{ num_active_timers }} работещи таймера.
{% endif %}

{% if num_paused_timers == 1: %}
1 паузиран таймер.
{% elif num_paused_timers > 0: %}
{{ num_paused_timers }} паузирани таймера.
{% endif %}
{% endif %}

{% if next_timer: %}
Остават
{% if (next_timer.rounded_hours_left == 1) and (next_timer.rounded_minutes_left > 0): %}
1 час и {{ next_timer.rounded_minutes_left }} минути
{% elif (next_timer.rounded_hours_left == 1): %}
1 час
{% elif (next_timer.rounded_hours_left > 1) and (next_timer.rounded_minutes_left > 0): %}
{{ next_timer.rounded_hours_left }} часа и {{ next_timer.rounded_minutes_left }} минути
{% elif (next_timer.rounded_hours_left > 1): %}
{{ next_timer.rounded_hours_left }} часа
{% elif (next_timer.rounded_minutes_left == 1) and (next_timer.rounded_seconds_left > 0): %}
1 минута и {{ next_timer.rounded_seconds_left }} секунди
{% elif (next_timer.rounded_minutes_left == 1): %}
1 минута
{% elif (next_timer.rounded_minutes_left > 1) and (next_timer.rounded_seconds_left > 0): %}
{{ next_timer.rounded_minutes_left }} минути и {{ next_timer.rounded_seconds_left }} секунди
{% elif (next_timer.rounded_minutes_left > 1): %}
{{ next_timer.rounded_minutes_left }} минути
{% elif (next_timer.rounded_seconds_left == 1): %}
1 секунда
{% elif (next_timer.rounded_seconds_left > 1): %}
{{ next_timer.rounded_seconds_left }} секунди
{% endif %}

{% if num_timers > 1: %}
от таймера за
{% if (next_timer.start_hours > 0) and (next_timer.start_minutes > 0): %}
{% if (next_timer.start_hours == 1) %}
1 час
{% else: %}
{{ next_timer.start_hours }} часа
{% endif %}
{% if (next_timer.start_minutes == 1) %}
и 1 минута
{% else: %}
и {{ next_timer.start_minutes }} минути
{% endif %}
{% elif (next_timer.start_hours > 0): %}
{% if (next_timer.start_hours == 1) %}
1 час
{% else: %}
{{ next_timer.start_hours }} часа
{% endif %}
{% elif (next_timer.start_minutes > 0) and (next_timer.start_seconds > 0): %}
{% if (next_timer.start_minutes == 1) %}
1 минута
{% else: %}
{{ next_timer.start_minutes }} минути
{% endif %}
{% if (next_timer.start_seconds == 1) %}
и 1 секунда
{% else: %}
и {{ next_timer.start_seconds }} секунди
{% endif %}

{% elif (next_timer.start_minutes > 0): %}
{% if (next_timer.start_minutes == 1) %}
1 минута
{% else: %}
{{ next_timer.start_minutes }} минути
{% endif %}
{% elif (next_timer.start_seconds > 0): %}
{% if (next_timer.start_seconds == 1) %}
1 секунда
{% else: %}
{{ next_timer.start_seconds }} секунди
{% endif %}
{% endif %}

{% if next_timer.name: %}
с име {{ next_timer.name }}.
{% elif next_timer.area: %}
в {{ next_timer.area }}.
{% endif %}
{% else: %}
.
{% endif %}
{% endif %}
6 changes: 6 additions & 0 deletions responses/bg/HassUnpauseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: bg
responses:
intents:
HassUnpauseTimer:
default: "Продължих таймера"
57 changes: 57 additions & 0 deletions sentences/bg/_common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,51 @@ lists:
shopping_list_item:
wildcard: true

timer_seconds:
range:
from: 1
to: 100

timer_minutes:
range:
from: 1
to: 100

timer_hours:
range:
from: 1
to: 100

timer_half:
values:
- in: "половин"
out: 30
- in: "половина"
out: 30

timer_words_seconds:
values:
- in: "една"
out: 1

timer_words_minutes:
values:
- in: "една"
out: 1

timer_words_hours:
values:
- in: "един"
out: 1
- in: "два"
out: 2

timer_name:
wildcard: true

timer_command:
wildcard: true

expansion_rules:
name: "{name}"
area: "[в|на|във] {area}"
Expand All @@ -307,6 +352,18 @@ expansion_rules:
set: "направи|сложи|постави|смени|промени|настрой|задай|нагласи|тури|навий"
close: "затвори|смъкни|спусни|закрий|свали"
open: "отвори|вдигни|открий"
# Timers
timer_set: "(стартирай|настрой|създай)"
timer_cancel: "(изключи|спри)"
timer_duration_seconds: "({timer_seconds:seconds}|{timer_words_seconds:seconds}) секунд(а|и|ен)"
timer_duration_minutes: "(({timer_minutes:minutes}|{timer_words_minutes:minutes}) минут(а|и|ен)[ [и] ({timer_seconds:seconds}|{timer_words_seconds:seconds}) секунд(а|и)])|(({timer_minutes:minutes}|{timer_words_minutes:minutes}) минут(а|и) и {timer_half:seconds})|({timer_half:seconds} минута)"
timer_duration_hours: "(({timer_hours:hours}|{timer_words_hours:hours}) час[а|ов][ [и] ({timer_minutes:minutes}|{timer_words_minutes:minutes}) минут(а|и)][ [и] ({timer_seconds:seconds}|{timer_words_seconds:seconds}) секунд(а|и)])|(({timer_hours:hours}||{timer_words_hours:hours}) час[а] и {timer_half:minutes})|({timer_half:minutes} час[а])"
timer_duration: "<timer_duration_seconds>|<timer_duration_minutes>|<timer_duration_hours>"
timer_start_seconds: "{timer_seconds:start_seconds} секунд(а|и)"
timer_start_minutes: "{timer_minutes:start_minutes} минут(а|и)[ [и ]{timer_seconds:start_seconds} секунд(а|и)]"
timer_start_hours: "{timer_hours:start_hours} час[а][ [и ]{timer_minutes:start_minutes} минут(а|и)][ [и ]{timer_seconds:start_seconds} секунд(а|и)]"
timer_start: "<timer_start_seconds>|<timer_start_minutes>|<timer_start_hours>"

skip_words:
- "извинявай"
- "можеш ли"
Expand Down
13 changes: 13 additions & 0 deletions sentences/bg/homeassistant_HassCancelTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
language: "bg"
intents:
HassCancelTimer:
data:
- sentences:
- "(изключи| спри)[ моя| моят] таймер[а|ът] [ми]"
- "(изключи| спри)[ моя| моят] <timer_start> таймер"
- "(изключи| спри)[ моя| моят] таймер[а| ът] [ми] (за|от) <timer_start>"
- "(изключи| спри)[ моя| моят] {area} таймер"
- "(изключи| спри)[ моя| моят] таймер[а| ът] [ми] [в|във] <area>"
- "(изключи| спри)[ моя| моят] {timer_name:name} таймер[а|ът] [ми]"
- "(изключи| спри)[ моя| моят] таймер[а| ът] [ми] (с име|на име|за) {timer_name:name}"
20 changes: 20 additions & 0 deletions sentences/bg/homeassistant_HassDecreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
language: "bg"
intents:
HassDecreaseTimer:
data:
- sentences:
- "(махни| премахни| извади) <timer_duration> от [ моя| моят] таймер[а| ът] [ми]"
- "(махни| премахни| извади) <timer_duration> от [ моя| моят] таймер[а| ът] [ми] (за| от) <timer_start>"
- "(махни| премахни| извади) <timer_duration> от [ моя| моят] таймер[а| ът] [ми] (в| във) <area>"
- "(махни| премахни| извади) <timer_duration> от [ моя| моят] таймер[а| ът] [ми] (с име|на име|за) {timer_name:name}"
- "(махни| премахни| извади) <timer_duration> от [ моя| моят] {timer_name:name} таймер[а| ът] [ми]"
- "(махни| премахни| извади) от [ моя| моят] таймер[а|ът] [ми] <timer_duration>"
- "(махни| премахни| извади) от [ моя| моят] таймер[а|ът] [ми] (за|от) <timer_start> <timer_duration>"
- "(махни| премахни| извади) от [ моя| моят] таймер[а|ът] [ми] (в|във) <area> <timer_duration>"
- sentences:
- "намали[ моя| моят] таймер[а| ът] [ми] с <timer_duration>"
- "намали[ моя| моят] таймер[а| ът] [ми] (за| от) <timer_start> (с| със) <timer_duration>"
- "намали[ моя| моят] таймер[а| ът] [ми] (в| във) <area> (с| със) <timer_duration>"
- "намали[ моя| моят] {timer_name:name} таймер[а| ът] [ми] (с| със) <timer_duration>"
- "намали[ моя| моят] таймер[а| ът] [ми] (с име|на име|за) {timer_name:name} (с| със) <timer_duration>"
21 changes: 21 additions & 0 deletions sentences/bg/homeassistant_HassIncreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
language: "bg"
intents:
HassIncreaseTimer:
data:
- sentences:
- "(сложи| добави| прибави) <timer_duration> към[ моя| моят] таймер[а|ът] [ми]"
- "(сложи| добави| прибави) <timer_duration> към[ моя| моят] таймер[а|ът] [ми] (за|от) <timer_start>"
- "(сложи| добави| прибави) <timer_duration> към[ моя| моят] таймер[а|ът] [ми] (в|във) <area>"
- "(сложи| добави| прибави) <timer_duration> към[ моя| моят] {timer_name:name} таймер[а] [ми]"
- "(сложи| добави| прибави) <timer_duration> към[ моя| моят] таймер[а|ът] [ми] (с име|на име|за) {timer_name:name}"
- "(сложи| добави| прибави) <timer_duration> към[ моя| моят] таймер[а|ът] [ми] (за|от) <timer_start>"
- "(сложи| добави| прибави) към[ моя| моят] таймер[а|ът] [ми] <timer_duration>"
- "(сложи| добави| прибави) към[ моя| моят] таймер[а|ът] [ми] (за|от) <timer_start> <timer_duration>"
- "(сложи| добави| прибави) към[ моя| моят] таймер[а|ът] [ми] (в|във) <area> <timer_duration>"
- sentences:
- "увеличи[ моя| моят] таймер[а|ът] [ми] с <timer_duration>"
- "увеличи[ моя| моят] таймер[а|ът] [ми] (за|от) <timer_start> (с|със) <timer_duration>"
- "увеличи[ моя| моят] таймер[а|ът] [ми] (в|във) <area> (с|със) <timer_duration>"
- "увеличи[ моя| моят] {timer_name:name} таймер[а| ът] [ми] (с|със) <timer_duration>"
- "увеличи[ моя| моят] таймер[а|ът] [ми] (с име|на име|за) {timer_name:name} (с|със) <timer_duration>"
12 changes: 12 additions & 0 deletions sentences/bg/homeassistant_HassPauseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
language: "bg"
intents:
HassPauseTimer:
data:
- sentences:
- "(паузирай |сложи на пауза)[ моя| моят] таймер[а| ът] [ми]"
- "(паузирай |сложи на пауза)[ моя| моят] таймер[а| ът] [ми] от <timer_start>"
- "(паузирай |сложи на пауза)[ моя| моят] {area} таймер"
- "(паузирай |сложи на пауза)[ моя| моят] таймер[а| ът] [ми] (в| във) <area>"
- "(паузирай |сложи на пауза)[ моя| моят] {timer_name:name} таймер[а| ът] [ми]"
- "(паузирай |сложи на пауза)[ моя| моят] таймер[а| ът] [ми] (с име|на име|за) {timer_name:name}"
15 changes: 15 additions & 0 deletions sentences/bg/homeassistant_HassStartTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
language: "bg"
intents:
HassStartTimer:
data:
- sentences:
- "[пусни|включи|стартирай|настрой|задай|създай] таймер (за|от) <timer_duration>"
- "[пусни|включи|стартирай|настрой|задай|създай] <timer_duration> таймер"
- "[пусни|включи|стартирай|настрой|задай|създай] таймер [с име|на име] {timer_name:name} (за|от) <timer_duration>"
- "[пусни|включи|стартирай|настрой|задай|създай] таймер (за|от) <timer_duration> (с име|на име) {timer_name:name}"
- "<timer_duration> таймер (с име|на име|за) {timer_name:name}"
- sentences:
- "{timer_command:conversation_command} след <timer_duration>"
- "след <timer_duration> {timer_command:conversation_command}"
response: command
16 changes: 16 additions & 0 deletions sentences/bg/homeassistant_HassTimerStatus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
language: "bg"
intents:
HassTimerStatus:
data:
- sentences:
- "какъв е статус(а|ът) на [ моя| моят| моите] таймер[а|и|ите] [ми]"
- "колко [време] остава (от|на) [ моя| моят| моите] таймер[а|и|ите] [ми]"
- "какъв е статус(а|ът) на [ моя| моят] таймер[а| ът] [ми] (за| от) <timer_start>"
- "колко [време] остава (от|на) [ моя| моят] таймер[а| ът] [ми] (за| от) <timer_start>"
- "какъв е статус(а|ът) на [ моя| моят| моите] таймер[а|и|ите] [ми] (в|във) <area>"
- "колко [време] остава от [ моя| моят| моите] таймер[а|и|ите] [ми] (в|във) <area>"
- "какъв е статус(а|ът) на [ моя| моят] {timer_name:name} таймер[а|ът] [ми]"
- "колко [време] остава от [ моя| моят] {timer_name:name} таймер[а|ът] [ми]"
- "какъв е статус(а|ът) на [ моя| моят| моите] таймер[а|и|ите] [ми] [с име|на име|за] {timer_name:name}"
- "колко [време] остава от [ моя| моят] таймер[а|ът] [ми] [с име|на име|за] {timer_name:name} "
12 changes: 12 additions & 0 deletions sentences/bg/homeassistant_HassUnpauseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
language: "bg"
intents:
HassUnpauseTimer:
data:
- sentences:
- "продължи[ моя| моят] таймер[а|ът] [ми]"
- "продължи[ моя| моят] таймер[а|ът] [ми] (за|от) <timer_start>"
- "продължи[ моя| моят] {area} таймер"
- "продължи[ моя| моят] таймер[а|ът] [ми] (в|във) <area>"
- "продължи[ моя| моят] {timer_name:name} таймер[а|ът] [ми]"
- "продължи[ моя| моят] таймер[а|ът] [ми] (с име|на име|за) {timer_name:name}"
22 changes: 22 additions & 0 deletions tests/bg/_fixtures.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -421,3 +421,25 @@ entities:
- name: "задачите"
id: "todo.the_tasks"
state: ""

timers:
- is_active: false
start_hours: 1
total_seconds_left: 100
rounded_hours_left: 0
rounded_minutes_left: 1
rounded_seconds_left: 40

- name: "пица"
start_minutes: 30
total_seconds_left: 1505
rounded_hours_left: 0
rounded_minutes_left: 25
rounded_seconds_left: 0

- area: "кухнята"
start_minutes: 5
total_seconds_left: 190
rounded_hours_left: 0
rounded_minutes_left: 3
rounded_seconds_left: 0
Loading