homeassistant 2025.7.0b1__py3-none-any.whl → 2025.7.0b3__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 (282) hide show
  1. homeassistant/components/ai_task/translations/hu.json +22 -0
  2. homeassistant/components/alexa_devices/manifest.json +1 -1
  3. homeassistant/components/alexa_devices/translations/cs.json +12 -1
  4. homeassistant/components/alexa_devices/translations/de.json +8 -0
  5. homeassistant/components/alexa_devices/translations/el.json +8 -0
  6. homeassistant/components/alexa_devices/translations/es.json +12 -1
  7. homeassistant/components/alexa_devices/translations/et.json +8 -0
  8. homeassistant/components/alexa_devices/translations/hu.json +4 -1
  9. homeassistant/components/alexa_devices/translations/pt.json +12 -1
  10. homeassistant/components/alexa_devices/translations/sk.json +8 -0
  11. homeassistant/components/alexa_devices/translations/zh-Hans.json +12 -1
  12. homeassistant/components/alexa_devices/translations/zh-Hant.json +8 -0
  13. homeassistant/components/altruist/translations/hu.json +19 -0
  14. homeassistant/components/anthropic/__init__.py +6 -0
  15. homeassistant/components/anthropic/translations/hu.json +19 -0
  16. homeassistant/components/assist_satellite/translations/hu.json +38 -0
  17. homeassistant/components/backup/translations/de.json +1 -1
  18. homeassistant/components/comelit/translations/de.json +1 -1
  19. homeassistant/components/counter/translations/sv.json +2 -2
  20. homeassistant/components/devolo_home_control/translations/hu.json +21 -0
  21. homeassistant/components/dsmr/sensor.py +8 -0
  22. homeassistant/components/electric_kiwi/translations/hu.json +6 -0
  23. homeassistant/components/enphase_envoy/translations/hu.json +18 -0
  24. homeassistant/components/enphase_envoy/translations/sv.json +3 -0
  25. homeassistant/components/fitbit/translations/hu.json +6 -0
  26. homeassistant/components/fronius/translations/sv.json +2 -2
  27. homeassistant/components/frontend/manifest.json +1 -1
  28. homeassistant/components/geocaching/translations/hu.json +6 -0
  29. homeassistant/components/google/translations/hu.json +6 -0
  30. homeassistant/components/google_assistant_sdk/translations/hu.json +6 -0
  31. homeassistant/components/google_drive/translations/hu.json +6 -0
  32. homeassistant/components/google_generative_ai_conversation/__init__.py +6 -0
  33. homeassistant/components/google_generative_ai_conversation/translations/cs.json +28 -0
  34. homeassistant/components/google_generative_ai_conversation/translations/hu.json +68 -0
  35. homeassistant/components/google_generative_ai_conversation/translations/pt.json +28 -0
  36. homeassistant/components/google_generative_ai_conversation/translations/sv.json +2 -0
  37. homeassistant/components/google_mail/translations/hu.json +6 -0
  38. homeassistant/components/google_photos/translations/hu.json +6 -0
  39. homeassistant/components/google_sheets/translations/hu.json +6 -0
  40. homeassistant/components/google_tasks/translations/hu.json +6 -0
  41. homeassistant/components/home_connect/translations/hu.json +6 -0
  42. homeassistant/components/homeassistant_hardware/firmware_config_flow.py +89 -7
  43. homeassistant/components/homeassistant_hardware/strings.json +2 -1
  44. homeassistant/components/homeassistant_hardware/translations/de.json +1 -0
  45. homeassistant/components/homeassistant_hardware/translations/en-GB.json +1 -0
  46. homeassistant/components/homeassistant_hardware/translations/en.json +1 -0
  47. homeassistant/components/homeassistant_hardware/translations/es.json +1 -0
  48. homeassistant/components/homeassistant_hardware/translations/et.json +1 -0
  49. homeassistant/components/homeassistant_hardware/translations/pt.json +1 -0
  50. homeassistant/components/homeassistant_hardware/translations/sv.json +1 -0
  51. homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +1 -0
  52. homeassistant/components/homeassistant_sky_connect/config_flow.py +1 -1
  53. homeassistant/components/homeassistant_sky_connect/strings.json +4 -2
  54. homeassistant/components/homeassistant_sky_connect/translations/de.json +2 -0
  55. homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +2 -0
  56. homeassistant/components/homeassistant_sky_connect/translations/en.json +2 -0
  57. homeassistant/components/homeassistant_sky_connect/translations/es.json +2 -0
  58. homeassistant/components/homeassistant_sky_connect/translations/et.json +2 -0
  59. homeassistant/components/homeassistant_sky_connect/translations/pt.json +2 -0
  60. homeassistant/components/homeassistant_sky_connect/translations/sv.json +2 -0
  61. homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +2 -0
  62. homeassistant/components/homeassistant_yellow/strings.json +2 -1
  63. homeassistant/components/homeassistant_yellow/translations/bg.json +0 -1
  64. homeassistant/components/homeassistant_yellow/translations/cs.json +0 -1
  65. homeassistant/components/homeassistant_yellow/translations/de.json +1 -0
  66. homeassistant/components/homeassistant_yellow/translations/el.json +0 -1
  67. homeassistant/components/homeassistant_yellow/translations/en-GB.json +2 -1
  68. homeassistant/components/homeassistant_yellow/translations/en.json +2 -1
  69. homeassistant/components/homeassistant_yellow/translations/es.json +1 -0
  70. homeassistant/components/homeassistant_yellow/translations/et.json +1 -0
  71. homeassistant/components/homeassistant_yellow/translations/fr.json +0 -1
  72. homeassistant/components/homeassistant_yellow/translations/he.json +0 -1
  73. homeassistant/components/homeassistant_yellow/translations/hu.json +1 -1
  74. homeassistant/components/homeassistant_yellow/translations/id.json +0 -1
  75. homeassistant/components/homeassistant_yellow/translations/it.json +0 -1
  76. homeassistant/components/homeassistant_yellow/translations/ja.json +0 -1
  77. homeassistant/components/homeassistant_yellow/translations/lt.json +0 -1
  78. homeassistant/components/homeassistant_yellow/translations/pt.json +1 -0
  79. homeassistant/components/homeassistant_yellow/translations/ru.json +0 -1
  80. homeassistant/components/homeassistant_yellow/translations/sk.json +0 -1
  81. homeassistant/components/homeassistant_yellow/translations/sv.json +1 -1
  82. homeassistant/components/homeassistant_yellow/translations/tr.json +0 -1
  83. homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +0 -1
  84. homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +1 -0
  85. homeassistant/components/homee/translations/hu.json +25 -0
  86. homeassistant/components/homewizard/translations/sv.json +1 -1
  87. homeassistant/components/honeywell/manifest.json +1 -1
  88. homeassistant/components/husqvarna_automower/button.py +3 -1
  89. homeassistant/components/husqvarna_automower/translations/hu.json +6 -0
  90. homeassistant/components/input_number/translations/sv.json +2 -2
  91. homeassistant/components/input_text/translations/sv.json +1 -1
  92. homeassistant/components/iotty/translations/hu.json +6 -0
  93. homeassistant/components/iron_os/manifest.json +1 -1
  94. homeassistant/components/jellyfin/client_wrapper.py +1 -2
  95. homeassistant/components/jellyfin/coordinator.py +3 -0
  96. homeassistant/components/jellyfin/manifest.json +1 -2
  97. homeassistant/components/keenetic_ndms2/translations/hu.json +3 -0
  98. homeassistant/components/lamarzocco/entity.py +19 -1
  99. homeassistant/components/lamarzocco/number.py +0 -4
  100. homeassistant/components/lamarzocco/sensor.py +2 -4
  101. homeassistant/components/lametric/translations/hu.json +6 -0
  102. homeassistant/components/litterrobot/translations/hu.json +3 -0
  103. homeassistant/components/lyric/translations/hu.json +6 -0
  104. homeassistant/components/matter/translations/hu.json +10 -0
  105. homeassistant/components/mcp/translations/hu.json +6 -0
  106. homeassistant/components/microbees/translations/hu.json +6 -0
  107. homeassistant/components/miele/translations/hu.json +28 -1
  108. homeassistant/components/minecraft_server/translations/sv.json +1 -1
  109. homeassistant/components/monzo/translations/hu.json +6 -0
  110. homeassistant/components/motioneye/translations/sv.json +1 -1
  111. homeassistant/components/mqtt/translations/cs.json +19 -0
  112. homeassistant/components/mqtt/translations/nl.json +25 -0
  113. homeassistant/components/mqtt/translations/pt.json +2 -0
  114. homeassistant/components/myuplink/translations/hu.json +6 -0
  115. homeassistant/components/neato/translations/hu.json +6 -0
  116. homeassistant/components/nest/translations/hu.json +6 -0
  117. homeassistant/components/netatmo/translations/hu.json +6 -0
  118. homeassistant/components/ntfy/translations/hu.json +62 -1
  119. homeassistant/components/ntfy/translations/sv.json +1 -0
  120. homeassistant/components/number/translations/sv.json +2 -2
  121. homeassistant/components/nut/config_flow.py +4 -2
  122. homeassistant/components/ollama/__init__.py +6 -0
  123. homeassistant/components/ollama/translations/hu.json +33 -0
  124. homeassistant/components/ollama/translations/sv.json +1 -0
  125. homeassistant/components/ondilo_ico/translations/hu.json +6 -0
  126. homeassistant/components/onedrive/translations/hu.json +6 -0
  127. homeassistant/components/onewire/translations/sv.json +1 -1
  128. homeassistant/components/openai_conversation/__init__.py +6 -0
  129. homeassistant/components/openai_conversation/translations/hu.json +56 -0
  130. homeassistant/components/openai_conversation/translations/sv.json +4 -0
  131. homeassistant/components/paperless_ngx/translations/hu.json +4 -2
  132. homeassistant/components/pegel_online/translations/bg.json +1 -2
  133. homeassistant/components/pegel_online/translations/ca.json +1 -2
  134. homeassistant/components/pegel_online/translations/cs.json +1 -2
  135. homeassistant/components/pegel_online/translations/de.json +1 -1
  136. homeassistant/components/pegel_online/translations/el.json +1 -2
  137. homeassistant/components/pegel_online/translations/en-GB.json +1 -2
  138. homeassistant/components/pegel_online/translations/en.json +1 -1
  139. homeassistant/components/pegel_online/translations/es.json +1 -2
  140. homeassistant/components/pegel_online/translations/et.json +1 -2
  141. homeassistant/components/pegel_online/translations/fi.json +1 -2
  142. homeassistant/components/pegel_online/translations/fr.json +1 -2
  143. homeassistant/components/pegel_online/translations/hu.json +1 -2
  144. homeassistant/components/pegel_online/translations/id.json +1 -2
  145. homeassistant/components/pegel_online/translations/it.json +1 -2
  146. homeassistant/components/pegel_online/translations/ja.json +1 -2
  147. homeassistant/components/pegel_online/translations/ko.json +1 -2
  148. homeassistant/components/pegel_online/translations/lt.json +1 -2
  149. homeassistant/components/pegel_online/translations/lv.json +1 -2
  150. homeassistant/components/pegel_online/translations/nl.json +1 -2
  151. homeassistant/components/pegel_online/translations/pt.json +1 -2
  152. homeassistant/components/pegel_online/translations/ru.json +1 -2
  153. homeassistant/components/pegel_online/translations/sk.json +1 -2
  154. homeassistant/components/pegel_online/translations/sv.json +1 -2
  155. homeassistant/components/pegel_online/translations/tr.json +1 -2
  156. homeassistant/components/pegel_online/translations/zh-Hans.json +1 -2
  157. homeassistant/components/pegel_online/translations/zh-Hant.json +1 -2
  158. homeassistant/components/playstation_network/diagnostics.py +55 -0
  159. homeassistant/components/playstation_network/quality_scale.yaml +1 -1
  160. homeassistant/components/playstation_network/translations/hu.json +30 -0
  161. homeassistant/components/playstation_network/translations/pl.json +73 -0
  162. homeassistant/components/plugwise/translations/sv.json +2 -2
  163. homeassistant/components/point/translations/hu.json +6 -0
  164. homeassistant/components/random/translations/sv.json +4 -4
  165. homeassistant/components/senz/translations/hu.json +6 -0
  166. homeassistant/components/shelly/entity.py +6 -2
  167. homeassistant/components/smappee/translations/hu.json +6 -0
  168. homeassistant/components/smartthings/translations/hu.json +6 -0
  169. homeassistant/components/sonos/translations/cs.json +6 -0
  170. homeassistant/components/spotify/translations/hu.json +6 -0
  171. homeassistant/components/subaru/strings.json +2 -2
  172. homeassistant/components/subaru/translations/ca.json +0 -1
  173. homeassistant/components/subaru/translations/cs.json +0 -2
  174. homeassistant/components/subaru/translations/de.json +2 -2
  175. homeassistant/components/subaru/translations/el.json +0 -2
  176. homeassistant/components/subaru/translations/en-GB.json +2 -2
  177. homeassistant/components/subaru/translations/en.json +2 -2
  178. homeassistant/components/subaru/translations/es.json +2 -2
  179. homeassistant/components/subaru/translations/et.json +2 -2
  180. homeassistant/components/subaru/translations/fi.json +0 -1
  181. homeassistant/components/subaru/translations/hu.json +0 -2
  182. homeassistant/components/subaru/translations/it.json +0 -1
  183. homeassistant/components/subaru/translations/ja.json +0 -1
  184. homeassistant/components/subaru/translations/ko.json +0 -1
  185. homeassistant/components/subaru/translations/lt.json +0 -2
  186. homeassistant/components/subaru/translations/pt-BR.json +0 -1
  187. homeassistant/components/subaru/translations/pt.json +2 -2
  188. homeassistant/components/subaru/translations/ru.json +0 -2
  189. homeassistant/components/subaru/translations/sk.json +0 -2
  190. homeassistant/components/subaru/translations/sv.json +0 -2
  191. homeassistant/components/subaru/translations/tr.json +0 -2
  192. homeassistant/components/subaru/translations/zh-Hans.json +0 -2
  193. homeassistant/components/subaru/translations/zh-Hant.json +2 -2
  194. homeassistant/components/switchbot/translations/hu.json +19 -0
  195. homeassistant/components/switchbot/translations/sv.json +2 -0
  196. homeassistant/components/telegram_bot/config_flow.py +17 -10
  197. homeassistant/components/telegram_bot/manifest.json +1 -1
  198. homeassistant/components/telegram_bot/translations/cs.json +30 -0
  199. homeassistant/components/telegram_bot/translations/de.json +23 -1
  200. homeassistant/components/telegram_bot/translations/el.json +30 -0
  201. homeassistant/components/telegram_bot/translations/en-GB.json +3 -1
  202. homeassistant/components/telegram_bot/translations/es.json +30 -0
  203. homeassistant/components/telegram_bot/translations/et.json +24 -0
  204. homeassistant/components/telegram_bot/translations/hu.json +1 -0
  205. homeassistant/components/telegram_bot/translations/pt.json +30 -0
  206. homeassistant/components/telegram_bot/translations/sk.json +30 -0
  207. homeassistant/components/telegram_bot/translations/sv.json +23 -0
  208. homeassistant/components/telegram_bot/translations/zh-Hans.json +30 -0
  209. homeassistant/components/telegram_bot/translations/zh-Hant.json +30 -0
  210. homeassistant/components/tesla_fleet/translations/hu.json +7 -0
  211. homeassistant/components/teslemetry/coordinator.py +6 -6
  212. homeassistant/components/text/translations/sv.json +1 -1
  213. homeassistant/components/thermopro/strings.json +1 -1
  214. homeassistant/components/thermopro/translations/cs.json +0 -7
  215. homeassistant/components/thermopro/translations/de.json +1 -1
  216. homeassistant/components/thermopro/translations/el.json +0 -7
  217. homeassistant/components/thermopro/translations/en-GB.json +1 -1
  218. homeassistant/components/thermopro/translations/en.json +1 -1
  219. homeassistant/components/thermopro/translations/es.json +0 -7
  220. homeassistant/components/thermopro/translations/et.json +1 -1
  221. homeassistant/components/thermopro/translations/hu.json +0 -7
  222. homeassistant/components/thermopro/translations/ja.json +0 -7
  223. homeassistant/components/thermopro/translations/lt.json +0 -7
  224. homeassistant/components/thermopro/translations/nl.json +0 -7
  225. homeassistant/components/thermopro/translations/pt-BR.json +0 -7
  226. homeassistant/components/thermopro/translations/pt.json +0 -7
  227. homeassistant/components/thermopro/translations/ru.json +0 -7
  228. homeassistant/components/thermopro/translations/sk.json +0 -7
  229. homeassistant/components/thermopro/translations/sv.json +0 -7
  230. homeassistant/components/thermopro/translations/tr.json +0 -7
  231. homeassistant/components/thermopro/translations/zh-Hans.json +0 -7
  232. homeassistant/components/tilt_pi/translations/hu.json +21 -0
  233. homeassistant/components/toon/translations/hu.json +6 -0
  234. homeassistant/components/vegehub/translations/hu.json +11 -0
  235. homeassistant/components/vegehub/translations/sv.json +2 -1
  236. homeassistant/components/vicare/translations/sv.json +2 -2
  237. homeassistant/components/weheat/translations/hu.json +6 -0
  238. homeassistant/components/withings/translations/hu.json +6 -0
  239. homeassistant/components/wyoming/translations/sv.json +2 -2
  240. homeassistant/components/xbox/translations/hu.json +6 -0
  241. homeassistant/components/xiaomi_miio/translations/hu.json +7 -0
  242. homeassistant/components/yale/translations/hu.json +6 -0
  243. homeassistant/components/yolink/translations/hu.json +6 -0
  244. homeassistant/components/zha/translations/hu.json +6 -0
  245. homeassistant/components/zha/translations/sv.json +12 -0
  246. homeassistant/components/zwave_js/config_flow.py +84 -88
  247. homeassistant/components/zwave_js/strings.json +31 -15
  248. homeassistant/components/zwave_js/translations/bg.json +0 -3
  249. homeassistant/components/zwave_js/translations/cs.json +0 -17
  250. homeassistant/components/zwave_js/translations/de.json +27 -11
  251. homeassistant/components/zwave_js/translations/el.json +0 -17
  252. homeassistant/components/zwave_js/translations/en-GB.json +1 -17
  253. homeassistant/components/zwave_js/translations/en.json +25 -9
  254. homeassistant/components/zwave_js/translations/es.json +1 -17
  255. homeassistant/components/zwave_js/translations/et.json +25 -9
  256. homeassistant/components/zwave_js/translations/fi.json +0 -14
  257. homeassistant/components/zwave_js/translations/ga.json +0 -19
  258. homeassistant/components/zwave_js/translations/hu.json +0 -17
  259. homeassistant/components/zwave_js/translations/lt.json +0 -17
  260. homeassistant/components/zwave_js/translations/mk.json +0 -10
  261. homeassistant/components/zwave_js/translations/pt.json +10 -18
  262. homeassistant/components/zwave_js/translations/ru.json +0 -13
  263. homeassistant/components/zwave_js/translations/sk.json +0 -17
  264. homeassistant/components/zwave_js/translations/sv.json +0 -17
  265. homeassistant/components/zwave_js/translations/tr.json +0 -12
  266. homeassistant/components/zwave_js/translations/zh-Hans.json +0 -17
  267. homeassistant/components/zwave_js/translations/zh-Hant.json +1 -17
  268. homeassistant/const.py +1 -1
  269. homeassistant/generated/integrations.json +1 -8
  270. homeassistant/package_constraints.txt +1 -1
  271. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/METADATA +1 -1
  272. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/RECORD +277 -275
  273. homeassistant/components/dweet/__init__.py +0 -79
  274. homeassistant/components/dweet/manifest.json +0 -10
  275. homeassistant/components/dweet/sensor.py +0 -124
  276. homeassistant/components/thermopro/translations/ga.json +0 -9
  277. homeassistant/components/thermopro/translations/mk.json +0 -9
  278. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/WHEEL +0 -0
  279. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/entry_points.txt +0 -0
  280. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/licenses/LICENSE.md +0 -0
  281. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  282. {homeassistant-2025.7.0b1.dist-info → homeassistant-2025.7.0b3.dist-info}/top_level.txt +0 -0
