homeassistant 2025.7.0b0__py3-none-any.whl → 2025.7.0b1__py3-none-any.whl

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.
Files changed (208) hide show
  1. homeassistant/components/aemet/sensor.py +1 -1
  2. homeassistant/components/airq/coordinator.py +2 -2
  3. homeassistant/components/alexa_devices/__init__.py +5 -2
  4. homeassistant/components/alexa_devices/notify.py +2 -0
  5. homeassistant/components/alexa_devices/quality_scale.yaml +1 -1
  6. homeassistant/components/alexa_devices/strings.json +11 -4
  7. homeassistant/components/alexa_devices/switch.py +2 -0
  8. homeassistant/components/alexa_devices/translations/bg.json +6 -4
  9. homeassistant/components/alexa_devices/translations/cs.json +0 -4
  10. homeassistant/components/alexa_devices/translations/de.json +6 -7
  11. homeassistant/components/alexa_devices/translations/el.json +4 -5
  12. homeassistant/components/alexa_devices/translations/en.json +12 -5
  13. homeassistant/components/alexa_devices/translations/es.json +0 -4
  14. homeassistant/components/alexa_devices/translations/et.json +4 -5
  15. homeassistant/components/alexa_devices/translations/ga.json +0 -6
  16. homeassistant/components/alexa_devices/translations/he.json +0 -4
  17. homeassistant/components/alexa_devices/translations/hu.json +0 -4
  18. homeassistant/components/alexa_devices/translations/id.json +1 -0
  19. homeassistant/components/alexa_devices/translations/lt.json +0 -4
  20. homeassistant/components/alexa_devices/translations/mk.json +12 -0
  21. homeassistant/components/alexa_devices/translations/nl.json +0 -4
  22. homeassistant/components/alexa_devices/translations/pl.json +0 -4
  23. homeassistant/components/alexa_devices/translations/pt.json +0 -4
  24. homeassistant/components/alexa_devices/translations/ru.json +4 -5
  25. homeassistant/components/alexa_devices/translations/sk.json +4 -5
  26. homeassistant/components/alexa_devices/translations/sv.json +17 -5
  27. homeassistant/components/alexa_devices/translations/tr.json +0 -4
  28. homeassistant/components/alexa_devices/translations/zh-Hans.json +15 -4
  29. homeassistant/components/alexa_devices/translations/zh-Hant.json +4 -5
  30. homeassistant/components/alexa_devices/utils.py +40 -0
  31. homeassistant/components/altruist/translations/id.json +11 -0
  32. homeassistant/components/anthropic/__init__.py +8 -1
  33. homeassistant/components/anthropic/translations/bg.json +21 -0
  34. homeassistant/components/anthropic/translations/ga.json +32 -1
  35. homeassistant/components/anthropic/translations/id.json +19 -0
  36. homeassistant/components/anthropic/translations/ru.json +30 -0
  37. homeassistant/components/buienradar/sensor.py +0 -1
  38. homeassistant/components/cambridge_audio/translations/sv.json +1 -1
  39. homeassistant/components/demo/translations/select.sv.json +2 -2
  40. homeassistant/components/derivative/translations/ga.json +20 -0
  41. homeassistant/components/derivative/translations/ru.json +3 -0
  42. homeassistant/components/devolo_home_control/translations/bg.json +6 -0
  43. homeassistant/components/devolo_home_control/translations/id.json +5 -0
  44. homeassistant/components/devolo_home_control/translations/sv.json +10 -0
  45. homeassistant/components/devolo_home_control/translations/zh-Hans.json +10 -0
  46. homeassistant/components/dlink/manifest.json +1 -1
  47. homeassistant/components/ecovacs/translations/sv.json +1 -1
  48. homeassistant/components/enphase_envoy/translations/sv.json +2 -2
  49. homeassistant/components/ezviz/translations/bg.json +6 -0
  50. homeassistant/components/ezviz/translations/mk.json +13 -0
  51. homeassistant/components/ezviz/translations/sv.json +10 -0
  52. homeassistant/components/ezviz/translations/zh-Hans.json +10 -0
  53. homeassistant/components/frontend/manifest.json +1 -1
  54. homeassistant/components/goodwe/translations/sv.json +5 -5
  55. homeassistant/components/google_generative_ai_conversation/__init__.py +15 -0
  56. homeassistant/components/google_generative_ai_conversation/config_flow.py +72 -36
  57. homeassistant/components/google_generative_ai_conversation/const.py +15 -2
  58. homeassistant/components/google_generative_ai_conversation/diagnostics.py +1 -0
  59. homeassistant/components/google_generative_ai_conversation/entity.py +7 -2
  60. homeassistant/components/google_generative_ai_conversation/helpers.py +73 -0
  61. homeassistant/components/google_generative_ai_conversation/strings.json +28 -1
  62. homeassistant/components/google_generative_ai_conversation/translations/bg.json +19 -0
  63. homeassistant/components/google_generative_ai_conversation/translations/de.json +28 -0
  64. homeassistant/components/google_generative_ai_conversation/translations/el.json +28 -0
  65. homeassistant/components/google_generative_ai_conversation/translations/en.json +28 -0
  66. homeassistant/components/google_generative_ai_conversation/translations/es.json +28 -0
  67. homeassistant/components/google_generative_ai_conversation/translations/et.json +28 -0
  68. homeassistant/components/google_generative_ai_conversation/translations/ga.json +9 -0
  69. homeassistant/components/google_generative_ai_conversation/translations/id.json +30 -0
  70. homeassistant/components/google_generative_ai_conversation/translations/mk.json +11 -0
  71. homeassistant/components/google_generative_ai_conversation/translations/ru.json +67 -0
  72. homeassistant/components/google_generative_ai_conversation/translations/sk.json +28 -0
  73. homeassistant/components/google_generative_ai_conversation/translations/sv.json +21 -0
  74. homeassistant/components/google_generative_ai_conversation/translations/zh-Hans.json +28 -0
  75. homeassistant/components/google_generative_ai_conversation/translations/zh-Hant.json +28 -0
  76. homeassistant/components/google_generative_ai_conversation/tts.py +48 -106
  77. homeassistant/components/group/translations/el.json +18 -18
  78. homeassistant/components/habitica/const.py +1 -1
  79. homeassistant/components/harmony/translations/select.sv.json +1 -1
  80. homeassistant/components/harmony/translations/sv.json +1 -1
  81. homeassistant/components/homeassistant_hardware/translations/ga.json +9 -0
  82. homeassistant/components/homeassistant_hardware/translations/mk.json +9 -0
  83. homeassistant/components/homeassistant_sky_connect/translations/ga.json +10 -0
  84. homeassistant/components/homeassistant_sky_connect/translations/mk.json +7 -0
  85. homeassistant/components/homeassistant_yellow/translations/ga.json +5 -0
  86. homeassistant/components/homewizard/translations/sv.json +3 -1
  87. homeassistant/components/http/auth.py +1 -1
  88. homeassistant/components/image/__init__.py +34 -3
  89. homeassistant/components/input_select/translations/sv.json +6 -6
  90. homeassistant/components/iron_os/translations/sv.json +1 -1
  91. homeassistant/components/keenetic_ndms2/translations/id.json +3 -0
  92. homeassistant/components/lamarzocco/translations/sv.json +3 -3
  93. homeassistant/components/lametric/translations/sv.json +2 -2
  94. homeassistant/components/lametric/update.py +1 -1
  95. homeassistant/components/lg_thinq/translations/sv.json +5 -5
  96. homeassistant/components/litterrobot/translations/bg.json +4 -0
  97. homeassistant/components/litterrobot/translations/ga.json +3 -0
  98. homeassistant/components/matter/translations/id.json +5 -0
  99. homeassistant/components/matter/vacuum.py +38 -26
  100. homeassistant/components/meater/__init__.py +5 -1
  101. homeassistant/components/meater/coordinator.py +4 -2
  102. homeassistant/components/media_source/local_source.py +21 -4
  103. homeassistant/components/mqtt/translations/bg.json +10 -0
  104. homeassistant/components/mqtt/translations/el.json +21 -0
  105. homeassistant/components/mqtt/translations/fi.json +3 -0
  106. homeassistant/components/mqtt/translations/ga.json +25 -0
  107. homeassistant/components/mqtt/translations/mk.json +23 -0
  108. homeassistant/components/mqtt/translations/ru.json +1 -0
  109. homeassistant/components/mqtt/translations/sv.json +24 -0
  110. homeassistant/components/mqtt/translations/zh-Hans.json +26 -0
  111. homeassistant/components/mqtt/translations/zh-Hant.json +19 -0
  112. homeassistant/components/music_assistant/button.py +0 -6
  113. homeassistant/components/ntfy/translations/id.json +13 -0
  114. homeassistant/components/ohme/translations/sv.json +1 -1
  115. homeassistant/components/ollama/__init__.py +2 -0
  116. homeassistant/components/ollama/const.py +2 -0
  117. homeassistant/components/ollama/translations/bg.json +19 -0
  118. homeassistant/components/ollama/translations/ga.json +31 -1
  119. homeassistant/components/ollama/translations/id.json +18 -0
  120. homeassistant/components/ollama/translations/mk.json +13 -1
  121. homeassistant/components/onewire/translations/sv.json +4 -4
  122. homeassistant/components/openai_conversation/__init__.py +2 -0
  123. homeassistant/components/openai_conversation/const.py +1 -1
  124. homeassistant/components/openai_conversation/conversation.py +1 -1
  125. homeassistant/components/openai_conversation/translations/bg.json +26 -0
  126. homeassistant/components/openai_conversation/translations/id.json +23 -0
  127. homeassistant/components/openai_conversation/translations/mk.json +44 -0
  128. homeassistant/components/playstation_network/translations/bg.json +25 -1
  129. homeassistant/components/playstation_network/translations/es.json +1 -1
  130. homeassistant/components/playstation_network/translations/ga.json +31 -0
  131. homeassistant/components/playstation_network/translations/id.json +14 -0
  132. homeassistant/components/playstation_network/translations/mk.json +18 -0
  133. homeassistant/components/playstation_network/translations/sv.json +29 -0
  134. homeassistant/components/playstation_network/translations/zh-Hans.json +29 -0
  135. homeassistant/components/qnap/translations/sv.json +1 -1
  136. homeassistant/components/remote_calendar/translations/fi.json +34 -0
  137. homeassistant/components/select/translations/sv.json +10 -10
  138. homeassistant/components/smarla/__init__.py +2 -2
  139. homeassistant/components/sonos/translations/bg.json +5 -0
  140. homeassistant/components/sonos/translations/el.json +6 -0
  141. homeassistant/components/sonos/translations/ga.json +8 -0
  142. homeassistant/components/sonos/translations/mk.json +10 -0
  143. homeassistant/components/sonos/translations/ru.json +6 -0
  144. homeassistant/components/sonos/translations/sv.json +6 -0
  145. homeassistant/components/sonos/translations/zh-Hans.json +9 -0
  146. homeassistant/components/sonos/translations/zh-Hant.json +6 -0
  147. homeassistant/components/switchbot/translations/bg.json +26 -0
  148. homeassistant/components/switchbot/translations/ga.json +33 -0
  149. homeassistant/components/switchbot/translations/id.json +19 -0
  150. homeassistant/components/switchbot/translations/mk.json +49 -0
  151. homeassistant/components/switchbot/translations/sv.json +52 -0
  152. homeassistant/components/switchbot/translations/zh-Hans.json +53 -0
  153. homeassistant/components/telegram_bot/__init__.py +20 -4
  154. homeassistant/components/telegram_bot/bot.py +33 -29
  155. homeassistant/components/telegram_bot/config_flow.py +49 -10
  156. homeassistant/components/telegram_bot/const.py +1 -1
  157. homeassistant/components/telegram_bot/strings.json +33 -10
  158. homeassistant/components/telegram_bot/translations/bg.json +0 -1
  159. homeassistant/components/telegram_bot/translations/cs.json +5 -12
  160. homeassistant/components/telegram_bot/translations/de.json +12 -11
  161. homeassistant/components/telegram_bot/translations/el.json +5 -12
  162. homeassistant/components/telegram_bot/translations/en-GB.json +5 -12
  163. homeassistant/components/telegram_bot/translations/en.json +35 -12
  164. homeassistant/components/telegram_bot/translations/es.json +5 -12
  165. homeassistant/components/telegram_bot/translations/et.json +11 -12
  166. homeassistant/components/telegram_bot/translations/fr.json +5 -12
  167. homeassistant/components/telegram_bot/translations/ga.json +5 -11
  168. homeassistant/components/telegram_bot/translations/he.json +3 -8
  169. homeassistant/components/telegram_bot/translations/hu.json +5 -12
  170. homeassistant/components/telegram_bot/translations/id.json +0 -5
  171. homeassistant/components/telegram_bot/translations/it.json +2 -5
  172. homeassistant/components/telegram_bot/translations/lt.json +5 -12
  173. homeassistant/components/telegram_bot/translations/mk.json +7 -5
  174. homeassistant/components/telegram_bot/translations/nl.json +5 -12
  175. homeassistant/components/telegram_bot/translations/pt.json +5 -12
  176. homeassistant/components/telegram_bot/translations/ru.json +12 -11
  177. homeassistant/components/telegram_bot/translations/sk.json +5 -12
  178. homeassistant/components/telegram_bot/translations/sv.json +5 -12
  179. homeassistant/components/telegram_bot/translations/tr.json +5 -12
  180. homeassistant/components/telegram_bot/translations/zh-Hans.json +5 -12
  181. homeassistant/components/telegram_bot/translations/zh-Hant.json +5 -12
  182. homeassistant/components/template/translations/sv.json +5 -5
  183. homeassistant/components/tilt_pi/translations/id.json +11 -0
  184. homeassistant/components/tts/__init__.py +15 -0
  185. homeassistant/components/unifiprotect/translations/zh-Hans.json +3 -3
  186. homeassistant/components/utility_meter/translations/sv.json +9 -9
  187. homeassistant/components/vegehub/translations/bg.json +2 -0
  188. homeassistant/components/vegehub/translations/id.json +11 -0
  189. homeassistant/components/whirlpool/translations/sv.json +12 -12
  190. homeassistant/components/zha/translations/bg.json +23 -0
  191. homeassistant/components/zha/translations/el.json +10 -0
  192. homeassistant/components/zha/translations/ga.json +20 -0
  193. homeassistant/components/zha/translations/id.json +6 -0
  194. homeassistant/components/zha/translations/sv.json +15 -0
  195. homeassistant/components/zha/translations/zh-Hans.json +50 -0
  196. homeassistant/components/zwave_js/api.py +1 -1
  197. homeassistant/components/zwave_js/config_flow.py +12 -8
  198. homeassistant/components/zwave_js/manifest.json +1 -1
  199. homeassistant/config_entries.py +6 -0
  200. homeassistant/const.py +1 -1
  201. homeassistant/package_constraints.txt +1 -1
  202. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/METADATA +1 -1
  203. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/RECORD +208 -192
  204. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/WHEEL +0 -0
  205. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/entry_points.txt +0 -0
  206. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/licenses/LICENSE.md +0 -0
  207. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  208. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,8 @@
