homeassistant 2025.10.0b5__py3-none-any.whl → 2025.10.0b7__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.

Potentially problematic release.


This version of homeassistant might be problematic. Click here for more details.

Files changed (367) hide show
  1. homeassistant/brands/eltako.json +5 -0
  2. homeassistant/brands/konnected.json +5 -0
  3. homeassistant/brands/level.json +5 -0
  4. homeassistant/components/accuweather/translations/id.json +9 -0
  5. homeassistant/components/airos/translations/id.json +36 -0
  6. homeassistant/components/airzone_cloud/translations/ar.json +15 -0
  7. homeassistant/components/aladdin_connect/config_flow.py +11 -0
  8. homeassistant/components/aladdin_connect/strings.json +2 -1
  9. homeassistant/components/aladdin_connect/translations/bg.json +7 -1
  10. homeassistant/components/aladdin_connect/translations/cs.json +1 -0
  11. homeassistant/components/aladdin_connect/translations/de.json +1 -0
  12. homeassistant/components/aladdin_connect/translations/en-GB.json +1 -0
  13. homeassistant/components/aladdin_connect/translations/en.json +1 -0
  14. homeassistant/components/aladdin_connect/translations/es.json +1 -0
  15. homeassistant/components/aladdin_connect/translations/et.json +1 -0
  16. homeassistant/components/aladdin_connect/translations/id.json +28 -1
  17. homeassistant/components/aladdin_connect/translations/lt.json +1 -0
  18. homeassistant/components/aladdin_connect/translations/pt.json +1 -0
  19. homeassistant/components/alexa_devices/translations/id.json +12 -0
  20. homeassistant/components/analytics/analytics.py +23 -12
  21. homeassistant/components/androidtv_remote/translations/id.json +7 -1
  22. homeassistant/components/anthropic/translations/id.json +2 -1
  23. homeassistant/components/aosmith/translations/id.json +9 -0
  24. homeassistant/components/apcupsd/translations/id.json +6 -0
  25. homeassistant/components/august/translations/id.json +25 -1
  26. homeassistant/components/bayesian/binary_sensor.py +7 -0
  27. homeassistant/components/bayesian/translations/id.json +62 -0
  28. homeassistant/components/binary_sensor/translations/ar.json +10 -0
  29. homeassistant/components/broadlink/translations/zh-Hant.json +1 -1
  30. homeassistant/components/brother/translations/id.json +21 -0
  31. homeassistant/components/bsblan/translations/id.json +17 -2
  32. homeassistant/components/climate/translations/ar.json +18 -0
  33. homeassistant/components/coinbase/translations/id.json +5 -0
  34. homeassistant/components/compit/translations/id.json +25 -0
  35. homeassistant/components/conversation/manifest.json +1 -1
  36. homeassistant/components/cync/translations/id.json +20 -0
  37. homeassistant/components/datadog/translations/id.json +28 -0
  38. homeassistant/components/demo/translations/ar.json +23 -0
  39. homeassistant/components/device_tracker/translations/ar.json +8 -0
  40. homeassistant/components/drop_connect/translations/ar.json +12 -0
  41. homeassistant/components/droplet/translations/id.json +17 -0
  42. homeassistant/components/ecobee/strings.json +2 -2
  43. homeassistant/components/ecobee/translations/cs.json +2 -2
  44. homeassistant/components/ecobee/translations/de.json +3 -3
  45. homeassistant/components/ecobee/translations/el.json +1 -2
  46. homeassistant/components/ecobee/translations/en-GB.json +2 -2
  47. homeassistant/components/ecobee/translations/en.json +2 -2
  48. homeassistant/components/ecobee/translations/es.json +2 -2
  49. homeassistant/components/ecobee/translations/et.json +2 -2
  50. homeassistant/components/ecobee/translations/ga.json +1 -5
  51. homeassistant/components/ecobee/translations/hu.json +1 -5
  52. homeassistant/components/ecobee/translations/it.json +1 -5
  53. homeassistant/components/ecobee/translations/ja.json +1 -5
  54. homeassistant/components/ecobee/translations/lt.json +2 -2
  55. homeassistant/components/ecobee/translations/pt.json +2 -2
  56. homeassistant/components/ecobee/translations/ru.json +1 -5
  57. homeassistant/components/ecobee/translations/sk.json +1 -5
  58. homeassistant/components/ecobee/translations/sv.json +1 -5
  59. homeassistant/components/ecobee/translations/tr.json +1 -5
  60. homeassistant/components/ecobee/translations/zh-Hans.json +1 -5
  61. homeassistant/components/ecobee/translations/zh-Hant.json +1 -5
  62. homeassistant/components/ecovacs/translations/ar.json +9 -0
  63. homeassistant/components/ecowitt/manifest.json +1 -1
  64. homeassistant/components/eheimdigital/translations/id.json +7 -1
  65. homeassistant/components/ekeybionyx/translations/id.json +24 -0
  66. homeassistant/components/ekeybionyx/translations/lt.json +1 -0
  67. homeassistant/components/elevenlabs/translations/id.json +2 -1
  68. homeassistant/components/elkm1/translations/id.json +6 -0
  69. homeassistant/components/emoncms/translations/id.json +9 -0
  70. homeassistant/components/enphase_envoy/translations/id.json +1 -0
  71. homeassistant/components/eq3btsmart/translations/ar.json +9 -0
  72. homeassistant/components/esphome/analytics.py +11 -0
  73. homeassistant/components/fan/translations/id.json +3 -0
  74. homeassistant/components/flick_electric/translations/zh-Hant.json +2 -2
  75. homeassistant/components/frontend/manifest.json +1 -1
  76. homeassistant/components/generic_thermostat/translations/ar.json +22 -0
  77. homeassistant/components/google_generative_ai_conversation/translations/id.json +29 -1
  78. homeassistant/components/group/translations/ar.json +8 -0
  79. homeassistant/components/hassio/translations/id.json +29 -0
  80. homeassistant/components/holiday/translations/zh-Hant.json +2 -2
  81. homeassistant/components/homeassistant/translations/id.json +8 -0
  82. homeassistant/components/homeassistant_connect_zbt2/config_flow.py +6 -0
  83. homeassistant/components/homeassistant_connect_zbt2/translations/bg.json +14 -0
  84. homeassistant/components/homeassistant_connect_zbt2/translations/fr.json +14 -0
  85. homeassistant/components/homeassistant_connect_zbt2/translations/id.json +238 -0
  86. homeassistant/components/homeassistant_connect_zbt2/translations/lt.json +24 -8
  87. homeassistant/components/homeassistant_connect_zbt2/translations/nl.json +20 -0
  88. homeassistant/components/homeassistant_connect_zbt2/translations/ru.json +22 -4
  89. homeassistant/components/homeassistant_connect_zbt2/translations/sk.json +18 -2
  90. homeassistant/components/homeassistant_connect_zbt2/update.py +2 -1
  91. homeassistant/components/homeassistant_hardware/firmware_config_flow.py +13 -67
  92. homeassistant/components/homeassistant_hardware/manifest.json +1 -1
  93. homeassistant/components/homeassistant_hardware/translations/bg.json +10 -0
  94. homeassistant/components/homeassistant_hardware/translations/fr.json +10 -0
  95. homeassistant/components/homeassistant_hardware/translations/id.json +58 -0
  96. homeassistant/components/homeassistant_hardware/translations/lt.json +17 -0
  97. homeassistant/components/homeassistant_hardware/translations/nl.json +10 -0
  98. homeassistant/components/homeassistant_hardware/translations/ru.json +17 -0
  99. homeassistant/components/homeassistant_hardware/translations/sk.json +3 -0
  100. homeassistant/components/homeassistant_hardware/update.py +8 -3
  101. homeassistant/components/homeassistant_hardware/util.py +22 -5
  102. homeassistant/components/homeassistant_sky_connect/translations/bg.json +14 -0
  103. homeassistant/components/homeassistant_sky_connect/translations/fr.json +14 -0
  104. homeassistant/components/homeassistant_sky_connect/translations/id.json +98 -14
  105. homeassistant/components/homeassistant_sky_connect/translations/lt.json +24 -8
  106. homeassistant/components/homeassistant_sky_connect/translations/nl.json +20 -0
  107. homeassistant/components/homeassistant_sky_connect/translations/ru.json +24 -8
  108. homeassistant/components/homeassistant_sky_connect/translations/sk.json +18 -2
  109. homeassistant/components/homeassistant_sky_connect/update.py +2 -1
  110. homeassistant/components/homeassistant_yellow/config_flow.py +7 -1
  111. homeassistant/components/homeassistant_yellow/translations/bg.json +7 -0
  112. homeassistant/components/homeassistant_yellow/translations/fr.json +7 -0
  113. homeassistant/components/homeassistant_yellow/translations/id.json +50 -7
  114. homeassistant/components/homeassistant_yellow/translations/lt.json +12 -4
  115. homeassistant/components/homeassistant_yellow/translations/nl.json +10 -0
  116. homeassistant/components/homeassistant_yellow/translations/ru.json +6 -4
  117. homeassistant/components/homeassistant_yellow/translations/sk.json +9 -1
  118. homeassistant/components/homeassistant_yellow/update.py +2 -1
  119. homeassistant/components/homee/translations/id.json +14 -0
  120. homeassistant/components/homekit_controller/translations/ar.json +12 -0
  121. homeassistant/components/homekit_controller/translations/select.ar.json +8 -0
  122. homeassistant/components/honeywell/translations/ar.json +15 -0
  123. homeassistant/components/humidifier/translations/ar.json +14 -0
  124. homeassistant/components/husqvarna_automower/translations/id.json +18 -0
  125. homeassistant/components/husqvarna_automower_ble/translations/id.json +4 -0
  126. homeassistant/components/icloud/translations/id.json +3 -0
  127. homeassistant/components/imap/translations/ar.json +7 -0
  128. homeassistant/components/imeon_inverter/translations/id.json +10 -0
  129. homeassistant/components/intellifire/translations/ar.json +9 -0
  130. homeassistant/components/irm_kmi/translations/id.json +28 -0
  131. homeassistant/components/keenetic_ndms2/translations/id.json +2 -1
  132. homeassistant/components/knx/translations/id.json +3 -0
  133. homeassistant/components/konnected/translations/lt.json +6 -0
  134. homeassistant/components/konnected_esphome/__init__.py +1 -0
  135. homeassistant/components/konnected_esphome/manifest.json +6 -0
  136. homeassistant/components/letpot/number.py +2 -1
  137. homeassistant/components/letpot/strings.json +1 -2
  138. homeassistant/components/letpot/translations/bg.json +0 -5
  139. homeassistant/components/letpot/translations/cs.json +1 -2
  140. homeassistant/components/letpot/translations/de.json +1 -2
  141. homeassistant/components/letpot/translations/en-GB.json +1 -2
  142. homeassistant/components/letpot/translations/en.json +1 -2
  143. homeassistant/components/letpot/translations/es.json +1 -2
  144. homeassistant/components/letpot/translations/et.json +1 -2
  145. homeassistant/components/letpot/translations/fr.json +1 -2
  146. homeassistant/components/letpot/translations/ga.json +1 -2
  147. homeassistant/components/letpot/translations/id.json +10 -0
  148. homeassistant/components/letpot/translations/lt.json +1 -2
  149. homeassistant/components/letpot/translations/nl.json +0 -5
  150. homeassistant/components/letpot/translations/pt.json +1 -2
  151. homeassistant/components/letpot/translations/sk.json +1 -2
  152. homeassistant/components/letpot/translations/zh-Hans.json +1 -2
  153. homeassistant/components/letpot/translations/zh-Hant.json +1 -2
  154. homeassistant/components/lg_thinq/translations/ar.json +33 -0
  155. homeassistant/components/lg_thinq/translations/id.json +5 -2
  156. homeassistant/components/libre_hardware_monitor/translations/id.json +19 -0
  157. homeassistant/components/lifx/translations/zh-Hant.json +1 -1
  158. homeassistant/components/light/translations/id.json +2 -1
  159. homeassistant/components/litterrobot/translations/id.json +15 -0
  160. homeassistant/components/mastodon/translations/ar.json +14 -0
  161. homeassistant/components/mcp/translations/fr.json +20 -1
  162. homeassistant/components/mcp/translations/id.json +8 -1
  163. homeassistant/components/media_extractor/manifest.json +1 -1
  164. homeassistant/components/media_player/translations/ar.json +34 -0
  165. homeassistant/components/mqtt/translations/ar.json +17 -0
  166. homeassistant/components/mqtt/translations/bg.json +2 -0
  167. homeassistant/components/mqtt/translations/fr.json +2 -0
  168. homeassistant/components/mqtt/translations/id.json +6 -0
  169. homeassistant/components/mqtt/translations/lt.json +2 -0
  170. homeassistant/components/mqtt/translations/nl.json +31 -0
  171. homeassistant/components/mqtt/translations/ru.json +2 -0
  172. homeassistant/components/mqtt/translations/sk.json +2 -0
  173. homeassistant/components/nasweb/translations/id.json +10 -0
  174. homeassistant/components/nederlandse_spoorwegen/translations/id.json +28 -0
  175. homeassistant/components/netatmo/translations/ar.json +18 -0
  176. homeassistant/components/nightscout/translations/zh-Hant.json +1 -1
  177. homeassistant/components/niko_home_control/translations/id.json +7 -1
  178. homeassistant/components/nobo_hub/translations/ar.json +11 -0
  179. homeassistant/components/ntfy/translations/id.json +11 -0
  180. homeassistant/components/ntfy/translations/zh-Hant.json +1 -1
  181. homeassistant/components/number/translations/bg.json +3 -0
  182. homeassistant/components/number/translations/fr.json +3 -0
  183. homeassistant/components/number/translations/lt.json +3 -0
  184. homeassistant/components/number/translations/ru.json +3 -0
  185. homeassistant/components/number/translations/sk.json +3 -0
  186. homeassistant/components/ollama/translations/id.json +18 -1
  187. homeassistant/components/onboarding/translations/ar.json +7 -0
  188. homeassistant/components/open_router/translations/id.json +40 -0
  189. homeassistant/components/openai_conversation/translations/id.json +26 -1
  190. homeassistant/components/opentherm_gw/translations/ar.json +11 -0
  191. homeassistant/components/opower/translations/ar.json +12 -0
  192. homeassistant/components/opower/translations/id.json +6 -0
  193. homeassistant/components/overkiz/translations/ar.json +18 -0
  194. homeassistant/components/overkiz/translations/id.json +1 -0
  195. homeassistant/components/overkiz/translations/sensor.ar.json +3 -0
  196. homeassistant/components/palazzetti/translations/ar.json +16 -0
  197. homeassistant/components/peco/translations/zh-Hant.json +1 -1
  198. homeassistant/components/person/translations/ar.json +8 -0
  199. homeassistant/components/pi_hole/__init__.py +9 -3
  200. homeassistant/components/playstation_network/translations/ar.json +11 -0
  201. homeassistant/components/playstation_network/translations/id.json +8 -0
  202. homeassistant/components/plex/translations/zh-Hant.json +1 -1
  203. homeassistant/components/plugwise/translations/ar.json +16 -0
  204. homeassistant/components/pooldose/translations/id.json +49 -0
  205. homeassistant/components/portainer/__init__.py +5 -0
  206. homeassistant/components/portainer/translations/id.json +22 -0
  207. homeassistant/components/portainer/translations/ru.json +15 -0
  208. homeassistant/components/pyload/translations/id.json +6 -0
  209. homeassistant/components/qbittorrent/translations/cs.json +4 -4
  210. homeassistant/components/random/translations/bg.json +1 -0
  211. homeassistant/components/random/translations/fr.json +1 -0
  212. homeassistant/components/random/translations/lt.json +1 -0
  213. homeassistant/components/random/translations/ru.json +1 -0
  214. homeassistant/components/random/translations/sk.json +1 -0
  215. homeassistant/components/remote/translations/id.json +3 -0
  216. homeassistant/components/remote_calendar/translations/id.json +2 -1
  217. homeassistant/components/reolink/translations/ar.json +7 -0
  218. homeassistant/components/reolink/translations/es.json +4 -4
  219. homeassistant/components/roomba/translations/bg.json +1 -2
  220. homeassistant/components/roomba/translations/ca.json +2 -4
  221. homeassistant/components/roomba/translations/el.json +2 -4
  222. homeassistant/components/roomba/translations/en-GB.json +2 -2
  223. homeassistant/components/roomba/translations/en.json +2 -2
  224. homeassistant/components/roomba/translations/fi.json +2 -4
  225. homeassistant/components/roomba/translations/fr.json +2 -4
  226. homeassistant/components/roomba/translations/ga.json +2 -4
  227. homeassistant/components/roomba/translations/he.json +1 -5
  228. homeassistant/components/roomba/translations/hu.json +2 -4
  229. homeassistant/components/roomba/translations/id.json +2 -4
  230. homeassistant/components/roomba/translations/it.json +2 -4
  231. homeassistant/components/roomba/translations/ja.json +2 -4
  232. homeassistant/components/roomba/translations/ko.json +2 -4
  233. homeassistant/components/roomba/translations/lb.json +1 -5
  234. homeassistant/components/roomba/translations/lt.json +2 -2
  235. homeassistant/components/roomba/translations/nb.json +1 -5
  236. homeassistant/components/roomba/translations/nl.json +2 -4
  237. homeassistant/components/roomba/translations/pl.json +1 -5
  238. homeassistant/components/roomba/translations/pt-BR.json +1 -5
  239. homeassistant/components/roomba/translations/pt.json +2 -2
  240. homeassistant/components/roomba/translations/ro.json +1 -5
  241. homeassistant/components/roomba/translations/ru.json +2 -4
  242. homeassistant/components/roomba/translations/sk.json +2 -4
  243. homeassistant/components/roomba/translations/sv.json +2 -4
  244. homeassistant/components/roomba/translations/tr.json +2 -4
  245. homeassistant/components/roomba/translations/uk.json +1 -5
  246. homeassistant/components/roomba/translations/zh-Hans.json +2 -4
  247. homeassistant/components/roomba/translations/zh-Hant.json +2 -4
  248. homeassistant/components/route_b_smart_meter/translations/id.json +24 -0
  249. homeassistant/components/satel_integra/translations/id.json +85 -0
  250. homeassistant/components/scrape/translations/bg.json +2 -0
  251. homeassistant/components/scrape/translations/fr.json +2 -0
  252. homeassistant/components/scrape/translations/lt.json +2 -0
  253. homeassistant/components/scrape/translations/ru.json +2 -0
  254. homeassistant/components/scrape/translations/sk.json +2 -0
  255. homeassistant/components/screenlogic/translations/ar.json +15 -0
  256. homeassistant/components/sensibo/translations/ar.json +25 -0
  257. homeassistant/components/sensor/translations/bg.json +3 -0
  258. homeassistant/components/sensor/translations/fr.json +3 -0
  259. homeassistant/components/sensor/translations/lt.json +3 -0
  260. homeassistant/components/sensor/translations/nl.json +3 -0
  261. homeassistant/components/sensor/translations/pl.json +3 -0
  262. homeassistant/components/sensor/translations/ru.json +3 -0
  263. homeassistant/components/sftp_storage/translations/id.json +14 -0
  264. homeassistant/components/shelly/translations/id.json +19 -0
  265. homeassistant/components/shelly/utils.py +9 -2
  266. homeassistant/components/sleep_as_android/translations/id.json +31 -0
  267. homeassistant/components/sleepiq/translations/id.json +5 -0
  268. homeassistant/components/smartthings/translations/ar.json +11 -0
  269. homeassistant/components/smartthings/translations/id.json +7 -0
  270. homeassistant/components/sonos/select.py +9 -13
  271. homeassistant/components/sonos/speaker.py +23 -0
  272. homeassistant/components/sonos/translations/id.json +10 -0
  273. homeassistant/components/sql/translations/bg.json +1 -0
  274. homeassistant/components/sql/translations/fr.json +1 -0
  275. homeassistant/components/sql/translations/lt.json +1 -0
  276. homeassistant/components/sql/translations/ru.json +1 -0
  277. homeassistant/components/sql/translations/sk.json +1 -0
  278. homeassistant/components/sql/translations/zh-Hant.json +4 -4
  279. homeassistant/components/starline/translations/ar.json +9 -0
  280. homeassistant/components/switch/translations/id.json +3 -0
  281. homeassistant/components/switchbot/translations/id.json +12 -0
  282. homeassistant/components/switchbot_cloud/cover.py +3 -5
  283. homeassistant/components/switchbot_cloud/entity.py +1 -1
  284. homeassistant/components/switchbot_cloud/translations/id.json +27 -0
  285. homeassistant/components/synology_dsm/translations/ar.json +9 -0
  286. homeassistant/components/system_bridge/translations/ar.json +9 -0
  287. homeassistant/components/telegram_bot/translations/id.json +5 -0
  288. homeassistant/components/template/translations/bg.json +1 -0
  289. homeassistant/components/template/translations/fr.json +1 -0
  290. homeassistant/components/template/translations/id.json +81 -0
  291. homeassistant/components/template/translations/lt.json +1 -0
  292. homeassistant/components/template/translations/ru.json +1 -0
  293. homeassistant/components/template/translations/sk.json +1 -0
  294. homeassistant/components/tesla_fleet/translations/ar.json +55 -0
  295. homeassistant/components/teslemetry/translations/ar.json +27 -0
  296. homeassistant/components/teslemetry/translations/id.json +33 -0
  297. homeassistant/components/tessie/translations/ar.json +9 -0
  298. homeassistant/components/togrill/translations/id.json +16 -0
  299. homeassistant/components/tolo/translations/id.json +2 -1
  300. homeassistant/components/traccar_server/translations/id.json +9 -1
  301. homeassistant/components/tradfri/translations/ar.json +12 -0
  302. homeassistant/components/trafikverket_train/translations/zh-Hant.json +1 -1
  303. homeassistant/components/tuya/translations/id.json +32 -0
  304. homeassistant/components/unifiprotect/translations/id.json +3 -0
  305. homeassistant/components/update/translations/id.json +3 -0
  306. homeassistant/components/uptime_kuma/translations/id.json +40 -0
  307. homeassistant/components/uptimerobot/translations/id.json +6 -0
  308. homeassistant/components/vallox/translations/ar.json +7 -0
  309. homeassistant/components/vegehub/translations/id.json +4 -0
  310. homeassistant/components/victron_remote_monitoring/translations/id.json +25 -0
  311. homeassistant/components/volvo/translations/id.json +58 -0
  312. homeassistant/components/whirlpool/translations/id.json +1 -0
  313. homeassistant/components/wled/analytics.py +11 -0
  314. homeassistant/components/xiaomi_aqara/translations/zh-Hant.json +2 -2
  315. homeassistant/components/yolink/translations/id.json +9 -0
  316. homeassistant/components/zha/config_flow.py +3 -1
  317. homeassistant/components/zha/strings.json +16 -16
  318. homeassistant/components/zha/translations/bg.json +0 -16
  319. homeassistant/components/zha/translations/bn.json +0 -9
  320. homeassistant/components/zha/translations/ca.json +0 -24
  321. homeassistant/components/zha/translations/cs.json +0 -28
  322. homeassistant/components/zha/translations/da.json +0 -19
  323. homeassistant/components/zha/translations/de.json +28 -28
  324. homeassistant/components/zha/translations/el.json +0 -28
  325. homeassistant/components/zha/translations/en-GB.json +28 -28
  326. homeassistant/components/zha/translations/en.json +28 -28
  327. homeassistant/components/zha/translations/es.json +0 -28
  328. homeassistant/components/zha/translations/et.json +26 -26
  329. homeassistant/components/zha/translations/fi.json +0 -25
  330. homeassistant/components/zha/translations/fr.json +0 -28
  331. homeassistant/components/zha/translations/fy.json +0 -9
  332. homeassistant/components/zha/translations/ga.json +0 -28
  333. homeassistant/components/zha/translations/gsw.json +0 -18
  334. homeassistant/components/zha/translations/he.json +0 -3
  335. homeassistant/components/zha/translations/hr.json +0 -7
  336. homeassistant/components/zha/translations/hu.json +0 -28
  337. homeassistant/components/zha/translations/id.json +0 -26
  338. homeassistant/components/zha/translations/it.json +0 -25
  339. homeassistant/components/zha/translations/ja.json +0 -28
  340. homeassistant/components/zha/translations/ko.json +0 -25
  341. homeassistant/components/zha/translations/lt.json +17 -28
  342. homeassistant/components/zha/translations/lv.json +0 -4
  343. homeassistant/components/zha/translations/nb.json +0 -17
  344. homeassistant/components/zha/translations/nl.json +6 -28
  345. homeassistant/components/zha/translations/pl.json +22 -21
  346. homeassistant/components/zha/translations/pt-BR.json +0 -24
  347. homeassistant/components/zha/translations/pt.json +0 -28
  348. homeassistant/components/zha/translations/ro.json +0 -18
  349. homeassistant/components/zha/translations/ru.json +3 -28
  350. homeassistant/components/zha/translations/sk.json +0 -28
  351. homeassistant/components/zha/translations/sl.json +0 -28
  352. homeassistant/components/zha/translations/sv.json +0 -28
  353. homeassistant/components/zha/translations/tr.json +0 -28
  354. homeassistant/components/zha/translations/uk.json +0 -24
  355. homeassistant/components/zha/translations/vi.json +0 -23
  356. homeassistant/components/zha/translations/zh-Hans.json +0 -28
  357. homeassistant/components/zha/translations/zh-Hant.json +0 -28
  358. homeassistant/const.py +1 -1
  359. homeassistant/generated/integrations.json +27 -4
  360. homeassistant/package_constraints.txt +2 -2
  361. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/METADATA +1 -1
  362. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/RECORD +367 -307
  363. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/WHEEL +0 -0
  364. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/entry_points.txt +0 -0
  365. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/licenses/LICENSE.md +0 -0
  366. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  367. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,238 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "addon_already_running": "Gagal memulai add-on {addon_name} karena sudah berjalan.",