@@ -32,6 +32,12 @@
32
32
  "title": "\u00d6sszekapcsol\u00e1s Google-al"
33
33
  },
34
34
  "pick_implementation": {
35
+ "data": {
36
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
37
+ },
38
+ "data_description": {
39
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
40
+ },
35
41
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
36
42
  },
37
43
  "reauth_confirm": {
@@ -25,6 +25,12 @@
25
25
  "title": "Google-fi\u00f3k \u00f6sszekapcsol\u00e1sa"
26
26
  },
27
27
  "pick_implementation": {
28
+ "data": {
29
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
30
+ },
31
+ "data_description": {
32
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
33
+ },
28
34
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
29
35
  },
30
36
  "reauth_confirm": {
@@ -29,6 +29,12 @@
29
29
  "title": "Google-fi\u00f3k \u00f6sszekapcsol\u00e1sa"
30
30
  },
31
31
  "pick_implementation": {
32
+ "data": {
33
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
34
+ },
35
+ "data_description": {
36
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
37
+ },
32
38
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
33
39
  },
34
40
  "reauth_confirm": {
@@ -284,6 +284,12 @@ async def async_migrate_integration(hass: HomeAssistant) -> None:
284
284
  device.id,
285
285
  remove_config_entry_id=entry.entry_id,
286
286
  )
