homeassistant 2025.8.0b0__py3-none-any.whl → 2025.8.0b2__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 (797) hide show
  1. homeassistant/components/adguard/translations/ga.json +11 -0
  2. homeassistant/components/airgradient/translations/ga.json +27 -0
  3. homeassistant/components/airgradient/translations/it.json +3 -3
  4. homeassistant/components/airos/diagnostics.py +33 -0
  5. homeassistant/components/airos/quality_scale.yaml +1 -1
  6. homeassistant/components/airos/translations/el.json +29 -0
  7. homeassistant/components/airos/translations/en-GB.json +87 -0
  8. homeassistant/components/airos/translations/nl.json +10 -0
  9. homeassistant/components/airos/translations/sk.json +61 -0
  10. homeassistant/components/airos/translations/sv.json +29 -0
  11. homeassistant/components/airq/translations/ga.json +2 -1
  12. homeassistant/components/airtouch4/translations/ga.json +11 -0
  13. homeassistant/components/airtouch5/translations/ga.json +16 -0
  14. homeassistant/components/airvisual_pro/translations/ga.json +11 -0
  15. homeassistant/components/airzone/translations/ga.json +6 -0
  16. homeassistant/components/airzone/translations/it.json +1 -1
  17. homeassistant/components/airzone_cloud/translations/ga.json +4 -0
  18. homeassistant/components/airzone_cloud/translations/it.json +1 -1
  19. homeassistant/components/alarmdecoder/translations/ga.json +10 -0
  20. homeassistant/components/alexa_devices/translations/bg.json +24 -0
  21. homeassistant/components/alexa_devices/translations/cs.json +522 -1
  22. homeassistant/components/alexa_devices/translations/de.json +474 -0
  23. homeassistant/components/alexa_devices/translations/en-GB.json +522 -1
  24. homeassistant/components/alexa_devices/translations/es.json +27 -0
  25. homeassistant/components/alexa_devices/translations/et.json +522 -1
  26. homeassistant/components/alexa_devices/translations/ga.json +119 -1
  27. homeassistant/components/alexa_devices/translations/nl.json +9 -0
  28. homeassistant/components/alexa_devices/translations/sv.json +27 -1
  29. homeassistant/components/alexa_devices/translations/zh-Hans.json +201 -1
  30. homeassistant/components/alexa_devices/translations/zh-Hant.json +522 -1
  31. homeassistant/components/ambient_network/translations/ga.json +84 -0
  32. homeassistant/components/analytics/analytics.py +0 -1
  33. homeassistant/components/analytics_insights/translations/ga.json +10 -4
  34. homeassistant/components/androidtv_remote/translations/ga.json +1 -0
  35. homeassistant/components/anova/translations/ga.json +5 -1
  36. homeassistant/components/anthropic/translations/ga.json +2 -1
  37. homeassistant/components/aosmith/translations/ga.json +19 -0
  38. homeassistant/components/apcupsd/translations/ga.json +155 -0
  39. homeassistant/components/apple_tv/translations/ga.json +10 -0
  40. homeassistant/components/aprilaire/translations/ga.json +17 -0
  41. homeassistant/components/aprilaire/translations/it.json +9 -9
  42. homeassistant/components/aquacell/translations/nl.json +3 -0
  43. homeassistant/components/aranet/translations/ga.json +5 -0
  44. homeassistant/components/arve/translations/ga.json +20 -0
  45. homeassistant/components/august/manifest.json +1 -1
  46. homeassistant/components/aurora_abb_powerone/translations/ga.json +24 -0
  47. homeassistant/components/automation/translations/it.json +1 -1
  48. homeassistant/components/axis/translations/ga.json +4 -0
  49. homeassistant/components/azure_devops/translations/ga.json +3 -0
  50. homeassistant/components/azure_storage/translations/ga.json +3 -0
  51. homeassistant/components/backup/manager.py +1 -1
  52. homeassistant/components/balboa/translations/ga.json +28 -0
  53. homeassistant/components/binary_sensor/translations/ga.json +8 -0
  54. homeassistant/components/binary_sensor/translations/it.json +2 -2
  55. homeassistant/components/blink/translations/ga.json +24 -0
  56. homeassistant/components/blue_current/translations/ga.json +23 -0
  57. homeassistant/components/bluetooth/manifest.json +1 -1
  58. homeassistant/components/bmw_connected_drive/translations/ga.json +6 -0
  59. homeassistant/components/bond/translations/ga.json +11 -0
  60. homeassistant/components/bosch_alarm/translations/ga.json +2 -1
  61. homeassistant/components/bosch_shc/translations/ga.json +11 -0
  62. homeassistant/components/bring/translations/ga.json +52 -0
  63. homeassistant/components/brother/translations/ga.json +3 -0
  64. homeassistant/components/bryant_evolution/translations/ga.json +3 -0
  65. homeassistant/components/bsblan/translations/ga.json +6 -0
  66. homeassistant/components/bthome/translations/ga.json +3 -1
  67. homeassistant/components/calendar/translations/ga.json +27 -0
  68. homeassistant/components/calendar/translations/it.json +1 -1
  69. homeassistant/components/cambridge_audio/translations/ga.json +1 -0
  70. homeassistant/components/cambridge_audio/translations/it.json +2 -2
  71. homeassistant/components/climate/translations/ga.json +12 -0
  72. homeassistant/components/climate/translations/it.json +6 -6
  73. homeassistant/components/cloud/translations/ga.json +30 -0
  74. homeassistant/components/cloud/translations/nl.json +3 -0
  75. homeassistant/components/co2signal/translations/ga.json +32 -0
  76. homeassistant/components/comelit/translations/ga.json +20 -0
  77. homeassistant/components/conversation/manifest.json +1 -1
  78. homeassistant/components/conversation/translations/ga.json +7 -0
  79. homeassistant/components/cookidoo/translations/ga.json +4 -0
  80. homeassistant/components/datadog/translations/sv.json +28 -0
  81. homeassistant/components/deconz/translations/ga.json +11 -0
  82. homeassistant/components/deluge/translations/ga.json +9 -0
  83. homeassistant/components/demo/translations/ga.json +12 -0
  84. homeassistant/components/demo/translations/it.json +2 -2
  85. homeassistant/components/denonavr/manifest.json +1 -1
  86. homeassistant/components/devialet/translations/ga.json +16 -0
  87. homeassistant/components/devolo_home_network/translations/ga.json +18 -0
  88. homeassistant/components/dexcom/translations/ga.json +17 -0
  89. homeassistant/components/dhcp/manifest.json +1 -1
  90. homeassistant/components/directv/translations/ga.json +11 -0
  91. homeassistant/components/dlink/translations/ga.json +11 -0
  92. homeassistant/components/doorbird/translations/ga.json +5 -0
  93. homeassistant/components/downloader/translations/ga.json +9 -0
  94. homeassistant/components/drop_connect/translations/ga.json +83 -0
  95. homeassistant/components/dsmr/translations/ga.json +3 -0
  96. homeassistant/components/duotecno/translations/ga.json +18 -0
  97. homeassistant/components/dwd_weather_warnings/translations/ga.json +17 -0
  98. homeassistant/components/easyenergy/translations/ga.json +16 -0
  99. homeassistant/components/ecobee/translations/ga.json +11 -0
  100. homeassistant/components/ecoforest/translations/ga.json +24 -0
  101. homeassistant/components/ecoforest/translations/it.json +1 -1
  102. homeassistant/components/ecovacs/translations/ga.json +117 -1
  103. homeassistant/components/ecovacs/translations/nl.json +7 -0
  104. homeassistant/components/eheimdigital/translations/ga.json +1 -0
  105. homeassistant/components/electric_kiwi/translations/ga.json +19 -0
  106. homeassistant/components/elevenlabs/translations/sv.json +2 -1
  107. homeassistant/components/elmax/translations/ga.json +39 -0
  108. homeassistant/components/elvia/translations/ga.json +18 -0
  109. homeassistant/components/emoncms/translations/cs.json +0 -8
  110. homeassistant/components/emoncms/translations/el.json +0 -8
  111. homeassistant/components/emoncms/translations/en-GB.json +2 -2
  112. homeassistant/components/emoncms/translations/en.json +2 -2
  113. homeassistant/components/emoncms/translations/es.json +0 -8
  114. homeassistant/components/emoncms/translations/ga.json +1 -8
  115. homeassistant/components/emoncms/translations/it.json +0 -8
  116. homeassistant/components/emoncms/translations/ja.json +0 -8
  117. homeassistant/components/emoncms/translations/lt.json +0 -8
  118. homeassistant/components/emoncms/translations/nl.json +0 -8
  119. homeassistant/components/emoncms/translations/pt.json +0 -8
  120. homeassistant/components/emoncms/translations/sk.json +0 -8
  121. homeassistant/components/emoncms/translations/sv.json +2 -9
  122. homeassistant/components/emoncms/translations/zh-Hans.json +0 -8
  123. homeassistant/components/emoncms/translations/zh-Hant.json +2 -2
  124. homeassistant/components/energenie_power_sockets/translations/ga.json +23 -0
  125. homeassistant/components/energyzero/translations/ga.json +42 -0
  126. homeassistant/components/enigma2/translations/ga.json +8 -0
  127. homeassistant/components/enphase_envoy/diagnostics.py +2 -0
  128. homeassistant/components/enphase_envoy/translations/ga.json +108 -0
  129. homeassistant/components/environment_canada/translations/fr.json +98 -0
  130. homeassistant/components/epic_games_store/translations/ga.json +22 -1
  131. homeassistant/components/epson/translations/ga.json +3 -0
  132. homeassistant/components/eq3btsmart/translations/ga.json +12 -0
  133. homeassistant/components/esphome/config_flow.py +4 -3
  134. homeassistant/components/esphome/manifest.json +1 -1
  135. homeassistant/components/esphome/translations/ga.json +1 -0
  136. homeassistant/components/evil_genius_labs/translations/ga.json +11 -0
  137. homeassistant/components/faa_delays/translations/ga.json +73 -0
  138. homeassistant/components/fan/translations/ga.json +7 -0
  139. homeassistant/components/fan/translations/it.json +1 -1
  140. homeassistant/components/fastdotcom/translations/ga.json +9 -0
  141. homeassistant/components/feedreader/translations/ga.json +3 -0
  142. homeassistant/components/file/translations/ga.json +56 -0
  143. homeassistant/components/filesize/translations/ga.json +5 -0
  144. homeassistant/components/fitbit/translations/ga.json +11 -0
  145. homeassistant/components/fjaraskupan/translations/da.json +7 -0
  146. homeassistant/components/flexit_bacnet/translations/ga.json +19 -0
  147. homeassistant/components/folder_watcher/translations/ga.json +41 -0
  148. homeassistant/components/freebox/translations/ga.json +11 -0
  149. homeassistant/components/fritz/translations/ga.json +20 -0
  150. homeassistant/components/fritzbox/translations/ga.json +8 -0
  151. homeassistant/components/fritzbox_callmonitor/translations/ga.json +49 -0
  152. homeassistant/components/fronius/translations/ga.json +1 -0
  153. homeassistant/components/frontend/manifest.json +1 -1
  154. homeassistant/components/fyta/translations/ga.json +55 -7
  155. homeassistant/components/generic/translations/ga.json +8 -0
  156. homeassistant/components/generic_hygrostat/translations/it.json +47 -2
  157. homeassistant/components/generic_thermostat/translations/it.json +39 -6
  158. homeassistant/components/geocaching/translations/ga.json +4 -0
  159. homeassistant/components/glances/translations/ga.json +15 -0
  160. homeassistant/components/goalzero/translations/ga.json +53 -0
  161. homeassistant/components/google/translations/ga.json +3 -1
  162. homeassistant/components/google_assistant_sdk/translations/ga.json +4 -0
  163. homeassistant/components/google_drive/translations/ga.json +2 -0
  164. homeassistant/components/google_generative_ai_conversation/translations/ga.json +8 -4
  165. homeassistant/components/google_generative_ai_conversation/translations/sv.json +1 -0
  166. homeassistant/components/google_mail/translations/ga.json +4 -0
  167. homeassistant/components/google_photos/translations/ga.json +2 -0
  168. homeassistant/components/google_sheets/translations/ga.json +4 -0
  169. homeassistant/components/google_tasks/translations/ga.json +5 -0
  170. homeassistant/components/google_travel_time/translations/ga.json +65 -0
  171. homeassistant/components/gpsd/translations/ga.json +19 -0
  172. homeassistant/components/gree/translations/ga.json +15 -0
  173. homeassistant/components/group/translations/en-GB.json +18 -0
  174. homeassistant/components/group/translations/et.json +18 -0
  175. homeassistant/components/group/translations/fr.json +18 -0
  176. homeassistant/components/group/translations/ga.json +7 -0
  177. homeassistant/components/group/translations/it.json +1 -1
  178. homeassistant/components/group/translations/zh-Hans.json +18 -0
  179. homeassistant/components/group/translations/zh-Hant.json +18 -0
  180. homeassistant/components/guardian/translations/ga.json +23 -0
  181. homeassistant/components/habitica/translations/ga.json +35 -0
  182. homeassistant/components/harmony/translations/ga.json +18 -0
  183. homeassistant/components/harmony/translations/sv.json +1 -1
  184. homeassistant/components/hassio/translations/fr.json +3 -0
  185. homeassistant/components/hassio/translations/ga.json +38 -0
  186. homeassistant/components/heos/translations/ga.json +11 -0
  187. homeassistant/components/here_travel_time/translations/ga.json +5 -0
  188. homeassistant/components/hive/translations/it.json +2 -2
  189. homeassistant/components/hko/translations/ga.json +9 -0
  190. homeassistant/components/holiday/translations/ga.json +5 -0
  191. homeassistant/components/home_connect/translations/da.json +6 -0
  192. homeassistant/components/home_connect/translations/ga.json +2 -0
  193. homeassistant/components/home_connect/translations/it.json +44 -44
  194. homeassistant/components/homeassistant/translations/ga.json +29 -0
  195. homeassistant/components/homeassistant/translations/nl.json +3 -0
  196. homeassistant/components/homeassistant_hardware/coordinator.py +9 -1
  197. homeassistant/components/homeassistant_sky_connect/translations/ga.json +1 -0
  198. homeassistant/components/homeassistant_sky_connect/update.py +1 -0
  199. homeassistant/components/homeassistant_yellow/update.py +1 -0
  200. homeassistant/components/homee/translations/ga.json +3 -0
  201. homeassistant/components/homee/translations/it.json +1 -1
  202. homeassistant/components/homee/translations/sv.json +6 -0
  203. homeassistant/components/homekit_controller/translations/ga.json +15 -0
  204. homeassistant/components/homewizard/translations/ga.json +40 -0
  205. homeassistant/components/homeworks/translations/ga.json +147 -1
  206. homeassistant/components/honeywell/translations/ga.json +55 -0
  207. homeassistant/components/html5/translations/fr.json +1 -0
  208. homeassistant/components/huawei_lte/translations/ga.json +94 -0
  209. homeassistant/components/hue/translations/ga.json +8 -0
  210. homeassistant/components/humidifier/translations/it.json +2 -2
  211. homeassistant/components/hunterdouglas_powerview/translations/ga.json +17 -0
  212. homeassistant/components/husqvarna_automower/translations/en-GB.json +12 -0
  213. homeassistant/components/husqvarna_automower/translations/ga.json +186 -3
  214. homeassistant/components/husqvarna_automower/translations/it.json +1 -1
  215. homeassistant/components/husqvarna_automower/translations/nl.json +1 -0
  216. homeassistant/components/husqvarna_automower/translations/sv.json +12 -0
  217. homeassistant/components/huum/translations/ga.json +10 -0
  218. homeassistant/components/huum/translations/sv.json +7 -0
  219. homeassistant/components/hydrawise/translations/ga.json +26 -1
  220. homeassistant/components/hyperion/translations/ga.json +5 -0
  221. homeassistant/components/idasen_desk/translations/ga.json +18 -0
  222. homeassistant/components/imap/translations/ga.json +80 -0
  223. homeassistant/components/imgw_pib/manifest.json +1 -1
  224. homeassistant/components/imgw_pib/translations/ga.json +9 -0
  225. homeassistant/components/imgw_pib/translations/sv.json +3 -0
  226. homeassistant/components/immich/translations/nl.json +2 -1
  227. homeassistant/components/immich/translations/sv.json +9 -0
  228. homeassistant/components/incomfort/translations/ga.json +3 -0
  229. homeassistant/components/incomfort/translations/it.json +1 -1
  230. homeassistant/components/input_boolean/translations/it.json +1 -1
  231. homeassistant/components/input_button/translations/ga.json +7 -0
  232. homeassistant/components/iotawatt/translations/ga.json +11 -0
  233. homeassistant/components/iron_os/translations/it.json +4 -4
  234. homeassistant/components/ista_ecotrend/translations/ga.json +1 -0
  235. homeassistant/components/jewish_calendar/translations/ga.json +7 -1
  236. homeassistant/components/jewish_calendar/translations/nl.json +7 -2
  237. homeassistant/components/jvc_projector/translations/ga.json +13 -1
  238. homeassistant/components/keenetic_ndms2/translations/ga.json +12 -0
  239. homeassistant/components/kitchen_sink/config_flow.py +1 -1
  240. homeassistant/components/kitchen_sink/translations/ga.json +12 -0
  241. homeassistant/components/knx/translations/ga.json +12 -0
  242. homeassistant/components/kostal_plenticore/translations/ga.json +3 -0
  243. homeassistant/components/lamarzocco/translations/ga.json +67 -0
  244. homeassistant/components/lametric/translations/ga.json +4 -0
  245. homeassistant/components/lcn/translations/ga.json +3 -0
  246. homeassistant/components/lg_netcast/translations/ga.json +7 -0
  247. homeassistant/components/lg_thinq/translations/it.json +14 -14
  248. homeassistant/components/lg_thinq/translations/sv.json +45 -0
  249. homeassistant/components/life360/translations/ga.json +8 -0
  250. homeassistant/components/light/translations/it.json +1 -1
  251. homeassistant/components/linkplay/translations/sv.json +8 -0
  252. homeassistant/components/litterrobot/manifest.json +1 -1
  253. homeassistant/components/litterrobot/translations/it.json +1 -1
  254. homeassistant/components/litterrobot/translations/sensor.it.json +1 -1
  255. homeassistant/components/litterrobot/translations/sv.json +3 -0
  256. homeassistant/components/lock/translations/ga.json +4 -0
  257. homeassistant/components/lupusec/translations/ga.json +9 -0
  258. homeassistant/components/lutron/translations/ga.json +26 -0
  259. homeassistant/components/lutron_caseta/translations/it.json +1 -1
  260. homeassistant/components/lyric/translations/ga.json +14 -0
  261. homeassistant/components/madvr/translations/ga.json +1 -0
  262. homeassistant/components/matter/translations/fr.json +3 -0
  263. homeassistant/components/matter/translations/ga.json +5 -0
  264. homeassistant/components/matter/translations/it.json +3 -3
  265. homeassistant/components/mazda/translations/ga.json +8 -0
  266. homeassistant/components/mealie/translations/cs.json +21 -0
  267. homeassistant/components/mealie/translations/el.json +8 -0
  268. homeassistant/components/mealie/translations/en-GB.json +21 -0
  269. homeassistant/components/mealie/translations/et.json +21 -0
  270. homeassistant/components/mealie/translations/fr.json +19 -0
  271. homeassistant/components/mealie/translations/ga.json +3 -1
  272. homeassistant/components/mealie/translations/sk.json +8 -0
  273. homeassistant/components/mealie/translations/sv.json +8 -0
  274. homeassistant/components/mealie/translations/zh-Hans.json +21 -0
  275. homeassistant/components/mealie/translations/zh-Hant.json +21 -0
  276. homeassistant/components/media_extractor/translations/ga.json +18 -0
  277. homeassistant/components/media_player/translations/it.json +4 -4
  278. homeassistant/components/melcloud/translations/ga.json +6 -0
  279. homeassistant/components/microbees/translations/ga.json +4 -0
  280. homeassistant/components/miele/__init__.py +1 -1
  281. homeassistant/components/miele/const.py +10 -0
  282. homeassistant/components/miele/coordinator.py +2 -0
  283. homeassistant/components/miele/sensor.py +1 -1
  284. homeassistant/components/miele/services.py +1 -1
  285. homeassistant/components/miele/strings.json +24 -21
  286. homeassistant/components/miele/translations/bg.json +0 -23
  287. homeassistant/components/miele/translations/cs.json +13 -24
  288. homeassistant/components/miele/translations/da.json +3 -0
  289. homeassistant/components/miele/translations/de.json +33 -21
  290. homeassistant/components/miele/translations/el.json +27 -25
  291. homeassistant/components/miele/translations/en-GB.json +55 -21
  292. homeassistant/components/miele/translations/en.json +23 -20
  293. homeassistant/components/miele/translations/es.json +4 -24
  294. homeassistant/components/miele/translations/et.json +55 -21
  295. homeassistant/components/miele/translations/ga.json +50 -22
  296. homeassistant/components/miele/translations/he.json +0 -23
  297. homeassistant/components/miele/translations/hu.json +1 -24
  298. homeassistant/components/miele/translations/it.json +84 -22
  299. homeassistant/components/miele/translations/ja.json +0 -20
  300. homeassistant/components/miele/translations/lt.json +1 -24
  301. homeassistant/components/miele/translations/nl.json +18 -24
  302. homeassistant/components/miele/translations/pt.json +1 -24
  303. homeassistant/components/miele/translations/sk.json +20 -24
  304. homeassistant/components/miele/translations/sv.json +32 -21
  305. homeassistant/components/miele/translations/zh-Hans.json +44 -21
  306. homeassistant/components/miele/translations/zh-Hant.json +55 -21
  307. homeassistant/components/minecraft_server/translations/ga.json +13 -0
  308. homeassistant/components/modbus/translations/fr.json +2 -0
  309. homeassistant/components/modbus/translations/ga.json +20 -0
  310. homeassistant/components/monzo/translations/ga.json +20 -0
  311. homeassistant/components/motion_blinds/manifest.json +1 -1
  312. homeassistant/components/motionblinds_ble/translations/ga.json +16 -0
  313. homeassistant/components/motionmount/translations/ga.json +5 -0
  314. homeassistant/components/mqtt/strings.json +9 -8
  315. homeassistant/components/mqtt/translations/bg.json +17 -0
  316. homeassistant/components/mqtt/translations/cs.json +275 -44
  317. homeassistant/components/mqtt/translations/de.json +13 -12
  318. homeassistant/components/mqtt/translations/el.json +23 -0
  319. homeassistant/components/mqtt/translations/en-GB.json +232 -0
  320. homeassistant/components/mqtt/translations/en.json +9 -8
  321. homeassistant/components/mqtt/translations/es.json +112 -1
  322. homeassistant/components/mqtt/translations/et.json +232 -0
  323. homeassistant/components/mqtt/translations/fr.json +20 -0
  324. homeassistant/components/mqtt/translations/ga.json +88 -12
  325. homeassistant/components/mqtt/translations/it.json +1 -1
  326. homeassistant/components/mqtt/translations/nl.json +242 -1
  327. homeassistant/components/mqtt/translations/ru.json +1 -0
  328. homeassistant/components/mqtt/translations/sk.json +38 -0
  329. homeassistant/components/mqtt/translations/sv.json +40 -0
  330. homeassistant/components/mqtt/translations/zh-Hans.json +214 -0
  331. homeassistant/components/mqtt/translations/zh-Hant.json +232 -0
  332. homeassistant/components/music_assistant/translations/ga.json +2 -1
  333. homeassistant/components/myq/translations/ga.json +8 -0
  334. homeassistant/components/myuplink/translations/ga.json +7 -1
  335. homeassistant/components/nam/translations/ga.json +2 -1
  336. homeassistant/components/neato/translations/ga.json +4 -0
  337. homeassistant/components/nest/translations/ga.json +2 -0
  338. homeassistant/components/netatmo/translations/ga.json +107 -0
  339. homeassistant/components/netgear/translations/ga.json +24 -0
  340. homeassistant/components/netgear_lte/translations/ga.json +30 -0
  341. homeassistant/components/nextbus/translations/ga.json +30 -0
  342. homeassistant/components/nfandroidtv/translations/ga.json +10 -0
  343. homeassistant/components/nobo_hub/translations/ga.json +12 -0
  344. homeassistant/components/nordpool/translations/ga.json +3 -0
  345. homeassistant/components/notify/translations/ga.json +16 -0
  346. homeassistant/components/ntfy/translations/ga.json +3 -0
  347. homeassistant/components/nuki/translations/ga.json +23 -0
  348. homeassistant/components/number/translations/ga.json +8 -0
  349. homeassistant/components/number/translations/nl.json +3 -0
  350. homeassistant/components/nut/translations/ga.json +4 -1
  351. homeassistant/components/nut/translations/it.json +1 -1
  352. homeassistant/components/octoprint/translations/ga.json +31 -0
  353. homeassistant/components/ohme/translations/ga.json +3 -0
  354. homeassistant/components/ollama/translations/ga.json +4 -2
  355. homeassistant/components/onboarding/translations/ga.json +7 -0
  356. homeassistant/components/onedrive/translations/ga.json +3 -0
  357. homeassistant/components/onewire/translations/ga.json +37 -0
  358. homeassistant/components/onkyo/translations/ga.json +1 -0
  359. homeassistant/components/onvif/translations/ga.json +15 -0
  360. homeassistant/components/open_router/manifest.json +1 -1
  361. homeassistant/components/open_router/translations/bg.json +17 -0
  362. homeassistant/components/open_router/translations/cs.json +21 -0
  363. homeassistant/components/open_router/translations/el.json +17 -0
  364. homeassistant/components/open_router/translations/en-GB.json +21 -0
  365. homeassistant/components/open_router/translations/et.json +21 -0
  366. homeassistant/components/open_router/translations/fr.json +21 -0
  367. homeassistant/components/open_router/translations/nl.json +17 -0
  368. homeassistant/components/open_router/translations/sk.json +17 -0
  369. homeassistant/components/open_router/translations/sv.json +20 -1
  370. homeassistant/components/open_router/translations/zh-Hans.json +21 -0
  371. homeassistant/components/open_router/translations/zh-Hant.json +21 -0
  372. homeassistant/components/openai_conversation/translations/ga.json +16 -2
  373. homeassistant/components/openai_conversation/translations/sv.json +7 -0
  374. homeassistant/components/openweathermap/translations/fr.json +2 -1
  375. homeassistant/components/osoenergy/translations/en-GB.json +10 -0
  376. homeassistant/components/osoenergy/translations/ga.json +34 -1
  377. homeassistant/components/osoenergy/translations/it.json +2 -2
  378. homeassistant/components/osoenergy/translations/zh-Hant.json +1 -0
  379. homeassistant/components/overkiz/translations/ga.json +19 -3
  380. homeassistant/components/overseerr/translations/ga.json +3 -0
  381. homeassistant/components/palazzetti/translations/it.json +1 -1
  382. homeassistant/components/palazzetti/translations/nl.json +1 -0
  383. homeassistant/components/paperless_ngx/translations/ga.json +3 -0
  384. homeassistant/components/peblar/translations/ga.json +2 -1
  385. homeassistant/components/peco/translations/ga.json +12 -0
  386. homeassistant/components/permobil/translations/ga.json +14 -0
  387. homeassistant/components/ping/translations/ga.json +39 -0
  388. homeassistant/components/playstation_network/coordinator.py +5 -3
  389. homeassistant/components/playstation_network/translations/bg.json +12 -0
  390. homeassistant/components/playstation_network/translations/cs.json +41 -0
  391. homeassistant/components/playstation_network/translations/el.json +8 -0
  392. homeassistant/components/playstation_network/translations/en-GB.json +41 -0
  393. homeassistant/components/playstation_network/translations/es.json +14 -0
  394. homeassistant/components/playstation_network/translations/et.json +41 -0
  395. homeassistant/components/playstation_network/translations/ga.json +1 -0
  396. homeassistant/components/playstation_network/translations/nl.json +8 -0
  397. homeassistant/components/playstation_network/translations/sk.json +8 -0
  398. homeassistant/components/playstation_network/translations/sv.json +9 -0
  399. homeassistant/components/playstation_network/translations/zh-Hans.json +41 -0
  400. homeassistant/components/playstation_network/translations/zh-Hant.json +41 -0
  401. homeassistant/components/plex/translations/nl.json +9 -0
  402. homeassistant/components/plugwise/translations/ga.json +11 -2
  403. homeassistant/components/plugwise/translations/it.json +3 -3
  404. homeassistant/components/point/translations/ga.json +2 -0
  405. homeassistant/components/powerfox/translations/ga.json +3 -0
  406. homeassistant/components/powerwall/translations/ga.json +20 -0
  407. homeassistant/components/profiler/translations/ga.json +18 -0
  408. homeassistant/components/progettihwsw/translations/ga.json +11 -0
  409. homeassistant/components/proximity/translations/ga.json +15 -0
  410. homeassistant/components/prusalink/translations/ga.json +19 -0
  411. homeassistant/components/pvpc_hourly_pricing/translations/ga.json +34 -0
  412. homeassistant/components/pyload/translations/ga.json +3 -0
  413. homeassistant/components/qbittorrent/translations/ga.json +34 -0
  414. homeassistant/components/qnap/translations/ga.json +30 -0
  415. homeassistant/components/rachio/translations/ga.json +12 -0
  416. homeassistant/components/rainbird/translations/fr.json +3 -0
  417. homeassistant/components/rainforest_raven/translations/ga.json +26 -0
  418. homeassistant/components/random/strings.json +1 -0
  419. homeassistant/components/random/translations/bg.json +0 -1
  420. homeassistant/components/random/translations/ca.json +0 -1
  421. homeassistant/components/random/translations/cs.json +0 -1
  422. homeassistant/components/random/translations/de.json +1 -0
  423. homeassistant/components/random/translations/el.json +0 -1
  424. homeassistant/components/random/translations/en-GB.json +2 -1
  425. homeassistant/components/random/translations/en.json +2 -1
  426. homeassistant/components/random/translations/es.json +0 -1
  427. homeassistant/components/random/translations/et.json +2 -1
  428. homeassistant/components/random/translations/fi.json +1 -0
  429. homeassistant/components/random/translations/fr.json +2 -1
  430. homeassistant/components/random/translations/ga.json +26 -0
  431. homeassistant/components/random/translations/he.json +0 -1
  432. homeassistant/components/random/translations/hu.json +0 -1
  433. homeassistant/components/random/translations/id.json +0 -1
  434. homeassistant/components/random/translations/it.json +0 -1
  435. homeassistant/components/random/translations/ja.json +0 -1
  436. homeassistant/components/random/translations/ko.json +0 -1
  437. homeassistant/components/random/translations/lt.json +0 -1
  438. homeassistant/components/random/translations/nl.json +2 -1
  439. homeassistant/components/random/translations/pl.json +0 -1
  440. homeassistant/components/random/translations/pt.json +0 -1
  441. homeassistant/components/random/translations/ru.json +2 -1
  442. homeassistant/components/random/translations/sk.json +0 -1
  443. homeassistant/components/random/translations/sl.json +0 -1
  444. homeassistant/components/random/translations/sv.json +1 -1
  445. homeassistant/components/random/translations/tr.json +0 -1
  446. homeassistant/components/random/translations/vi.json +0 -1
  447. homeassistant/components/random/translations/zh-Hans.json +1 -1
  448. homeassistant/components/random/translations/zh-Hant.json +2 -1
  449. homeassistant/components/recorder/translations/ga.json +14 -0
  450. homeassistant/components/remote/translations/it.json +1 -1
  451. homeassistant/components/renault/translations/ga.json +10 -0
  452. homeassistant/components/renson/translations/ga.json +80 -0
  453. homeassistant/components/renson/translations/it.json +4 -4
  454. homeassistant/components/reolink/manifest.json +1 -1
  455. homeassistant/components/reolink/translations/ga.json +71 -1
  456. homeassistant/components/reolink/translations/it.json +10 -10
  457. homeassistant/components/rest_command/translations/ga.json +13 -0
  458. homeassistant/components/rfxtrx/translations/ga.json +57 -1
  459. homeassistant/components/rfxtrx/translations/it.json +1 -1
  460. homeassistant/components/ring/translations/ga.json +10 -1
  461. homeassistant/components/risco/translations/ga.json +39 -0
  462. homeassistant/components/roborock/translations/ga.json +36 -0
  463. homeassistant/components/roborock/translations/it.json +2 -2
  464. homeassistant/components/roborock/translations/nl.json +1 -0
  465. homeassistant/components/roku/translations/ga.json +8 -0
  466. homeassistant/components/romy/translations/ga.json +50 -1
  467. homeassistant/components/roomba/translations/ga.json +15 -0
  468. homeassistant/components/rova/translations/ga.json +43 -0
  469. homeassistant/components/russound_rio/translations/ga.json +1 -0
  470. homeassistant/components/ruuvitag_ble/translations/ga.json +8 -0
  471. homeassistant/components/sabnzbd/translations/ga.json +3 -0
  472. homeassistant/components/samsungtv/translations/ga.json +1 -0
  473. homeassistant/components/sanix/translations/ga.json +28 -0
  474. homeassistant/components/scene/translations/ga.json +16 -0
  475. homeassistant/components/schedule/translations/it.json +1 -1
  476. homeassistant/components/schlage/translations/ga.json +10 -0
  477. homeassistant/components/scrape/translations/bg.json +0 -1
  478. homeassistant/components/scrape/translations/ca.json +0 -1
  479. homeassistant/components/scrape/translations/cs.json +0 -1
  480. homeassistant/components/scrape/translations/el.json +0 -1
  481. homeassistant/components/scrape/translations/en-GB.json +1 -1
  482. homeassistant/components/scrape/translations/en.json +1 -1
  483. homeassistant/components/scrape/translations/es.json +0 -1
  484. homeassistant/components/scrape/translations/fi.json +0 -1
  485. homeassistant/components/scrape/translations/fr.json +1 -1
  486. homeassistant/components/scrape/translations/ga.json +34 -1
  487. homeassistant/components/scrape/translations/he.json +0 -1
  488. homeassistant/components/scrape/translations/hu.json +0 -1
  489. homeassistant/components/scrape/translations/id.json +0 -1
  490. homeassistant/components/scrape/translations/it.json +0 -1
  491. homeassistant/components/scrape/translations/ja.json +0 -1
  492. homeassistant/components/scrape/translations/ko.json +0 -1
  493. homeassistant/components/scrape/translations/lt.json +0 -1
  494. homeassistant/components/scrape/translations/nb.json +0 -1
  495. homeassistant/components/scrape/translations/nl.json +0 -1
  496. homeassistant/components/scrape/translations/pl.json +0 -1
  497. homeassistant/components/scrape/translations/pt.json +0 -1
  498. homeassistant/components/scrape/translations/ru.json +0 -1
  499. homeassistant/components/scrape/translations/sk.json +0 -1
  500. homeassistant/components/scrape/translations/sl.json +0 -1
  501. homeassistant/components/scrape/translations/sv.json +0 -1
  502. homeassistant/components/scrape/translations/tr.json +0 -1
  503. homeassistant/components/scrape/translations/uk.json +0 -1
  504. homeassistant/components/scrape/translations/vi.json +0 -1
  505. homeassistant/components/scrape/translations/zh-Hans.json +0 -1
  506. homeassistant/components/scrape/translations/zh-Hant.json +1 -1
  507. homeassistant/components/screenlogic/translations/ga.json +33 -0
  508. homeassistant/components/script/translations/it.json +1 -1
  509. homeassistant/components/sensibo/translations/ga.json +14 -0
  510. homeassistant/components/sensibo/translations/it.json +18 -18
  511. homeassistant/components/sensor/translations/ga.json +5 -0
  512. homeassistant/components/sensor/translations/it.json +1 -1
  513. homeassistant/components/sensor/translations/nl.json +3 -0
  514. homeassistant/components/sensor/translations/sv.json +1 -0
  515. homeassistant/components/seventeentrack/translations/ga.json +55 -2
  516. homeassistant/components/sfr_box/translations/ga.json +9 -0
  517. homeassistant/components/sharkiq/translations/ga.json +17 -0
  518. homeassistant/components/shell_command/translations/ga.json +10 -0
  519. homeassistant/components/shelly/translations/ga.json +33 -1
  520. homeassistant/components/simplisafe/translations/de.json +7 -7
  521. homeassistant/components/siren/translations/it.json +1 -1
  522. homeassistant/components/sleepiq/translations/it.json +1 -1
  523. homeassistant/components/sleepiq/translations/sv.json +5 -0
  524. homeassistant/components/slide_local/translations/ga.json +1 -0
  525. homeassistant/components/sma/translations/ga.json +5 -0
  526. homeassistant/components/smappee/translations/ga.json +3 -0
  527. homeassistant/components/smartthings/translations/fi.json +12 -1
  528. homeassistant/components/smartthings/translations/ga.json +2 -0
  529. homeassistant/components/smartthings/translations/it.json +7 -7
  530. homeassistant/components/smhi/translations/ga.json +3 -0
  531. homeassistant/components/smtp/translations/ga.json +7 -0
  532. homeassistant/components/snapcast/translations/ga.json +11 -0
  533. homeassistant/components/solaredge/translations/ga.json +27 -0
  534. homeassistant/components/solarlog/translations/ga.json +3 -0
  535. homeassistant/components/soma/translations/ga.json +11 -0
  536. homeassistant/components/somfy_mylink/translations/ga.json +11 -0
  537. homeassistant/components/sonos/translations/ga.json +8 -0
  538. homeassistant/components/soundtouch/translations/ga.json +11 -0
  539. homeassistant/components/speedtestdotnet/translations/ga.json +51 -0
  540. homeassistant/components/spotify/translations/ga.json +5 -0
  541. homeassistant/components/sql/translations/bg.json +0 -1
  542. homeassistant/components/sql/translations/ca.json +0 -1
  543. homeassistant/components/sql/translations/cs.json +0 -1
  544. homeassistant/components/sql/translations/el.json +0 -1
  545. homeassistant/components/sql/translations/en-GB.json +1 -1
  546. homeassistant/components/sql/translations/en.json +1 -1
  547. homeassistant/components/sql/translations/es.json +0 -1
  548. homeassistant/components/sql/translations/fi.json +0 -1
  549. homeassistant/components/sql/translations/fr.json +1 -1
  550. homeassistant/components/sql/translations/ga.json +2 -1
  551. homeassistant/components/sql/translations/he.json +0 -1
  552. homeassistant/components/sql/translations/hu.json +0 -1
  553. homeassistant/components/sql/translations/id.json +0 -1
  554. homeassistant/components/sql/translations/it.json +0 -1
  555. homeassistant/components/sql/translations/ja.json +0 -1
  556. homeassistant/components/sql/translations/ko.json +0 -1
  557. homeassistant/components/sql/translations/lt.json +0 -1
  558. homeassistant/components/sql/translations/nb.json +0 -1
  559. homeassistant/components/sql/translations/nl.json +1 -1
  560. homeassistant/components/sql/translations/pl.json +0 -1
  561. homeassistant/components/sql/translations/pt.json +0 -1
  562. homeassistant/components/sql/translations/ru.json +1 -1
  563. homeassistant/components/sql/translations/sk.json +0 -1
  564. homeassistant/components/sql/translations/sl.json +0 -1
  565. homeassistant/components/sql/translations/sv.json +0 -1
  566. homeassistant/components/sql/translations/tr.json +0 -1
  567. homeassistant/components/sql/translations/uk.json +0 -1
  568. homeassistant/components/sql/translations/vi.json +0 -1
  569. homeassistant/components/sql/translations/zh-Hans.json +0 -1
  570. homeassistant/components/sql/translations/zh-Hant.json +1 -1
  571. homeassistant/components/squeezebox/browse_media.py +40 -14
  572. homeassistant/components/squeezebox/media_player.py +5 -0
  573. homeassistant/components/squeezebox/translations/nl.json +5 -0
  574. homeassistant/components/starline/translations/ga.json +3 -0
  575. homeassistant/components/starlink/translations/ga.json +13 -0
  576. homeassistant/components/steamist/translations/ga.json +17 -0
  577. homeassistant/components/suez_water/translations/ga.json +6 -0
  578. homeassistant/components/sun/translations/cs.json +3 -3
  579. homeassistant/components/sun/translations/ga.json +5 -0
  580. homeassistant/components/surepetcare/translations/ga.json +9 -0
  581. homeassistant/components/swiss_public_transport/translations/ga.json +29 -2
  582. homeassistant/components/switch/translations/it.json +3 -3
  583. homeassistant/components/switch_as_x/translations/ga.json +9 -0
  584. homeassistant/components/switchbot/translations/nl.json +1 -1
  585. homeassistant/components/switcher_kis/translations/sk.json +1 -1
  586. homeassistant/components/system_bridge/translations/ga.json +64 -1
  587. homeassistant/components/systemmonitor/translations/ga.json +36 -0
  588. homeassistant/components/tado/translations/ga.json +18 -1
  589. homeassistant/components/tailwind/translations/ga.json +26 -0
  590. homeassistant/components/tami4/translations/ga.json +8 -0
  591. homeassistant/components/tankerkoenig/translations/en-GB.json +11 -0
  592. homeassistant/components/tankerkoenig/translations/ga.json +17 -0
  593. homeassistant/components/tankerkoenig/translations/sv.json +22 -0
  594. homeassistant/components/technove/translations/ga.json +52 -1
  595. homeassistant/components/tedee/translations/ga.json +29 -0
  596. homeassistant/components/telegram_bot/translations/fr.json +2 -1
  597. homeassistant/components/telegram_bot/translations/ga.json +3 -0
  598. homeassistant/components/tellduslive/translations/ga.json +11 -0
  599. homeassistant/components/template/strings.json +211 -30
  600. homeassistant/components/template/translations/bg.json +53 -1
  601. homeassistant/components/template/translations/ca.json +0 -1
  602. homeassistant/components/template/translations/cs.json +480 -16
  603. homeassistant/components/template/translations/da.json +0 -1
  604. homeassistant/components/template/translations/de.json +308 -52
  605. homeassistant/components/template/translations/el.json +71 -1
  606. homeassistant/components/template/translations/en-GB.json +490 -16
  607. homeassistant/components/template/translations/en.json +214 -33
  608. homeassistant/components/template/translations/es.json +326 -13
  609. homeassistant/components/template/translations/et.json +489 -15
  610. homeassistant/components/template/translations/fi.json +0 -1
  611. homeassistant/components/template/translations/fr.json +493 -14
  612. homeassistant/components/template/translations/ga.json +398 -19
  613. homeassistant/components/template/translations/he.json +0 -1
  614. homeassistant/components/template/translations/hu.json +0 -1
  615. homeassistant/components/template/translations/id.json +0 -1
  616. homeassistant/components/template/translations/it.json +0 -1
  617. homeassistant/components/template/translations/ja.json +0 -1
  618. homeassistant/components/template/translations/ko.json +0 -1
  619. homeassistant/components/template/translations/lt.json +0 -1
  620. homeassistant/components/template/translations/nb.json +0 -1
  621. homeassistant/components/template/translations/nl.json +134 -1
  622. homeassistant/components/template/translations/pl.json +0 -1
  623. homeassistant/components/template/translations/pt-BR.json +0 -1
  624. homeassistant/components/template/translations/pt.json +0 -1
  625. homeassistant/components/template/translations/ru.json +679 -19
  626. homeassistant/components/template/translations/sk.json +202 -1
  627. homeassistant/components/template/translations/sl.json +0 -1
  628. homeassistant/components/template/translations/sv.json +488 -2
  629. homeassistant/components/template/translations/tr.json +0 -1
  630. homeassistant/components/template/translations/uk.json +0 -1
  631. homeassistant/components/template/translations/vi.json +0 -1
  632. homeassistant/components/template/translations/zh-Hans.json +464 -16
  633. homeassistant/components/template/translations/zh-Hant.json +490 -16
  634. homeassistant/components/template/weather.py +2 -0
  635. homeassistant/components/tesla_fleet/translations/ga.json +2 -0
  636. homeassistant/components/tesla_fleet/translations/it.json +8 -8
  637. homeassistant/components/tesla_fleet/translations/nl.json +3 -0
  638. homeassistant/components/tesla_wall_connector/translations/ga.json +24 -1
  639. homeassistant/components/teslemetry/translations/ga.json +135 -0
  640. homeassistant/components/teslemetry/translations/it.json +15 -15
  641. homeassistant/components/tessie/translations/ga.json +94 -0
  642. homeassistant/components/tessie/translations/it.json +9 -9
  643. homeassistant/components/tibber/translations/ga.json +40 -0
  644. homeassistant/components/tibber/translations/nl.json +3 -0
  645. homeassistant/components/time_date/translations/ga.json +64 -0
  646. homeassistant/components/timer/translations/ga.json +5 -0
  647. homeassistant/components/todo/translations/ga.json +83 -0
  648. homeassistant/components/tolo/translations/ga.json +21 -0
  649. homeassistant/components/tomorrowio/translations/ga.json +53 -0
  650. homeassistant/components/toon/translations/ga.json +4 -0
  651. homeassistant/components/totalconnect/translations/ga.json +16 -0
  652. homeassistant/components/tplink/translations/ga.json +30 -2
  653. homeassistant/components/tplink_omada/translations/ga.json +34 -0
  654. homeassistant/components/traccar_server/translations/ga.json +42 -1
  655. homeassistant/components/tractive/translations/ga.json +7 -0
  656. homeassistant/components/tradfri/translations/ga.json +7 -0
  657. homeassistant/components/trafikverket_camera/translations/ga.json +25 -0
  658. homeassistant/components/trafikverket_ferry/translations/pl.json +1 -1
  659. homeassistant/components/trafikverket_train/translations/ga.json +13 -0
  660. homeassistant/components/trafikverket_weatherstation/translations/ga.json +35 -0
  661. homeassistant/components/transmission/translations/ga.json +9 -0
  662. homeassistant/components/trend/translations/ga.json +39 -0
  663. homeassistant/components/tuya/light.py +21 -13
  664. homeassistant/components/tuya/translations/en-GB.json +12 -0
  665. homeassistant/components/tuya/translations/et.json +12 -0
  666. homeassistant/components/tuya/translations/ga.json +30 -0
  667. homeassistant/components/tuya/translations/it.json +4 -4
  668. homeassistant/components/tuya/translations/select.it.json +3 -3
  669. homeassistant/components/tuya/translations/sk.json +6 -0
  670. homeassistant/components/tuya/translations/sv.json +7 -0
  671. homeassistant/components/tuya/translations/zh-Hans.json +12 -0
  672. homeassistant/components/tuya/translations/zh-Hant.json +12 -0
  673. homeassistant/components/twinkly/translations/ga.json +8 -1
  674. homeassistant/components/twinkly/translations/it.json +1 -1
  675. homeassistant/components/twitch/translations/ga.json +12 -0
  676. homeassistant/components/unifi/translations/ga.json +16 -0
  677. homeassistant/components/unifiprotect/translations/ga.json +63 -1
  678. homeassistant/components/unifiprotect/translations/nl.json +6 -0
  679. homeassistant/components/unifiprotect/translations/sv.json +3 -0
  680. homeassistant/components/update/translations/ga.json +26 -0
  681. homeassistant/components/uptime_kuma/sensor.py +5 -1
  682. homeassistant/components/uptime_kuma/translations/cs.json +10 -0
  683. homeassistant/components/uptime_kuma/translations/el.json +8 -0
  684. homeassistant/components/uptime_kuma/translations/en-GB.json +10 -0
  685. homeassistant/components/uptime_kuma/translations/et.json +10 -0
  686. homeassistant/components/uptime_kuma/translations/fr.json +10 -0
  687. homeassistant/components/uptime_kuma/translations/ga.json +3 -0
  688. homeassistant/components/uptime_kuma/translations/nl.json +6 -0
  689. homeassistant/components/uptime_kuma/translations/sk.json +8 -0
  690. homeassistant/components/uptime_kuma/translations/sv.json +12 -0
  691. homeassistant/components/uptime_kuma/translations/zh-Hans.json +10 -0
  692. homeassistant/components/uptime_kuma/translations/zh-Hant.json +10 -0
  693. homeassistant/components/v2c/translations/ga.json +23 -0
  694. homeassistant/components/vacuum/translations/ga.json +5 -0
  695. homeassistant/components/vacuum/translations/it.json +1 -1
  696. homeassistant/components/vallox/translations/ga.json +22 -0
  697. homeassistant/components/valve/translations/ga.json +45 -0
  698. homeassistant/components/venstar/translations/ga.json +20 -0
  699. homeassistant/components/vesync/translations/it.json +1 -1
  700. homeassistant/components/vicare/translations/ga.json +232 -0
  701. homeassistant/components/vilfo/translations/ga.json +11 -0
  702. homeassistant/components/vizio/translations/ga.json +11 -0
  703. homeassistant/components/vlc_telnet/translations/ga.json +11 -0
  704. homeassistant/components/vodafone_station/translations/ga.json +8 -0
  705. homeassistant/components/voip/manifest.json +1 -1
  706. homeassistant/components/volumio/translations/ga.json +11 -0
  707. homeassistant/components/volvo/config_flow.py +8 -0
  708. homeassistant/components/volvo/translations/el.json +53 -0
  709. homeassistant/components/volvo/translations/en-GB.json +178 -0
  710. homeassistant/components/volvo/translations/ga.json +5 -0
  711. homeassistant/components/volvo/translations/nl.json +13 -0
  712. homeassistant/components/volvo/translations/sv.json +53 -0
  713. homeassistant/components/wallbox/translations/ga.json +47 -0
  714. homeassistant/components/wallbox/translations/it.json +1 -1
  715. homeassistant/components/waqi/translations/ga.json +15 -0
  716. homeassistant/components/water_heater/translations/ga.json +8 -0
  717. homeassistant/components/water_heater/translations/it.json +2 -2
  718. homeassistant/components/waze_travel_time/translations/el.json +6 -0
  719. homeassistant/components/waze_travel_time/translations/ga.json +5 -0
  720. homeassistant/components/weather/translations/ga.json +27 -0
  721. homeassistant/components/weatherflow/translations/ga.json +71 -0
  722. homeassistant/components/weatherflow_cloud/translations/cs.json +27 -0
  723. homeassistant/components/weatherflow_cloud/translations/en-GB.json +27 -0
  724. homeassistant/components/weatherflow_cloud/translations/et.json +27 -0
  725. homeassistant/components/weatherflow_cloud/translations/ga.json +9 -0
  726. homeassistant/components/weatherflow_cloud/translations/zh-Hans.json +27 -0
  727. homeassistant/components/weatherflow_cloud/translations/zh-Hant.json +27 -0
  728. homeassistant/components/weatherkit/translations/ga.json +14 -0
  729. homeassistant/components/webmin/translations/ga.json +29 -0
  730. homeassistant/components/webostv/translations/de.json +4 -4
  731. homeassistant/components/webostv/translations/ga.json +15 -0
  732. homeassistant/components/websocket_api/translations/ga.json +7 -0
  733. homeassistant/components/weheat/translations/ga.json +2 -0
  734. homeassistant/components/whirlpool/translations/ga.json +12 -1
  735. homeassistant/components/withings/translations/ga.json +67 -0
  736. homeassistant/components/wled/translations/ga.json +53 -0
  737. homeassistant/components/wled/translations/it.json +1 -1
  738. homeassistant/components/wolflink/translations/it.json +1 -1
  739. homeassistant/components/workday/translations/ga.json +47 -1
  740. homeassistant/components/wyoming/translations/ga.json +14 -0
  741. homeassistant/components/wyoming/translations/it.json +1 -1
  742. homeassistant/components/xbox/translations/ga.json +4 -0
  743. homeassistant/components/xiaomi_ble/translations/ga.json +142 -1
  744. homeassistant/components/xiaomi_miio/translations/it.json +1 -1
  745. homeassistant/components/yale/manifest.json +1 -1
  746. homeassistant/components/yale/translations/ga.json +2 -0
  747. homeassistant/components/yale_smart_alarm/translations/ga.json +8 -0
  748. homeassistant/components/yale_smart_alarm/translations/it.json +1 -1
  749. homeassistant/components/yale_smart_alarm/translations/nl.json +3 -0
  750. homeassistant/components/yalexs_ble/manifest.json +1 -1
  751. homeassistant/components/yamaha_musiccast/translations/ga.json +11 -0
  752. homeassistant/components/yamaha_musiccast/translations/it.json +1 -1
  753. homeassistant/components/yardian/translations/ga.json +11 -0
  754. homeassistant/components/yeelight/translations/ga.json +11 -0
  755. homeassistant/components/yeelight/translations/it.json +1 -1
  756. homeassistant/components/yolink/translations/ga.json +58 -0
  757. homeassistant/components/yolink/translations/it.json +1 -1
  758. homeassistant/components/yolink/translations/nl.json +1 -0
  759. homeassistant/components/youless/translations/ga.json +9 -0
  760. homeassistant/components/youtube/translations/ga.json +2 -0
  761. homeassistant/components/zeversolar/translations/ga.json +11 -0
  762. homeassistant/components/zha/helpers.py +21 -1
  763. homeassistant/components/zha/manifest.json +1 -1
  764. homeassistant/components/zha/strings.json +30 -0
  765. homeassistant/components/zha/translations/bg.json +6 -0
  766. homeassistant/components/zha/translations/cs.json +30 -0
  767. homeassistant/components/zha/translations/de.json +31 -1
  768. homeassistant/components/zha/translations/en-GB.json +30 -0
  769. homeassistant/components/zha/translations/en.json +30 -0
  770. homeassistant/components/zha/translations/es.json +30 -0
  771. homeassistant/components/zha/translations/et.json +30 -0
  772. homeassistant/components/zha/translations/fi.json +9 -0
  773. homeassistant/components/zha/translations/fr.json +9 -0
  774. homeassistant/components/zha/translations/ga.json +253 -0
  775. homeassistant/components/zha/translations/sk.json +18 -0
  776. homeassistant/components/zha/translations/sv.json +24 -0
  777. homeassistant/components/zha/translations/zh-Hans.json +30 -0
  778. homeassistant/components/zha/translations/zh-Hant.json +30 -0
  779. homeassistant/components/zha/update.py +6 -2
  780. homeassistant/components/zwave_js/__init__.py +25 -6
  781. homeassistant/components/zwave_js/api.py +11 -28
  782. homeassistant/components/zwave_js/config_flow.py +12 -14
  783. homeassistant/components/zwave_js/const.py +0 -4
  784. homeassistant/components/zwave_js/helpers.py +54 -1
  785. homeassistant/components/zwave_js/translations/ga.json +107 -0
  786. homeassistant/const.py +1 -1
  787. homeassistant/data_entry_flow.py +4 -3
  788. homeassistant/helpers/device_registry.py +45 -18
  789. homeassistant/helpers/entity_registry.py +3 -3
  790. homeassistant/package_constraints.txt +4 -4
  791. {homeassistant-2025.8.0b0.dist-info → homeassistant-2025.8.0b2.dist-info}/METADATA +1 -1
  792. {homeassistant-2025.8.0b0.dist-info → homeassistant-2025.8.0b2.dist-info}/RECORD +797 -679
  793. {homeassistant-2025.8.0b0.dist-info → homeassistant-2025.8.0b2.dist-info}/WHEEL +0 -0
  794. {homeassistant-2025.8.0b0.dist-info → homeassistant-2025.8.0b2.dist-info}/entry_points.txt +0 -0
  795. {homeassistant-2025.8.0b0.dist-info → homeassistant-2025.8.0b2.dist-info}/licenses/LICENSE.md +0 -0
  796. {homeassistant-2025.8.0b0.dist-info → homeassistant-2025.8.0b2.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  797. {homeassistant-2025.8.0b0.dist-info → homeassistant-2025.8.0b2.dist-info}/top_level.txt +0 -0
@@ -196,6 +196,18 @@
196
196
  "flow_switch": {
197
197
  "name": "\u6d41\u91cf\u5f00\u5173"
198
198
  },
199
+ "frient_in_1": {
200
+ "name": "IN1"
201
+ },
202
+ "frient_in_2": {
203
+ "name": "IN2"
204
+ },
205
+ "frient_in_3": {
206
+ "name": "IN3"
207
+ },
208
+ "frient_in_4": {
209
+ "name": "IN4"
210
+ },
199
211
  "frost_lock": {
200
212
  "name": "\u9632\u971c\u51bb\u9501"
201
213
  },
@@ -252,6 +264,9 @@
252
264
  "frost_lock_reset": {
253
265
  "name": "\u971c\u51bb\u9501\u91cd\u7f6e"
254
266
  },
267
+ "reset_alarm": {
268
+ "name": "\u91cd\u7f6e\u8b66\u62a5"
269
+ },
255
270
  "reset_frost_lock": {
256
271
  "name": "\u9632\u971c\u51bb\u9501\u590d\u4f4d"
257
272
  },
@@ -1386,6 +1401,9 @@
1386
1401
  "todays_max_light_intensity": {
1387
1402
  "name": "\u4eca\u65e5\u6700\u5927\u5149\u7167\u5f3a\u5ea6"
1388
1403
  },
1404
+ "total_active_power": {
1405
+ "name": "\u603b\u529f\u7387"
1406
+ },
1389
1407
  "total_power_factor": {
1390
1408
  "name": "\u603b\u529f\u7387\u56e0\u6570"
1391
1409
  },
@@ -1460,6 +1478,9 @@
1460
1478
  "display_enabled": {
1461
1479
  "name": "\u663e\u793a\u5df2\u542f\u7528"
1462
1480
  },
1481
+ "distance_tracking": {
1482
+ "name": "\u8ddd\u79bb\u8ffd\u8e2a"
1483
+ },
1463
1484
  "double_tap_down_enabled": {
1464
1485
  "name": "\u5df2\u542f\u7528\u53cc\u51fb\u4e0b\u964d"
1465
1486
  },
@@ -1490,6 +1511,12 @@
1490
1511
  "firmware_progress_led": {
1491
1512
  "name": "\u56fa\u4ef6\u8fdb\u5ea6 LED"
1492
1513
  },
1514
+ "frient_com_1": {
1515
+ "name": "COM 1"
1516
+ },
1517
+ "frient_com_2": {
1518
+ "name": "COM 2"
1519
+ },
1493
1520
  "frost_lock": {
1494
1521
  "name": "\u971c\u51bb\u9501"
1495
1522
  },
@@ -1628,6 +1655,9 @@
1628
1655
  "valve_on_off_2": {
1629
1656
  "name": "\u9600\u95e8 2"
1630
1657
  },
1658
+ "water_shortage_auto_close": {
1659
+ "name": "\u7f3a\u6c34\u81ea\u52a8\u5173\u95ed"
1660
+ },
1631
1661
  "window_detection": {
1632
1662
  "name": "\u7a97\u53e3\u68c0\u6d4b"
1633
1663
  },
@@ -196,6 +196,18 @@
196
196
  "flow_switch": {
197
197
  "name": "\u6d41\u91cf\u958b\u95dc"
198
198
  },
199
+ "frient_in_1": {
200
+ "name": "IN1"
201
+ },
202
+ "frient_in_2": {
203
+ "name": "IN2"
204
+ },
205
+ "frient_in_3": {
206
+ "name": "IN3"
207
+ },
208
+ "frient_in_4": {
209
+ "name": "IN4"
210
+ },
199
211
  "frost_lock": {
200
212
  "name": "\u51b0\u971c\u9396"
201
213
  },
@@ -252,6 +264,9 @@
252
264
  "frost_lock_reset": {
253
265
  "name": "\u51b0\u971c\u9396\u91cd\u7f6e"
254
266
  },
267
+ "reset_alarm": {
268
+ "name": "\u91cd\u7f6e\u8b66\u5831"
269
+ },
255
270
  "reset_frost_lock": {
256
271
  "name": "\u51b0\u971c\u9396\u91cd\u7f6e"
257
272
  },
@@ -1386,6 +1401,9 @@
1386
1401
  "todays_max_light_intensity": {
1387
1402
  "name": "\u672c\u65e5\u6700\u5927\u5149\u7167\u5f37\u5ea6"
1388
1403
  },
1404
+ "total_active_power": {
1405
+ "name": "\u7e3d\u529f\u7387"
1406
+ },
1389
1407
  "total_power_factor": {
1390
1408
  "name": "\u7e3d\u529f\u7387\u56e0\u6578"
1391
1409
  },
@@ -1460,6 +1478,9 @@
1460
1478
  "display_enabled": {
1461
1479
  "name": "\u986f\u793a\u958b\u555f"
1462
1480
  },
1481
+ "distance_tracking": {
1482
+ "name": "\u8ddd\u96e2\u8ffd\u8e64"
1483
+ },
1463
1484
  "double_tap_down_enabled": {
1464
1485
  "name": "\u96d9\u64ca\u5411\u4e0b\u555f\u7528"
1465
1486
  },
@@ -1490,6 +1511,12 @@
1490
1511
  "firmware_progress_led": {
1491
1512
  "name": "\u97cc\u9ad4\u9032\u5ea6 LED"
1492
1513
  },
1514
+ "frient_com_1": {
1515
+ "name": "COM 1"
1516
+ },
1517
+ "frient_com_2": {
1518
+ "name": "COM 2"
1519
+ },
1493
1520
  "frost_lock": {
1494
1521
  "name": "\u51b0\u971c\u9396"
1495
1522
  },
@@ -1628,6 +1655,9 @@
1628
1655
  "valve_on_off_2": {
1629
1656
  "name": "\u95a5\u9580 2"
1630
1657
  },
1658
+ "water_shortage_auto_close": {
1659
+ "name": "\u7f3a\u6c34\u81ea\u52d5\u95dc\u9589"
1660
+ },
1631
1661
  "window_detection": {
1632
1662
  "name": "\u7a97\u6236\u5075\u6e2c"
1633
1663
  },
@@ -58,7 +58,7 @@ async def async_setup_entry(
58
58
  zha_data = get_zha_data(hass)
59
59
  if zha_data.update_coordinator is None:
60
60
  zha_data.update_coordinator = ZHAFirmwareUpdateCoordinator(
61
- hass, get_zha_gateway(hass).application_controller
61
+ hass, config_entry, get_zha_gateway(hass).application_controller
62
62
  )
63
63
  entities_to_create = zha_data.platforms[Platform.UPDATE]
64
64
 
@@ -79,12 +79,16 @@ class ZHAFirmwareUpdateCoordinator(DataUpdateCoordinator[None]): # pylint: disa
79
79
  """Firmware update coordinator that broadcasts updates network-wide."""
80
80
 
81
81
  def __init__(
82
- self, hass: HomeAssistant, controller_application: ControllerApplication
82
+ self,
83
+ hass: HomeAssistant,
84
+ config_entry: ConfigEntry,
85
+ controller_application: ControllerApplication,
83
86
  ) -> None:
84
87
  """Initialize the coordinator."""
85
88
  super().__init__(
86
89
  hass,
87
90
  _LOGGER,
91
+ config_entry=config_entry,
88
92
  name="ZHA firmware update coordinator",
89
93
  update_method=self.async_update_data,
90
94
  )
@@ -105,7 +105,6 @@ from .const import (
105
105
  CONF_USB_PATH,
106
106
  CONF_USE_ADDON,
107
107
  DOMAIN,
108
- DRIVER_READY_TIMEOUT,
109
108
  EVENT_DEVICE_ADDED_TO_REGISTRY,
110
109
  EVENT_VALUE_UPDATED,
111
110
  LIB_LOGGER,
@@ -136,6 +135,7 @@ from .models import ZwaveJSConfigEntry, ZwaveJSData
136
135
  from .services import async_setup_services
137
136
 
138
137
  CONNECT_TIMEOUT = 10
138
+ DRIVER_READY_TIMEOUT = 60
139
139
 
140
140
  CONFIG_SCHEMA = vol.Schema(
141
141
  {
@@ -368,6 +368,16 @@ class DriverEvents:
368
368
  )
369
369
  )
370
370
 
371
+ # listen for driver ready event to reload the config entry
372
+ self.config_entry.async_on_unload(
373
+ driver.on(
374
+ "driver ready",
375
+ lambda _: self.hass.config_entries.async_schedule_reload(
376
+ self.config_entry.entry_id
377
+ ),
378
+ )
379
+ )
380
+
371
381
  # listen for new nodes being added to the mesh
372
382
  self.config_entry.async_on_unload(
373
383
  controller.on(
@@ -1074,23 +1084,32 @@ async def client_listen(
1074
1084
  try:
1075
1085
  await client.listen(driver_ready)
1076
1086
  except BaseZwaveJSServerError as err:
1077
- if entry.state is not ConfigEntryState.LOADED:
1087
+ if entry.state is ConfigEntryState.SETUP_IN_PROGRESS:
1078
1088
  raise
1079
1089
  LOGGER.error("Client listen failed: %s", err)
1080
1090
  except Exception as err:
1081
1091
  # We need to guard against unknown exceptions to not crash this task.
1082
1092
  LOGGER.exception("Unexpected exception: %s", err)
1083
- if entry.state is not ConfigEntryState.LOADED:
1093
+ if entry.state is ConfigEntryState.SETUP_IN_PROGRESS:
1084
1094
  raise
1085
1095
 
1096
+ if hass.is_stopping or entry.state is ConfigEntryState.UNLOAD_IN_PROGRESS:
1097
+ return
1098
+
1099
+ if entry.state is ConfigEntryState.SETUP_IN_PROGRESS:
1100
+ raise HomeAssistantError("Listen task ended unexpectedly")
1101
+
1086
1102
  # The entry needs to be reloaded since a new driver state
1087
1103
  # will be acquired on reconnect.
1088
1104
  # All model instances will be replaced when the new state is acquired.
1089
- if not hass.is_stopping:
1090
- if entry.state is not ConfigEntryState.LOADED:
1091
- raise HomeAssistantError("Listen task ended unexpectedly")
1105
+ if entry.state.recoverable:
1092
1106
  LOGGER.debug("Disconnected from server. Reloading integration")
1093
1107
  hass.config_entries.async_schedule_reload(entry.entry_id)
1108
+ else:
1109
+ LOGGER.error(
1110
+ "Disconnected from server. Cannot recover entry %s",
1111
+ entry.title,
1112
+ )
1094
1113
 
1095
1114
 
1096
1115
  async def async_unload_entry(hass: HomeAssistant, entry: ZwaveJSConfigEntry) -> bool:
@@ -2,7 +2,6 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- import asyncio
6
5
  from collections.abc import Callable, Coroutine
7
6
  from contextlib import suppress
8
7
  import dataclasses
@@ -87,7 +86,6 @@ from .const import (
87
86
  CONF_DATA_COLLECTION_OPTED_IN,
88
87
  CONF_INSTALLER_MODE,
89
88
  DOMAIN,
90
- DRIVER_READY_TIMEOUT,
91
89
  EVENT_DEVICE_ADDED_TO_REGISTRY,
92
90
  LOGGER,
93
91
  USER_AGENT,
@@ -98,6 +96,7 @@ from .helpers import (
98
96
  async_get_node_from_device_id,
99
97
  async_get_provisioning_entry_from_device_id,
100
98
  async_get_version_info,
99
+ async_wait_for_driver_ready_event,
101
100
  get_device_id,
102
101
  )
103
102
 
@@ -2854,26 +2853,18 @@ async def websocket_hard_reset_controller(
2854
2853
  connection.send_result(msg[ID], device.id)
2855
2854
  async_cleanup()
2856
2855
 
2857
- @callback
2858
- def set_driver_ready(event: dict) -> None:
2859
- "Set the driver ready event."
2860
- wait_driver_ready.set()
2861
-
2862
- wait_driver_ready = asyncio.Event()
2863
-
2864
2856
  msg[DATA_UNSUBSCRIBE] = unsubs = [
2865
2857
  async_dispatcher_connect(
2866
2858
  hass, EVENT_DEVICE_ADDED_TO_REGISTRY, _handle_device_added
2867
2859
  ),
2868
- driver.once("driver ready", set_driver_ready),
2869
2860
  ]
2870
2861
 
2862
+ wait_for_driver_ready = async_wait_for_driver_ready_event(entry, driver)
2863
+
2871
2864
  await driver.async_hard_reset()
2872
2865
 
2873
2866
  with suppress(TimeoutError):
2874
- async with asyncio.timeout(DRIVER_READY_TIMEOUT):
2875
- await wait_driver_ready.wait()
2876
-
2867
+ await wait_for_driver_ready()
2877
2868
  # When resetting the controller, the controller home id is also changed.
2878
2869
  # The controller state in the client is stale after resetting the controller,
2879
2870
  # so get the new home id with a new client using the helper function.
@@ -2886,14 +2877,14 @@ async def websocket_hard_reset_controller(
2886
2877
  # The stale unique id needs to be handled by a repair flow,
2887
2878
  # after the config entry has been reloaded.
2888
2879
  LOGGER.error(
2889
- "Failed to get server version, cannot update config entry"
2880
+ "Failed to get server version, cannot update config entry "
2890
2881
  "unique id with new home id, after controller reset"
2891
2882
  )
2892
2883
  else:
2893
2884
  hass.config_entries.async_update_entry(
2894
2885
  entry, unique_id=str(version_info.home_id)
2895
2886
  )
2896
- await hass.config_entries.async_reload(entry.entry_id)
2887
+ hass.config_entries.async_schedule_reload(entry.entry_id)
2897
2888
 
2898
2889
 
2899
2890
  @websocket_api.websocket_command(
@@ -3100,27 +3091,19 @@ async def websocket_restore_nvm(
3100
3091
  )
3101
3092
  )
3102
3093
 
3103
- @callback
3104
- def set_driver_ready(event: dict) -> None:
3105
- "Set the driver ready event."
3106
- wait_driver_ready.set()
3107
-
3108
- wait_driver_ready = asyncio.Event()
3109
-
3110
3094
  # Set up subscription for progress events
3111
3095
  connection.subscriptions[msg["id"]] = async_cleanup
3112
3096
  msg[DATA_UNSUBSCRIBE] = unsubs = [
3113
3097
  controller.on("nvm convert progress", forward_progress),
3114
3098
  controller.on("nvm restore progress", forward_progress),
3115
- driver.once("driver ready", set_driver_ready),
3116
3099
  ]
3117
3100
 
3101
+ wait_for_driver_ready = async_wait_for_driver_ready_event(entry, driver)
3102
+
3118
3103
  await controller.async_restore_nvm_base64(msg["data"], {"preserveRoutes": False})
3119
3104
 
3120
3105
  with suppress(TimeoutError):
3121
- async with asyncio.timeout(DRIVER_READY_TIMEOUT):
3122
- await wait_driver_ready.wait()
3123
-
3106
+ await wait_for_driver_ready()
3124
3107
  # When restoring the NVM to the controller, the controller home id is also changed.
3125
3108
  # The controller state in the client is stale after restoring the NVM,
3126
3109
  # so get the new home id with a new client using the helper function.
@@ -3133,14 +3116,13 @@ async def websocket_restore_nvm(
3133
3116
  # The stale unique id needs to be handled by a repair flow,
3134
3117
  # after the config entry has been reloaded.
3135
3118
  LOGGER.error(
3136
- "Failed to get server version, cannot update config entry"
3119
+ "Failed to get server version, cannot update config entry "
3137
3120
  "unique id with new home id, after controller NVM restore"
3138
3121
  )
3139
3122
  else:
3140
3123
  hass.config_entries.async_update_entry(
3141
3124
  entry, unique_id=str(version_info.home_id)
3142
3125
  )
3143
-
3144
3126
  await hass.config_entries.async_reload(entry.entry_id)
3145
3127
 
3146
3128
  connection.send_message(
@@ -3152,3 +3134,4 @@ async def websocket_restore_nvm(
3152
3134
  )
3153
3135
  )
3154
3136
  connection.send_result(msg[ID])
3137
+ async_cleanup()
@@ -62,9 +62,12 @@ from .const import (
62
62
  CONF_USB_PATH,
63
63
  CONF_USE_ADDON,
64
64
  DOMAIN,
65
- DRIVER_READY_TIMEOUT,
66
65
  )
67
- from .helpers import CannotConnect, async_get_version_info
66
+ from .helpers import (
67
+ CannotConnect,
68
+ async_get_version_info,
69
+ async_wait_for_driver_ready_event,
70
+ )
68
71
  from .models import ZwaveJSConfigEntry
69
72
 
70
73
  _LOGGER = logging.getLogger(__name__)
@@ -1396,19 +1399,15 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
1396
1399
  event["bytesWritten"] / event["total"] * 0.5 + 0.5
1397
1400
  )
1398
1401
 
1399
- @callback
1400
- def set_driver_ready(event: dict) -> None:
1401
- "Set the driver ready event."
1402
- wait_driver_ready.set()
1403
-
1404
1402
  driver = self._get_driver()
1405
1403
  controller = driver.controller
1406
- wait_driver_ready = asyncio.Event()
1407
1404
  unsubs = [
1408
1405
  controller.on("nvm convert progress", forward_progress),
1409
1406
  controller.on("nvm restore progress", forward_progress),
1410
- driver.once("driver ready", set_driver_ready),
1411
1407
  ]
1408
+
1409
+ wait_for_driver_ready = async_wait_for_driver_ready_event(config_entry, driver)
1410
+
1412
1411
  try:
1413
1412
  await controller.async_restore_nvm(
1414
1413
  self.backup_data, {"preserveRoutes": False}
@@ -1417,8 +1416,7 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
1417
1416
  raise AbortFlow(f"Failed to restore network: {err}") from err
1418
1417
  else:
1419
1418
  with suppress(TimeoutError):
1420
- async with asyncio.timeout(DRIVER_READY_TIMEOUT):
1421
- await wait_driver_ready.wait()
1419
+ await wait_for_driver_ready()
1422
1420
  try:
1423
1421
  version_info = await async_get_version_info(
1424
1422
  self.hass, config_entry.data[CONF_URL]
@@ -1435,10 +1433,10 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
1435
1433
  self.hass.config_entries.async_update_entry(
1436
1434
  config_entry, unique_id=str(version_info.home_id)
1437
1435
  )
1438
- await self.hass.config_entries.async_reload(config_entry.entry_id)
1439
1436
 
1440
- # Reload the config entry two times to clean up
1441
- # the stale device entry.
1437
+ # The config entry will be also be reloaded when the driver is ready,
1438
+ # by the listener in the package module,
1439
+ # and two reloads are needed to clean up the stale controller device entry.
1442
1440
  # Since both the old and the new controller have the same node id,
1443
1441
  # but different hardware identifiers, the integration
1444
1442
  # will create a new device for the new controller, on the first reload,
@@ -201,7 +201,3 @@ COVER_TILT_PROPERTY_KEYS: set[str | int | None] = {
201
201
  WindowCoveringPropertyKey.VERTICAL_SLATS_ANGLE,
202
202
  WindowCoveringPropertyKey.VERTICAL_SLATS_ANGLE_NO_POSITION,
203
203
  }
204
-
205
- # Other constants
206
-
207
- DRIVER_READY_TIMEOUT = 60
@@ -3,7 +3,7 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import asyncio
6
- from collections.abc import Callable
6
+ from collections.abc import Callable, Coroutine
7
7
  from dataclasses import astuple, dataclass
8
8
  import logging
9
9
  from typing import Any, cast
@@ -56,6 +56,7 @@ from .const import (
56
56
  )
57
57
  from .models import ZwaveJSConfigEntry
58
58
 
59
+ DRIVER_READY_EVENT_TIMEOUT = 60
59
60
  SERVER_VERSION_TIMEOUT = 10
60
61
 
61
62
 
@@ -588,5 +589,57 @@ async def async_get_version_info(hass: HomeAssistant, ws_address: str) -> Versio
588
589
  return version_info
589
590
 
590
591
 
592
+ @callback
593
+ def async_wait_for_driver_ready_event(
594
+ config_entry: ZwaveJSConfigEntry,
595
+ driver: Driver,
596
+ ) -> Callable[[], Coroutine[Any, Any, None]]:
597
+ """Wait for the driver ready event and the config entry reload.
598
+
599
+ When the driver ready event is received
600
+ the config entry will be reloaded by the integration.
601
+ This function helps wait for that to happen
602
+ before proceeding with further actions.
603
+
604
+ If the config entry is reloaded for another reason,
605
+ this function will not wait for it to be reloaded again.
606
+
607
+ Raises TimeoutError if the driver ready event and reload
608
+ is not received within the specified timeout.
609
+ """
610
+ driver_ready_event_received = asyncio.Event()
611
+ config_entry_reloaded = asyncio.Event()
612
+ unsubscribers: list[Callable[[], None]] = []
613
+
614
+ @callback
615
+ def driver_ready_received(event: dict) -> None:
616
+ """Receive the driver ready event."""
617
+ driver_ready_event_received.set()
618
+
619
+ unsubscribers.append(driver.once("driver ready", driver_ready_received))
620
+
621
+ @callback
622
+ def on_config_entry_state_change() -> None:
623
+ """Check config entry was loaded after driver ready event."""
624
+ if config_entry.state is ConfigEntryState.LOADED:
625
+ config_entry_reloaded.set()
626
+
627
+ unsubscribers.append(
628
+ config_entry.async_on_state_change(on_config_entry_state_change)
629
+ )
630
+
631
+ async def wait_for_events() -> None:
632
+ try:
633
+ async with asyncio.timeout(DRIVER_READY_EVENT_TIMEOUT):
634
+ await asyncio.gather(
635
+ driver_ready_event_received.wait(), config_entry_reloaded.wait()
636
+ )
637
+ finally:
638
+ for unsubscribe in unsubscribers:
639
+ unsubscribe()
640
+
641
+ return wait_for_events
642
+
643
+
591
644
  class CannotConnect(HomeAssistantError):
592
645
  """Indicate connection error."""
@@ -6,6 +6,7 @@
6
6
  "config_entry_not_loaded": "N\u00edl an iontr\u00e1il chumra\u00edochta Z-Wave l\u00f3d\u00e1ilte. D\u00e9an iarracht ar\u00eds nuair a bheidh an iontr\u00e1il chumra\u00edochta l\u00f3d\u00e1ilte.",
7
7
  "different_device": "N\u00ed hionann an gl\u00e9as USB ceangailte agus an ceann a cumra\u00edodh roimhe seo don iontr\u00e1il chumra\u00edochta seo. Cruthaigh iontr\u00e1il chumra\u00edochta nua don ghl\u00e9as nua ina ionad sin.",
8
8
  "migration_successful": "Imirce rath\u00fail.",
9
+ "reconfigure_successful": "D'\u00e9irigh leis an athchumr\u00fa",
9
10
  "usb_ports_failed": "Theip ar ghl\u00e9asanna USB a fh\u00e1il."
10
11
  },
11
12
  "step": {
@@ -80,15 +81,90 @@
80
81
  }
81
82
  },
82
83
  "entity": {
84
+ "button": {
85
+ "ping": {
86
+ "name": "Ping"
87
+ }
88
+ },
83
89
  "sensor": {
84
90
  "avg_signal_noise": {
85
91
  "name": "Me\u00e1ntorann comhartha (cain\u00e9al {channel})"
86
92
  },
93
+ "can": {
94
+ "name": "Imbhuailt\u00ed"
95
+ },
96
+ "commands_dropped": {
97
+ "name": "Orduithe f\u00e1gtha ar l\u00e1r ({direction})"
98
+ },
99
+ "controller_status": {
100
+ "name": "St\u00e1das",
101
+ "state": {
102
+ "jammed": "Pl\u00fachta",
103
+ "ready": "R\u00e9idh",
104
+ "unresponsive": "Gan freagra"
105
+ }
106
+ },
107
+ "last_seen": {
108
+ "name": "Le feice\u00e1il go deireanach"
109
+ },
110
+ "messages_dropped": {
111
+ "name": "Teachtaireachta\u00ed caillte ({direction})"
112
+ },
113
+ "nak": {
114
+ "name": "N\u00ed ghlactar le teachtaireachta\u00ed"
115
+ },
116
+ "node_status": {
117
+ "name": "St\u00e1das an n\u00f3id",
118
+ "state": {
119
+ "alive": "Beo",
120
+ "asleep": "Ina chodladh",
121
+ "awake": "D\u00faisigh",
122
+ "dead": "Marbh",
123
+ "unknown": "Anaithnid"
124
+ }
125
+ },
126
+ "rtt": {
127
+ "name": "Am turais bhabhta"
128
+ },
87
129
  "signal_noise": {
88
130
  "name": "Torann comhartha (cain\u00e9al {channel})"
89
131
  },
90
132
  "signal_strength": {
91
133
  "name": "Neart comhartha"
134
+ },
135
+ "successful_commands": {
136
+ "name": "Orduithe rath\u00fala ({direction})"
137
+ },
138
+ "successful_messages": {
139
+ "name": "Teachtaireachta\u00ed rath\u00fala ({direction})"
140
+ },
141
+ "timeout_ack": {
142
+ "name": "ACKanna ar Iarraidh"
143
+ },
144
+ "timeout_callback": {
145
+ "name": "Glaonna ar ais imithe thar an am"
146
+ },
147
+ "timeout_response": {
148
+ "name": "Freagra\u00ed imithe thar an am"
149
+ }
150
+ }
151
+ },
152
+ "issues": {
153
+ "device_config_file_changed": {
154
+ "fix_flow": {
155
+ "abort": {
156
+ "issue_ignored": "Neamhaird d\u00e9anta ar nuashonr\u00fa chomhaid chumra\u00edochta gl\u00e9is do {device_name}."
157
+ },
158
+ "step": {
159
+ "init": {
160
+ "description": "T\u00e1 athr\u00fa tagtha ar chomhad cumra\u00edochta na feiste do {device_name}.\n\nAims\u00edonn Z-Wave go leor meiteashonra\u00ed feiste tr\u00ed agallamh a chur ar an bhfeiste. Mar sin f\u00e9in, n\u00ed m\u00f3r cuid den fhaisn\u00e9is a lucht\u00fa \u00f3 chomhad cumra\u00edochta. N\u00ed dh\u00e9antar cuid den fhaisn\u00e9is seo a mheas ach uair amh\u00e1in, le linn an agallaimh leis an bhfeiste.\n\nNuair a dh\u00e9antar comhad cumra\u00edochta feiste a nuashonr\u00fa, f\u00e9adfaidh an fhaisn\u00e9is seo a bheith seanchaite agus n\u00ed m\u00f3r an fheiste a athagallamh chun na hathruithe a chur i bhfeidhm.\n\nN\u00ed oibr\u00edocht riachtanach \u00ed seo agus beidh tionchar ar fheidhmi\u00falacht na feiste le linn an phr\u00f3isis athagallaimh, ach d'fh\u00e9adf\u00e1 feabhsuithe a fheice\u00e1il do do ghl\u00e9as nuair a bheidh s\u00e9 cr\u00edochnaithe.\n\nM\u00e1 shocra\u00edonn t\u00fa dul ar aghaidh leis an athagallamh, d\u00e9anfar \u00e9 sa ch\u00falra.\n\nN\u00f3ta: N\u00ed m\u00f3r feist\u00ed codlata faoi thiom\u00e1int ceallra\u00ed a dh\u00faiseacht le linn athagallaimh chun go n-oibreoidh s\u00e9. Braitheann conas an fheiste a dh\u00faiseacht ar leith don fheiste agus de ghn\u00e1th m\u00edn\u00edtear \u00e9 i l\u00e1mhleabhar na feiste.",
161
+ "menu_options": {
162
+ "confirm": "Athagallamh a dh\u00e9anamh ar an ngl\u00e9as",
163
+ "ignore": "D\u00e9an neamhaird ar nuashonr\u00fa cumra\u00edochta gl\u00e9is"
164
+ },
165
+ "title": "Comhad cumra\u00edochta gl\u00e9is athraithe: {device_name}"
166
+ }
167
+ }
92
168
  }
93
169
  }
94
170
  },
@@ -166,6 +242,7 @@
166
242
  }
167
243
  },
168
244
  "refresh_notifications": {
245
+ "description": "Athnuachana\u00edonn s\u00e9 f\u00f3gra\u00ed ar n\u00f3d bunaithe ar chine\u00e1l f\u00f3gra agus imeacht f\u00f3gra m\u00e1s mian leat.",
169
246
  "fields": {
170
247
  "area_id": {
171
248
  "description": "An limist\u00e9ar/na limist\u00e9ir le d\u00edri\u00fa orthu don ghn\u00edomh seo. M\u00e1 shonra\u00edtear limist\u00e9ar, d\u00edreofar ar gach gl\u00e9as agus eintiteas Z-Wave sa limist\u00e9ar sin don ghn\u00edomh seo.",
@@ -213,6 +290,36 @@
213
290
  }
214
291
  }
215
292
  },
293
+ "set_lock_configuration": {
294
+ "description": "Socra\u00edonn s\u00e9 cumra\u00edocht glas\u00e1la.",
295
+ "fields": {
296
+ "auto_relock_time": {
297
+ "description": "Fad i soicind\u00ed go dt\u00ed go bhfilleann an glas ar an staid ghlas\u00e1ilte. N\u00ed chuirtear i bhfeidhm ach amh\u00e1in nuair is \u00e9 an cine\u00e1l oibr\u00edochta `tairiseach`.",
298
+ "name": "Am athghlas\u00e1la uathoibr\u00edoch"
299
+ },
300
+ "block_to_block": {
301
+ "description": "Ar cheart don ghlas an m\u00f3tar a rith go dt\u00ed go mbuaileann s\u00e9 friota\u00edocht.",
302
+ "name": "Bloc go Bloc"
303
+ },
304
+ "hold_and_release_time": {
305
+ "description": "An fad ama i soicind\u00ed a fhanann an laiste tarraingthe siar.",
306
+ "name": "Am coinnigh agus scaoilte"
307
+ },
308
+ "lock_timeout": {
309
+ "description": "Soicind\u00ed go dt\u00ed go dt\u00e9ann an modh glas\u00e1la in \u00e9ag. N\u00edor cheart \u00e9 a \u00fas\u00e1id ach amh\u00e1in m\u00e1 t\u00e1 an cine\u00e1l oibr\u00edochta `uainithe`.",
310
+ "name": "Am scoir glas\u00e1la"
311
+ },
312
+ "operation_type": {
313
+ "description": "Cine\u00e1l oibr\u00edochta an ghlais.",
314
+ "name": "Cine\u00e1l oibr\u00edochta"
315
+ },
316
+ "twist_assist": {
317
+ "description": "Ar cheart don mh\u00f3tar cabhr\u00fa le glas\u00e1il agus d\u00edghlas\u00e1il.",
318
+ "name": "C\u00fanamh Casadh"
319
+ }
320
+ },
321
+ "name": "Socraigh cumra\u00edocht glas\u00e1la"
322
+ },
216
323
  "set_value": {
217
324
  "fields": {
218
325
  "area_id": {
homeassistant/const.py CHANGED
@@ -25,7 +25,7 @@ if TYPE_CHECKING:
25
25
  APPLICATION_NAME: Final = "HomeAssistant"
26
26
  MAJOR_VERSION: Final = 2025
27
27
  MINOR_VERSION: Final = 8
28
- PATCH_VERSION: Final = "0b0"
28
+ PATCH_VERSION: Final = "0b2"
29
29
  __short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
30
30
  __version__: Final = f"{__short_version__}.{PATCH_VERSION}"
31
31
  REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 13, 2)
@@ -677,9 +677,10 @@ class FlowHandler(Generic[_FlowContextT, _FlowResultT, _HandlerT]):
677
677
  and key in suggested_values
678
678
  ):
679
679
  new_section_key = copy.copy(key)
680
- schema[new_section_key] = val
681
- val.schema = self.add_suggested_values_to_schema(
682
- val.schema, suggested_values[key]
680
+ new_val = copy.copy(val)
681
+ schema[new_section_key] = new_val
682
+ new_val.schema = self.add_suggested_values_to_schema(
683
+ new_val.schema, suggested_values[key]
683
684
  )
684
685
  continue
685
686