home-assistant-intents 2025.2.26__tar.gz → 2025.3.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {home_assistant_intents-2025.2.26/home_assistant_intents.egg-info → home_assistant_intents-2025.3.12}/PKG-INFO +1 -1
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/__init__.py +36 -5
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/cs.json +10 -10
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/de-CH.json +0 -28
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/de.json +9 -9
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/el.json +10 -7
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/en.json +3 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/hr.json +15 -15
- home_assistant_intents-2025.3.12/home_assistant_intents/data/kw.json +793 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/lb.json +20 -14
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/lt.json +61 -33
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/nb.json +17 -4
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/pt-br.json +26 -28
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/pt.json +7 -7
- home_assistant_intents-2025.3.12/home_assistant_intents/data/sk.json +4367 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/zh-hk.json +2 -1
- home_assistant_intents-2025.3.12/home_assistant_intents/language_scores.json +297 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/languages.py +1 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12/home_assistant_intents.egg-info}/PKG-INFO +1 -1
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents.egg-info/SOURCES.txt +2 -1
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/pyproject.toml +8 -1
- home_assistant_intents-2025.2.26/MANIFEST.in +0 -2
- home_assistant_intents-2025.2.26/home_assistant_intents/data/sk.json +0 -1077
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/LICENSE.md +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/README.md +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ar.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/bg.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/bn.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ca.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/da.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/es.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/et.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/eu.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/fa.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/fi.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/fr.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/gl.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/he.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/hi.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/hu.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/id.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/is.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/it.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ka.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ko.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/lv.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ml.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/mn.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ms.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ne.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/nl.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/pl.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ro.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ru.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/sl.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/sr-Latn.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/sr.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/sv.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/sw.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/te.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/th.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/tr.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/uk.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/ur.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/vi.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/zh-cn.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents/data/zh-tw.json +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents.egg-info/dependency_links.txt +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents.egg-info/top_level.txt +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/home_assistant_intents.egg-info/zip-safe +0 -0
- {home_assistant_intents-2025.2.26 → home_assistant_intents-2025.3.12}/setup.cfg +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"""API for home_assistant_intents package."""
|
|
2
|
+
|
|
2
3
|
import importlib.resources
|
|
3
4
|
import json
|
|
4
5
|
import os
|
|
5
6
|
import typing
|
|
7
|
+
from dataclasses import dataclass
|
|
6
8
|
from enum import Enum
|
|
7
9
|
from pathlib import Path
|
|
8
10
|
from typing import IO, Any, Callable, Dict, List, Optional
|
|
@@ -105,7 +107,16 @@ class ErrorKey(str, Enum):
|
|
|
105
107
|
"""More than one timer targeted for an action matched the constraints."""
|
|
106
108
|
|
|
107
109
|
NO_TIMER_SUPPORT = "no_timer_support"
|
|
108
|
-
"""
|
|
110
|
+
"""Voice satellite does not support timers."""
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
@dataclass
|
|
114
|
+
class LanguageScores:
|
|
115
|
+
"""Support scores for a language from 0 (no support) to 3 (full support)."""
|
|
116
|
+
|
|
117
|
+
cloud: int
|
|
118
|
+
focused_local: int
|
|
119
|
+
full_local: int
|
|
109
120
|
|
|
110
121
|
|
|
111
122
|
def get_intents(
|
|
@@ -114,13 +125,33 @@ def get_intents(
|
|
|
114
125
|
) -> Optional[Dict[str, Any]]:
|
|
115
126
|
"""Load intents by language."""
|
|
116
127
|
intents_path = _DATA_DIR / f"{language}.json"
|
|
117
|
-
if intents_path.exists():
|
|
118
|
-
|
|
119
|
-
return json_load(intents_file)
|
|
128
|
+
if not intents_path.exists():
|
|
129
|
+
return None
|
|
120
130
|
|
|
121
|
-
|
|
131
|
+
with intents_path.open(encoding="utf-8") as intents_file:
|
|
132
|
+
return json_load(intents_file)
|
|
122
133
|
|
|
123
134
|
|
|
124
135
|
def get_languages() -> List[str]:
|
|
125
136
|
"""Return a list of available languages."""
|
|
126
137
|
return LANGUAGES
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def get_language_scores(
|
|
141
|
+
json_load: Callable[[IO[str]], Dict[str, Any]] = json.load,
|
|
142
|
+
) -> Dict[str, LanguageScores]:
|
|
143
|
+
"""Get support scores by language."""
|
|
144
|
+
scores_path = _DIR / "language_scores.json"
|
|
145
|
+
if not scores_path.exists():
|
|
146
|
+
return {}
|
|
147
|
+
|
|
148
|
+
with scores_path.open(encoding="utf-8") as scores_file:
|
|
149
|
+
scores_dict = json_load(scores_file)
|
|
150
|
+
return {
|
|
151
|
+
lang_key: LanguageScores(
|
|
152
|
+
cloud=lang_scores.get("cloud", 0),
|
|
153
|
+
focused_local=lang_scores.get("focused_local", 0),
|
|
154
|
+
full_local=lang_scores.get("full_local", 0),
|
|
155
|
+
)
|
|
156
|
+
for lang_key, lang_scores in scores_dict.items()
|
|
157
|
+
}
|
|
@@ -999,7 +999,7 @@
|
|
|
999
999
|
"device_class": "signal_strength"
|
|
1000
1000
|
},
|
|
1001
1001
|
"expansion_rules": {
|
|
1002
|
-
"class": "(
|
|
1002
|
+
"class": "(signál|síla signálu)"
|
|
1003
1003
|
}
|
|
1004
1004
|
},
|
|
1005
1005
|
{
|
|
@@ -3452,9 +3452,9 @@
|
|
|
3452
3452
|
{
|
|
3453
3453
|
"sentences": [
|
|
3454
3454
|
"<predchozi> [trak|stopa|skladba|písnička|položka|program] [<v>] {name}",
|
|
3455
|
-
"((přepn
|
|
3456
|
-
"(vr
|
|
3457
|
-
"([pře]hr
|
|
3455
|
+
"((přepn(i|out) na <predchozi> (písničku|stopu|skladbu|program));[<v>] {name})",
|
|
3456
|
+
"(vr(ať|átit) [tuto|tento] (písničku|stopu|skladbu|program);[<v>] {name})",
|
|
3457
|
+
"([pře]hr(aj|át) [znovu] <predchozi> (písničku|stopu|skladbu|program);[<v>] {name})"
|
|
3458
3458
|
],
|
|
3459
3459
|
"requires_context": {
|
|
3460
3460
|
"domain": "media_player"
|
|
@@ -3463,9 +3463,9 @@
|
|
|
3463
3463
|
{
|
|
3464
3464
|
"sentences": [
|
|
3465
3465
|
"<predchozi> [trak|stopa|skladba|písnička|položka|program]",
|
|
3466
|
-
"přepn
|
|
3467
|
-
"vr
|
|
3468
|
-
"[pře]hr
|
|
3466
|
+
"přepn(i|out) na <predchozi> (písničku|stopu|skladbu|program)",
|
|
3467
|
+
"vr(ať|átit) [tuto|tento] (písničku|stopu|skladbu|program)",
|
|
3468
|
+
"[pře]hr(aj|át) [znovu] <predchozi> (písničku|stopu|skladbu|program)"
|
|
3469
3469
|
],
|
|
3470
3470
|
"requires_context": {
|
|
3471
3471
|
"area": {
|
|
@@ -3476,9 +3476,9 @@
|
|
|
3476
3476
|
{
|
|
3477
3477
|
"sentences": [
|
|
3478
3478
|
"<predchozi> [trak|stopa|skladba|písnička|položka|program] <area>",
|
|
3479
|
-
"přepn
|
|
3480
|
-
"vr
|
|
3481
|
-
"[pře]hr
|
|
3479
|
+
"přepn(i|out) na <predchozi> (písničku|stopu|skladbu|program) <area>",
|
|
3480
|
+
"vr(ať|átit) [tuto|tento] (písničku|stopu|skladbu|program) <area>",
|
|
3481
|
+
"[pře]hr(aj|át) [znovu] <predchozi> (písničku|stopu|skladbu|program) <area>"
|
|
3482
3482
|
]
|
|
3483
3483
|
}
|
|
3484
3484
|
]
|
|
@@ -15,19 +15,6 @@
|
|
|
15
15
|
]
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
|
-
{
|
|
19
|
-
"sentences": [
|
|
20
|
-
"<steu> <Geräte> <area> <ab_us>"
|
|
21
|
-
],
|
|
22
|
-
"excludes_context": {
|
|
23
|
-
"domain": [
|
|
24
|
-
"light",
|
|
25
|
-
"fan",
|
|
26
|
-
"cover"
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"response": "default_area"
|
|
30
|
-
},
|
|
31
18
|
{
|
|
32
19
|
"sentences": [
|
|
33
20
|
"(Zünd|Mach|Lösch|Schalt|Schaut) [(<Liecht> |(d'[ ]|d |de |dr |der |die |ds |s ))]<name> <ab_us>"
|
|
@@ -484,21 +471,6 @@
|
|
|
484
471
|
]
|
|
485
472
|
}
|
|
486
473
|
},
|
|
487
|
-
{
|
|
488
|
-
"sentences": [
|
|
489
|
-
"<steu> <Geräte> <area> <a_y>"
|
|
490
|
-
],
|
|
491
|
-
"excludes_context": {
|
|
492
|
-
"domain": [
|
|
493
|
-
"light",
|
|
494
|
-
"fan",
|
|
495
|
-
"cover",
|
|
496
|
-
"scene",
|
|
497
|
-
"script"
|
|
498
|
-
]
|
|
499
|
-
},
|
|
500
|
-
"response": "default_area"
|
|
501
|
-
},
|
|
502
474
|
{
|
|
503
475
|
"sentences": [
|
|
504
476
|
"(Aktivier|Schalt|Schaut|Schteu|Stell|Mach) <name> [Szene] [<a_y>]",
|
|
@@ -1980,9 +1980,9 @@
|
|
|
1980
1980
|
"no_domain": "{% set translations = {\n \"alarm_control_panel\": \"keine Alarmzentrale\",\n \"automation\": \"keine Automatisierung\",\n \"button\": \"keine Taste\",\n \"camera\": \"keine Kamera\",\n \"climate\": \"kein Thermostat\",\n \"fan\": \"kein Ventilator\",\n \"humidifier\": \"kein Luftbefeuchter\",\n \"input_boolean\": \"kein Schalter-Helfer\",\n \"input_button\": \"kein Tasten-Helfer\",\n \"lawn_mower\": \"kein Rasenmäher\",\n \"light\": \"keine Leuchte\",\n \"lock\": \"kein Schloss\",\n \"media_player\": \"kein Media-Player\",\n \"remote\": \"keine Fernbedienung\",\n \"scene\": \"keine Szene\",\n \"script\": \"kein Skript\",\n \"siren\": \"keine Sirene\",\n \"switch\": \"kein Schalter\",\n \"vacuum\": \"kein Staubsauger\",\n \"valve\": \"kein Ventil\",\n \"water_heater\": \"kein Warmwasserbereiter\",\n \"weather\": \"kein Wetter\"\n } %}\n{% if domain in translations -%}\n Es wurde {{ translations[domain] }} gefunden\n{%- else -%}\n Es wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1981
1981
|
"no_domain_in_area": "{% set translations = {\n \"alarm_control_panel\": \"keine Alarmzentrale\",\n \"automation\": \"keine Automatisierung\",\n \"button\": \"keine Taste\",\n \"camera\": \"keine Kamera\",\n \"climate\": \"kein Thermostat\",\n \"fan\": \"kein Ventilator\",\n \"humidifier\": \"kein Luftbefeuchter\",\n \"input_boolean\": \"kein Schalter-Helfer\",\n \"input_button\": \"kein Tasten-Helfer\",\n \"lawn_mower\": \"kein Rasenmäher\",\n \"light\": \"keine Leuchte\",\n \"lock\": \"kein Schloss\",\n \"media_player\": \"kein Media-Player\",\n \"remote\": \"keine Fernbedienung\",\n \"scene\": \"keine Szene\",\n \"script\": \"kein Skript\",\n \"siren\": \"keine Sirene\",\n \"switch\": \"kein Schalter\",\n \"vacuum\": \"kein Staubsauger\",\n \"valve\": \"kein Ventil\",\n \"water_heater\": \"kein Warmwasserbereiter\",\n \"weather\": \"kein Wetter\"\n } %}\n{% if domain in translations -%}\n Im Bereich {{ area }} wurde {{ translations[domain] }} gefunden\n{%- else -%}\n Im Bereich {{ area }} wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1982
1982
|
"no_domain_in_floor": "{% set translations = {\n \"alarm_control_panel\": \"keine Alarmzentrale\",\n \"automation\": \"keine Automatisierung\",\n \"button\": \"keine Taste\",\n \"camera\": \"keine Kamera\",\n \"climate\": \"kein Thermostat\",\n \"fan\": \"kein Ventilator\",\n \"humidifier\": \"kein Luftbefeuchter\",\n \"input_boolean\": \"kein Schalter-Helfer\",\n \"input_button\": \"kein Tasten-Helfer\",\n \"lawn_mower\": \"kein Rasenmäher\",\n \"light\": \"keine Leuchte\",\n \"lock\": \"kein Schloss\",\n \"media_player\": \"kein Media-Player\",\n \"remote\": \"keine Fernbedienung\",\n \"scene\": \"keine Szene\",\n \"script\": \"kein Skript\",\n \"siren\": \"keine Sirene\",\n \"switch\": \"kein Schalter\",\n \"vacuum\": \"kein Staubsauger\",\n \"valve\": \"kein Ventil\",\n \"water_heater\": \"kein Warmwasserbereiter\",\n \"weather\": \"kein Wetter\"\n } %}\n{% if domain in translations -%}\n In der Etage {{ floor }} wurde {{ translations[domain] }} gefunden\n{%- else -%}\n In der Etage {{ floor }} wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1983
|
-
"no_device_class": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein
|
|
1984
|
-
"no_device_class_in_area": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein
|
|
1985
|
-
"no_device_class_in_floor": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein
|
|
1983
|
+
"no_device_class": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein Schirm\",\n \"shutter\": \"kein Rollladen\",\n \"window\": \"kein Fenster\"\n } %}\n{% if device_class in translations -%}\n Es wurde {{ translations[device_class] }} gefunden\n{%- else -%}\n Es wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1984
|
+
"no_device_class_in_area": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein Schirm\",\n \"shutter\": \"kein Rollladen\",\n \"window\": \"kein Fenster\"\n } %}\n{% if device_class in translations -%}\n Im Bereich {{ area }} wurde {{ translations[device_class] }} gefunden\n{%- else -%}\n Im Bereich {{ area }} wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1985
|
+
"no_device_class_in_floor": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein Schirm\",\n \"shutter\": \"kein Rollladen\",\n \"window\": \"kein Fenster\"\n } %}\n{% if device_class in translations -%}\n In der Etage {{ floor }} wurde {{ translations[device_class] }} gefunden\n{%- else -%}\n In der Etage {{ floor }} wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1986
1986
|
"no_entity": "{{ entity }} existiert nicht",
|
|
1987
1987
|
"no_entity_in_area": "{{ entity }} ist im Bereich {{ area }} nicht vorhanden",
|
|
1988
1988
|
"no_entity_in_floor": "{{ entity }} ist in der Etage {{ floor }} nicht vorhanden",
|
|
@@ -1994,9 +1994,9 @@
|
|
|
1994
1994
|
"no_domain_exposed": "{% set translations = {\n \"alarm_control_panel\": \"keine Alarmzentrale\",\n \"automation\": \"keine Automatisierung\",\n \"button\": \"keine Taste\",\n \"camera\": \"keine Kamera\",\n \"climate\": \"kein Thermostat\",\n \"fan\": \"kein Ventilator\",\n \"humidifier\": \"kein Luftbefeuchter\",\n \"input_boolean\": \"kein Schalter-Helfer\",\n \"input_button\": \"kein Tasten-Helfer\",\n \"lawn_mower\": \"kein Rasenmäher\",\n \"light\": \"keine Leuchte\",\n \"lock\": \"kein Schloss\",\n \"media_player\": \"kein Media-Player\",\n \"remote\": \"keine Fernbedienung\",\n \"scene\": \"keine Szene\",\n \"script\": \"kein Skript\",\n \"siren\": \"keine Sirene\",\n \"switch\": \"kein Schalter\",\n \"vacuum\": \"kein Staubsauger\",\n \"valve\": \"kein Ventil\",\n \"water_heater\": \"kein Warmwasserbereiter\",\n \"weather\": \"kein Wetter\"\n } %}\n{% if domain in translations -%}\n Es ist {{ translations[domain] }} freigegeben\n{%- else -%}\n Es wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1995
1995
|
"no_domain_in_area_exposed": "{% set translations = {\n \"alarm_control_panel\": \"keine Alarmzentrale\",\n \"automation\": \"keine Automatisierung\",\n \"button\": \"keine Taste\",\n \"camera\": \"keine Kamera\",\n \"climate\": \"kein Thermostat\",\n \"fan\": \"kein Ventilator\",\n \"humidifier\": \"kein Luftbefeuchter\",\n \"input_boolean\": \"kein Schalter-Helfer\",\n \"input_button\": \"kein Tasten-Helfer\",\n \"lawn_mower\": \"kein Rasenmäher\",\n \"light\": \"keine Leuchte\",\n \"lock\": \"kein Schloss\",\n \"media_player\": \"kein Media-Player\",\n \"remote\": \"keine Fernbedienung\",\n \"scene\": \"keine Szene\",\n \"script\": \"kein Skript\",\n \"siren\": \"keine Sirene\",\n \"switch\": \"kein Schalter\",\n \"vacuum\": \"kein Staubsauger\",\n \"valve\": \"kein Ventil\",\n \"water_heater\": \"kein Warmwasserbereiter\",\n \"weather\": \"kein Wetter\"\n } %}\n{% if domain in translations -%}\n Im Bereich {{ area }} ist {{ translations[domain] }} freigegeben\n{%- else -%}\n Im Bereich {{ area }} wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1996
1996
|
"no_domain_in_floor_exposed": "{% set translations = {\n \"alarm_control_panel\": \"keine Alarmzentrale\",\n \"automation\": \"keine Automatisierung\",\n \"button\": \"keine Taste\",\n \"camera\": \"keine Kamera\",\n \"climate\": \"kein Thermostat\",\n \"fan\": \"kein Ventilator\",\n \"humidifier\": \"kein Luftbefeuchter\",\n \"input_boolean\": \"kein Schalter-Helfer\",\n \"input_button\": \"kein Tasten-Helfer\",\n \"lawn_mower\": \"kein Rasenmäher\",\n \"light\": \"keine Leuchte\",\n \"lock\": \"kein Schloss\",\n \"media_player\": \"kein Media-Player\",\n \"remote\": \"keine Fernbedienung\",\n \"scene\": \"keine Szene\",\n \"script\": \"kein Skript\",\n \"siren\": \"keine Sirene\",\n \"switch\": \"kein Schalter\",\n \"vacuum\": \"kein Staubsauger\",\n \"valve\": \"kein Ventil\",\n \"water_heater\": \"kein Warmwasserbereiter\",\n \"weather\": \"kein Wetter\"\n } %}\n{% if domain in translations -%}\n In der Etage {{ floor }} ist {{ translations[domain] }} freigegeben\n{%- else -%}\n In der Etage {{ floor }} wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1997
|
-
"no_device_class_exposed": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein
|
|
1998
|
-
"no_device_class_in_area_exposed": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein
|
|
1999
|
-
"no_device_class_in_floor_exposed": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein
|
|
1997
|
+
"no_device_class_exposed": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein Schirm\",\n \"shutter\": \"kein Rollladen\",\n \"window\": \"kein Fenster\"\n } %}\n{% if device_class in translations -%}\n Es ist {{ translations[device_class] }} freigegeben\n{%- else -%}\n Es wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1998
|
+
"no_device_class_in_area_exposed": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein Schirm\",\n \"shutter\": \"kein Rollladen\",\n \"window\": \"kein Fenster\"\n } %}\n{% if device_class in translations -%}\n Im Bereich {{ area }} ist {{ translations[device_class] }} freigegeben\n{%- else -%}\n Im Bereich {{ area }} wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
1999
|
+
"no_device_class_in_floor_exposed": "{% set translations = {\n \"awning\": \"keine Markise\",\n \"blind\": \"keine Jalousie\",\n \"curtain\": \"kein Vorhang\",\n \"door\": \"keine Tür\",\n \"garage\": \"kein Garagentor\",\n \"gate\": \"kein Tor\",\n \"shade\": \"kein Schirm\",\n \"shutter\": \"kein Rollladen\",\n \"window\": \"kein Fenster\"\n } %}\n{% if device_class in translations -%}\n In der Etage {{ floor }} ist {{ translations[device_class] }} freigegeben\n{%- else -%}\n In der Etage {{ floor }} wurde keine Übereinstimmung gefunden\n{%- endif %}\n",
|
|
2000
2000
|
"duplicate_entities": "Es wurden mehrere {{ entity }} gefunden",
|
|
2001
2001
|
"duplicate_entities_in_area": "Im Bereich {{ area }} wurden mehrere {{ entity }} gefunden",
|
|
2002
2002
|
"duplicate_entities_in_floor": "In der Etage {{ floor }} wurden mehrere {{ entity }} gefunden",
|
|
@@ -2205,11 +2205,11 @@
|
|
|
2205
2205
|
"cover_classes": {
|
|
2206
2206
|
"values": [
|
|
2207
2207
|
{
|
|
2208
|
-
"in": "Markise[n]",
|
|
2208
|
+
"in": "(Markise[n]|Beschattung[en])",
|
|
2209
2209
|
"out": "awning"
|
|
2210
2210
|
},
|
|
2211
2211
|
{
|
|
2212
|
-
"in": "(Jalousie[n]|Rollo[s]
|
|
2212
|
+
"in": "(Jalousie[n]|Rollo[s])",
|
|
2213
2213
|
"out": "blind"
|
|
2214
2214
|
},
|
|
2215
2215
|
{
|
|
@@ -2233,7 +2233,7 @@
|
|
|
2233
2233
|
"out": "shade"
|
|
2234
2234
|
},
|
|
2235
2235
|
{
|
|
2236
|
-
"in": "(Roll[l](a|ä)den
|
|
2236
|
+
"in": "(Roll[l](a|ä)den)",
|
|
2237
2237
|
"out": "shutter"
|
|
2238
2238
|
},
|
|
2239
2239
|
{
|
|
@@ -130,13 +130,6 @@
|
|
|
130
130
|
"να <turn_on> <articles> <name>"
|
|
131
131
|
]
|
|
132
132
|
},
|
|
133
|
-
{
|
|
134
|
-
"sentences": [
|
|
135
|
-
"<turn_on> [(πάνω | ψηλά)] [<all>] [<articles>] (<garage_doors> | <doors> | <covers>) <articles> <area> [(πάνω | ψηλά)]",
|
|
136
|
-
"<turn_on> [(πάνω | ψηλά)] <articles> <area> [<all>] [<articles>] (<garage_doors> | <doors> | <covers>) [(πάνω | ψηλά)]"
|
|
137
|
-
],
|
|
138
|
-
"response": "cover_area"
|
|
139
|
-
},
|
|
140
133
|
{
|
|
141
134
|
"sentences": [
|
|
142
135
|
"<turn_on> [(πάνω | ψηλά)] [<all>] [<articles>] (<garage_doors> | <doors> | <covers>) [(πάνω | ψηλά)]"
|
|
@@ -151,6 +144,16 @@
|
|
|
151
144
|
"shutter"
|
|
152
145
|
]
|
|
153
146
|
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"sentences": [
|
|
150
|
+
"<turn_on> [(πάνω | ψηλά)] [<all>] [<articles>] (<garage_doors> | <doors> | <covers>) <articles> <area> [(πάνω | ψηλά)]",
|
|
151
|
+
"<turn_on> [(πάνω | ψηλά)] <articles> <area> [<all>] [<articles>] (<garage_doors> | <doors> | <covers>) [(πάνω | ψηλά)]"
|
|
152
|
+
],
|
|
153
|
+
"slots": {
|
|
154
|
+
"domain": "cover"
|
|
155
|
+
},
|
|
156
|
+
"response": "cover_area"
|
|
154
157
|
}
|
|
155
158
|
]
|
|
156
159
|
},
|
|
@@ -3396,6 +3396,7 @@
|
|
|
3396
3396
|
"data": [
|
|
3397
3397
|
{
|
|
3398
3398
|
"sentences": [
|
|
3399
|
+
"previous (track|item) [on|for] <name>",
|
|
3399
3400
|
"(go back [to the (previous|last) (song|track)];[on] <name>)",
|
|
3400
3401
|
"replay [the (previous|last) (song|track)] on <name>",
|
|
3401
3402
|
"<name> (play|replay) [the] (previous|last) [(song|track)] [again]"
|
|
@@ -3406,6 +3407,7 @@
|
|
|
3406
3407
|
},
|
|
3407
3408
|
{
|
|
3408
3409
|
"sentences": [
|
|
3410
|
+
"previous (track|item)",
|
|
3409
3411
|
"go back [to the (previous|last) (song|track)]",
|
|
3410
3412
|
"replay [the (previous|last) (song|track)] [again]",
|
|
3411
3413
|
"play [the] (previous|last) [(song|track)] [again]"
|
|
@@ -3418,6 +3420,7 @@
|
|
|
3418
3420
|
},
|
|
3419
3421
|
{
|
|
3420
3422
|
"sentences": [
|
|
3423
|
+
"previous (track|item) [in] <area>",
|
|
3421
3424
|
"go back [to the (previous|last) (song|track)] [in] <area>",
|
|
3422
3425
|
"(replay [the (previous|last) (song|track)] [again];[in] <area>)",
|
|
3423
3426
|
"(play [the] (previous|last) [(song|track) ][again];[in] <area>)"
|
|
@@ -1542,17 +1542,17 @@
|
|
|
1542
1542
|
"data": [
|
|
1543
1543
|
{
|
|
1544
1544
|
"sentences": [
|
|
1545
|
-
"(ukloni|oduzmi) <timer_duration> s[a] [mog|mojeg] (<timer>|<timer_plural>)",
|
|
1546
|
-
"(ukloni|oduzmi) <timer_duration> s[a] [mog|mojeg] (<timer>|<timer_plural>) za <timer_start>",
|
|
1547
|
-
"(ukloni|oduzmi) <timer_duration> s[a] [mog|mojeg] (<timer>|<timer_plural>) (u|na) {area}",
|
|
1548
|
-
"(ukloni|oduzmi) <timer_duration> s[a] [mog|mojeg] (<timer>|<timer_plural>)
|
|
1545
|
+
"(ukloni|oduzmi) <timer_duration> s[a] [mog|mojeg|moje] (<timer>|<timer_plural>)",
|
|
1546
|
+
"(ukloni|oduzmi) <timer_duration> s[a] [mog|mojeg|moje] (<timer>|<timer_plural>) za <timer_start>",
|
|
1547
|
+
"(ukloni|oduzmi) <timer_duration> s[a] [mog|mojeg|moje] (<timer>|<timer_plural>) (u|na) {area}",
|
|
1548
|
+
"(ukloni|oduzmi) <timer_duration> s[a] [mog|mojeg|moje] (<timer>|<timer_plural>) [na]zvan[og|e] {timer_name:name}"
|
|
1549
1549
|
]
|
|
1550
1550
|
},
|
|
1551
1551
|
{
|
|
1552
1552
|
"sentences": [
|
|
1553
|
-
"(smanji|umanji) [moj] <timer> za <timer_duration>",
|
|
1554
|
-
"(smanji|umanji) [moj] <timer> (za <timer_duration>;(u|na) {area})",
|
|
1555
|
-
"(smanji|umanji) [moj] <timer> [
|
|
1553
|
+
"(smanji|umanji) [moj[u]] <timer> za <timer_duration>",
|
|
1554
|
+
"(smanji|umanji) [moj[u]] <timer> (za <timer_duration>;(u|na) {area})",
|
|
1555
|
+
"(smanji|umanji) [moj[u]] <timer> [[na]zvan[u]] {timer_name:name} za <timer_duration>"
|
|
1556
1556
|
]
|
|
1557
1557
|
}
|
|
1558
1558
|
]
|
|
@@ -1839,8 +1839,8 @@
|
|
|
1839
1839
|
"default": "Temperatura je postavljena"
|
|
1840
1840
|
},
|
|
1841
1841
|
"HassStartTimer": {
|
|
1842
|
-
"default": "{%
|
|
1843
|
-
"command": "{%
|
|
1842
|
+
"default": "{% macro format_time(value, singular, few, many) -%}\n {% if value is not none %}\n {% set number = 30 if value in ['pola', 'pol', '1/2'] else value | int(0) %}\n {% if number % 10 == 1 and number % 100 != 11 %}\n {{ number }} {{ singular }}\n {% elif number % 10 in [2, 3, 4] and number % 100 not in [12, 13, 14] %}\n {{ number }} {{ few }}\n {% else %}\n {{ number }} {{ many }}\n {% endif %}\n {% else %}\n {{ '' }}\n {% endif %}\n{%- endmacro %}\n{% set name = (' nazvan ' ~ slots.name | trim) if slots.name is defined else '' %}\n{% set h = slots.get('hours') %} {% set m = slots.get('minutes') %} {% set s = slots.get('seconds') %}\n{% set h_text = format_time(h, 'sat', 'sata', 'sati') %} {% set m_text = format_time(m, 'minutu', 'minute', 'minuta') %} {% set s_text = format_time(s, 'sekundu', 'sekunde', 'sekundi') %}\n{% set text_list = (h_text if h_text.strip() else '') ~ ',' ~ (m_text if m_text.strip() else '') ~ ',' ~ (s_text if s_text.strip() else '') %} {% set text_list = text_list.split(',') | select('string') | map('trim') | reject('equalto', '') | list %}\n{% if text_list | length == 1 %}\n {% set text = text_list[0] %}\n{% elif text_list | length == 2 %}\n {% set text = text_list | join(' i ') %}\n{% else %}\n {% set text = text_list[:-1] | join(', ') ~ ' i ' ~ text_list[-1] %}\n{% endif %}\nTimer postavljen na {{ text }}{{ name }}\n",
|
|
1843
|
+
"command": "{% macro format_time(value, singular, few, many) -%}\n {% if value is not none %}\n {% set number = 30 if value in ['pola', 'pol', '1/2'] else value | int(0) %}\n {% if number % 10 == 1 and number % 100 != 11 %}\n {{ number }} {{ singular }}\n {% elif number % 10 in [2, 3, 4] and number % 100 not in [12, 13, 14] %}\n {{ number }} {{ few }}\n {% else %}\n {{ number }} {{ many }}\n {% endif %}\n {% else %}\n {{ '' }}\n {% endif %}\n{%- endmacro %}\n{% set h = slots.get('hours') %} {% set m = slots.get('minutes') %} {% set s = slots.get('seconds') %}\n{% set h_text = format_time(h, 'sat', 'sata', 'sati') %} {% set m_text = format_time(m, 'minutu', 'minute', 'minuta') %} {% set s_text = format_time(s, 'sekundu', 'sekunde', 'sekundi') %}\n{% set text_list = (h_text if h_text.strip() else '') ~ ',' ~ (m_text if m_text.strip() else '') ~ ',' ~ (s_text if s_text.strip() else '') %} {% set text_list = text_list.split(',') | select('string') | map('trim') | reject('equalto', '') | list %}\n{% if text_list | length == 1 %}\n {% set text = text_list[0] %}\n{% elif text_list | length == 2 %}\n {% set text = text_list | join(' i ') %}\n{% else %}\n {% set text = text_list[:-1] | join(', ') ~ ' i ' ~ text_list[-1] %}\n{% endif %}\nNaredba će se izvršiti za {{ text }}\n"
|
|
1844
1844
|
},
|
|
1845
1845
|
"HassShoppingListAddItem": {
|
|
1846
1846
|
"shopping_list_item_added": "Stavka je dodana u popis za kupovinu"
|
|
@@ -2180,17 +2180,17 @@
|
|
|
2180
2180
|
"kakvo_je": "kakvo je|koje je|kakva je",
|
|
2181
2181
|
"volume": "{volume:volume_level}[[ ]%| (posto)]",
|
|
2182
2182
|
"timer": "timer[u]|tajmer|štoperic(a|u)|brojač vremena|mjerač vremena|sat za vrijeme|podsjetnik|minutnik(a)",
|
|
2183
|
-
"timer_plural": "timer(a|e|ima)|tajmer(a|e|ima)|štoperic(e|a|ima)|brojač(a|e|ima) vremena|mjerač(a|i|e) vremena|sat(|a|e|ovima) za vrijeme|podsjet(
|
|
2183
|
+
"timer_plural": "timer(a|e|ima)|tajmer(a|e|ima)|štoperic(e|a|ima)|brojač(a|e|ima) vremena|mjerač(a|i|e) vremena|sat(|a|e|ovima) za vrijeme|podsjet(nicima|ka|ke)",
|
|
2184
2184
|
"timer_set": "(postavi|pokreni|napravi|započni)",
|
|
2185
2185
|
"timer_cancel": "(otkaži|zaustavi|stop[iraj]|prekini|isključi|prekini|poništi)",
|
|
2186
2186
|
"timer_state": "(status|stanje|preostalo vrijeme|ostalo vrijeme)",
|
|
2187
|
-
"timer_duration_seconds": "{timer_seconds:seconds} sekund(a|e|i|ni)",
|
|
2188
|
-
"timer_duration_minutes": "({timer_minutes:minutes} minut(a|e|i)
|
|
2189
|
-
"timer_duration_hours": "({timer_hours:hours} sat[a|i|ni|nog|nom]
|
|
2187
|
+
"timer_duration_seconds": "{timer_seconds:seconds} sekund(a|e|i|u|ni)",
|
|
2188
|
+
"timer_duration_minutes": "({timer_minutes:minutes} minut(a|e|i|u|ni|nu) [[i] {timer_seconds:seconds} sekund(a|e|i|u|ni)])|({timer_minutes:minutes} i {timer_half:seconds} minut(a|e|i|u|ni|nu))|({timer_half:seconds} minut(e|ni|nu))",
|
|
2189
|
+
"timer_duration_hours": "({timer_hours:hours} sat[a|i|ni|nog|nom] [[i] {timer_minutes:minutes} minut(a|e|i|u|ni|nu)] [[i] {timer_seconds:seconds} sekund(a|e|i|u|ni)])|({timer_hours:hours} i {timer_half:minutes} sat[a|i|ni|nog|nom])|({timer_half:minutes} sat[a|ni|nog|nom])",
|
|
2190
2190
|
"timer_duration": "<timer_duration_seconds>|<timer_duration_minutes>|<timer_duration_hours>",
|
|
2191
2191
|
"timer_start_seconds": "{timer_seconds:start_seconds} sekund(a|e|i|ni)",
|
|
2192
|
-
"timer_start_minutes": "{timer_minutes:start_minutes} minut(a|e|i)[ [i ]{timer_seconds:start_seconds} sekund(a|e|i|ni)]",
|
|
2193
|
-
"timer_start_hours": "{timer_hours:start_hours} sat[a|i|ni|nog|nom][ [i ]{timer_minutes:start_minutes} minut(a|e|i)][ [i ]{timer_seconds:start_seconds} sekund(a|e|i|ni)]",
|
|
2192
|
+
"timer_start_minutes": "{timer_minutes:start_minutes} minut(a|e|i|ni)[ [i ]{timer_seconds:start_seconds} sekund(a|e|i|ni)]",
|
|
2193
|
+
"timer_start_hours": "{timer_hours:start_hours} sat[a|i|ni|nog|nom][ [i ]{timer_minutes:start_minutes} minut(a|e|i|ni)][ [i ]{timer_seconds:start_seconds} sekund(a|e|i|ni)]",
|
|
2194
2194
|
"timer_start": "<timer_start_seconds>|<timer_start_minutes>|<timer_start_hours>"
|
|
2195
2195
|
},
|
|
2196
2196
|
"skip_words": [
|