287
+ else:
288
+ device_registry.async_update_device(
289
+ device.id,
290
+ remove_config_entry_id=entry.entry_id,
291
+ remove_config_subentry_id=None,
292
+ )
287
293
 
288
294
  if not use_existing:
289
295
  await hass.config_entries.async_remove(entry.entry_id)
@@ -60,6 +60,34 @@
60
60
  }
61
61
  }
62
62
  }
63
+ },
64
+ "tts": {
65
+ "abort": {
66
+ "entry_not_loaded": "Nelze p\u0159id\u00e1vat polo\u017eky, pokud je nastaven\u00ed zak\u00e1z\u00e1no.",
67
+ "reconfigure_successful": "P\u0159enastaven\u00ed bylo \u00fasp\u011b\u0161n\u00e9"
68
+ },
69
+ "entry_type": "P\u0159evod textu na \u0159e\u010d",
70
+ "initiate_flow": {
71
+ "reconfigure": "P\u0159enastavit slu\u017ebu p\u0159evodu textu na \u0159e\u010d",
72
+ "user": "P\u0159idat slu\u017ebu p\u0159evodu textu na \u0159e\u010d"
73
+ },
74
+ "step": {
75
+ "set_options": {
76
+ "data": {
77
+ "chat_model": "Model",
78
+ "dangerous_block_threshold": "Propaguje, usnad\u0148uje nebo podn\u011bcuje \u0161kodliv\u00e9 jedn\u00e1n\u00ed",
79
+ "harassment_block_threshold": "Negativn\u00ed nebo \u0161kodliv\u00e9 koment\u00e1\u0159e zam\u011b\u0159en\u00e9 na identitu nebo chr\u00e1n\u011bn\u00e9 atributy",
80
+ "hate_block_threshold": "Obsah, kter\u00fd je hrub\u00fd, neuctiv\u00fd nebo vulg\u00e1rn\u00ed",
81
+ "max_tokens": "Maxim\u00e1ln\u00ed po\u010det token\u016f, kter\u00e9 se maj\u00ed vr\u00e1tit jako odpov\u011b\u010f",
82
+ "name": "N\u00e1zev",
83
+ "recommended": "Doporu\u010den\u00e1 nastaven\u00ed modelu",
84
+ "sexual_block_threshold": "Obsahuje odkazy na sexu\u00e1ln\u00ed akty nebo jin\u00fd oplzl\u00fd obsah",
85
+ "temperature": "Teplota",
86
+ "top_k": "Top K",
87
+ "top_p": "Top P"
88
+ }
89
+ }
90
+ }
63
91
  }
