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

[HU]Add timer functionality #2533

Merged
merged 4 commits into from
Nov 14, 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/hu/HassCancelTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: hu
responses:
intents:
HassCancelTimer:
default: "Időzítő törölve"
6 changes: 6 additions & 0 deletions responses/hu/HassDecreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: hu
responses:
intents:
HassDecreaseTimer:
default: "Időzítő frissítve"
6 changes: 6 additions & 0 deletions responses/hu/HassIncreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: hu
responses:
intents:
HassIncreaseTimer:
default: "Időzítő frissítve"
6 changes: 6 additions & 0 deletions responses/hu/HassPauseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: hu
responses:
intents:
HassPauseTimer:
default: "Időzítő szüneteltetve"
25 changes: 25 additions & 0 deletions responses/hu/HassStartTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
language: hu
responses:
intents:
HassStartTimer:
default: >
{% set h = slots.hours if slots.hours is defined else none %}
{% set m = slots.minutes if slots.minutes is defined else none %}
{% set s = slots.seconds if slots.seconds is defined else none %}
{% set h_text = h ~ ' óra' if h else '' %}
{% set m_text = (30 if m in ['fél', '1/2'] else m) ~ ' perc' if m else '' %}
{% set s_text = (30 if s in ['fél', '1/2'] else s) ~ ' másodperc' if s else '' %}
{% set text_list = [ h_text, m_text, s_text] | select() | list %}
{% set text = text_list | join(' ') %}
{% set name = (slots.name | trim ~ ' néven') if slots.name is defined else '' %}
Időzítő beállítva {{ text }} időtartamra {{ name }}
command: >
{% set h = slots.hours if slots.hours is defined else none %}
{% set m = slots.minutes if slots.minutes is defined else none %}
{% set s = slots.seconds if slots.seconds is defined else none %}
{% set h_text = h ~ ' óra' if h else '' %}
{% set m_text = (30 if m in ['fél', '1/2'] else m) ~ ' perc' if m else '' %}
{% set s_text = (30 if s in ['fél', '1/2'] else s) ~ ' másodperc' if s else '' %}
{% set text_list = [ h_text, m_text, s_text] | select() | list %}
{% set text = text_list | join(' ') %}
A parancs {{ text }} múlva végrehajtásra kerül
111 changes: 111 additions & 0 deletions responses/hu/HassTimerStatus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
language: hu
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: %}
Nincsenek időzítők.
{% elif num_active_timers == 0: %}
{# Nincsenek aktív időzítők #}
{% if num_paused_timers == 1: %}
{% set next_timer = paused_timers[0] %}
Az időzítő szüneteltetve van.
{% else: %}
{{ num_paused_timers }} szüneteltetett időzítő.
{% endif %}
{% else: %}
{# Legalább egy aktív időzítő van #}
{% if num_active_timers == 1: %}
{% set next_timer = active_timers[0] %}
{% else: %}
{# A legközelebb lejáró aktív időzítő kiválasztása #}
{% set sorted_timers = active_timers | sort(attribute='total_seconds_left') %}
{% set next_timer = sorted_timers[0] %}
{{ num_active_timers }} futó időzítő.
{% endif %}

{% if num_paused_timers == 1: %}
1 szüneteltetett időzítő.
{% elif num_paused_timers > 0: %}
{{ num_paused_timers }} szüneteltetett időzítő.
{% endif %}
{% endif %}

{% if next_timer: %}
{# Legalább egy aktív időzítő van #}
{% if (next_timer.rounded_hours_left == 1) and (next_timer.rounded_minutes_left > 0): %}
1 óra {{ next_timer.rounded_minutes_left }} perc
{% elif (next_timer.rounded_hours_left == 1): %}
1 óra van hátra
{% elif (next_timer.rounded_hours_left > 1) and (next_timer.rounded_minutes_left > 0): %}
{{ next_timer.rounded_hours_left }} óra {{ next_timer.rounded_minutes_left }} perc van hátra
{% elif (next_timer.rounded_hours_left > 1): %}
{{ next_timer.rounded_hours_left }} óra
{% elif (next_timer.rounded_minutes_left == 1) and (next_timer.rounded_seconds_left > 0): %}
1 perc {{ next_timer.rounded_seconds_left }} másodperc
{% elif (next_timer.rounded_minutes_left == 1): %}
1 perc
{% elif (next_timer.rounded_minutes_left > 1) and (next_timer.rounded_seconds_left > 0): %}
{{ next_timer.rounded_minutes_left }} perc {{ next_timer.rounded_seconds_left }} másodperc
{% elif (next_timer.rounded_minutes_left > 1): %}
{{ next_timer.rounded_minutes_left }} perc
{% elif (next_timer.rounded_seconds_left == 1): %}
1 másodperc
{% elif (next_timer.rounded_seconds_left > 1): %}
{{ next_timer.rounded_seconds_left }} másodperc
{% endif %}

{% if num_timers > 1: %}
{# További információk a pontosabb megkülönböztetéshez #}
van hátra
{% if (next_timer.start_hours > 0) and (next_timer.start_minutes > 0): %}
{% if next_timer.start_hours in [1, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59] or next_timer.start_minutes in [1, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59] %}
az {{ next_timer.start_hours }} óra {{ next_timer.start_minutes }} perces
{% else %}
a {{ next_timer.start_hours }} óra {{ next_timer.start_minutes }} perces
{% endif %}
{% elif (next_timer.start_hours > 0): %}
{% if next_timer.start_hours in [1, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59] %}
az {{ next_timer.start_hours }} órás
{% else %}
a {{ next_timer.start_hours }} órás
{% endif %}
{% elif (next_timer.start_minutes > 0) and (next_timer.start_seconds > 0): %}
{% if next_timer.start_minutes in [1, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59] or next_timer.start_seconds in [1, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59] %}
az {{ next_timer.start_minutes }} perc {{ next_timer.start_seconds }} másodperces
{% else %}
a {{ next_timer.start_minutes }} perc {{ next_timer.start_seconds }} másodperces
{% endif %}
{% elif (next_timer.start_minutes > 0): %}
{% if next_timer.start_minutes in [1, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59] %}
az {{ next_timer.start_minutes }} perces
{% else %}
a {{ next_timer.start_minutes }} perces
{% endif %}
{% elif (next_timer.start_seconds > 0): %}
{% if next_timer.start_seconds in [1, 5, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59] %}
az {{ next_timer.start_seconds }} másodperces
{% else %}
a {{ next_timer.start_seconds }} másodperces
{% endif %}
{% endif %}

{% if next_timer.name: %}
{{ next_timer.name }} nevű
{% elif next_timer.area: %}
{{ next_timer.area }} helyen indított
{% endif %}

időzítőből.
{% else: %}
van hátra.
{% endif %}
{% endif %}
6 changes: 6 additions & 0 deletions responses/hu/HassUnpauseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
language: hu
responses:
intents:
HassUnpauseTimer:
default: "Időzítő folytatva"
54 changes: 54 additions & 0 deletions sentences/hu/_common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -596,6 +596,48 @@ lists:
- in: "Távol"
out: "not_home"

position_level:
values:
- in: (maximum[ra]|legnagyobb[ra])
out: 100
- in: (minimum[ra]|legkisebb[re]|legalacsonyabb[ra])
out: 1

volume_level:
range:
type: "percentage"
from: 0
to: 100
volume_mapping:
values:
- in: (maximum[ra]|legnagyobb[ra])
out: 100
- in: (minimum[ra]|legkisebb[re]|legalacsonyabb[ra])
out: 1

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: "fél"
out: 30
- in: "1/2"
out: 30
timer_name:
wildcard: true
timer_command:
wildcard: true

expansion_rules:
name: "[a |az ]{name}[<name_ragok>| <name_szavak>]"
name_ragok: "(n(a|e)k|[o|e]t|r(a|e)|[o|e|ö]n)"
Expand Down Expand Up @@ -648,6 +690,18 @@ expansion_rules:
#kérédések
what_is_the_class_of_name: "(<what_is> <class> [amit] <name>[a|e|n(a|e)k] [szenzor[a|nak|on]|érzékelő[je|nek|n]|eszköz[e|nek|ön]|esemény[nek]] [mér[t]|mutat[ott]] [<area>]|<what_is> (<name> [szenzor[a|on]|érzékelő[je|n]|eszköz[ön]] [által] [mért|mutatott] <class> [értéke]; [<area>]))"

timer_set: "(indíts[d][ el]|állíts[d][ be]|hozz létre)"
timer_cancel: "(töröld[ ki]|állítsd le|törlése)"
timer_duration_seconds: "{timer_seconds:seconds} másodperc[re|es|et|cel]"
timer_duration_minutes: "(({timer_minutes:minutes} perc[re|es|et|cel][ [és ]{timer_seconds:seconds} másodperc[re|es|et|cel]])|({timer_minutes:minutes} és {timer_half:seconds} perc[re|es|et|cel])|({timer_half:seconds} perc[re|es|et|cel]))"
timer_duration_hours: "({timer_hours:hours} ór(a|ás|ára|át|ával)[ [és ]{timer_minutes:minutes} perc[re|es|et|cel]][ [és ]{timer_seconds:seconds} másodperc[re|es|et|cel]])|({timer_hours:hours} és {timer_half:minutes} ór(a|ás|ára|át|ával))|({timer_half:minutes} ór(a|ás|ára|át|ával))"
timer_duration: "<timer_duration_seconds>|<timer_duration_minutes>|<timer_duration_hours>"

timer_start_seconds: "{timer_seconds:start_seconds} másodperc[re|es]"
timer_start_minutes: "{timer_minutes:start_minutes} perc[re|es][ [és ]{timer_seconds:start_seconds} másodperc[re|es]]"
timer_start_hours: "{timer_hours:start_hours} ór(a|ás|ára)[ [és ]{timer_minutes:start_minutes} perc[re|es]][ [és ]{timer_seconds:start_seconds} másodperc[re|es]]"
timer_start: "<timer_start_seconds>|<timer_start_minutes>|<timer_start_hours>"

skip_words:
- "kérem [szépen]"
- "kérlek [szépen]"
Expand Down
10 changes: 10 additions & 0 deletions sentences/hu/homeassistant_HassCancelTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
language: "hu"
intents:
HassCancelTimer:
data:
- sentences:
- "(<timer_cancel>;[az] időzítő[me][t])"
- "(<timer_cancel>;[a|az] <timer_start> időzítő[me][t])"
- "(<timer_cancel>;[a|az] {area} időzítő(t|jének))"
- "(<timer_cancel>;[a|az] {timer_name:name} [nevű] időzítő[me][t])"
17 changes: 17 additions & 0 deletions sentences/hu/homeassistant_HassDecreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
language: "hu"
intents:
HassDecreaseTimer:
data:
# Vegyél le/el...
- sentences:
- "vegyél (le|el) <timer_duration> az időzítő[m](r|b)ől"
- "vegyél (le|el) <timer_duration> [a|az] <timer_start> időzítő[m](r|b)ől"
- "vegyél (le|el) <timer_duration> [a|az] {area} időzítő[jé](r|b)ől"
- "vegyél (le|el) <timer_duration> [a|az] {timer_name:name} [nevű] időzítő[m](r|b)ől"
# Csökkentsd...
- sentences:
- "csökkentsd (az időzítő[me]t;<timer_duration>)"
- "csökkentsd ([a|az] <timer_start> időzítő[me]t;<timer_duration>)"
- "csökkentsd ([a|az] {area} időzítő[jé]t;<timer_duration>)"
- "csökkentsd ([a|az] {timer_name:name} [nevű] időzítő[me]t;<timer_duration>)"
16 changes: 16 additions & 0 deletions sentences/hu/homeassistant_HassIncreaseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
language: "hu"
intents:
HassIncreaseTimer:
data:
- sentences:
- "adj [hozzá] <timer_duration> az időzítő[m]höz"
- "adj [hozzá] <timer_duration> [a|az] <timer_start> időzítő[m]höz"
- "adj [hozzá] <timer_duration> [a|az] {area} időzítő(höz|jéhez)"
- "adj [hozzá] <timer_duration> [a|az] {timer_name:name} [nevű] időzítő[m]höz"

- sentences:
- "növeld [meg] (az időzítő[me]t;<timer_duration>)"
- "növeld [meg] ([a|az] <timer_start> időzítő[me]t;<timer_duration>)"
- "növeld [meg] ([a|az] {area} időzítő[jé]t;<timer_duration>)"
- "növeld [meg] ([a|az] {timer_name:name} [nevű] időzítő[me]t;<timer_duration>)"
10 changes: 10 additions & 0 deletions sentences/hu/homeassistant_HassPauseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
language: "hu"
intents:
HassPauseTimer:
data:
- sentences:
- "szüneteltesd [az] időzítő[me]t"
- "szüneteltesd [a|az] <timer_start> időzítő[me]t"
- "szüneteltesd [a|az] {area} időzítő(t|jét)"
- "szüneteltesd [a|az] {timer_name:name} [nevű] időzítő[me]t"
18 changes: 18 additions & 0 deletions sentences/hu/homeassistant_HassStartTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
language: "hu"
intents:
HassStartTimer:
data:
- sentences:
- "időzítő <timer_duration>"
- "időzítő <timer_duration> {timer_name:name} [név(en|re)]"
- "<timer_duration> időzítő"
- "<timer_duration> időzítő {timer_name:name} [név(en|re)]"
- "<timer_set> [egy] <timer_duration> időzítőt"
- "<timer_set> [egy|az] időzítőt <timer_duration>"
- "<timer_set> [egy] <timer_duration> időzítőt {timer_name:name} [név(en|re)]"
- "<timer_set> [egy|az] időzítőt {timer_name:name} [név(en|re)] <timer_duration>"
- "<timer_set> [egy|az] időzítőt <timer_duration> {timer_name:name} [név(en|re)]"
- sentences:
- "(<timer_duration> múlva;{timer_command:conversation_command})"
response: command
45 changes: 45 additions & 0 deletions sentences/hu/homeassistant_HassTimerStatus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
language: "hu"
intents:
HassTimerStatus:
data:
# Időzítő állapota
- sentences:
- "[mi] [az|a] <timer_start> időzítő[m] állapota"
- "[mi] [az] időzítő[m|im|k] állapota"
- "[mi] az időzítő[m|im|k] állapota {area}"
- "[mi] [az|a] {area} időzítő[jének|m|im|k] állapota"
required_keywords:
- "időzítő"
- "időzítőm"
- "időzítőim"
- "időzítők"
- "időzítőjének"
- "állapota"
# Mennyi idő van még hátra...
- sentences:
- "mennyi [idő] van hátra az időzítő((n|ből)|m(ön|ből)|im(en|ből)|k(ön|ből))"
- "mennyi [idő] van hátra a[z] <timer_start> időzítő(n|mön|[m]ből)"
- "mennyi [idő] van hátra [az|a] {area} [beállított] időzítőjéből"
- "mennyi [idő] van hátra az időzítő((n|ből)|m(ön|ből)|im(en|ből)|k(ön|ből)) {area}"
required_keywords:
- "időzítőn"
- "időzítőből"
- "időzítőmön"
- "időzítőmből"
- "időzítőimen"
- "időzítőimből"
- "időzítőkön"
- "időzítőkből"
- "időzítőjéből"
- "hátra"
# Elnevezett időzítők
- sentences:
- "[mi] [az|a] {timer_name:name} időzítő[m] állapota"
- "mennyi [idő] van hátra [az|a] {timer_name:name} időzítő[m]ből"
- "[az|a] {timer_name:name} időzítő[m] állapota"
required_keywords:
- "időzítő"
- "időzítőm"
- "időzítőből"
- "időzítőmből"
10 changes: 10 additions & 0 deletions sentences/hu/homeassistant_HassUnpauseTimer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
language: "hu"
intents:
HassUnpauseTimer:
data:
- sentences:
- "folytasd az időzítő[me]t"
- "folytasd (a|az) <timer_start> időzítő[me][t]"
- "folytasd [a|az] {area} időzítő(t|jét)"
- "folytasd [a|az] {timer_name:name} [nevű] időzítő[me]t"
20 changes: 20 additions & 0 deletions tests/hu/_fixtures.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -716,3 +716,23 @@ entities:
- name: "consuela"
id: "vacuum.consuela"
state: "idle"

timers:
- is_active: false
start_hours: 1
total_seconds_left: 100
rounded_hours_left: 0
rounded_minutes_left: 1
rounded_seconds_left: 40
- name: "pizza"
start_minutes: 30
total_seconds_left: 1505
rounded_hours_left: 0
rounded_minutes_left: 25
rounded_seconds_left: 0
- area: "kitchen"
start_minutes: 5
total_seconds_left: 190
rounded_hours_left: 0
rounded_minutes_left: 3
rounded_seconds_left: 0
Loading