1
1
  {
2
2
  "config": {
3
+ "abort": {
4
+ "already_configured": "Layanan sudah dikonfigurasi"
5
+ },
3
6
  "error": {
4
7
  "cannot_connect": "Gagal terhubung",
5
8
  "unknown": "Kesalahan tak terduga"
@@ -11,5 +14,20 @@
11
14
  }
12
15
  }
13
16
  }
17
+ },
18
+ "config_subentries": {
19
+ "conversation": {
20
+ "abort": {
21
+ "reconfigure_successful": "Konfigurasi ulang berhasil"
22
+ },
23
+ "step": {
24
+ "set_options": {
25
+ "data": {
26
+ "llm_hass_api": "Kendalikan Home Assistant",
27
+ "name": "Nama"
28
+ }
29
+ }
30
+ }
31
+ }
14
32
  }
15
33
  }
@@ -1 +1,13 @@
1
- {}
1
+ {
2
+ "config_subentries": {
3
+ "conversation": {
4
+ "step": {
5
+ "set_options": {
6
+ "data_description": {
7
+ "think": "\u0410\u043a\u043e \u0435 \u0432\u043a\u043b\u0443\u0447\u0435\u043d\u043e, LLM \u045c\u0435 \u0440\u0430\u0437\u043c\u0438\u0441\u043b\u0438 \u043f\u0440\u0435\u0434 \u0434\u0430 \u043e\u0434\u0433\u043e\u0432\u043e\u0440\u0438. \u041e\u0432\u0430 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0433\u043e \u043f\u043e\u0434\u043e\u0431\u0440\u0438 \u043a\u0432\u0430\u043b\u0438\u0442\u0435\u0442\u043e\u0442 \u043d\u0430 \u043e\u0434\u0433\u043e\u0432\u043e\u0440\u043e\u0442, \u043d\u043e \u043c\u043e\u0436\u0435 \u0434\u0430 \u0433\u043e \u0437\u0433\u043e\u043b\u0435\u043c\u0438 \u0437\u0430\u0434\u043e\u0446\u043d\u0443\u0432\u0430\u045a\u0435\u0442\u043e."
8
+ }
9
+ }
10
+ }
11
+ }
12
+ }
13
+ }
@@ -48,10 +48,10 @@
48
48
  "tempres": {
49
49
  "name": "Temperaturuppl\u00f6sning",
50
50
  "state": {
51
- "10": "10 bitar (0,25 \u00b0C, upp till 187,5 ms)",
52
- "11": "11 bitar (0,125 \u00b0C, upp till 375 ms)",
53
- "12": "12 bitar (0,0625 \u00b0C, l\u00e5ngsammast, upp till 750 ms)",
54
- "9": "9 bitar (0,5 \u00b0C, snabbast, upp till 93,75 ms)"
51
+ "10": "10 bitar (0,25 \u00b0C; upp till 187,5 ms)",
52
+ "11": "11 bitar (0,125 \u00b0C; upp till 375 ms)",
53
+ "12": "12 bitar (0,0625 \u00b0C; l\u00e5ngsammast, upp till 750 ms)",
54
+ "9": "9 bitar (0,5 \u00b0C,;snabbast, upp till 93,75 ms)"
55
55
  }
56
56
  }