64
92
  },
65
93
  "issues": {
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "config": {
3
3
  "abort": {
4
+ "already_configured": "A szolg\u00e1ltat\u00e1s m\u00e1r konfigur\u00e1lva van",
4
5
  "reauth_successful": "Az \u00fajrahiteles\u00edt\u00e9s sikeres volt"
5
6
  },
6
7
  "error": {
@@ -21,6 +22,73 @@
21
22
  }
22
23
  }
23
24
  },
25
+ "config_subentries": {
26
+ "conversation": {
27
+ "abort": {
28
+ "entry_not_loaded": "Nem lehet \u00faj elemeket hozz\u00e1adni, am\u00edg a konfigur\u00e1ci\u00f3 le van tiltva.",
29
+ "reconfigure_successful": "\u00dajrakonfigur\u00e1l\u00e1s sikeres volt"
30
+ },
31
+ "entry_type": "Besz\u00e9lget\u00e9si \u00fcgyn\u00f6k",
32
+ "error": {
33
+ "invalid_google_search_option": "A Google Keres\u00e9s csak akkor enged\u00e9lyezhet\u0151, ha a \u201eHome Assistant vez\u00e9rl\u00e9se\u201d be\u00e1ll\u00edt\u00e1sban nincs kiv\u00e1lasztva semmi."
34
+ },
35
+ "initiate_flow": {
36
+ "reconfigure": "Besz\u00e9lget\u00e9si \u00fcgyn\u00f6k \u00fajrakonfigur\u00e1l\u00e1sa",
37
+ "user": "Besz\u00e9lget\u00e9si \u00fcgyn\u00f6k hozz\u00e1ad\u00e1sa"
38
+ },
39
+ "step": {
40
+ "set_options": {
41
+ "data": {
42
+ "chat_model": "Modell",
43
+ "dangerous_block_threshold": "Olyan tartalom, amely k\u00e1ros cselekedeteket n\u00e9pszer\u0171s\u00edt, el\u0151seg\u00edt vagy b\u00e1tor\u00edt",
44
+ "enable_google_search_tool": "Google Keres\u0151 eszk\u00f6z enged\u00e9lyez\u00e9se",
45
+ "harassment_block_threshold": "Az identit\u00e1st \u00e9s/vagy v\u00e9dett tulajdons\u00e1gokat c\u00e9lz\u00f3 negat\u00edv vagy \u00e1rtalmas megjegyz\u00e9sek",
46
+ "hate_block_threshold": "Durva, tiszteletlen vagy tr\u00e1g\u00e1r tartalom",
47
+ "llm_hass_api": "Home Assistant vez\u00e9rl\u00e9se",
48
+ "max_tokens": "V\u00e1laszk\u00e9nt visszaadand\u00f3 maxim\u00e1lis tokenek sz\u00e1ma",
49
+ "name": "Elnevez\u00e9s",
50
+ "prompt": "Utas\u00edt\u00e1sok",
51
+ "recommended": "Aj\u00e1nlott modellbe\u00e1ll\u00edt\u00e1sok",
52
+ "sexual_block_threshold": "Szexu\u00e1lis cselekedetekre vagy m\u00e1s illetlen tartalomra vonatkoz\u00f3 utal\u00e1sokat tartalmaz",
53
+ "temperature": "H\u0151m\u00e9rs\u00e9klet",
54
+ "top_k": "Top K",
55
+ "top_p": "Top P"
56
+ },
57
+ "data_description": {
58
+ "enable_google_search_tool": "Csak akkor m\u0171k\u00f6dik, ha a \u201eHome Assistant vez\u00e9rl\u00e9se\u201d be\u00e1ll\u00edt\u00e1sban nincs kiv\u00e1lasztva semmi. L\u00e1sd a dokument\u00e1ci\u00f3ban, hogyan lehet megker\u00fclni ezt az \u201eAssist\u201d haszn\u00e1lat\u00e1val.",
59
+ "prompt": "Adja meg, hogyan v\u00e1laszoljon a nagy nyelvi modell (LLM). Ez lehet sablon is."
60
+ }
61
+ }
62
+ }
63
+ },
64
+ "tts": {
65
+ "abort": {
66
+ "entry_not_loaded": "Nem lehet \u00faj elemeket hozz\u00e1adni, am\u00edg a konfigur\u00e1ci\u00f3 le van tiltva.",
67
+ "reconfigure_successful": "\u00dajrakonfigur\u00e1l\u00e1s sikeres volt"
68
+ },
69
+ "initiate_flow": {
70
+ "reconfigure": "Sz\u00f6vegfelolvas\u00f3 szolg\u00e1ltat\u00e1s \u00fajrakonfigur\u00e1l\u00e1sa",
71
+ "user": "Sz\u00f6vegfelolvas\u00f3 szolg\u00e1ltat\u00e1s hozz\u00e1ad\u00e1sa"
72
+ },
73
+ "step": {
74
+ "set_options": {
75
+ "data": {
76
+ "chat_model": "Modell",
77
+ "dangerous_block_threshold": "Olyan tartalom, amely k\u00e1ros cselekedeteket n\u00e9pszer\u0171s\u00edt, el\u0151seg\u00edt vagy b\u00e1tor\u00edt",
78
+ "harassment_block_threshold": "Az identit\u00e1st \u00e9s/vagy v\u00e9dett tulajdons\u00e1gokat c\u00e9lz\u00f3 negat\u00edv vagy \u00e1rtalmas megjegyz\u00e9sek",
79
+ "hate_block_threshold": "Durva, tiszteletlen vagy tr\u00e1g\u00e1r tartalom",
80
+ "max_tokens": "V\u00e1laszk\u00e9nt visszaadand\u00f3 maxim\u00e1lis tokenek sz\u00e1ma",
81
+ "name": "Elnevez\u00e9s",
82
+ "recommended": "Aj\u00e1nlott modellbe\u00e1ll\u00edt\u00e1sok",
83
+ "sexual_block_threshold": "Szexu\u00e1lis cselekedetekre vagy m\u00e1s illetlen tartalomra vonatkoz\u00f3 utal\u00e1sokat tartalmaz",
84
+ "temperature": "H\u0151m\u00e9rs\u00e9klet",
85
+ "top_k": "Top K",
86
+ "top_p": "Top P"
87
+ }
88
+ }
89
+ }
90
+ }
91
+ },
24
92
  "issues": {
25
93
  "deprecated_image_filename_parameter": {
26
94
  "description": "Az 'image_filename' param\u00e9ter a Google Generative AI m\u0171veleteiben elavult. K\u00e9rj\u00fck, szerkessze a szkripteket \u00e9s automatiz\u00e1ci\u00f3kat, hogy a 'filenames' param\u00e9tert haszn\u00e1lj\u00e1k helyette.",
@@ -60,6 +60,34 @@
60
60
  }
61
61
  }
62
62
  }