5
+ "addon_info_failed": "Gagal mendapatkan info add-on {addon_name}.",
6
+ "addon_install_failed": "Gagal menginstal add-on {addon_name}.",
7
+ "addon_set_config_failed": "Gagal mengatur konfigurasi {addon_name}.",
8
+ "addon_start_failed": "Gagal memulai add-on {addon_name}.",
9
+ "fw_download_failed": "Firmware {firmware_name} untuk {model} Anda gagal diunduh. Pastikan Home Assistant memiliki akses internet dan coba lagi.",
10
+ "fw_install_failed": "Firmware {firmware_name} gagal diinstal, periksa log Home Assistant untuk informasi lebih lanjut.",
11
+ "not_hassio": "Opsi perangkat keras hanya bisa dikonfigurasi pada instalasi Home Assistant OS.",
12
+ "not_hassio_thread": "Addon OpenThread Border Router hanya dapat diinstal dengan Home Assistant OS. Jika Anda ingin menggunakan {model} sebagai router perbatasan Thread, silakan flash firmware secara manual menggunakan [web flasher] ({docs_web_flasher_url}) dan atur OpenThread Border Router untuk berkomunikasi dengannya.",
13
+ "otbr_addon_already_running": "Add-on OpenThread Border Router sudah berjalan, tidak dapat diinstal lagi.",
14
+ "otbr_still_using_stick": "{model} ini digunakan oleh add-on OpenThread Border Router. Jika Anda menggunakan jaringan Thread, pastikan Anda memiliki router perbatasan alternatif. Copot pengaya dan coba lagi.",
15
+ "unsupported_firmware": "Firmware radio pada {model} Anda tidak dapat dikenali. Pastikan tidak ada integrasi atau addon lain yang sedang mencoba berkomunikasi dengan perangkat. Jika Anda menjalankan Home Assistant OS di mesin virtual atau di Docker, pastikan izin telah diatur dengan benar untuk perangkat.",
16
+ "zha_migration_failed": "Migrasi ZHA tidak berhasil.",
17
+ "zha_still_using_stick": "{model} ini digunakan oleh integrasi Zigbee Home Automation. Migrasikan jaringan Zigbee Anda ke adaptor lain atau hapus integrasi dan coba lagi."
18
+ },
19
+ "flow_title": "{model}",
20
+ "progress": {
21
+ "install_addon": "Harap tunggu hingga penginstalan add-on {addon_name} selesai. Ini bisa memakan waktu beberapa saat.",
22
+ "install_firmware": "Menginstal firmware {firmware_name}.\n\nJangan lakukan perubahan apa pun pada perangkat keras atau perangkat lunak Anda hingga proses ini selesai.",
23
+ "install_otbr_addon": "Menginstal add-on",
24
+ "start_addon": "Harap tunggu hingga add-on {addon_name} selesai. Ini mungkin perlu waktu beberapa saat.",
25
+ "start_otbr_addon": "Memulai add-on"
26
+ },
27
+ "step": {
28
+ "confirm_otbr": {
29
+ "description": "{model} Anda sekarang menjadi OpenThread Border Router dan akan muncul di integrasi Thread.",
30
+ "title": "Penyiapan Router Perbatasan OpenThread selesai"
31
+ },
32
+ "confirm_zigbee": {
33
+ "description": "{model} Anda sekarang menjadi koordinator Zigbee dan akan ditampilkan sebagai ditemukan oleh integrasi Zigbee Home Automation.",
34
+ "title": "Penyiapan Zigbee selesai"
35
+ },
36
+ "install_otbr_addon": {
37
+ "title": "Mengonfigurasi Thread"
38
+ },
39
+ "install_thread_firmware": {
40
+ "title": "Memperbarui adaptor"
41
+ },
42
+ "install_zigbee_firmware": {
43
+ "title": "Memperbarui adaptor"
44
+ },
45
+ "otbr_failed": {
46
+ "description": "Instalasi add-on OpenThread Border Router tidak berhasil. Pastikan tidak ada perangkat lunak lain yang mencoba berkomunikasi dengan {model}, Anda memiliki akses ke internet dan dapat menginstal add-on lain, lalu coba lagi. Periksa log Supervisor jika masalah terus berlanjut.",
47
+ "title": "Gagal menyiapkan OpenThread Border Router"
48
+ },
49
+ "pick_firmware": {
50
+ "description": "Anda dapat menggunakan {model} untuk jaringan Zigbee atau Thread. Periksa jenis perangkat yang ingin ditambahkan ke Home Assistant. Anda selalu dapat mengubahnya nanti.",
51
+ "menu_option_descriptions": {
52
+ "pick_firmware_thread": "Sering digunakan untuk perangkat Matter lewat Thread.",
53
+ "pick_firmware_thread_migrate": "Ini akan memigrasikan Router Perbatasan Thread Anda ke adaptor yang baru.",
54
+ "pick_firmware_zigbee": "Protokol yang paling umum.",
55
+ "pick_firmware_zigbee_migrate": "Ini akan memindahkan jaringan Zigbee Anda ke adaptor yang baru."
56
+ },
57
+ "menu_options": {
58
+ "pick_firmware_thread": "Gunakan sebagai adaptor Thread",
59
+ "pick_firmware_thread_migrate": "Migrasikan Thread ke adaptor baru",
60
+ "pick_firmware_zigbee": "Gunakan sebagai adaptor Zigbee",
61
+ "pick_firmware_zigbee_migrate": "Migrasikan Zigbee ke adaptor baru"
62
+ },
63
+ "title": "Pilih protokol Anda"
64
+ },
65
+ "start_otbr_addon": {
66
+ "title": "Mengonfigurasi Thread"
67
+ },
68
+ "zigbee_installation_type": {
69
+ "description": "Pilih jenis instalasi untuk adaptor Zigbee.",
70
+ "menu_option_descriptions": {
71
+ "zigbee_intent_custom": "Instal dan konfigurasikan Zigbee secara manual, misalnya dengan Zigbee2MQTT.",
72
+ "zigbee_intent_recommended": "Instal dan konfigurasikan Zigbee secara otomatis."
73
+ },
74
+ "menu_options": {
75
+ "zigbee_intent_custom": "Khusus",
76
+ "zigbee_intent_recommended": "Instalasi yang disarankan"
77
+ },
78
+ "title": "Siapkan Zigbee"
79
+ },
80
+ "zigbee_integration": {
81
+ "menu_option_descriptions": {
82
+ "zigbee_integration_other": "Misalnya jika Anda ingin menggunakan adaptor dengan Zigbee2MQTT.",
83
+ "zigbee_integration_zha": "Gunakan Home Assistant untuk mengendalikan jaringan Zigbee Anda."
84
+ },
85
+ "menu_options": {
86
+ "zigbee_integration_other": "Lainnya",
87
+ "zigbee_integration_zha": "Zigbee Home Automation"
88
+ },
89
+ "title": "Pilih metode Zigbee"
90
+ }
91
+ }
92
+ },
93
+ "exceptions": {
94
+ "device_disconnected": {
95
+ "message": "Perangkat tidak dicolokkan"
96
+ }
97
+ },
98
+ "options": {
99
+ "abort": {
100
+ "addon_already_running": "Gagal memulai add-on {addon_name} karena sudah berjalan.",
101
+ "addon_info_failed": "Gagal mendapatkan info add-on {addon_name}.",
102
+ "addon_install_failed": "Gagal menginstal add-on {addon_name}.",
103
+ "addon_set_config_failed": "Gagal mengatur konfigurasi {addon_name}.",
104
+ "addon_start_failed": "Gagal memulai add-on {addon_name}.",
105
+ "fw_download_failed": "Firmware {firmware_name} untuk {model} Anda gagal diunduh. Pastikan Home Assistant memiliki akses internet dan coba lagi.",
106
+ "fw_install_failed": "Firmware {firmware_name} gagal diinstal, periksa log Home Assistant untuk informasi lebih lanjut.",
107
+ "not_hassio": "Opsi perangkat keras hanya bisa dikonfigurasi pada instalasi Home Assistant OS.",
108
+ "not_hassio_thread": "Addon OpenThread Border Router hanya dapat diinstal dengan Home Assistant OS. Jika Anda ingin menggunakan {model} sebagai router perbatasan Thread, silakan flash firmware secara manual menggunakan [web flasher] ({docs_web_flasher_url}) dan atur OpenThread Border Router untuk berkomunikasi dengannya.",
109
+ "otbr_addon_already_running": "Add-on OpenThread Border Router sudah berjalan, tidak dapat diinstal lagi.",
110
+ "otbr_still_using_stick": "{model} ini digunakan oleh add-on OpenThread Border Router. Jika Anda menggunakan jaringan Thread, pastikan Anda memiliki router perbatasan alternatif. Copot pengaya dan coba lagi.",
111
+ "unsupported_firmware": "Firmware radio pada {model} Anda tidak dapat dikenali. Pastikan tidak ada integrasi atau addon lain yang sedang mencoba berkomunikasi dengan perangkat. Jika Anda menjalankan Home Assistant OS di mesin virtual atau di Docker, pastikan izin telah diatur dengan benar untuk perangkat.",
112
+ "zha_migration_failed": "Migrasi ZHA tidak berhasil.",
113
+ "zha_still_using_stick": "{model} ini digunakan oleh integrasi Zigbee Home Automation. Migrasikan jaringan Zigbee Anda ke adaptor lain atau hapus integrasi dan coba lagi."
114
+ },
115
+ "error": {
116
+ "unknown": "Kesalahan tak terduga"
117
+ },
118
+ "progress": {
119
+ "install_addon": "Harap tunggu hingga penginstalan add-on {addon_name} selesai. Ini bisa memakan waktu beberapa saat.",
120
+ "install_firmware": "Menginstal firmware {firmware_name}.\n\nJangan lakukan perubahan apa pun pada perangkat keras atau perangkat lunak Anda hingga proses ini selesai.",
121
+ "install_otbr_addon": "Menginstal add-on",
122
+ "start_addon": "Harap tunggu hingga add-on {addon_name} selesai. Ini mungkin perlu waktu beberapa saat.",
123
+ "start_otbr_addon": "Memulai add-on"
124
+ },
125
+ "step": {
126
+ "addon_installed_other_device": {
127
+ "title": "Dukungan multiprotokol sudah diaktifkan untuk perangkat lain"
128
+ },
129
+ "addon_menu": {
130
+ "menu_options": {
131
+ "reconfigure_addon": "Konfigurasi ulang dukungan multiprotokol radio IEEE 802.15.4",
132
+ "uninstall_addon": "Hapus dukungan multiprotokol radio IEEE 802.15.4"
133
+ }
134
+ },
135
+ "addon_not_installed": {
136
+ "data": {
137
+ "enable_multi_pan": "Aktifkan dukungan multiprotokol"
138
+ },
139
+ "description": "Jika dukungan multiprotocol diaktifkan, radio IEEE 802.15.4 {hardware_name} dapat digunakan untuk Zigbee dan Thread (digunakan oleh Matter) secara bersamaan. Catatan: Ini adalah fitur eksperimental. Jika komponen radio telah digunakan oleh integrasi ZHA Zigbee, ZHA akan dikonfigurasi ulang untuk menggunakan firmware multiprotokol.\n\nCatatan: Fitur ini bersifat eksperimental.",
140
+ "title": "Aktifkan dukungan multiprotokol pada radio IEEE 802.15.4"
141
+ },
142
+ "change_channel": {
143
+ "data": {
144
+ "channel": "Kanal"
145
+ },
146
+ "description": "Mulai perubahan kanal untuk jaringan Zigbee dan Thread Anda.\n\nCatatan: Operasi ini adalah operasi tingkat lanjut dan dapat menyebabkan jaringan Zigbee dan Thread Anda tidak dapat beroperasi jika saluran baru padat. Tergantung pada kondisi jaringan yang ada, banyak perangkat Anda yang mungkin tidak dapat bermigrasi ke saluran baru dan perlu bergabung kembali sebelum dapat berfungsi kembali. Gunakan dengan hati-hati.\n\nSetelah Anda mengeklik **Kirim**, perubahan kanal akan terjadi di latar belakang dan akan selesai dalam beberapa menit.",
147
+ "title": "Konfigurasi ulang dukungan multiprotokol radio IEEE 802.15.4"
148
+ },
149
+ "confirm_otbr": {
150
+ "description": "{model} Anda sekarang menjadi OpenThread Border Router dan akan muncul di integrasi Thread.",
151
+ "title": "Penyiapan Router Perbatasan OpenThread selesai"
152
+ },
153
+ "confirm_zigbee": {
154
+ "description": "{model} Anda sekarang menjadi koordinator Zigbee dan akan ditampilkan sebagai ditemukan oleh integrasi Zigbee Home Automation.",
155
+ "title": "Penyiapan Zigbee selesai"
156
+ },
157
+ "install_addon": {
158
+ "title": "Penginstalan add-on Multiprotocol Silicon Labs telah dimulai"
159
+ },
160
+ "install_otbr_addon": {
161
+ "title": "Mengonfigurasi Thread"
162
+ },
163
+ "install_thread_firmware": {
164
+ "title": "Memperbarui adaptor"
165
+ },
166
+ "install_zigbee_firmware": {
167
+ "title": "Memperbarui adaptor"
168
+ },
169
+ "notify_channel_change": {
170
+ "description": "Perubahan saluran Zigbee dan Thread telah dimulai dan akan selesai dalam {delay_minutes} menit.",
171
+ "title": "Perubahan saluran dimulai"
172
+ },
173
+ "notify_unknown_multipan_user": {
174
+ "description": "Home Assistant dapat secara otomatis mengubah kanal untuk OTBR dan ZHA. Jika Anda telah mengonfigurasi integrasi lain untuk menggunakan radio, misalnya Zigbee2MQTT, Anda harus mengonfigurasi ulang saluran dalam integrasi tersebut setelah menyelesaikan panduan ini.",
175
+ "title": "Konfigurasi manual mungkin diperlukan"
176
+ },
177
+ "otbr_failed": {
178
+ "description": "Instalasi add-on OpenThread Border Router tidak berhasil. Pastikan tidak ada perangkat lunak lain yang mencoba berkomunikasi dengan {model}, Anda memiliki akses ke internet dan dapat menginstal add-on lain, lalu coba lagi. Periksa log Supervisor jika masalah terus berlanjut.",
179
+ "title": "Gagal menyiapkan OpenThread Border Router"
180
+ },
181
+ "pick_firmware": {
182
+ "description": "Anda dapat menggunakan {model} untuk jaringan Zigbee atau Thread. Periksa jenis perangkat yang ingin ditambahkan ke Home Assistant. Anda selalu dapat mengubahnya nanti.",
183
+ "menu_option_descriptions": {
184
+ "pick_firmware_thread": "Sering digunakan untuk perangkat Matter lewat Thread.",
185
+ "pick_firmware_thread_migrate": "Ini akan memigrasikan Router Perbatasan Thread Anda ke adaptor yang baru.",
186
+ "pick_firmware_zigbee": "Protokol yang paling umum.",
187
+ "pick_firmware_zigbee_migrate": "Ini akan memindahkan jaringan Zigbee Anda ke adaptor yang baru."
188
+ },
189
+ "menu_options": {
190
+ "pick_firmware_thread": "Gunakan sebagai adaptor Thread",
191
+ "pick_firmware_thread_migrate": "Migrasikan Thread ke adaptor baru",
192
+ "pick_firmware_zigbee": "Gunakan sebagai adaptor Zigbee",
193
+ "pick_firmware_zigbee_migrate": "Migrasikan Zigbee ke adaptor baru"
194
+ },
195
+ "title": "Pilih protokol Anda"
196
+ },
197
+ "reconfigure_addon": {
198
+ "title": "Konfigurasi ulang dukungan multiprotokol radio IEEE 802.15.4"
199
+ },
200
+ "start_addon": {
201
+ "title": "Add-on Multiprotokol Silicon Labs sedang dimulai."
202
+ },
203
+ "start_otbr_addon": {
204
+ "title": "Mengonfigurasi Thread"
205
+ },
206
+ "uninstall_addon": {
207
+ "data": {
208
+ "disable_multi_pan": "Nonaktifkan dukungan multiprotokol"
209
+ },
210
+ "description": "Menonaktifkan dukungan multiprotokol akan mengembalikan radio {hardware_name} Anda kembali ke firmware khusus Zigbee dan akan menonaktifkan dukungan Thread yang disediakan oleh {hardware_name}. Perangkat Thread Anda akan terus berfungsi hanya jika Anda memiliki router perbatasan Thread lain di dekatnya.\n\nDiperlukan beberapa menit untuk menginstal firmware Zigbee dan memulihkan cadangan.",
211
+ "title": "Hapus dukungan multiprotokol radio IEEE 802.15.4"
212
+ },
213
+ "zigbee_installation_type": {
214
+ "description": "Pilih jenis instalasi untuk adaptor Zigbee.",
215
+ "menu_option_descriptions": {
216
+ "zigbee_intent_custom": "Instal dan konfigurasikan Zigbee secara manual, misalnya dengan Zigbee2MQTT.",
217
+ "zigbee_intent_recommended": "Instal dan konfigurasikan Zigbee secara otomatis."
218
+ },
219
+ "menu_options": {
220
+ "zigbee_intent_custom": "Khusus",
221
+ "zigbee_intent_recommended": "Instalasi yang disarankan"
222
+ },
223
+ "title": "Siapkan Zigbee"
224
+ },
225
+ "zigbee_integration": {
226
+ "menu_option_descriptions": {
227
+ "zigbee_integration_other": "Misalnya jika Anda ingin menggunakan adaptor dengan Zigbee2MQTT.",
228
+ "zigbee_integration_zha": "Gunakan Home Assistant untuk mengendalikan jaringan Zigbee Anda."
229
+ },
230
+ "menu_options": {
231
+ "zigbee_integration_other": "Lainnya",
232
+ "zigbee_integration_zha": "Zigbee Home Automation"
233
+ },
234
+ "title": "Pilih metode Zigbee"
235
+ }
236
+ }
237
+ }
238
+ }
@@ -19,8 +19,10 @@
19
19
  "flow_title": "{model}",