57
57
  },
@@ -49,6 +49,7 @@ from .const import (
49
49
  CONF_REASONING_EFFORT,
50
50
  CONF_TEMPERATURE,
51
51
  CONF_TOP_P,
52
+ DEFAULT_NAME,
52
53
  DOMAIN,
53
54
  LOGGER,
54
55
  RECOMMENDED_CHAT_MODEL,
@@ -351,6 +352,7 @@ async def async_migrate_integration(hass: HomeAssistant) -> None:
351
352
  else:
352
353
  hass.config_entries.async_update_entry(
353
354
  entry,
355
+ title=DEFAULT_NAME,
354
356
  options={},
355
357
  version=2,
356
358
  )
@@ -6,12 +6,12 @@ DOMAIN = "openai_conversation"
6
6
  LOGGER: logging.Logger = logging.getLogger(__package__)
7
7
 
8
8
  DEFAULT_CONVERSATION_NAME = "OpenAI Conversation"
9
+ DEFAULT_NAME = "OpenAI Conversation"
9
10
 
10
11
  CONF_CHAT_MODEL = "chat_model"
11
12
  CONF_FILENAMES = "filenames"
12
13
  CONF_MAX_TOKENS = "max_tokens"
13
14
  CONF_PROMPT = "prompt"
14
- CONF_PROMPT = "prompt"
15
15
  CONF_REASONING_EFFORT = "reasoning_effort"
16
16
  CONF_RECOMMENDED = "recommended"
17
17
  CONF_TEMPERATURE = "temperature"
@@ -247,7 +247,7 @@ class OpenAIConversationEntity(
247
247
  identifiers={(DOMAIN, subentry.subentry_id)},
248
248
  name=subentry.title,
249
249
  manufacturer="OpenAI",
250
- model=entry.data.get(CONF_CHAT_MODEL, RECOMMENDED_CHAT_MODEL),
250
+ model=subentry.data.get(CONF_CHAT_MODEL, RECOMMENDED_CHAT_MODEL),
251
251
  entry_type=dr.DeviceEntryType.SERVICE,
252
252
  )
253
253
  if self.subentry.data.get(CONF_LLM_HASS_API):
@@ -1,5 +1,8 @@
1
1
  {
2
2
  "config": {
3
+ "abort": {
4
+ "already_configured": "\u0423\u0441\u043b\u0443\u0433\u0430\u0442\u0430 \u0432\u0435\u0447\u0435 \u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0430"
5
+ },
3
6
  "error": {
4
7
  "cannot_connect": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435",
5
8
  "invalid_auth": "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u044f",
@@ -13,6 +16,29 @@
13
16
  }
14
17
  }
15
18
  },
19
+ "config_subentries": {
20
+ "conversation": {
21
+ "abort": {
22
+ "reconfigure_successful": "\u041f\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u0431\u0435\u0448\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e"
23
+ },
24
+ "step": {
25
+ "advanced": {
26
+ "data": {
27
+ "chat_model": "\u041c\u043e\u0434\u0435\u043b",
28
+ "temperature": "\u0422\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430"
29
+ },
30
+ "title": "\u0420\u0430\u0437\u0448\u0438\u0440\u0435\u043d\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438"
31
+ },
32
+ "init": {
33
+ "data": {
34
+ "llm_hass_api": "\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 Home Assistant",
35
+ "name": "\u0418\u043c\u0435",
36
+ "prompt": "\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438"
37
+ }
38
+ }
39
+ }
40
+ }
41
+ },
16
42
  "services": {
17
43
  "generate_content": {
18
44
  "fields": {
@@ -1,5 +1,8 @@
1
1
  {
2
2
  "config": {
3
+ "abort": {
4
+ "already_configured": "Layanan sudah dikonfigurasi"
5
+ },
3
6
  "error": {
4
7
  "cannot_connect": "Gagal terhubung",
5
8
  "invalid_auth": "Autentikasi tidak valid",
@@ -13,6 +16,26 @@
13
16
  }
14
17
  }
15
18
  },
19
+ "config_subentries": {
20
+ "conversation": {
21
+ "abort": {
22
+ "reconfigure_successful": "Konfigurasi ulang berhasil"
23
+ },
24
+ "step": {
25
+ "advanced": {
26
+ "data": {
27
+ "chat_model": "Model"
28
+ }
29
+ },
30
+ "init": {
31
+ "data": {
32
+ "llm_hass_api": "Kendalikan Home Assistant",
33
+ "name": "Nama"
34
+ }
35
+ }
36
+ }
37
+ }
38
+ },
16
39
  "exceptions": {
17
40
  "invalid_config_entry": {
18
41
  "message": "Entri konfigurasi yang diberikan tidak valid. {config_entry} didapatkan"
@@ -1,4 +1,48 @@
1
1
  {
2
+ "config_subentries": {
3
+ "conversation": {
4
+ "abort": {
5
+ "entry_not_loaded": "\u041d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0441\u0435 \u0434\u043e\u0434\u0430\u0432\u0430\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u0438 \u0434\u043e\u0434\u0435\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0458\u0430\u0442\u0430 \u0435 \u043e\u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d\u0430."
6
+ },
7
+ "entry_type": "\u0410\u0433\u0435\u043d\u0442 \u0437\u0430 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440",
8
+ "error": {
9
+ "model_not_supported": "\u041e\u0432\u043e\u0458 \u043c\u043e\u0434\u0435\u043b \u043d\u0435 \u0435 \u043f\u043e\u0434\u0434\u0440\u0436\u0430\u043d, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0434\u0440\u0443\u0433 \u043c\u043e\u0434\u0435\u043b"
10
+ },
11
+ "initiate_flow": {
12
+ "reconfigure": "\u0420\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u0458 \u0433\u043e \u0430\u0433\u0435\u043d\u0442\u043e\u0442 \u0437\u0430 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440",
13
+ "user": "\u0414\u043e\u0434\u0430\u0458 \u0430\u0433\u0435\u043d\u0442 \u0437\u0430 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440"
14
+ },
15
+ "step": {
16
+ "advanced": {
17
+ "data": {
18
+ "max_tokens": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u0435\u043d \u0431\u0440\u043e\u0458 \u043d\u0430 \u0442\u043e\u043a\u0435\u043d\u0438 \u0437\u0430 \u0432\u0440\u0430\u045c\u0430\u045a\u0435 \u0432\u043e \u043e\u0434\u0433\u043e\u0432\u043e\u0440",
19
+ "temperature": "\u0422\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430",
20
+ "top_p": "\u0422\u043e\u043f \u041f"
21
+ },
22
+ "title": "\u041d\u0430\u043f\u0440\u0435\u0434\u043d\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438"
23
+ },
24
+ "init": {
25
+ "data": {
26
+ "prompt": "\u0423\u043f\u0430\u0442\u0441\u0442\u0432\u0430",
27
+ "recommended": "\u041f\u0440\u0435\u043f\u043e\u0440\u0430\u0447\u0430\u043d\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u043e\u0442"
28
+ }
29
+ },
30
+ "model": {
31
+ "data": {
32
+ "search_context_size": "\u0413\u043e\u043b\u0435\u043c\u0438\u043d\u0430 \u043d\u0430 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u0442 \u0437\u0430 \u043f\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u045a\u0435",
33
+ "user_location": "\u0412\u043a\u043b\u0443\u0447\u0438 \u0458\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u0430\u0442\u0430 \u043b\u043e\u043a\u0430\u0446\u0438\u0458\u0430",
34
+ "web_search": "\u041e\u0432\u043e\u0437\u043c\u043e\u0436\u0438 \u0432\u0435\u0431 \u043f\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u045a\u0435"
35
+ },
36
+ "data_description": {
37
+ "reasoning_effort": "\u041a\u043e\u043b\u043a\u0443 \u0442\u043e\u043a\u0435\u043d\u0438 \u0437\u0430 \u0440\u0430\u0441\u0443\u0434\u0443\u0432\u0430\u045a\u0435 \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 \u043c\u043e\u0434\u0435\u043b\u043e\u0442 \u043f\u0440\u0435\u0434 \u0434\u0430 \u043a\u0440\u0435\u0438\u0440\u0430 \u043e\u0434\u0433\u043e\u0432\u043e\u0440 \u043d\u0430 \u043f\u0440\u0430\u0448\u0430\u045a\u0435\u0442\u043e",
38
+ "search_context_size": "\u0412\u0438\u0441\u043e\u043a\u043e \u043d\u0438\u0432\u043e \u043d\u0430 \u043d\u0430\u0441\u043e\u043a\u0438 \u0437\u0430 \u043a\u043e\u043b\u0438\u0447\u0438\u043d\u0430\u0442\u0430 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0440 \u043d\u0430 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u0438\u043e\u0442 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 \u0437\u0430 \u043a\u043e\u0440\u0438\u0441\u0442\u0435\u045a\u0435 \u0437\u0430 \u043f\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u045a\u0435",
39
+ "user_location": "\u041f\u0440\u0435\u0446\u0438\u0437\u0438\u0440\u0430\u045a\u0435 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u0442\u0430\u0442\u0438\u0442\u0435 \u043e\u0434 \u043f\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430\u045a\u0435\u0442\u043e \u0432\u0440\u0437 \u043e\u0441\u043d\u043e\u0432\u0430 \u043d\u0430 \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0441\u043a\u0430 \u043f\u043e\u043b\u043e\u0436\u0431\u0430",
40
+ "web_search": "\u0414\u043e\u0437\u0432\u043e\u043b\u0435\u0442\u0435 \u043c\u0443 \u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u043e\u0442 \u0434\u0430 \u043f\u0440\u0435\u0431\u0430\u0440\u0443\u0432\u0430 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0437\u0430 \u043d\u0430\u0458\u043d\u043e\u0432\u0438\u0442\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u0440\u0435\u0434 \u0434\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 \u043e\u0434\u0433\u043e\u0432\u043e\u0440"
41
+ }
42
+ }
43
+ }
44
+ }
45
+ },
2
46
  "services": {
3
47
  "generate_content": {
4
48
  "fields": {
@@ -1,12 +1,36 @@
1
1
  {
2
2
  "config": {
3
3
  "abort": {
4
- "already_configured": "\u0410\u043a\u0430\u0443\u043d\u0442\u044a\u0442 \u0432\u0435\u0447\u0435 \u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d"
4
+ "already_configured": "\u0410\u043a\u0430\u0443\u043d\u0442\u044a\u0442 \u0432\u0435\u0447\u0435 \u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d",
5
+ "reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u0442\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u044f \u0431\u0435\u0448\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u0430"
5
6
  },
6
7
  "error": {
7
8
  "cannot_connect": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435",
8
9
  "invalid_auth": "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u044f",
9
10
  "unknown": "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430"
10
11
  }
12
+ },
13
+ "entity": {
14
+ "sensor": {
15
+ "earned_trophies_bronze": {
16
+ "name": "\u0411\u0440\u043e\u043d\u0437\u043e\u0432\u0438 \u0442\u0440\u043e\u0444\u0435\u0438",
17
+ "unit_of_measurement": "\u0442\u0440\u043e\u0444\u0435\u0438"
18
+ },
19
+ "earned_trophies_gold": {
20
+ "name": "\u0417\u043b\u0430\u0442\u043d\u0438 \u0442\u0440\u043e\u0444\u0435\u0438",
21
+ "unit_of_measurement": "\u0442\u0440\u043e\u0444\u0435\u0438"
22
+ },
23
+ "earned_trophies_platinum": {
24
+ "name": "\u041f\u043b\u0430\u0442\u0438\u043d\u0435\u043d\u0438 \u0442\u0440\u043e\u0444\u0435\u0438",
25
+ "unit_of_measurement": "\u0442\u0440\u043e\u0444\u0435\u0438"
26
+ },
27
+ "earned_trophies_silver": {
28
+ "name": "\u0421\u0440\u0435\u0431\u044a\u0440\u043d\u0438 \u0442\u0440\u043e\u0444\u0435\u0438",
29
+ "unit_of_measurement": "\u0442\u0440\u043e\u0444\u0435\u0438"
30
+ },
31
+ "trophy_level_progress": {
32
+ "name": "\u0421\u043b\u0435\u0434\u0432\u0430\u0449\u043e \u043d\u0438\u0432\u043e"
33
+ }
34
+ }
11
35
  }
12
36
  }
@@ -52,7 +52,7 @@
52
52
  "unit_of_measurement": "trofeos"
53
53
  },
54
54
  "online_id": {
55
- "name": "ID en l\u00ednea"
55
+ "name": "ID online"
56
56
  },
57
57
  "trophy_level": {
58
58
  "name": "Nivel de trofeo"
@@ -0,0 +1,31 @@
1
+ {
2
+ "entity": {
3
+ "sensor": {
4
+ "earned_trophies_bronze": {
5
+ "name": "Tr\u00f3faithe cr\u00e9-umha",
6
+ "unit_of_measurement": "tr\u00f3faithe"
7
+ },
8
+ "earned_trophies_gold": {
9
+ "name": "Tr\u00f3faithe \u00f3ir",
10
+ "unit_of_measurement": "tr\u00f3faithe"
11
+ },
12
+ "earned_trophies_platinum": {
13
+ "name": "Tr\u00f3faithe platanam",
14
+ "unit_of_measurement": "tr\u00f3faithe"
15
+ },
16
+ "earned_trophies_silver": {
17
+ "name": "Tr\u00f3faithe airgid",
18
+ "unit_of_measurement": "tr\u00f3faithe"
19
+ },
20
+ "online_id": {
21
+ "name": "Aitheantas Ar L\u00edne"
22
+ },
23
+ "trophy_level": {
24
+ "name": "Leibh\u00e9al tr\u00f3fa\u00ed"
25
+ },
26
+ "trophy_level_progress": {
27
+ "name": "An ch\u00e9ad leibh\u00e9al eile"
28
+ }
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "already_configured": "Akun sudah dikonfigurasi",
5
+ "reauth_successful": "Autentikasi ulang berhasil"
6
+ },
7
+ "error": {
8
+ "cannot_connect": "Gagal terhubung",
9
+ "invalid_account": "Token akses tidak valid",
10
+ "invalid_auth": "Autentikasi tidak valid",
11
+ "unknown": "Kesalahan tak terduga"
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "entity": {
3
+ "sensor": {
4
+ "earned_trophies_silver": {
5
+ "name": "\u0421\u0440\u0435\u0431\u0440\u0435\u043d\u0438 \u0442\u0440\u043e\u0444\u0435\u0438"
6
+ },
7
+ "online_id": {
8
+ "name": "\u041e\u043d\u043b\u0430\u0458\u043d-ID"
9
+ },
10
+ "trophy_level": {
11
+ "name": "\u041d\u0438\u0432\u043e \u043d\u0430 \u0442\u0440\u043e\u0444\u0435\u0458"
12
+ },
13
+ "trophy_level_progress": {
14
+ "name": "\u0421\u043b\u0435\u0434\u043d\u043e \u043d\u0438\u0432\u043e"
15
+ }
16
+ }
17
+ }
18
+ }
@@ -28,5 +28,34 @@
28
28
  }
29
29
  }
30
30
  }
31
+ },
32
+ "entity": {
33
+ "sensor": {
34
+ "earned_trophies_bronze": {
35
+ "name": "Bronstrof\u00e9er",
36
+ "unit_of_measurement": "trof\u00e9er"
37
+ },
38
+ "earned_trophies_gold": {
39
+ "name": "Guldtrof\u00e9er",
40
+ "unit_of_measurement": "trof\u00e9er"
41
+ },
42
+ "earned_trophies_platinum": {
43
+ "name": "Platinatrof\u00e9er",
44
+ "unit_of_measurement": "trof\u00e9er"
45
+ },
46
+ "earned_trophies_silver": {
47
+ "name": "Silvertrof\u00e9er",
48
+ "unit_of_measurement": "trof\u00e9er"
49
+ },
50
+ "online_id": {
51
+ "name": "Online-ID"
52
+ },
53
+ "trophy_level": {
54
+ "name": "Trof\u00e9niv\u00e5"
55
+ },
56
+ "trophy_level_progress": {
57
+ "name": "N\u00e4sta niv\u00e5"
58
+ }
59
+ }
31
60
  }
32
61
  }
@@ -33,6 +33,35 @@
33
33
  }
34
34
  }
35
35
  },
36
+ "entity": {
37
+ "sensor": {
38
+ "earned_trophies_bronze": {
39
+ "name": "\u94dc\u5956\u676f",
40
+ "unit_of_measurement": "\u5956\u676f"
41
+ },
42
+ "earned_trophies_gold": {
43
+ "name": "\u91d1\u5956\u676f",
44
+ "unit_of_measurement": "\u5956\u676f"
45
+ },
46
+ "earned_trophies_platinum": {
47
+ "name": "\u767d\u91d1\u5956\u676f",
48
+ "unit_of_measurement": "\u5956\u676f"
49
+ },
50
+ "earned_trophies_silver": {
51
+ "name": "\u94f6\u5956\u676f",
52
+ "unit_of_measurement": "\u5956\u676f"
53
+ },
54
+ "online_id": {
55
+ "name": "\u5728\u7ebf ID"
56
+ },
57
+ "trophy_level": {
58
+ "name": "\u5956\u676f\u7ea7\u522b"
59
+ },
60
+ "trophy_level_progress": {
61
+ "name": "\u4e0b\u4e00\u7ea7"
62
+ }
63
+ }
64
+ },
36
65
  "exceptions": {
37
66
  "not_ready": {
38
67
  "message": "PlayStation Network \u8eab\u4efd\u9a8c\u8bc1\u5931\u8d25\u3002"
@@ -74,7 +74,7 @@
74
74
  "name": "Drifttid"
75
75
  },
76
76
  "volume_percentage_used": {
77
- "name": "Anv\u00e4nd volym ({monitor_device})"
77
+ "name": "Volymanv\u00e4ndning ({monitor_device})"
78
78
  },
79
79
  "volume_size_free": {
80
80
  "name": "Ledigt utrymme ({monitor_device})"
@@ -0,0 +1,34 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "already_configured": "Palvelu on jo m\u00e4\u00e4ritetty"
5
+ },
6
+ "error": {
7
+ "cannot_connect": "Yhteyden muodostaminen ep\u00e4onnistui",
8
+ "forbidden": "Palvelin ymm\u00e4rsi pyynn\u00f6n, mutta kielt\u00e4ytyi hyv\u00e4ksym\u00e4st\u00e4 sit\u00e4.",
9
+ "invalid_ics_file": "Kalenteritietojen lukemisessa oli ongelma. Katso lis\u00e4tietoja virhelokista."
10
+ },
11
+ "step": {
12
+ "user": {
13
+ "data": {
14
+ "calendar_name": "Kalenterin nimi",
15
+ "url": "Kalenterin URL-osoite"
16
+ },
17
+ "data_description": {
18
+ "calendar_name": "K\u00e4ytt\u00f6liittym\u00e4ss\u00e4 n\u00e4kyv\u00e4 kalenterin nimi.",
19
+ "url": "Et\u00e4kalenterin URL-osoite."
20
+ },
21
+ "description": "Anna tuotavalle kalenterille nimi"
22
+ }
23
+ }
24
+ },
25
+ "exceptions": {
26
+ "unable_to_fetch": {
27
+ "message": "Kalenteritietojen nouto ep\u00e4onnistui: {err}"
28
+ },
29
+ "unable_to_parse": {
30
+ "message": "Kalenteritietojen j\u00e4sent\u00e4minen ep\u00e4onnistui: {err}"
31
+ }
32
+ },
33
+ "title": "Et\u00e4kalenteri"
34
+ }
@@ -11,19 +11,19 @@
11
11
  "selected_option": "Nuvarande valt alternativ f\u00f6r {entity_name}"
12
12
  },
13
13
  "extra_fields": {
14
- "cycle": "Cykla",
14
+ "cycle": "Loopa",
15
15
  "for": "Varaktighet",
16
16
  "from": "Fr\u00e5n",
17
17
  "option": "Alternativ",
18
18
  "to": "Till"
19
19
  },
20
20
  "trigger_type": {
21
- "current_option_changed": "Alternativ f\u00f6r {entity_name} har \u00e4ndrats"
21
+ "current_option_changed": "Alternativ f\u00f6r {entity_name} \u00e4ndrat"
22
22
  }
23
23
  },
24
24
  "entity_component": {
25
25
  "_": {
26
- "name": "V\u00e4ljare",
26
+ "name": "Val",
27
27
  "state_attributes": {
28
28
  "options": {
29
29
  "name": "Alternativ"
@@ -46,11 +46,11 @@
46
46
  "name": "Sista"
47
47
  },
48
48
  "select_next": {
49
- "description": "V\u00e4ljer n\u00e4sta alternativ.",
49
+ "description": "V\u00e4ljer det n\u00e4sta alternativet.",
50
50
  "fields": {
51
51
  "cycle": {
52
- "description": "Om alternativet ska g\u00e5 fr\u00e5n det sista till det f\u00f6rsta.",
53
- "name": "Cykla"
52
+ "description": "Om alternativet ska loopa fr\u00e5n det sista till det f\u00f6rsta.",
53
+ "name": "Loopa"
54
54
  }
55
55
  },
56
56
  "name": "N\u00e4sta"
@@ -66,15 +66,15 @@
66
66
  "name": "V\u00e4lj"
67
67
  },
68
68
  "select_previous": {
69
- "description": "V\u00e4ljer f\u00f6reg\u00e5ende alternativ.",
69
+ "description": "V\u00e4ljer det f\u00f6reg\u00e5ende alternativet.",
70
70
  "fields": {
71
71
  "cycle": {
72
- "description": "Om alternativet ska g\u00e5 fr\u00e5n det f\u00f6rsta till det sista.",
73
- "name": "Cykla"
72
+ "description": "Om alternativet ska loopa fr\u00e5n det f\u00f6rsta till det sista.",
73
+ "name": "Loopa"
74
74
  }
75
75
  },
76
76
  "name": "F\u00f6reg\u00e5ende"
77
77
  }
78
78
  },
79
- "title": "V\u00e4ljare"
79
+ "title": "Val"
80
80
  }
@@ -5,7 +5,7 @@ from pysmarlaapi import Connection, Federwiege
5
5
  from homeassistant.config_entries import ConfigEntry
6
6
  from homeassistant.const import CONF_ACCESS_TOKEN
7
7
  from homeassistant.core import HomeAssistant
8
- from homeassistant.exceptions import ConfigEntryAuthFailed
8
+ from homeassistant.exceptions import ConfigEntryError
9
9
 
10
10
  from .const import HOST, PLATFORMS
11
11
 
@@ -18,7 +18,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: FederwiegeConfigEntry) -
18
18
 
19
19
  # Check if token still has access
20
20
  if not await connection.refresh_token():
21
- raise ConfigEntryAuthFailed("Invalid authentication")
21
+ raise ConfigEntryError("Invalid authentication")
22
22
 
23
23
  federwiege = Federwiege(hass.loop, connection)
24
24
  federwiege.register()
@@ -25,6 +25,11 @@
25
25
  }