63
+ },
64
+ "tts": {
65
+ "abort": {
66
+ "entry_not_loaded": "N\u00e3o \u00e9 poss\u00edvel adicionar coisas enquanto a configura\u00e7\u00e3o estiver desativada.",
67
+ "reconfigure_successful": "A reconfigura\u00e7\u00e3o foi bem sucedida"
68
+ },
69
+ "entry_type": "Text-to-Speech",
70
+ "initiate_flow": {
71
+ "reconfigure": "Reconfigurar o servi\u00e7o Text-to-Speech",
72
+ "user": "Adicionar servi\u00e7o Text-to-Speech"
73
+ },
74
+ "step": {
75
+ "set_options": {
76
+ "data": {
77
+ "chat_model": "Modelo",
78
+ "dangerous_block_threshold": "Promove, facilita ou incentiva atos prejudiciais",
79
+ "harassment_block_threshold": "Coment\u00e1rios negativos ou prejudiciais, visando a identidade e/ou atributos protegidos",
80
+ "hate_block_threshold": "Conte\u00fado que seja rude, desrespeitoso ou profano",
81
+ "max_tokens": "M\u00e1ximo de tokens a devolver na resposta",
82
+ "name": "Nome",
83
+ "recommended": "Defini\u00e7\u00f5es de modelo recomendadas",
84
+ "sexual_block_threshold": "Cont\u00e9m refer\u00eancias a atos sexuais ou outros conte\u00fados obscenos",
85
+ "temperature": "Temperatura",
86
+ "top_k": "Top K",
87
+ "top_p": "Top P"
88
+ }
89
+ }
90
+ }
63
91
  }
64
92
  },