20
20
  "progress": {
21
21
  "install_addon": "Palaukite, kol bus baigtas {addon_name} priedo diegimas. Tai gali u\u017etrukti kelias minutes.",
22
- "install_firmware": "Palaukite, kol j\u016bs\u0173 {model} \u012frenginyje bus \u012fdiegta {firmware_name} programin\u0117 \u012franga. Tai u\u017etruks kelias minutes. Kol procesas nebus baigtas, neatlikite joki\u0173 aparatin\u0117s ar programin\u0117s \u012frangos pakeitim\u0173.",
23
- "start_addon": "Palaukite, kol bus paleistas {addon_name} priedas. Tai gali u\u017etrukti kelias sekundes."
22
+ "install_firmware": "Diegiama {firmware_name} programin\u0117 \u012franga. \n \n Kol tai nebus baigta, neatlikite joki\u0173 aparatin\u0117s ar programin\u0117s \u012frangos pakeitim\u0173.",
23
+ "install_otbr_addon": "Priedo diegimas",
24
+ "start_addon": "Palaukite, kol bus paleistas {addon_name} priedas. Tai gali u\u017etrukti kelias sekundes.",
25
+ "start_otbr_addon": "Pradedamas priedas"
24
26
  },
25
27
  "step": {
26
28
  "confirm_otbr": {
@@ -32,7 +34,13 @@
32
34
  "title": "Zigbee s\u0105ranka baigta"
33
35
  },
34
36
  "install_otbr_addon": {
35
- "title": "OpenThread Border Router priedo \u012fdiegimas"
37
+ "title": "Thread konfig\u016bravimas"
38
+ },
39
+ "install_thread_firmware": {
40
+ "title": "Adapterio atnaujinimas"
41
+ },
42
+ "install_zigbee_firmware": {
43
+ "title": "Adapterio atnaujinimas"
36
44
  },
37
45
  "otbr_failed": {
38
46
  "description": "OpenThread Border Router priedo diegimas buvo nes\u0117kmingas. \u012esitikinkite, kad jokia kita programin\u0117 \u012franga nebando susisiekti su {model}, turite prieig\u0105 prie interneto ir galite \u012fdiegti kitus priedus, ir bandykite dar kart\u0105. Patikrinkite pri\u017ei\u016br\u0117tojo \u017eurnalus, jei problema i\u0161lieka.",
@@ -55,7 +63,7 @@
55
63
  "title": "Pasirinkite savo protokol\u0105"
56
64
  },
57
65
  "start_otbr_addon": {
58
- "title": "Paleid\u017eiamas OpenThread Border Router priedas"
66
+ "title": "Thread konfig\u016bravimas"
59
67
  },
60
68
  "zigbee_installation_type": {
61
69
  "description": "Pasirinkite Zigbee adapterio diegimo tip\u0105.",
@@ -109,8 +117,10 @@
109
117
  },
110
118
  "progress": {
111
119
  "install_addon": "Palaukite, kol bus baigtas {addon_name} priedo diegimas. Tai gali u\u017etrukti kelias minutes.",
112
- "install_firmware": "Palaukite, kol j\u016bs\u0173 {model} \u012frenginyje bus \u012fdiegta {firmware_name} programin\u0117 \u012franga. Tai u\u017etruks kelias minutes. Kol procesas nebus baigtas, neatlikite joki\u0173 aparatin\u0117s ar programin\u0117s \u012frangos pakeitim\u0173.",
113
- "start_addon": "Palaukite, kol bus paleistas {addon_name} priedas. Tai gali u\u017etrukti kelias sekundes."
120
+ "install_firmware": "Diegiama {firmware_name} programin\u0117 \u012franga. \n \n Kol tai nebus baigta, neatlikite joki\u0173 aparatin\u0117s ar programin\u0117s \u012frangos pakeitim\u0173.",
121
+ "install_otbr_addon": "Priedo diegimas",
122
+ "start_addon": "Palaukite, kol bus paleistas {addon_name} priedas. Tai gali u\u017etrukti kelias sekundes.",
123
+ "start_otbr_addon": "Pradedamas priedas"
114
124
  },
115
125
  "step": {
116
126
  "addon_installed_other_device": {
@@ -148,7 +158,13 @@
148
158
  "title": "Prasid\u0117jo Silicon Labs keli\u0173 protokol\u0173 priedo diegimas"
149
159
  },
150
160
  "install_otbr_addon": {
151
- "title": "OpenThread Border Router priedo \u012fdiegimas"
161
+ "title": "Thread konfig\u016bravimas"
162
+ },
163
+ "install_thread_firmware": {
164
+ "title": "Adapterio atnaujinimas"
165
+ },
166
+ "install_zigbee_firmware": {
167
+ "title": "Adapterio atnaujinimas"
152
168
  },
153
169
  "notify_channel_change": {
154
170
  "description": "Zigbee ir Thread kanal\u0173 pakeitimas buvo prad\u0117tas ir baigsis po {delay_minutes} min.",
@@ -185,7 +201,7 @@
185
201
  "title": "Paleid\u017eiamas Silicon Labs Multiprotocol priedas."
186
202
  },
187
203
  "start_otbr_addon": {
188
- "title": "Paleid\u017eiamas OpenThread Border Router priedas"
204
+ "title": "Thread konfig\u016bravimas"
189
205
  },
190
206
  "uninstall_addon": {
191
207
  "data": {
@@ -35,6 +35,16 @@
35
35
  "pick_firmware_zigbee": "Zigbee"
36
36
  },
37
37
  "title": "Kies je firmware"
38
+ },
39
+ "zigbee_installation_type": {
40
+ "menu_option_descriptions": {
41
+ "zigbee_intent_custom": "Handmatig installeren en configureren van Zigbee, bijvoorbeeld met Zigbee2MQTT."
42
+ }
43
+ },
44
+ "zigbee_integration": {
45
+ "menu_option_descriptions": {
46
+ "zigbee_integration_other": "Bijvoorbeeld als je de adapter met Zigbee2MQTT wilt gebruiken."
47
+ }
38
48
  }
39
49
  }
40
50
  },