26
26
  }
27
27
  },
28
+ "exceptions": {
29
+ "entity_not_found": {
30
+ "message": "\u041e\u0431\u0435\u043a\u0442\u044a\u0442 {entity_id} \u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d."
31
+ }
32
+ },
28
33
  "services": {
29
34
  "restore": {
30
35
  "fields": {
@@ -83,12 +83,18 @@
83
83
  "announce_media_error": {
84
84
  "message": "\u03a4\u03bf \u03ba\u03bb\u03b9\u03c0 \u03b1\u03bd\u03b1\u03ba\u03bf\u03af\u03bd\u03c9\u03c3\u03b7\u03c2 {media_id} \u03b1\u03c0\u03ad\u03c4\u03c5\u03c7\u03b5 {response}"
85
85
  },
86
+ "entity_not_found": {
87
+ "message": "\u0397 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 {entity_id} \u03b4\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b5."
88
+ },
86
89
  "invalid_favorite": {
87
90
  "message": "\u0394\u03b5\u03bd \u03ae\u03c4\u03b1\u03bd \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03b5\u03cd\u03c1\u03b5\u03c3\u03b7 \u03b5\u03bd\u03cc\u03c2 \u03b1\u03b3\u03b1\u03c0\u03b7\u03bc\u03ad\u03bd\u03bf\u03c5 \u03c4\u03bf\u03c5 Sonos: {name}"
88
91
  },
89
92
  "invalid_sonos_playlist": {
90
93
  "message": "\u0394\u03b5\u03bd \u03ae\u03c4\u03b1\u03bd \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03b5\u03cd\u03c1\u03b5\u03c3\u03b7 \u03c4\u03b7\u03c2 \u03bb\u03af\u03c3\u03c4\u03b1\u03c2 \u03b1\u03bd\u03b1\u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03ae\u03c2 Sonos: {name}"
91
94
  },
95
+ "speaker_not_found": {
96
+ "message": "\u03a4\u03bf {entity_id} \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b3\u03bd\u03c9\u03c3\u03c4\u03cc \u03b7\u03c7\u03b5\u03af\u03bf Sonos."
97
+ },
92
98
  "timeout_join": {
93
99
  "message": "\u039b\u03ae\u03be\u03b7 \u03c7\u03c1\u03bf\u03bd\u03b9\u03ba\u03bf\u03cd \u03bf\u03c1\u03af\u03bf\u03c5 \u03ba\u03b1\u03c4\u03ac \u03c4\u03b7\u03bd \u03b1\u03bd\u03b1\u03bc\u03bf\u03bd\u03ae \u03b3\u03b9\u03b1 \u03c4\u03b7\u03bd \u03ad\u03bd\u03c4\u03b1\u03be\u03b7 \u03c4\u03b7\u03c2 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ae\u03c2 \u03b1\u03bd\u03b1\u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03ae\u03c2 \u03c0\u03bf\u03bb\u03c5\u03bc\u03ad\u03c3\u03c9\u03bd Sonos \u03c3\u03c4\u03b7\u03bd \u03bf\u03bc\u03ac\u03b4\u03b1 {group_description}"
94
100
  }
@@ -3,5 +3,13 @@
3
3
  "abort": {
4
4
  "not_ipv4_address": "Gan aon seoladh IPv4 san fhaisn\u00e9is fionnachtana SSDP"
5
5
  }
6
+ },
7
+ "exceptions": {
8
+ "entity_not_found": {
9
+ "message": "N\u00edor aims\u00edodh eintiteas {entity_id}."
10
+ },
11
+ "speaker_not_found": {
12
+ "message": "N\u00ed cainteoir Sonos aitheanta \u00e9 {entity_id}."
13
+ }
6
14
  }
7
15
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "exceptions": {
3
+ "entity_not_found": {
4
+ "message": "\u0415\u043d\u0442\u0438\u0442\u0435\u0442\u043e\u0442 {entity_id} \u043d\u0435 \u0435 \u043f\u0440\u043e\u043d\u0430\u0458\u0434\u0435\u043d."
5
+ },
6
+ "speaker_not_found": {
7
+ "message": "{entity_id} \u043d\u0435 \u0435 \u043f\u043e\u0437\u043d\u0430\u0442 \u0437\u0432\u0443\u0447\u043d\u0438\u043a \u043d\u0430 Sonos."
8
+ }
9
+ }
10
+ }
@@ -83,6 +83,9 @@
83
83
  "announce_media_error": {
84
84
  "message": "\u0410\u043d\u043e\u043d\u0441 \u043a\u043b\u0438\u043f\u0430 {media_id} \u043d\u0435 \u0443\u0434\u0430\u043b\u0441\u044f {response}"
85
85
  },
86
+ "entity_not_found": {
87
+ "message": "\u041e\u0431\u044a\u0435\u043a\u0442 {entity_id} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d."
88
+ },
86
89
  "invalid_content_type": {
87
90
  "message": "Sonos \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0438\u043f \u043c\u0435\u0434\u0438\u0430\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430: {media_type}"
88
91
  },
@@ -94,6 +97,9 @@
94
97
  },
95
98
  "invalid_sonos_playlist": {
96
99
  "message": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442 Sonos: {name}"
100
+ },
101
+ "speaker_not_found": {
102
+ "message": "{entity_id} \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u043e\u0439 Sonos."
97
103
  }
98
104
  },
99
105
  "issues": {
@@ -83,6 +83,9 @@
83
83
  "announce_media_error": {
84
84
  "message": "Tillk\u00e4nnagivning av klipp {media_id} Misslyckades {response}"
85
85
  },
86
+ "entity_not_found": {
87
+ "message": "Entitet {entity_id} hittades inte."
88
+ },
86
89
  "invalid_content_type": {
87
90
  "message": "Sonos st\u00f6der inte medieinneh\u00e5llstyp: {media_type}"
88
91
  },
@@ -94,6 +97,9 @@
94
97
  },
95
98
  "invalid_sonos_playlist": {
96
99
  "message": "Kunde inte hitta Sonos-spellistan: {name}"
100
+ },
101
+ "speaker_not_found": {
102
+ "message": "{entity_id} \u00e4r inte en k\u00e4nd Sonos-h\u00f6gtalare."
97
103
  }
98
104
  },
99
105
  "issues": {