65
93
  "issues": {
@@ -25,6 +25,7 @@
25
25
  "config_subentries": {
26
26
  "conversation": {
27
27
  "abort": {
28
+ "entry_not_loaded": "Det g\u00e5r inte att l\u00e4gga till saker n\u00e4r konfigurationen \u00e4r inaktiverad.",
28
29
  "reconfigure_successful": "Omkonfigureringen lyckades"
29
30
  },
30
31
  "step": {
@@ -43,6 +44,7 @@
43
44
  },
44
45
  "tts": {
45
46
  "abort": {
47
+ "entry_not_loaded": "Det g\u00e5r inte att l\u00e4gga till saker n\u00e4r konfigurationen \u00e4r inaktiverad.",
46
48
  "reconfigure_successful": "Omkonfigureringen lyckades"
47
49
  },
48
50
  "entry_type": "Text-till-tal",
@@ -26,6 +26,12 @@
26
26
  "title": "Google-fi\u00f3k \u00f6sszekapcsol\u00e1sa"
27
27
  },
28
28
  "pick_implementation": {
29
+ "data": {
30
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
31
+ },
32
+ "data_description": {
33
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
34
+ },
29
35
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
30
36
  },
31
37
  "reauth_confirm": {
@@ -28,6 +28,12 @@
28
28
  "title": "Google-fi\u00f3k \u00f6sszekapcsol\u00e1sa"
29
29
  },
30
30
  "pick_implementation": {
31
+ "data": {
32
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
33
+ },
34
+ "data_description": {
35
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
36
+ },
31
37
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
32
38
  },
33
39
  "reauth_confirm": {
@@ -27,6 +27,12 @@
27
27
  "title": "Google-fi\u00f3k \u00f6sszekapcsol\u00e1sa"
28
28
  },
29
29
  "pick_implementation": {
30
+ "data": {
31
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
32
+ },
33
+ "data_description": {
34
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
35
+ },
30
36
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
31
37
  },
32
38
  "reauth_confirm": {
@@ -28,6 +28,12 @@
28
28
  "title": "Google-fi\u00f3k \u00f6sszekapcsol\u00e1sa"
29
29
  },
30
30
  "pick_implementation": {
31
+ "data": {
32
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
33
+ },
34
+ "data_description": {
35
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
36
+ },
31
37
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
32
38
  },
33
39
  "reauth_confirm": {
@@ -26,6 +26,12 @@
26
26
  "description": "A Home Assistant tal\u00e1lt egy Home Connect eszk\u00f6zt a h\u00e1l\u00f3zat\u00e1n. Vegye figyelembe, hogy a Home Connect be\u00e1ll\u00edt\u00e1sa bonyolultabb lehet, mint sok m\u00e1s integr\u00e1ci\u00f3\u00e9. A folytat\u00e1shoz nyomja meg a **Mehet** gombot."
27
27
  },
28
28
  "pick_implementation": {
29
+ "data": {
30
+ "implementation": "Alkalmaz\u00e1s-hiteles\u00edt\u0151 adatok"
31
+ },
32
+ "data_description": {
33
+ "implementation": "A hiteles\u00edt\u00e9shez haszn\u00e1land\u00f3 hiteles\u00edt\u0151 adatok"
34
+ },
29
35
  "title": "V\u00e1lasszon egy hiteles\u00edt\u00e9si m\u00f3dszert"
30
36
  },
31
37
  "reauth_confirm": {
@@ -7,7 +7,10 @@ import asyncio
7
7
  import logging
8
8
  from typing import Any
9
9
 
10
- from ha_silabs_firmware_client import FirmwareUpdateClient
10
+ from aiohttp import ClientError
11
+ from ha_silabs_firmware_client import FirmwareUpdateClient, ManifestMissing
12
+ from universal_silabs_flasher.common import Version
13
+ from universal_silabs_flasher.firmware import NabuCasaMetadata
11
14
 
12
15
  from homeassistant.components.hassio import (
13
16
  AddonError,
@@ -149,15 +152,78 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
149
152
  assert self._device is not None
150
153
 
151
154
  if not self.firmware_install_task:
155
+ # We 100% need to install new firmware only if the wrong firmware is
156
+ # currently installed
157
+ firmware_install_required = self._probed_firmware_info is None or (
158
+ self._probed_firmware_info.firmware_type
159
+ != expected_installed_firmware_type
160
+ )
161
+
152
162
  session = async_get_clientsession(self.hass)
153
163
  client = FirmwareUpdateClient(fw_update_url, session)
154
- manifest = await client.async_update_data()
155
164
 
156
- fw_meta = next(
157
- fw for fw in manifest.firmwares if fw.filename.startswith(fw_type)
158
- )
165
+ try:
166
+ manifest = await client.async_update_data()
167
+ fw_manifest = next(
168
+ fw for fw in manifest.firmwares if fw.filename.startswith(fw_type)
169
+ )
170
+ except (StopIteration, TimeoutError, ClientError, ManifestMissing) as err:
171
+ _LOGGER.warning(
172
+ "Failed to fetch firmware update manifest", exc_info=True
173
+ )
174
+
175
+ # Not having internet access should not prevent setup
176
+ if not firmware_install_required:
177
+ _LOGGER.debug(
178
+ "Skipping firmware upgrade due to index download failure"
179
+ )
180
+ return self.async_show_progress_done(next_step_id=next_step_id)
181
+
182
+ raise AbortFlow(
183
+ "fw_download_failed",
184
+ description_placeholders={
185
+ **self._get_translation_placeholders(),
186
+ "firmware_name": firmware_name,
187
+ },
188
+ ) from err
189
+
190
+ if not firmware_install_required:
191
+ assert self._probed_firmware_info is not None
192
+
193
+ # Make sure we do not downgrade the firmware
194
+ fw_metadata = NabuCasaMetadata.from_json(fw_manifest.metadata)
195
+ fw_version = fw_metadata.get_public_version()
196
+ probed_fw_version = Version(self._probed_firmware_info.firmware_version)
197
+
198
+ if probed_fw_version >= fw_version:
199
+ _LOGGER.debug(
200
+ "Not downgrading firmware, installed %s is newer than available %s",
201
+ probed_fw_version,
202
+ fw_version,
203
+ )
204
+ return self.async_show_progress_done(next_step_id=next_step_id)
205
+
206
+ try:
207
+ fw_data = await client.async_fetch_firmware(fw_manifest)
208
+ except (TimeoutError, ClientError, ValueError) as err:
209
+ _LOGGER.warning("Failed to fetch firmware update", exc_info=True)
210
+
211
+ # If we cannot download new firmware, we shouldn't block setup
212
+ if not firmware_install_required:
213
+ _LOGGER.debug(
214
+ "Skipping firmware upgrade due to image download failure"
215
+ )
216
+ return self.async_show_progress_done(next_step_id=next_step_id)
217
+
218
+ # Otherwise, fail
219
+ raise AbortFlow(
220
+ "fw_download_failed",
221
+ description_placeholders={
222
+ **self._get_translation_placeholders(),
223
+ "firmware_name": firmware_name,
224
+ },
225
+ ) from err
159
226
 
160
- fw_data = await client.async_fetch_firmware(fw_meta)
161
227
  self.firmware_install_task = self.hass.async_create_task(
162
228
  async_flash_silabs_firmware(
163
229
  hass=self.hass,
@@ -215,6 +281,14 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
215
281
  },
216
282
  )
217
283
 
284
+ async def async_step_pre_confirm_zigbee(
285
+ self, user_input: dict[str, Any] | None = None
286
+ ) -> ConfigFlowResult:
287
+ """Pre-confirm Zigbee setup."""
288
+
289
+ # This step is necessary to prevent `user_input` from being passed through
290
+ return await self.async_step_confirm_zigbee()
291
+
218
292
  async def async_step_confirm_zigbee(
219
293
  self, user_input: dict[str, Any] | None = None
220
294
  ) -> ConfigFlowResult:
@@ -409,7 +483,15 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
409
483
  finally:
410
484
  self.addon_start_task = None
411
485
 
412
- return self.async_show_progress_done(next_step_id="confirm_otbr")
486
+ return self.async_show_progress_done(next_step_id="pre_confirm_otbr")
487
+
488
+ async def async_step_pre_confirm_otbr(
489
+ self, user_input: dict[str, Any] | None = None
490
+ ) -> ConfigFlowResult:
491
+ """Pre-confirm OTBR setup."""
492
+
493
+ # This step is necessary to prevent `user_input` from being passed through
494
+ return await self.async_step_confirm_otbr()
413
495
 
414
496
  async def async_step_confirm_otbr(
415
497
  self, user_input: dict[str, Any] | None = None
@@ -36,7 +36,8 @@
36
36
  "otbr_addon_already_running": "The OpenThread Border Router add-on is already running, it cannot be installed again.",
37
37
  "zha_still_using_stick": "This {model} is in use by the Zigbee Home Automation integration. Please migrate your Zigbee network to another adapter or delete the integration and try again.",
38
38
  "otbr_still_using_stick": "This {model} is in use by the OpenThread Border Router add-on. If you use the Thread network, make sure you have alternative border routers. Uninstall the add-on and try again.",
39
- "unsupported_firmware": "The radio firmware on your {model} could not be determined. Make sure that no other integration or add-on is currently trying to communicate with the device. If you are running Home Assistant OS in a virtual machine or in Docker, please make sure that permissions are set correctly for the device."
39
+ "unsupported_firmware": "The radio firmware on your {model} could not be determined. Make sure that no other integration or add-on is currently trying to communicate with the device. If you are running Home Assistant OS in a virtual machine or in Docker, please make sure that permissions are set correctly for the device.",
40
+ "fw_download_failed": "{firmware_name} firmware for your {model} failed to download. Make sure Home Assistant has internet access and try again."
40
41
  },
41
42
  "progress": {
42
43
  "install_firmware": "Please wait while {firmware_name} firmware is installed to your {model}, this will take a few minutes. Do not make any changes to your hardware or software until this finishes."
@@ -2,6 +2,7 @@
2
2
  "firmware_picker": {
3
3
  "options": {
4
4
  "abort": {
5
+ "fw_download_failed": "Download der {firmware_name}-Firmware f\u00fcr deinen {model} fehlgeschlagen. Stelle sicher, dass Home Assistant einen Internetzugang hat und versuche es erneut.",
5
6
  "not_hassio_thread": "Das OpenThread Border Router-Add-on kann nur mit Home Assistant OS installiert werden. Wenn du das {model} als Thread Border Router verwenden m\u00f6chtest, flashe die Firmware bitte manuell mit dem [Web Flasher]({docs_web_flasher_url}) und richte den OpenThread Border Router f\u00fcr die Kommunikation damit ein.",
6
7
  "otbr_addon_already_running": "Das OpenThread Border Router-Add-on wird bereits ausgef\u00fchrt und kann nicht erneut installiert werden.",
7
8
  "otbr_still_using_stick": "Dieses {model} wird vom OpenThread Border Router-Add-on verwendet. Wenn du das Thread-Netzwerk verwendest, stelle sicher, dass du alternative Border-Router hast. Deinstalliere das Add-on und versuche es erneut.",
@@ -2,6 +2,7 @@
2
2
  "firmware_picker": {
3
3
  "options": {
4
4
  "abort": {
5
+ "fw_download_failed": "{firmware_name} firmware for your {model} failed to download. Make sure Home Assistant has internet access and try again.",
5
6
  "not_hassio_thread": "The OpenThread Border Router add-on can only be installed with Home Assistant OS. If you would like to use the {model} as a Thread border router, please flash the firmware manually using the [web flasher]({docs_web_flasher_url}) and set up OpenThread Border Router to communicate with it.",
6
7
  "otbr_addon_already_running": "The OpenThread Border Router add-on is already running, it cannot be installed again.",
7
8
  "otbr_still_using_stick": "This {model} is in use by the OpenThread Border Router add-on. If you use the Thread network, make sure you have alternative border routers. Uninstall the add-on and try again.",
@@ -2,6 +2,7 @@
2
2
  "firmware_picker": {
3
3
  "options": {
4
4
  "abort": {
5
+ "fw_download_failed": "{firmware_name} firmware for your {model} failed to download. Make sure Home Assistant has internet access and try again.",
5
6
  "not_hassio_thread": "The OpenThread Border Router add-on can only be installed with Home Assistant OS. If you would like to use the {model} as a Thread border router, please flash the firmware manually using the [web flasher]({docs_web_flasher_url}) and set up OpenThread Border Router to communicate with it.",
6
7
  "otbr_addon_already_running": "The OpenThread Border Router add-on is already running, it cannot be installed again.",
7
8
  "otbr_still_using_stick": "This {model} is in use by the OpenThread Border Router add-on. If you use the Thread network, make sure you have alternative border routers. Uninstall the add-on and try again.",
@@ -2,6 +2,7 @@
2
2
  "firmware_picker": {
3
3
  "options": {
4
4
  "abort": {
5
+ "fw_download_failed": "No se pudo descargar el firmware {firmware_name} para tu {model}. Aseg\u00farate de que Home Assistant tenga acceso a internet e int\u00e9ntalo de nuevo.",
5
6
  "not_hassio_thread": "El complemento OpenThread Border Router solo se puede instalar con Home Assistant OS. Si quieres utilizar {model} como Thread Border Router, por favor, actualiza el firmware manualmente mediante el [web flasher]({docs_web_flasher_url}) y configura OpenThread Border Router para que se comunique con \u00e9l.",
6
7
  "otbr_addon_already_running": "El complemento OpenThread Border Router ya se est\u00e1 ejecutando y no se puede volver a instalar.",
7
8
  "otbr_still_using_stick": "{model} es utilizado por el complemento OpenThread Border Router. Si utilizas la red Thread, aseg\u00farate de tener routers fronterizos alternativos. Desinstala el complemento y vuelve a intentarlo.",
@@ -2,6 +2,7 @@
2
2
  "firmware_picker": {
3
3
  "options": {
4
4
  "abort": {
5
+ "fw_download_failed": "{model} p\u00fcsivara {firmware_name} allalaadimine nurjus. Veendu, et Home Assistantil oleks interneti\u00fchendus ja proovi uuesti.",
5
6
  "not_hassio_thread": "OpenThread Border Routeri lisandmoodulit saab installida ainult koos Home Assistant OS-iga. Kui soovid kasutada mudelit {model} lpiiriruuterina, paigalda p\u00fcsivara k\u00e4sitsi, kasutades [web flasherit] ( {docs_web_flasher_url} ) ja seadista OpenThread Border Router sellega suhtlemiseks.",
6
7
  "otbr_addon_already_running": "OpenThread Border Router lisandmoodul on juba k\u00e4ivitatud, seda ei saa uuesti paigaldada.",
7
8
  "otbr_still_using_stick": "Seda {model} kasutab OpenThread Border Router lisa. Kui kasutad Thread-v\u00f5rku, veendu, et olemas on alternatiivsed piiriruuterid. Eemalda lisandmoodul ja proovi uuesti.",
@@ -2,6 +2,7 @@
2
2
  "firmware_picker": {
3
3
  "options": {
4
4
  "abort": {
5
+ "fw_download_failed": "Falha no download do firmware {firmware_name} para o seu {model}. Certifique-se de que o Home Assistant tem acesso \u00e0 Internet e tente novamente.",
5
6
  "not_hassio_thread": "O suplemento OpenThread Border Router s\u00f3 pode ser instalado com o Home Assistant OS. Se quiser usar o {model} como router de borda Thread, por favor, atualize o firmware manualmente usando o [web flasher]({docs_web_flasher_url}) e configure o OpenThread Border Router para comunicar com ele.",
6
7
  "otbr_addon_already_running": "O add-on OpenThread Border Router j\u00e1 est\u00e1 em execu\u00e7\u00e3o, n\u00e3o pode ser instalado novamente.",
7
8
  "otbr_still_using_stick": "Este {model} est\u00e1 a ser utilizado pelo add-on OpenThread Border Router. Se utilizar a rede Thread, certifique-se de que tem routers de borda alternativos. Desinstale o add-on e tente novamente.",
@@ -2,6 +2,7 @@
2
2
  "firmware_picker": {
3
3
  "options": {
4
4
  "abort": {
5
+ "fw_download_failed": "Kunde inte ladda ner firmware {firmware_name} f\u00f6r din {model}. Kontrollera att Home Assistant har tillg\u00e5ng till internet och f\u00f6rs\u00f6k igen.",
5
6
  "not_hassio_thread": "Till\u00e4gget OpenThread Border Router kan endast installeras med Home Assistant OS. Om du vill anv\u00e4nda {model} som en Thread Border Router, flasha den fasta programvaran manuellt med hj\u00e4lp av [web flasher]({docs_web_flasher_url}) och st\u00e4ll in OpenThread Border Router f\u00f6r att kommunicera med den.",
6
7
  "otbr_addon_already_running": "Till\u00e4gget OpenThread-gr\u00e4nsrouter \u00e4r redan ig\u00e5ng, det kan inte installeras igen.",
7
8
  "otbr_still_using_stick": "Denna {model} anv\u00e4nds av till\u00e4gget OpenThread-gr\u00e4nsrouter. Om du anv\u00e4nder Thread-n\u00e4tverket, se till att du har alternativa gr\u00e4nsroutrar. Avinstallera till\u00e4gget och f\u00f6rs\u00f6k igen.",
@@ -2,6 +2,7 @@
2
2
  "firmware_picker": {
3
3
  "options": {
4
4
  "abort": {
5
+ "fw_download_failed": "{model} \u7684 {firmware_name} \u97cc\u9ad4\u4e0b\u8f09\u5931\u6557\u3002\u8acb\u78ba\u8a8d Home Assistant \u7db2\u8def\u9023\u7dda\uff0c\u7136\u5f8c\u518d\u8a66\u4e00\u6b21\u3002",
5
6
  "not_hassio_thread": "OpenThread \u908a\u754c\u8def\u7531\u5668\u9644\u52a0\u5143\u4ef6\u53ea\u80fd\u5b89\u88dd\u65bc Home Assistant OS\u3002\u5982\u679c\u60a8\u60f3\u4f7f\u7528 {model} \u4f5c\u70baThread \u908a\u754c\u8def\u7531\u5668\uff0c\u8acb\u624b\u52d5\u4f7f\u7528 [web flasher]({docs_web_flasher_url}) \u5237\u5beb\u65b0\u97cc\u9ad4\uff0c\u4e26\u8a2d\u5b9a OpenThread \u908a\u754c\u8def\u7531\u5668\u9032\u884c\u901a\u8a0a\u3002",
6
7
  "otbr_addon_already_running": "OpenThread \u908a\u754c\u8def\u7531\u5668\uff08OTBR\uff09\u9644\u52a0\u5143\u4ef6\u5df2\u5728\u57f7\u884c\u4e2d\u3001\u7121\u6cd5\u518d\u6b21\u5b89\u88dd\u3002",
7
8
  "otbr_still_using_stick": "\u8a72 {model} \u6b63\u7531 OpenThread \u908a\u754c\u8def\u7531\u5668\u9644\u52a0\u5143\u4ef6\u4f7f\u7528\u4e2d\u3002\u5047\u5982\u6b63\u4f7f\u7528 Thread \u7db2\u8def\u3001\u8acb\u78ba\u5b9a\u5df2\u7d93\u64c1\u6709\u66ff\u4ee3\u7684\u908a\u754c\u8def\u7531\u5668\u3001\u79fb\u9664\u8a72\u9644\u52a0\u5143\u4ef6\u5f8c\u518d\u8a66\u4e00\u6b21\u3002",
@@ -93,7 +93,7 @@ class SkyConnectFirmwareMixin(ConfigEntryBaseFlow, FirmwareInstallFlowProtocol):
93
93
  firmware_name="Zigbee",
94
94
  expected_installed_firmware_type=ApplicationType.EZSP,
95
95
  step_id="install_zigbee_firmware",
96
- next_step_id="confirm_zigbee",
96
+ next_step_id="pre_confirm_zigbee",
97
97
  )
98
98
 
99
99
  async def async_step_install_thread_firmware(
@@ -92,7 +92,8 @@
92
92
  "otbr_addon_already_running": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::otbr_addon_already_running%]",
93
93
  "zha_still_using_stick": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::zha_still_using_stick%]",
94
94
  "otbr_still_using_stick": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::otbr_still_using_stick%]",
95
- "unsupported_firmware": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::unsupported_firmware%]"
95
+ "unsupported_firmware": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::unsupported_firmware%]",
96
+ "fw_download_failed": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::fw_download_failed%]"
96
97
  },
97
98
  "progress": {
98
99
  "install_addon": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::progress::install_addon%]",
@@ -145,7 +146,8 @@
145
146
  "otbr_addon_already_running": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::otbr_addon_already_running%]",
146
147
  "zha_still_using_stick": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::zha_still_using_stick%]",
147
148
  "otbr_still_using_stick": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::otbr_still_using_stick%]",
148
- "unsupported_firmware": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::unsupported_firmware%]"
149
+ "unsupported_firmware": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::unsupported_firmware%]",
150
+ "fw_download_failed": "[%key:component::homeassistant_hardware::firmware_picker::options::abort::fw_download_failed%]"
149
151
  },
150
152
  "progress": {
151
153
  "install_addon": "[%key:component::homeassistant_hardware::silabs_multiprotocol_hardware::options::progress::install_addon%]",
@@ -6,6 +6,7 @@
6
6
  "addon_install_failed": "Die Installation des Add-ons {addon_name} ist fehlgeschlagen.",
7
7
  "addon_set_config_failed": "Die Konfiguration von {addon_name} konnte nicht gesetzt werden.",
8
8
  "addon_start_failed": "Das Add-on {addon_name} konnte nicht gestartet werden.",
9
+ "fw_download_failed": "Download der {firmware_name}-Firmware f\u00fcr deinen {model} fehlgeschlagen. Stelle sicher, dass Home Assistant einen Internetzugang hat und versuche es erneut.",
9
10
  "not_hassio": "Die Hardwareoptionen k\u00f6nnen nur auf Installationen mit Home Assistant OS konfiguriert werden.",
10
11
  "not_hassio_thread": "Das OpenThread Border Router-Add-on kann nur mit Home Assistant OS installiert werden. Wenn du das {model} als Thread Border Router verwenden m\u00f6chtest, flashe die Firmware bitte manuell mit dem [Web Flasher]({docs_web_flasher_url}) und richte den OpenThread Border Router f\u00fcr die Kommunikation damit ein.",
11
12
  "otbr_addon_already_running": "Das OpenThread Border Router-Add-on wird bereits ausgef\u00fchrt und kann nicht erneut installiert werden.",
@@ -64,6 +65,7 @@
64
65
  "addon_install_failed": "Die Installation des Add-ons {addon_name} ist fehlgeschlagen.",
65
66
  "addon_set_config_failed": "Die Konfiguration von {addon_name} konnte nicht gesetzt werden.",
66
67
  "addon_start_failed": "Das Add-on {addon_name} konnte nicht gestartet werden.",
68
+ "fw_download_failed": "Download der {firmware_name}-Firmware f\u00fcr deinen {model} fehlgeschlagen. Stelle sicher, dass Home Assistant einen Internetzugang hat und versuche es erneut.",
67
69
  "not_hassio": "Die Hardwareoptionen k\u00f6nnen nur auf Installationen mit Home Assistant OS konfiguriert werden.",
68
70
  "not_hassio_thread": "Das OpenThread Border Router-Add-on kann nur mit Home Assistant OS installiert werden. Wenn du das {model} als Thread Border Router verwenden m\u00f6chtest, flashe die Firmware bitte manuell mit dem [Web Flasher]({docs_web_flasher_url}) und richte den OpenThread Border Router f\u00fcr die Kommunikation damit ein.",
69
71
  "otbr_addon_already_running": "Das OpenThread Border Router-Add-on wird bereits ausgef\u00fchrt und kann nicht erneut installiert werden.",
@@ -6,6 +6,7 @@
6
6
  "addon_install_failed": "Failed to install the {addon_name} add-on.",
7
7
  "addon_set_config_failed": "Failed to set {addon_name} configuration.",
8
8
  "addon_start_failed": "Failed to start the {addon_name} add-on.",
9
+ "fw_download_failed": "{firmware_name} firmware for your {model} failed to download. Make sure Home Assistant has internet access and try again.",
9
10
  "not_hassio": "The hardware options can only be configured on Home Assistant OS installations.",
10
11
  "not_hassio_thread": "The OpenThread Border Router add-on can only be installed with Home Assistant OS. If you would like to use the {model} as a Thread border router, please flash the firmware manually using the [web flasher]({docs_web_flasher_url}) and set up OpenThread Border Router to communicate with it.",
11
12
  "otbr_addon_already_running": "The OpenThread Border Router add-on is already running, it cannot be installed again.",
@@ -63,6 +64,7 @@
63
64
  "addon_install_failed": "Failed to install the {addon_name} add-on.",
64
65
  "addon_set_config_failed": "Failed to set {addon_name} configuration.",
65
66
  "addon_start_failed": "Failed to start the {addon_name} add-on.",
67
+ "fw_download_failed": "{firmware_name} firmware for your {model} failed to download. Make sure Home Assistant has internet access and try again.",
66
68
  "not_hassio": "The hardware options can only be configured on Home Assistant OS installations.",
67
69
  "not_hassio_thread": "The OpenThread Border Router add-on can only be installed with Home Assistant OS. If you would like to use the {model} as a Thread border router, please flash the firmware manually using the [web flasher]({docs_web_flasher_url}) and set up OpenThread Border Router to communicate with it.",
68
70
  "otbr_addon_already_running": "The OpenThread Border Router add-on is already running, it cannot be installed again.",
@@ -6,6 +6,7 @@
6
6
  "addon_install_failed": "Failed to install the {addon_name} add-on.",
7
7
  "addon_set_config_failed": "Failed to set {addon_name} configuration.",
8
8
  "addon_start_failed": "Failed to start the {addon_name} add-on.",
9
+ "fw_download_failed": "{firmware_name} firmware for your {model} failed to download. Make sure Home Assistant has internet access and try again.",
9
10
  "not_hassio": "The hardware options can only be configured on Home Assistant OS installations.",
10
11
  "not_hassio_thread": "The OpenThread Border Router add-on can only be installed with Home Assistant OS. If you would like to use the {model} as a Thread border router, please flash the firmware manually using the [web flasher]({docs_web_flasher_url}) and set up OpenThread Border Router to communicate with it.",
11
12
  "otbr_addon_already_running": "The OpenThread Border Router add-on is already running, it cannot be installed again.",
@@ -64,6 +65,7 @@
64
65
  "addon_install_failed": "Failed to install the {addon_name} add-on.",
65
66
  "addon_set_config_failed": "Failed to set {addon_name} configuration.",
66
67
  "addon_start_failed": "Failed to start the {addon_name} add-on.",
68
+ "fw_download_failed": "{firmware_name} firmware for your {model} failed to download. Make sure Home Assistant has internet access and try again.",
67
69
  "not_hassio": "The hardware options can only be configured on Home Assistant OS installations.",
68
70
  "not_hassio_thread": "The OpenThread Border Router add-on can only be installed with Home Assistant OS. If you would like to use the {model} as a Thread border router, please flash the firmware manually using the [web flasher]({docs_web_flasher_url}) and set up OpenThread Border Router to communicate with it.",
69
71
  "otbr_addon_already_running": "The OpenThread Border Router add-on is already running, it cannot be installed again.",
@@ -6,6 +6,7 @@
6
6
  "addon_install_failed": "No se pudo instalar el complemento {addon_name}.",
7
7
  "addon_set_config_failed": "No se pudo establecer la configuraci\u00f3n de {addon_name}.",
8
8
  "addon_start_failed": "No se pudo iniciar el complemento {addon_name}.",
9
+ "fw_download_failed": "No se pudo descargar el firmware {firmware_name} para tu {model}. Aseg\u00farate de que Home Assistant tenga acceso a internet e int\u00e9ntalo de nuevo.",
9
10
  "not_hassio": "Las opciones de hardware solo se pueden configurar en instalaciones de Home Assistant OS.",
10
11
  "not_hassio_thread": "El complemento OpenThread Border Router solo se puede instalar con Home Assistant OS. Si quieres utilizar {model} como Thread Border Router, por favor, actualiza el firmware manualmente mediante el [web flasher]({docs_web_flasher_url}) y configura OpenThread Border Router para que se comunique con \u00e9l.",
11
12
  "otbr_addon_already_running": "El complemento OpenThread Border Router ya se est\u00e1 ejecutando y no se puede volver a instalar.",
@@ -64,6 +65,7 @@
64
65
  "addon_install_failed": "No se pudo instalar el complemento {addon_name}.",
65
66
  "addon_set_config_failed": "No se pudo establecer la configuraci\u00f3n de {addon_name}.",
66
67
  "addon_start_failed": "No se pudo iniciar el complemento {addon_name}.",
68
+ "fw_download_failed": "No se pudo descargar el firmware {firmware_name} para tu {model}. Aseg\u00farate de que Home Assistant tenga acceso a internet e int\u00e9ntalo de nuevo.",
67
69
  "not_hassio": "Las opciones de hardware solo se pueden configurar en instalaciones de Home Assistant OS.",
68
70
  "not_hassio_thread": "El complemento OpenThread Border Router solo se puede instalar con Home Assistant OS. Si quieres utilizar {model} como Thread Border Router, por favor, actualiza el firmware manualmente mediante el [web flasher]({docs_web_flasher_url}) y configura OpenThread Border Router para que se comunique con \u00e9l.",
69
71
  "otbr_addon_already_running": "El complemento OpenThread Border Router ya se est\u00e1 ejecutando y no se puede volver a instalar.",