@@ -128,6 +138,16 @@
128
138
  },
129
139
  "description": "Als je multiprotocol ondersteuning uitschakelt, wordt de radio van je {hardware_name} teruggezet naar firmware die alleen Zigbee ondersteunt en wordt Thread-ondersteuning door de {hardware_name} uitgeschakeld. Je Thread-apparaten blijven alleen werken als je een andere Thread-borderrouter in de buurt hebt.\n\nHet duurt een paar minuten om de Zigbee-firmware te installeren en een back-up terug te zetten.",
130
140
  "title": "Verwijder IEEE 802.15.4 radio multiprotocol-ondersteuning."
141
+ },
142
+ "zigbee_installation_type": {
143
+ "menu_option_descriptions": {
144
+ "zigbee_intent_custom": "Handmatig installeren en configureren van Zigbee, bijvoorbeeld met Zigbee2MQTT."
145
+ }
146
+ },
147
+ "zigbee_integration": {
148
+ "menu_option_descriptions": {
149
+ "zigbee_integration_other": "Bijvoorbeeld als je de adapter met Zigbee2MQTT wilt gebruiken."
150
+ }
131
151
  }
132
152
  }
133
153
  }
@@ -1,6 +1,16 @@
1
1
  {
2
2
  "config": {
3
+ "progress": {
4
+ "install_otbr_addon": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f",
5
+ "start_otbr_addon": "\u0417\u0430\u043f\u0443\u0441\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f"
6
+ },
3
7
  "step": {
8
+ "install_thread_firmware": {
9
+ "title": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430"
10
+ },
11
+ "install_zigbee_firmware": {
12
+ "title": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430"
13
+ },
4
14
  "otbr_failed": {
5
15
  "description": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \"OpenThread Border Router\". \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c {model}, \u0447\u0442\u043e \u0443 \u0412\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443 \u0438 \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u044b Supervisor, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0430.",
6
16
  "title": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 OpenThread"
@@ -22,7 +32,7 @@
22
32
  "title": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b"
23
33
  },
24
34
  "start_otbr_addon": {
25
- "title": "\u0417\u0430\u043f\u0443\u0441\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \"OpenThread Border Router\""
35
+ "title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Thread"
26
36
  },
27
37
  "zigbee_installation_type": {
28
38
  "description": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 Zigbee.",
@@ -76,8 +86,10 @@
76
86
  },
77
87
  "progress": {
78
88
  "install_addon": "\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435, \u043f\u043e\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \"{addon_name}\". \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442.",
79
- "install_firmware": "\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435, \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 {firmware_name} \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e {model}, \u044d\u0442\u043e \u0437\u0430\u0439\u043c\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442. \u041d\u0435 \u0432\u043d\u043e\u0441\u0438\u0442\u0435 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435, \u043f\u043e\u043a\u0430 \u044d\u0442\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e.",
80
- "start_addon": "\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435, \u043f\u043e\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \"{addon_name}\". \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434."
89
+ "install_firmware": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 {firmware_name}. \n \n\u041d\u0435 \u0432\u043d\u043e\u0441\u0438\u0442\u0435 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435, \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f.",
90
+ "install_otbr_addon": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f",
91
+ "start_addon": "\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435, \u043f\u043e\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \"{addon_name}\". \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434.",
92
+ "start_otbr_addon": "\u0417\u0430\u043f\u0443\u0441\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f"
81
93
  },
82
94
  "step": {
83
95
  "addon_installed_other_device": {
@@ -88,6 +100,12 @@
88
100
  "reconfigure_addon": "\u041f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u043d\u043e\u0433\u043e\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0434\u0438\u043e\u0441\u0432\u044f\u0437\u0438 IEEE 802.15.4"
89
101
  }
90
102
  },
103
+ "install_thread_firmware": {
104
+ "title": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430"
105
+ },
106
+ "install_zigbee_firmware": {
107
+ "title": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430"
108
+ },
91
109
  "notify_channel_change": {
92
110
  "description": "\u041d\u0430\u0447\u0430\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043d\u0430\u043b\u0430 Zigbee \u0438 Thread, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 {delay_minutes} \u043c\u0438\u043d\u0443\u0442.",
93
111
  "title": "\u0418\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043d\u0430\u043b\u0430"
@@ -123,7 +141,7 @@
123
141
  "title": "\u0414\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 Silicon Labs Multiprotocol \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f."
124
142
  },
125
143
  "start_otbr_addon": {
126
- "title": "\u0417\u0430\u043f\u0443\u0441\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \"OpenThread Border Router\""
144
+ "title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Thread"
127
145
  },
128
146
  "uninstall_addon": {
129
147
  "data": {
@@ -20,7 +20,9 @@
20
20
  "progress": {
21
21
  "install_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed in\u0161tal\u00e1cia doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko min\u00fat.",
22
22
  "install_firmware": "In\u0161tal\u00e1cia firmv\u00e9ru {firmware_name}. Do jej ukon\u010denia nevykon\u00e1vajte \u017eiadne zmeny na hardv\u00e9ri ani softv\u00e9ri.",
23
- "start_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed spustenie doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko sek\u00fand."
23
+ "install_otbr_addon": "In\u0161tal\u00e1cia doplnku",
24
+ "start_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed spustenie doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko sek\u00fand.",
25
+ "start_otbr_addon": "Spustenie doplnku"
24
26
  },
25
27
  "step": {
26
28
  "confirm_otbr": {
@@ -34,6 +36,12 @@
34
36
  "install_otbr_addon": {
35
37
  "title": "Konfigur\u00e1cia vl\u00e1kna"
36
38
  },
39
+ "install_thread_firmware": {
40
+ "title": "Aktualiz\u00e1cia adapt\u00e9ra"
41
+ },
42
+ "install_zigbee_firmware": {
43
+ "title": "Aktualiz\u00e1cia adapt\u00e9ra"
44
+ },
37
45
  "otbr_failed": {
38
46
  "description": "In\u0161tal\u00e1cia doplnku OpenThread Border Router bola ne\u00faspe\u0161n\u00e1. Uistite sa, \u017ee sa so str\u00e1nkou {model} nepok\u00fa\u0161a komunikova\u0165 \u017eiadny in\u00fd softv\u00e9r , m\u00e1te pr\u00edstup na internet a m\u00f4\u017eete nain\u0161talova\u0165 in\u00e9 doplnky, a sk\u00faste to znova. Ak probl\u00e9m pretrv\u00e1va, skontrolujte protokoly programu Supervisor.",
39
47
  "title": "Nepodarilo sa nastavi\u0165 OpenThread Border Router"
@@ -110,7 +118,9 @@
110
118
  "progress": {
111
119
  "install_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed in\u0161tal\u00e1cia doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko min\u00fat.",
112
120
  "install_firmware": "In\u0161tal\u00e1cia firmv\u00e9ru {firmware_name}. Do jej ukon\u010denia nevykon\u00e1vajte \u017eiadne zmeny na hardv\u00e9ri ani softv\u00e9ri.",
113
- "start_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed spustenie doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko sek\u00fand."
121
+ "install_otbr_addon": "In\u0161tal\u00e1cia doplnku",
122
+ "start_addon": "Po\u010dkajte, pros\u00edm, k\u00fdm sa dokon\u010d\u00ed spustenie doplnku {addon_name}. M\u00f4\u017ee to trva\u0165 nieko\u013eko sek\u00fand.",
123
+ "start_otbr_addon": "Spustenie doplnku"
114
124
  },
115
125
  "step": {
116
126
  "addon_installed_other_device": {
@@ -150,6 +160,12 @@
150
160
  "install_otbr_addon": {
151
161
  "title": "Konfigur\u00e1cia vl\u00e1kna"
152
162
  },
163
+ "install_thread_firmware": {
164
+ "title": "Aktualiz\u00e1cia adapt\u00e9ra"
165
+ },
166
+ "install_zigbee_firmware": {
167
+ "title": "Aktualiz\u00e1cia adapt\u00e9ra"
168
+ },
153
169
  "notify_channel_change": {
154
170
  "description": "Bola spusten\u00e1 zmena kan\u00e1la Zigbee a Thread a skon\u010d\u00ed sa o {delay_minutes} min\u00fat.",
155
171
  "title": "Iniciovan\u00e1 zmena kan\u00e1la"
@@ -16,6 +16,7 @@ from homeassistant.components.homeassistant_hardware.update import (
16
16
  from homeassistant.components.homeassistant_hardware.util import (
17
17
  ApplicationType,
18
18
  FirmwareInfo,
19
+ ResetTarget,
19
20
  )
20
21
  from homeassistant.components.update import UpdateDeviceClass
21
22
  from homeassistant.config_entries import ConfigEntry
@@ -156,7 +157,7 @@ async def async_setup_entry(
156
157
  class FirmwareUpdateEntity(BaseFirmwareUpdateEntity):
157
158
  """Connect ZBT-2 firmware update entity."""
158
159
 
159
- bootloader_reset_type = None
160
+ bootloader_reset_methods = [ResetTarget.RTS_DTR, ResetTarget.BAUDRATE]
160
161
 
161
162
  def __init__(
162
163
  self,
@@ -39,6 +39,7 @@ from .util import (
39
39
  FirmwareInfo,
40
40
  OwningAddon,
41
41
  OwningIntegration,
42
+ ResetTarget,
42
43
  async_flash_silabs_firmware,
43
44
  get_otbr_addon_manager,
44
45
  guess_firmware_info,
@@ -79,6 +80,8 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
79
80
  """Base flow to install firmware."""
80
81
 
81
82
  ZIGBEE_BAUDRATE = 115200 # Default, subclasses may override
83
+ BOOTLOADER_RESET_METHODS: list[ResetTarget] = [] # Default, subclasses may override
84
+
82
85
  _picked_firmware_type: PickedFirmwareType
83
86
  _zigbee_flow_strategy: ZigbeeFlowStrategy = ZigbeeFlowStrategy.RECOMMENDED
84
87
 
@@ -155,34 +158,6 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
155
158
  description_placeholders=self._get_translation_placeholders(),
156
159
  )
157
160
 
158
- async def _probe_firmware_info(
159
- self,
160
- probe_methods: tuple[ApplicationType, ...] = (
161
- # We probe in order of frequency: Zigbee, Thread, then multi-PAN
162
- ApplicationType.GECKO_BOOTLOADER,
163
- ApplicationType.EZSP,
164
- ApplicationType.SPINEL,
165
- ApplicationType.CPC,
166
- ),
167
- ) -> bool:
168
- """Probe the firmware currently on the device."""
169
- assert self._device is not None
170
-
171
- self._probed_firmware_info = await probe_silabs_firmware_info(
172
- self._device,
173
- probe_methods=probe_methods,
174
- )
175
-
176
- return (
177
- self._probed_firmware_info is not None
178
- and self._probed_firmware_info.firmware_type
179
- in (
180
- ApplicationType.EZSP,
181
- ApplicationType.SPINEL,
182
- ApplicationType.CPC,
183
- )
184
- )
185
-
186
161
  async def _install_firmware_step(
187
162
  self,
188
163
  fw_update_url: str,
@@ -236,12 +211,6 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
236
211
  expected_installed_firmware_type: ApplicationType,
237
212
  ) -> None:
238
213
  """Install firmware."""
239
- if not await self._probe_firmware_info():
240
- raise AbortFlow(
241
- reason="unsupported_firmware",
242
- description_placeholders=self._get_translation_placeholders(),
243
- )
244
-
245
214
  assert self._device is not None
246
215
 
247
216
  # Keep track of the firmware we're working with, for error messages
@@ -250,6 +219,8 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
250
219
  # Installing new firmware is only truly required if the wrong type is
251
220
  # installed: upgrading to the latest release of the current firmware type
252
221
  # isn't strictly necessary for functionality.
222
+ self._probed_firmware_info = await probe_silabs_firmware_info(self._device)
223
+
253
224
  firmware_install_required = self._probed_firmware_info is None or (
254
225
  self._probed_firmware_info.firmware_type != expected_installed_firmware_type
255
226
  )
@@ -301,12 +272,12 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
301
272
  # Otherwise, fail
302
273
  raise AbortFlow(reason="firmware_download_failed") from err
303
274
 
304
- await async_flash_silabs_firmware(
275
+ self._probed_firmware_info = await async_flash_silabs_firmware(
305
276
  hass=self.hass,
306
277
  device=self._device,
307
278
  fw_data=fw_data,
308
279
  expected_installed_firmware_type=expected_installed_firmware_type,
309
- bootloader_reset_type=None,
280
+ bootloader_reset_methods=self.BOOTLOADER_RESET_METHODS,
310
281
  progress_callback=lambda offset, total: self.async_update_progress(
311
282
  offset / total
312
283
  ),
@@ -314,15 +285,6 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
314
285
 
315
286
  async def _configure_and_start_otbr_addon(self) -> None:
316
287
  """Configure and start the OTBR addon."""
317
-
318
- # Before we start the addon, confirm that the correct firmware is running
319
- # and populate `self._probed_firmware_info` with the correct information
320
- if not await self._probe_firmware_info(probe_methods=(ApplicationType.SPINEL,)):
321
- raise AbortFlow(
322
- "unsupported_firmware",
323
- description_placeholders=self._get_translation_placeholders(),
324
- )
325
-
326
288
  otbr_manager = get_otbr_addon_manager(self.hass)
327
289
  addon_info = await self._async_get_addon_info(otbr_manager)
328
290
 
@@ -444,12 +406,12 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
444
406
  if self._picked_firmware_type == PickedFirmwareType.ZIGBEE:
445
407
  return await self.async_step_install_zigbee_firmware()
446
408
 
447
- return await self.async_step_prepare_thread_installation()
409
+ return await self.async_step_install_thread_firmware()
448
410
 
449
- async def async_step_prepare_thread_installation(
411
+ async def async_step_finish_thread_installation(
450
412
  self, user_input: dict[str, Any] | None = None
451
413
  ) -> ConfigFlowResult:
452
- """Prepare for Thread installation by stopping the OTBR addon if needed."""
414
+ """Finish Thread installation by starting the OTBR addon."""
453
415
  if not is_hassio(self.hass):
454
416
  return self.async_abort(
455
417
  reason="not_hassio_thread",
@@ -459,22 +421,12 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
459
421
  otbr_manager = get_otbr_addon_manager(self.hass)
460
422
  addon_info = await self._async_get_addon_info(otbr_manager)
461
423
 
462
- if addon_info.state == AddonState.RUNNING:
463
- # Stop the addon before continuing to flash firmware
464
- await otbr_manager.async_stop_addon()
465
-
466
- return await self.async_step_install_thread_firmware()
467
-
468
- async def async_step_finish_thread_installation(
469
- self, user_input: dict[str, Any] | None = None
470
- ) -> ConfigFlowResult:
471
- """Finish Thread installation by starting the OTBR addon."""
472
- otbr_manager = get_otbr_addon_manager(self.hass)
473
- addon_info = await self._async_get_addon_info(otbr_manager)
474
-
475
424
  if addon_info.state == AddonState.NOT_INSTALLED:
476
425
  return await self.async_step_install_otbr_addon()
477
426
 
427
+ if addon_info.state == AddonState.RUNNING:
428
+ await otbr_manager.async_stop_addon()
429
+
478
430
  return await self.async_step_start_otbr_addon()
479
431
 
480
432
  async def async_step_pick_firmware_zigbee(
@@ -511,12 +463,6 @@ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC):
511
463
  assert self._device is not None
512
464
  assert self._hardware_name is not None
513
465
 
514
- if not await self._probe_firmware_info(probe_methods=(ApplicationType.EZSP,)):
515
- return self.async_abort(
516
- reason="unsupported_firmware",
517
- description_placeholders=self._get_translation_placeholders(),
518
- )
519
-
520
466
  if self._zigbee_integration == ZigbeeIntegration.OTHER:
521
467
  return self._async_flow_finished()
522
468