homeassistant 2025.10.0b7__py3-none-any.whl → 2025.10.1__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 (288) hide show
  1. homeassistant/components/accuweather/translations/el.json +7 -1
  2. homeassistant/components/accuweather/translations/fy.json +12 -0
  3. homeassistant/components/airos/manifest.json +1 -1
  4. homeassistant/components/airos/translations/el.json +7 -0
  5. homeassistant/components/airos/translations/fy.json +7 -0
  6. homeassistant/components/airos/translations/nl.json +28 -1
  7. homeassistant/components/airtouch4/__init__.py +2 -5
  8. homeassistant/components/airtouch4/coordinator.py +9 -1
  9. homeassistant/components/aladdin_connect/translations/sk.json +1 -0
  10. homeassistant/components/aladdin_connect/translations/zh-Hans.json +1 -0
  11. homeassistant/components/aladdin_connect/translations/zh-Hant.json +1 -0
  12. homeassistant/components/alexa_devices/translations/en-GB.json +7 -0
  13. homeassistant/components/anova/translations/nl.json +2 -0
  14. homeassistant/components/aosmith/translations/fr.json +9 -0
  15. homeassistant/components/assist_pipeline/translations/pl.json +1 -1
  16. homeassistant/components/asuswrt/translations/nl.json +9 -0
  17. homeassistant/components/bayesian/translations/nl.json +7 -0
  18. homeassistant/components/blue_current/translations/ar.json +9 -0
  19. homeassistant/components/blue_current/translations/nl.json +10 -0
  20. homeassistant/components/bring/translations/ar.json +9 -0
  21. homeassistant/components/climate/translations/ar.json +1 -0
  22. homeassistant/components/compit/translations/el.json +25 -0
  23. homeassistant/components/compit/translations/fr.json +25 -0
  24. homeassistant/components/cookidoo/translations/ar.json +9 -0
  25. homeassistant/components/cover/translations/nl.json +2 -1
  26. homeassistant/components/cync/translations/el.json +20 -0
  27. homeassistant/components/ecobee/translations/ru.json +5 -1
  28. homeassistant/components/ecobee/translations/sk.json +5 -1
  29. homeassistant/components/ecobee/translations/zh-Hans.json +5 -1
  30. homeassistant/components/ecobee/translations/zh-Hant.json +5 -1
  31. homeassistant/components/ecovacs/translations/nl.json +1 -0
  32. homeassistant/components/ekeybionyx/translations/el.json +24 -0
  33. homeassistant/components/enphase_envoy/translations/nl.json +2 -1
  34. homeassistant/components/esphome/translations/pl.json +6 -2
  35. homeassistant/components/ezviz/translations/nl.json +5 -0
  36. homeassistant/components/generic_thermostat/translations/ar.json +2 -0
  37. homeassistant/components/google_generative_ai_conversation/entity.py +8 -1
  38. homeassistant/components/growatt_server/translations/bg.json +0 -3
  39. homeassistant/components/growatt_server/translations/ca.json +1 -5
  40. homeassistant/components/growatt_server/translations/cs.json +2 -2
  41. homeassistant/components/growatt_server/translations/da.json +0 -3
  42. homeassistant/components/growatt_server/translations/de.json +2 -2
  43. homeassistant/components/growatt_server/translations/el.json +2 -3
  44. homeassistant/components/growatt_server/translations/en-GB.json +2 -2
  45. homeassistant/components/growatt_server/translations/en.json +2 -2
  46. homeassistant/components/growatt_server/translations/es.json +1 -5
  47. homeassistant/components/growatt_server/translations/et.json +2 -3
  48. homeassistant/components/growatt_server/translations/fi.json +1 -5
  49. homeassistant/components/growatt_server/translations/fr.json +1 -5
  50. homeassistant/components/growatt_server/translations/ga.json +1 -5
  51. homeassistant/components/growatt_server/translations/he.json +0 -3
  52. homeassistant/components/growatt_server/translations/hu.json +1 -5
  53. homeassistant/components/growatt_server/translations/id.json +1 -5
  54. homeassistant/components/growatt_server/translations/it.json +1 -5
  55. homeassistant/components/growatt_server/translations/ja.json +1 -5
  56. homeassistant/components/growatt_server/translations/ko.json +1 -5
  57. homeassistant/components/growatt_server/translations/lt.json +1 -5
  58. homeassistant/components/growatt_server/translations/nb.json +1 -5
  59. homeassistant/components/growatt_server/translations/nl.json +1 -5
  60. homeassistant/components/growatt_server/translations/pl.json +1 -5
  61. homeassistant/components/growatt_server/translations/pt-BR.json +1 -5
  62. homeassistant/components/growatt_server/translations/pt.json +1 -5
  63. homeassistant/components/growatt_server/translations/ro.json +1 -5
  64. homeassistant/components/growatt_server/translations/ru.json +1 -5
  65. homeassistant/components/growatt_server/translations/sk.json +2 -2
  66. homeassistant/components/growatt_server/translations/sl.json +0 -3
  67. homeassistant/components/growatt_server/translations/sv.json +1 -5
  68. homeassistant/components/growatt_server/translations/tr.json +1 -5
  69. homeassistant/components/growatt_server/translations/uk.json +1 -5
  70. homeassistant/components/growatt_server/translations/zh-Hans.json +2 -2
  71. homeassistant/components/growatt_server/translations/zh-Hant.json +2 -2
  72. homeassistant/components/habitica/translations/nl.json +7 -0
  73. homeassistant/components/hassio/manifest.json +1 -1
  74. homeassistant/components/home_connect/translations/nl.json +36 -0
  75. homeassistant/components/homeassistant_connect_zbt2/config_flow.py +1 -5
  76. homeassistant/components/homeassistant_connect_zbt2/translations/zh-Hans.json +24 -8
  77. homeassistant/components/homeassistant_connect_zbt2/update.py +1 -1
  78. homeassistant/components/homeassistant_hardware/manifest.json +1 -1
  79. homeassistant/components/homeassistant_hardware/translations/sv.json +4 -1
  80. homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +17 -0
  81. homeassistant/components/homeassistant_sky_connect/translations/sv.json +4 -4
  82. homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +24 -8
  83. homeassistant/components/homeassistant_yellow/translations/ru.json +6 -0
  84. homeassistant/components/homeassistant_yellow/translations/sv.json +2 -2
  85. homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +12 -4
  86. homeassistant/components/homekit_controller/manifest.json +1 -1
  87. homeassistant/components/huawei_lte/translations/nl.json +6 -0
  88. homeassistant/components/humidifier/translations/nl.json +2 -1
  89. homeassistant/components/icloud/translations/fr.json +2 -1
  90. homeassistant/components/icloud/translations/nl.json +1 -0
  91. homeassistant/components/idasen_desk/coordinator.py +24 -2
  92. homeassistant/components/idasen_desk/translations/nl.json +10 -0
  93. homeassistant/components/irm_kmi/translations/el.json +28 -0
  94. homeassistant/components/irm_kmi/translations/fr.json +28 -0
  95. homeassistant/components/irm_kmi/translations/fy.json +11 -0
  96. homeassistant/components/konnected/translations/zh-Hans.json +6 -0
  97. homeassistant/components/lcn/translations/nl.json +7 -0
  98. homeassistant/components/litterrobot/translations/fr.json +14 -0
  99. homeassistant/components/logbook/translations/ar.json +3 -0
  100. homeassistant/components/matter/translations/nl.json +3 -0
  101. homeassistant/components/mcp/translations/el.json +8 -1
  102. homeassistant/components/mcp/translations/fy.json +5 -1
  103. homeassistant/components/mcp/translations/nl.json +8 -1
  104. homeassistant/components/mcp/translations/zh-Hans.json +20 -1
  105. homeassistant/components/media_source/models.py +5 -1
  106. homeassistant/components/media_source/strings.json +3 -0
  107. homeassistant/components/media_source/translations/cs.json +3 -0
  108. homeassistant/components/media_source/translations/de.json +3 -0
  109. homeassistant/components/media_source/translations/en-GB.json +3 -0
  110. homeassistant/components/media_source/translations/en.json +3 -0
  111. homeassistant/components/media_source/translations/et.json +3 -0
  112. homeassistant/components/media_source/translations/ru.json +3 -0
  113. homeassistant/components/media_source/translations/sk.json +3 -0
  114. homeassistant/components/media_source/translations/zh-Hans.json +3 -0
  115. homeassistant/components/media_source/translations/zh-Hant.json +3 -0
  116. homeassistant/components/modbus/entity.py +1 -1
  117. homeassistant/components/motionmount/translations/nl.json +2 -1
  118. homeassistant/components/mqtt/translations/el.json +2 -0
  119. homeassistant/components/mqtt/translations/zh-Hans.json +2 -0
  120. homeassistant/components/nederlandse_spoorwegen/translations/fr.json +7 -0
  121. homeassistant/components/nordpool/__init__.py +1 -0
  122. homeassistant/components/nordpool/coordinator.py +32 -9
  123. homeassistant/components/ntfy/strings.json +1 -1
  124. homeassistant/components/ntfy/translations/cs.json +1 -1
  125. homeassistant/components/ntfy/translations/de.json +1 -1
  126. homeassistant/components/ntfy/translations/en-GB.json +1 -1
  127. homeassistant/components/ntfy/translations/en.json +1 -1
  128. homeassistant/components/ntfy/translations/es.json +0 -1
  129. homeassistant/components/ntfy/translations/et.json +1 -1
  130. homeassistant/components/ntfy/translations/ga.json +0 -1
  131. homeassistant/components/ntfy/translations/lt.json +0 -1
  132. homeassistant/components/ntfy/translations/pt.json +0 -1
  133. homeassistant/components/ntfy/translations/ru.json +1 -1
  134. homeassistant/components/ntfy/translations/sk.json +1 -1
  135. homeassistant/components/ntfy/translations/zh-Hans.json +1 -1
  136. homeassistant/components/ntfy/translations/zh-Hant.json +1 -1
  137. homeassistant/components/number/translations/nl.json +3 -0
  138. homeassistant/components/number/translations/zh-Hans.json +3 -0
  139. homeassistant/components/ohme/translations/nl.json +8 -1
  140. homeassistant/components/onedrive/backup.py +5 -2
  141. homeassistant/components/ovo_energy/manifest.json +1 -1
  142. homeassistant/components/paperless_ngx/translations/nl.json +1 -0
  143. homeassistant/components/pooldose/translations/el.json +2 -1
  144. homeassistant/components/pooldose/translations/fr.json +7 -0
  145. homeassistant/components/portainer/manifest.json +1 -1
  146. homeassistant/components/portainer/translations/el.json +9 -0
  147. homeassistant/components/portainer/translations/fy.json +12 -0
  148. homeassistant/components/portainer/translations/nl.json +9 -0
  149. homeassistant/components/proxmoxve/__init__.py +1 -0
  150. homeassistant/components/pushover/const.py +0 -1
  151. homeassistant/components/pushover/notify.py +1 -1
  152. homeassistant/components/random/translations/nl.json +1 -0
  153. homeassistant/components/random/translations/zh-Hans.json +1 -0
  154. homeassistant/components/remote/translations/ar.json +11 -0
  155. homeassistant/components/reolink/manifest.json +1 -1
  156. homeassistant/components/reolink/translations/af.json +1 -0
  157. homeassistant/components/roborock/manifest.json +1 -1
  158. homeassistant/components/roborock/strings.json +2 -0
  159. homeassistant/components/roborock/translations/cs.json +3 -1
  160. homeassistant/components/roborock/translations/de.json +3 -1
  161. homeassistant/components/roborock/translations/en-GB.json +3 -1
  162. homeassistant/components/roborock/translations/en.json +3 -1
  163. homeassistant/components/roborock/translations/es.json +3 -1
  164. homeassistant/components/roborock/translations/et.json +3 -1
  165. homeassistant/components/roborock/translations/fi.json +47 -0
  166. homeassistant/components/roborock/translations/nl.json +1 -0
  167. homeassistant/components/roborock/translations/sk.json +3 -1
  168. homeassistant/components/roborock/translations/zh-Hans.json +3 -1
  169. homeassistant/components/roborock/translations/zh-Hant.json +3 -1
  170. homeassistant/components/roomba/translations/ru.json +4 -2
  171. homeassistant/components/roomba/translations/sk.json +4 -2
  172. homeassistant/components/roomba/translations/zh-Hans.json +4 -2
  173. homeassistant/components/roomba/translations/zh-Hant.json +4 -2
  174. homeassistant/components/route_b_smart_meter/translations/el.json +24 -0
  175. homeassistant/components/satel_integra/binary_sensor.py +4 -2
  176. homeassistant/components/satel_integra/translations/fr.json +25 -0
  177. homeassistant/components/satel_integra/translations/fy.json +63 -0
  178. homeassistant/components/scrape/translations/el.json +1 -0
  179. homeassistant/components/scrape/translations/nl.json +2 -0
  180. homeassistant/components/scrape/translations/zh-Hans.json +2 -0
  181. homeassistant/components/sensor/translations/zh-Hans.json +3 -0
  182. homeassistant/components/shelly/translations/el.json +15 -0
  183. homeassistant/components/shelly/translations/fr.json +6 -0
  184. homeassistant/components/shelly/translations/fy.json +14 -0
  185. homeassistant/components/shelly/translations/nl.json +7 -0
  186. homeassistant/components/shelly/translations/zh-Hans.json +12 -0
  187. homeassistant/components/slack/strings.json +2 -2
  188. homeassistant/components/slack/translations/bg.json +0 -1
  189. homeassistant/components/slack/translations/ca.json +0 -2
  190. homeassistant/components/slack/translations/de.json +3 -3
  191. homeassistant/components/slack/translations/el.json +0 -2
  192. homeassistant/components/slack/translations/en-GB.json +2 -2
  193. homeassistant/components/slack/translations/en.json +2 -2
  194. homeassistant/components/slack/translations/es.json +0 -2
  195. homeassistant/components/slack/translations/et.json +0 -2
  196. homeassistant/components/slack/translations/fi.json +0 -2
  197. homeassistant/components/slack/translations/fr.json +0 -2
  198. homeassistant/components/slack/translations/ga.json +0 -2
  199. homeassistant/components/slack/translations/hu.json +0 -2
  200. homeassistant/components/slack/translations/id.json +0 -2
  201. homeassistant/components/slack/translations/it.json +0 -2
  202. homeassistant/components/slack/translations/ja.json +0 -2
  203. homeassistant/components/slack/translations/ko.json +0 -2
  204. homeassistant/components/slack/translations/lt.json +0 -2
  205. homeassistant/components/slack/translations/nb.json +0 -2
  206. homeassistant/components/slack/translations/nl.json +0 -2
  207. homeassistant/components/slack/translations/pl.json +0 -2
  208. homeassistant/components/slack/translations/pt-BR.json +0 -2
  209. homeassistant/components/slack/translations/pt.json +0 -2
  210. homeassistant/components/slack/translations/ro.json +0 -2
  211. homeassistant/components/slack/translations/sk.json +1 -1
  212. homeassistant/components/slack/translations/sv.json +0 -2
  213. homeassistant/components/slack/translations/tr.json +0 -2
  214. homeassistant/components/slack/translations/uk.json +0 -2
  215. homeassistant/components/slack/translations/zh-Hans.json +1 -1
  216. homeassistant/components/smarla/translations/ar.json +9 -0
  217. homeassistant/components/smartthings/icons.json +11 -0
  218. homeassistant/components/smartthings/sensor.py +5 -2
  219. homeassistant/components/smartthings/strings.json +5 -0
  220. homeassistant/components/smartthings/translations/cs.json +5 -0
  221. homeassistant/components/smartthings/translations/de.json +5 -0
  222. homeassistant/components/smartthings/translations/el.json +3 -0
  223. homeassistant/components/smartthings/translations/en-GB.json +5 -0
  224. homeassistant/components/smartthings/translations/en.json +5 -0
  225. homeassistant/components/smartthings/translations/et.json +5 -0
  226. homeassistant/components/smartthings/translations/sk.json +5 -0
  227. homeassistant/components/smartthings/translations/zh-Hans.json +5 -0
  228. homeassistant/components/smartthings/translations/zh-Hant.json +5 -0
  229. homeassistant/components/sql/translations/nl.json +1 -0
  230. homeassistant/components/sql/translations/zh-Hans.json +1 -0
  231. homeassistant/components/starline/translations/nl.json +3 -0
  232. homeassistant/components/steamist/translations/nl.json +7 -0
  233. homeassistant/components/switchbot/translations/fr.json +5 -0
  234. homeassistant/components/switchbot/translations/nl.json +2 -0
  235. homeassistant/components/telegram_bot/translations/de.json +1 -1
  236. homeassistant/components/template/translations/nl.json +17 -0
  237. homeassistant/components/template/translations/zh-Hans.json +1 -0
  238. homeassistant/components/tessie/translations/nl.json +6 -0
  239. homeassistant/components/tibber/manifest.json +1 -1
  240. homeassistant/components/togrill/coordinator.py +17 -5
  241. homeassistant/components/tolo/translations/el.json +2 -1
  242. homeassistant/components/tolo/translations/fy.json +7 -0
  243. homeassistant/components/tplink/translations/nl.json +3 -0
  244. homeassistant/components/traccar_server/translations/nl.json +1 -0
  245. homeassistant/components/tractive/translations/ar.json +9 -0
  246. homeassistant/components/tuya/translations/nl.json +8 -0
  247. homeassistant/components/twinkly/translations/nl.json +3 -0
  248. homeassistant/components/valve/translations/nl.json +18 -0
  249. homeassistant/components/vesync/fan.py +2 -1
  250. homeassistant/components/vicare/translations/nl.json +2 -1
  251. homeassistant/components/victron_remote_monitoring/translations/el.json +25 -0
  252. homeassistant/components/victron_remote_monitoring/translations/fi.json +9 -0
  253. homeassistant/components/victron_remote_monitoring/translations/fr.json +102 -0
  254. homeassistant/components/victron_remote_monitoring/translations/fy.json +11 -0
  255. homeassistant/components/voip/translations/pl.json +1 -1
  256. homeassistant/components/volvo/translations/nl.json +2 -0
  257. homeassistant/components/workday/calendar.py +6 -4
  258. homeassistant/components/wyoming/translations/pl.json +1 -1
  259. homeassistant/components/zha/config_flow.py +22 -20
  260. homeassistant/components/zha/strings.json +2 -5
  261. homeassistant/components/zha/translations/cs.json +41 -16
  262. homeassistant/components/zha/translations/de.json +1 -4
  263. homeassistant/components/zha/translations/el.json +13 -3
  264. homeassistant/components/zha/translations/en-GB.json +1 -4
  265. homeassistant/components/zha/translations/en.json +1 -4
  266. homeassistant/components/zha/translations/es.json +41 -16
  267. homeassistant/components/zha/translations/et.json +1 -4
  268. homeassistant/components/zha/translations/fr.json +1 -0
  269. homeassistant/components/zha/translations/lt.json +0 -4
  270. homeassistant/components/zha/translations/pl.json +0 -4
  271. homeassistant/components/zha/translations/pt.json +41 -16
  272. homeassistant/components/zha/translations/ru.json +75 -13
  273. homeassistant/components/zha/translations/sk.json +41 -16
  274. homeassistant/components/zha/translations/zh-Hans.json +53 -11
  275. homeassistant/components/zha/translations/zh-Hant.json +41 -16
  276. homeassistant/components/zwave_js/config_flow.py +43 -5
  277. homeassistant/components/zwave_js/light.py +9 -8
  278. homeassistant/components/zwave_js/translations/nl.json +6 -0
  279. homeassistant/components/zwave_js/translations/ru.json +9 -0
  280. homeassistant/const.py +1 -1
  281. homeassistant/package_constraints.txt +1 -1
  282. {homeassistant-2025.10.0b7.dist-info → homeassistant-2025.10.1.dist-info}/METADATA +2 -2
  283. {homeassistant-2025.10.0b7.dist-info → homeassistant-2025.10.1.dist-info}/RECORD +288 -263
  284. {homeassistant-2025.10.0b7.dist-info → homeassistant-2025.10.1.dist-info}/WHEEL +0 -0
  285. {homeassistant-2025.10.0b7.dist-info → homeassistant-2025.10.1.dist-info}/entry_points.txt +0 -0
  286. {homeassistant-2025.10.0b7.dist-info → homeassistant-2025.10.1.dist-info}/licenses/LICENSE.md +0 -0
  287. {homeassistant-2025.10.0b7.dist-info → homeassistant-2025.10.1.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  288. {homeassistant-2025.10.0b7.dist-info → homeassistant-2025.10.1.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,7 @@
25
25
  "title": "\u8fd8\u539f\u81ea\u52a8\u5907\u4efd"
26
26
  },
27
27
  "choose_formation_strategy": {
28
+ "description": "\u9009\u62e9\u60a8\u7684\u9002\u914d\u5668\u7684\u7f51\u7edc\u8bbe\u7f6e\u3002",
28
29
  "menu_option_descriptions": {
29
30
  "choose_automatic_backup": "\u5982\u679c\u60a8\u66f4\u6539\u4e86\u9002\u914d\u5668\u7684\u7f51\u7edc\u8bbe\u7f6e\uff0c\u8fd9\u5c06\u5141\u8bb8\u60a8\u5c06\u5176\u66f4\u6539\u56de\u4ee5\u524d\u7684\u72b6\u6001\u3002",
30
31
  "form_initial_network": "\u8fd9\u5c06\u521b\u5efa\u65b0\u7684 Zigbee \u7f51\u7edc\u3002",
@@ -36,6 +37,7 @@
36
37
  "choose_automatic_backup": "\u8fd8\u539f\u81ea\u52a8\u5907\u4efd",
37
38
  "form_initial_network": "\u521b\u5efa\u7f51\u7edc",
38
39
  "form_new_network": "\u5220\u9664\u7f51\u7edc\u8bbe\u7f6e\u5e76\u521b\u5efa\u65b0\u7f51\u7edc",
40
+ "reuse_settings": "\u4fdd\u7559\u9002\u914d\u5668\u7f51\u7edc\u8bbe\u7f6e",
39
41
  "upload_manual_backup": "\u4e0a\u4f20\u624b\u52a8\u5907\u4efd"
40
42
  },
41
43
  "title": "\u7f51\u7edc\u6784\u6210"
@@ -56,6 +58,7 @@
56
58
  "data": {
57
59
  "path": "\u4e32\u53e3\u8bbe\u5907\u8def\u5f84"
58
60
  },
61
+ "description": "\u9009\u62e9 Zigbee \u9002\u914d\u5668\u7684\u4e32\u884c\u7aef\u53e3",
59
62
  "title": "\u9009\u62e9\u4e32\u53e3"
60
63
  },
61
64
  "choose_setup_strategy": {
@@ -76,6 +79,13 @@
76
79
  "confirm_hardware": {
77
80
  "description": "\u60a8\u60f3\u8bbe\u7f6e {name} \u5417\uff1f"
78
81
  },
82
+ "manual_pick_radio_type": {
83
+ "data": {
84
+ "radio_type": "\u9002\u914d\u5668\u7c7b\u578b"
85
+ },
86
+ "description": "\u9009\u62e9\u60a8\u7684 Zigbee \u9002\u914d\u5668\u7c7b\u578b",
87
+ "title": "\u9009\u62e9\u9002\u914d\u5668\u7c7b\u578b"
88
+ },
79
89
  "manual_port_config": {
80
90
  "data": {
81
91
  "baudrate": "\u4e32\u53e3\u901f\u5ea6",
@@ -90,12 +100,27 @@
90
100
  "description": "ZHA \u65e0\u6cd5\u81ea\u52a8\u68c0\u6d4b\u60a8\u7684\u9002\u914d\u5668\u7684\u4e32\u884c\u7aef\u53e3\u8bbe\u7f6e\u3002\u8fd9\u901a\u5e38\u662f\u56fa\u4ef6\u6216\u6743\u9650\u95ee\u9898\u3002 \n \n\u5982\u679c\u60a8\u4f7f\u7528\u7684\u56fa\u4ef6\u5177\u6709\u975e\u6807\u51c6\u8bbe\u7f6e\uff0c\u8bf7\u8f93\u5165\u4e32\u884c\u7aef\u53e3\u8bbe\u7f6e",
91
101
  "title": "\u4e32\u53e3\u8bbe\u7f6e"
92
102
  },
103
+ "maybe_confirm_ezsp_restore": {
104
+ "data": {
105
+ "overwrite_coordinator_ieee": "\u6c38\u4e45\u66ff\u6362\u9002\u914d\u5668 IEEE \u5730\u5740"
106
+ },
107
+ "description": "\u60a8\u7684\u5907\u4efd\u8bbe\u5907\u7684 IEEE \u5730\u5740\u4e0e\u60a8\u7684\u9002\u914d\u5668\u4e0d\u540c\u3002\u4e3a\u4e86\u4fdd\u8bc1\u60a8\u7684\u7f51\u7edc\u6b63\u5e38\u8fd0\u884c\uff0c\u60a8\u9002\u914d\u5668\u7684 IEEE \u5730\u5740\u4e5f\u5e94\u66f4\u6539\u3002\n \n\u6b64\u64cd\u4f5c\u4e3a\u6c38\u4e45\u6027\u64cd\u4f5c\u3002",
108
+ "title": "\u8986\u76d6\u9002\u914d\u5668 IEEE \u5730\u5740"
109
+ },
110
+ "maybe_reset_old_radio": {
111
+ "description": "\u4e4b\u524d\u5df2\u521b\u5efa\u5907\u4efd\uff0c\u5e76\u4e14\u60a8\u7684\u65e7\u9002\u914d\u5668\u6b63\u5728\u4f5c\u4e3a\u8fc1\u79fb\u7684\u4e00\u90e8\u5206\u8fdb\u884c\u91cd\u7f6e\u3002",
112
+ "title": "\u91cd\u7f6e\u65e7\u9002\u914d\u5668"
113
+ },
93
114
  "upload_manual_backup": {
94
115
  "data": {
95
116
  "uploaded_backup_file": "\u4e0a\u4f20\u6587\u4ef6"
96
117
  },
97
118
  "description": "\u4ece\u4e0a\u4f20\u7684\u5907\u4efd JSON \u6587\u4ef6\u6062\u590d\u60a8\u7684\u7f51\u7edc\u8bbe\u7f6e\u3002\u60a8\u53ef\u4ee5\u901a\u8fc7 **\u7f51\u7edc\u8bbe\u7f6e** \u4ece\u4e0d\u540c\u7684 ZHA \u5b89\u88c5\u4e0b\u8f7d\u4e00\u4e2a\uff0c\u6216\u4f7f\u7528 Zigbee2MQTT `coordinator_backup.json` \u6587\u4ef6\u3002",
98
119
  "title": "\u4e0a\u4f20\u624b\u52a8\u5907\u4efd"
120
+ },
121
+ "verify_radio": {
122
+ "description": "\u4e0d\u63a8\u8350\u60a8\u6b63\u5728\u4f7f\u7528\u7684\u9002\u914d\u5668\uff08{name}\uff09\uff0c\u672a\u6765\u53ef\u80fd\u4f1a\u53d6\u6d88\u5bf9\u5b83\u7684\u652f\u6301\u3002\u53c2\u9605 Zigbee Home Automation \u96c6\u6210\u7684\u6587\u6863\u53ef\u83b7\u53d6\u3010\u63a8\u8350\u9002\u914d\u5668\u5217\u8868\u3011({docs_recommended_adapters_url}) \u3002",
123
+ "title": "\u4e0d\u63a8\u8350\u4f7f\u7528\u9002\u914d\u5668"
99
124
  }
100
125
  }
101
126
  },
@@ -1759,6 +1784,7 @@
1759
1784
  "fix_flow": {
1760
1785
  "step": {
1761
1786
  "init": {
1787
+ "description": "\u60a8\u7684 Zigbee \u9002\u914d\u5668\u7f51\u7edc\u8bbe\u7f6e\u4e0e\u6700\u65b0\u7684\u7f51\u7edc\u5907\u4efd\u4e0d\u4e00\u81f4\u3002\u8fd9\u79cd\u60c5\u51b5\u901a\u5e38\u662f\u7531\u4e8e\u53e6\u4e00\u4e2a Zigbee \u96c6\u6210\uff08\u4f8b\u5982 Zigbee2MQTT \u6216 deCONZ\uff09\u8986\u76d6\u4e86\u5b83\u4eec\u3002 \n\n{diff}\n\n\u5982\u679c\u60a8\u4e0d\u662f\u6709\u610f\u66f4\u6539\u7f51\u7edc\u8bbe\u7f6e\uff0c\u8bf7\u4ece\u6700\u8fd1\u7684\u5907\u4efd\u6062\u590d\uff0c\u5426\u5219\u60a8\u7684\u8bbe\u5907\u5c06\u65e0\u6cd5\u5de5\u4f5c\u3002",
1762
1788
  "menu_option_descriptions": {
1763
1789
  "restore_old_settings": "\u8fd9\u4f1a\u5c06\u60a8\u7684\u7f51\u7edc\u8bbe\u7f6e\u8fd8\u539f\u5230\u4e0a\u6b21\u7684\u5de5\u4f5c\u72b6\u6001\u3002",
1764
1790
  "use_new_settings": "\u8fd9\u5c06\u4f7f\u65b0\u8bbe\u7f6e\u5199\u5165\u8bb0\u5fc6\u68d2\u3002\u4ec5\u5f53\u60a8\u6709\u610f\u66f4\u6539\u8bbe\u7f6e\u65f6\u624d\u9009\u62e9\u6b64\u9009\u9879\u3002"
@@ -1773,8 +1799,13 @@
1773
1799
  },
1774
1800
  "title": "Zigbee \u7f51\u7edc\u8bbe\u7f6e\u5df2\u66f4\u6539"
1775
1801
  },
1802
+ "wrong_silabs_firmware_installed_nabucasa": {
1803
+ "description": "\u60a8\u7684 Zigbee \u9002\u914d\u5668\u4e4b\u524d\u66fe\u4e0e\u591a\u534f\u8bae\uff08Zigbee \u548c Thread\uff09\u4e00\u8d77\u4f7f\u7528\uff0c\u5e76\u4e14\u4ecd\u5b89\u88c5\u4e86\u591a\u534f\u8bae\u56fa\u4ef6\uff1a\uff08{firmware_type}\uff09\u3002\n \n\u8981\u4ec5\u4f7f\u7528 ZHA \u8fd0\u884c\u60a8\u7684\u9002\u914d\u5668\uff0c\u60a8\u9700\u8981\u5b89\u88c5 Zigbee \u56fa\u4ef6\uff1a\n- \u8f6c\u81f3\u201c\u8bbe\u7f6e\u201d > \u201c\u7cfb\u7edf\u201d > \u201c\u786c\u4ef6\u201d\uff0c\u9009\u62e9\u8bbe\u5907\u5e76\u9009\u62e9\u201c\u914d\u7f6e\u201d\u3002\n- \u9009\u62e9\u201c\u5c06 Zigbee \u8fc1\u79fb\u5230\u65b0\u9002\u914d\u5668\u201d\u9009\u9879\u5e76\u6309\u7167\u8bf4\u660e\u8fdb\u884c\u64cd\u4f5c\u3002",
1804
+ "title": "\u68c0\u6d4b\u5230\u5e26\u6709\u591a\u534f\u8bae\u56fa\u4ef6\u7684 Zigbee \u9002\u914d\u5668"
1805
+ },
1776
1806
  "wrong_silabs_firmware_installed_other": {
1777
- "title": "\u68c0\u6d4b\u5230\u5e26\u6709\u591a\u534f\u8bae\u56fa\u4ef6\u7684 Zigbee \u65e0\u7ebf\u7535"
1807
+ "description": "\u60a8\u7684 Zigbee \u9002\u914d\u5668\u4e4b\u524d\u7528\u4e8e\u591a\u534f\u8bae\uff08Zigbee \u548c Thread\uff09\uff0c\u5e76\u4e14\u4ecd\u7136\u5b89\u88c5\u6709\u591a\u534f\u8bae\u56fa\u4ef6\uff1a{firmware_type}\u3002\n\n\u8981\u5c06\u9002\u914d\u5668\u4e13\u95e8\u7528\u4e8e ZHA \uff0c\u9700\u8981\u5b89\u88c5 Zigbee \u56fa\u4ef6\u3002\u8bf7\u6309\u7167\u60a8\u7684 Zigbee \u9002\u914d\u5668\u5236\u9020\u5546\u7684\u8bf4\u660e\u4e66\u8fdb\u884c\u6b64\u64cd\u4f5c\u3002",
1808
+ "title": "\u68c0\u6d4b\u5230\u5e26\u6709\u591a\u534f\u8bae\u56fa\u4ef6\u7684 Zigbee \u9002\u914d\u5668"
1778
1809
  }
1779
1810
  },
1780
1811
  "options": {
@@ -1783,6 +1814,7 @@
1783
1814
  "cannot_restore_backup": "\u60a8\u6b63\u5728\u8fd8\u539f\u7684\u9002\u914d\u5668\u65e0\u6cd5\u6b63\u786e\u652f\u6301\u5907\u4efd\u6062\u590d\u3002\u8bf7\u5347\u7ea7\u56fa\u4ef6\u3002\n \n\u9519\u8bef\uff1a{error}",
1784
1815
  "cannot_restore_backup_no_ieee_confirm": "\u60a8\u8981\u6062\u590d\u7684\u9002\u914d\u5668\u56fa\u4ef6\u5df2\u8fc7\u671f\uff0c\u65e0\u6cd5\u591a\u6b21\u5199\u5165\u9002\u914d\u5668 IEEE \u5730\u5740\u3002\u8bf7\u5347\u7ea7\u56fa\u4ef6\u6216\u5728\u4e0a\u4e00\u6b65\u4e2d\u786e\u8ba4\u6c38\u4e45\u8986\u76d6\u3002",
1785
1816
  "not_zha_device": "\u6b64\u8bbe\u5907\u4e0d\u662f ZHA \u8bbe\u5907",
1817
+ "reconfigure_successful": "ZHA \u5df2\u6210\u529f\u4ece\u65e7\u9002\u914d\u5668\u8fc1\u79fb\u5230\u65b0\u9002\u914d\u5668\u3002\u8bf7\u7b49\u5f85\u51e0\u5206\u949f\uff0c\u8ba9\u60a8\u7684 Zigbee \u7f51\u7edc\u7a33\u5b9a\u4e0b\u6765\u3002\n \n\u5982\u679c\u60a8\u4e0d\u518d\u9700\u8981\u65e7\u9002\u914d\u5668\uff0c\u73b0\u5728\u53ef\u4ee5\u5c06\u5176\u62d4\u4e0b\u3002",
1786
1818
  "usb_probe_failed": "\u63a2\u6d4b USB \u8bbe\u5907\u5931\u8d25",
1787
1819
  "wrong_firmware_installed": "\u60a8\u7684\u8bbe\u5907\u8fd0\u884c\u7684\u662f\u9519\u8bef\u7684\u56fa\u4ef6\uff0c\u5728\u5b89\u88c5\u6b63\u786e\u7684\u56fa\u4ef6\u4e4b\u524d\uff0c\u65e0\u6cd5\u4e0e ZHA \u914d\u5408\u4f7f\u7528\u3002[\u5df2\u521b\u5efa\u4e00\u4e2a\u4fee\u590d]({repair_url}) \uff0c\u5176\u4e2d\u5305\u542b\u5173\u4e8e\u4fee\u590d\u6b64\u95ee\u9898\u7684\u66f4\u591a\u4fe1\u606f\u548c\u8bf4\u660e\u3002"
1788
1820
  },
@@ -1800,7 +1832,7 @@
1800
1832
  "title": "\u8fd8\u539f\u81ea\u52a8\u5907\u4efd"
1801
1833
  },
1802
1834
  "choose_formation_strategy": {
1803
- "description": "\u9009\u62e9\u9002\u914d\u5668\u7684\u7f51\u7edc\u8bbe\u7f6e\u3002",
1835
+ "description": "\u9009\u62e9\u60a8\u7684\u9002\u914d\u5668\u7684\u7f51\u7edc\u8bbe\u7f6e\u3002",
1804
1836
  "menu_option_descriptions": {
1805
1837
  "choose_automatic_backup": "\u5982\u679c\u60a8\u66f4\u6539\u4e86\u9002\u914d\u5668\u7684\u7f51\u7edc\u8bbe\u7f6e\uff0c\u8fd9\u5c06\u5141\u8bb8\u60a8\u5c06\u5176\u66f4\u6539\u56de\u4ee5\u524d\u7684\u72b6\u6001\u3002",
1806
1838
  "form_initial_network": "\u8fd9\u5c06\u521b\u5efa\u65b0\u7684 Zigbee \u7f51\u7edc\u3002",
@@ -1841,14 +1873,15 @@
1841
1873
  "title": "\u91cd\u65b0\u914d\u7f6e ZHA"
1842
1874
  },
1843
1875
  "intent_migrate": {
1844
- "title": "\u8fc1\u79fb\u5230\u65b0\u7684\u9002\u914d\u5668"
1876
+ "description": "\u5728\u63d2\u5165\u65b0\u7684\u9002\u914d\u5668\u4e4b\u524d\uff0c\u9700\u8981\u91cd\u7f6e\u65e7\u7684\u9002\u914d\u5668\u3002\u7cfb\u7edf\u5c06\u4f1a\u6267\u884c\u4e00\u6b21\u81ea\u52a8\u5907\u4efd\u3002\u5982\u679c\u60a8\u4f7f\u7528 Z-Wave \u548c Zigbee \u7ec4\u5408\u9002\u914d\u5668\uff08\u4f8b\u5982 HUSBZB-1\uff09\uff0c\u5219\u53ea\u4f1a\u91cd\u7f6e Zigbee \u90e8\u5206\u3002\n\n*\u6ce8\u610f\uff1a\u5982\u679c\u60a8\u4ece **ConBee/RaspBee** \u8fc1\u79fb\u8fc7\u6765\uff0c\u8bf7\u786e\u4fdd\u5b83\u8fd0\u884c\u56fa\u4ef6 0x26720700 \u6216\u66f4\u9ad8\u7248\u672c\uff01\u5426\u5219\uff0c\u67d0\u4e9b\u8bbe\u5907\u5728\u8fc1\u79fb\u4e4b\u540e\u53ef\u80fd\u65e0\u6cd5\u63a7\u5236\uff0c\u76f4\u5230\u60a8\u7535\u6e90\u91cd\u542f\u5b83\u4eec\u3002*\n\n\u60a8\u8981\u7ee7\u7eed\u5417 \uff1f",
1877
+ "title": "\u8fc1\u79fb\u5230\u65b0\u9002\u914d\u5668"
1845
1878
  },
1846
1879
  "manual_pick_radio_type": {
1847
1880
  "data": {
1848
- "radio_type": "\u5e7f\u64ad\u7c7b\u578b"
1881
+ "radio_type": "\u9002\u914d\u5668\u7c7b\u578b"
1849
1882
  },
1850
- "description": "\u9009\u62e9\u60a8\u7684 Zigbee \u65e0\u7ebf\u7535\u7c7b\u578b",
1851
- "title": "\u5e7f\u64ad\u7c7b\u578b"
1883
+ "description": "\u9009\u62e9\u60a8\u7684 Zigbee \u9002\u914d\u5668\u7c7b\u578b",
1884
+ "title": "\u9002\u914d\u5668\u7c7b\u578b"
1852
1885
  },
1853
1886
  "manual_port_config": {
1854
1887
  "data": {
@@ -1861,12 +1894,21 @@
1861
1894
  },
1862
1895
  "maybe_confirm_ezsp_restore": {
1863
1896
  "data": {
1864
- "overwrite_coordinator_ieee": "\u6c38\u4e45\u66ff\u6362\u65e0\u7ebf\u7535 IEEE \u5730\u5740"
1897
+ "overwrite_coordinator_ieee": "\u6c38\u4e45\u66ff\u6362\u9002\u914d\u5668 IEEE \u5730\u5740"
1865
1898
  },
1866
- "description": "\u60a8\u7684\u5907\u4efd\u5177\u6709\u4e0e\u60a8\u7684\u9002\u914d\u5668\u4e0d\u540c\u7684 IEEE \u5730\u5740\u3002\u4e3a\u4e86\u4f7f\u7f51\u7edc\u6b63\u5e38\u8fd0\u884c\uff0c\u5e94\u4fee\u6539\u9002\u914d\u5668\u7684 IEEE \u5730\u5740\u3002\n\n\u8fd9\u662f\u4e00\u4e2a\u6c38\u4e45\u6027\u7684\u64cd\u4f5c\u3002",
1867
- "title": "\u8986\u76d6\u65e0\u7ebf\u7535 IEEE \u5730\u5740"
1899
+ "description": "\u60a8\u7684\u5907\u4efd\u8bbe\u5907\u7684 IEEE \u5730\u5740\u4e0e\u60a8\u7684\u9002\u914d\u5668\u4e0d\u540c\u3002\u4e3a\u4e86\u4fdd\u8bc1\u60a8\u7684\u7f51\u7edc\u6b63\u5e38\u8fd0\u884c\uff0c\u60a8\u9002\u914d\u5668\u7684 IEEE \u5730\u5740\u4e5f\u5e94\u66f4\u6539\u3002\n \n\u6b64\u64cd\u4f5c\u4e3a\u6c38\u4e45\u6027\u64cd\u4f5c\u3002",
1900
+ "title": "\u8986\u76d6\u9002\u914d\u5668 IEEE \u5730\u5740"
1868
1901
  },
1869
1902
  "prompt_migrate_or_reconfigure": {
1903
+ "description": "\u60a8\u662f\u8981\u8fc1\u79fb\u5230\u65b0\u7684\u9002\u914d\u5668\uff0c\u8fd8\u662f\u91cd\u65b0\u914d\u7f6e\u5f53\u524d\u9002\u914d\u5668 \uff1f",
1904
+ "menu_option_descriptions": {
1905
+ "intent_migrate": "\u8fd9\u5c06\u5e2e\u52a9\u60a8\u5c06 Zigbee \u7f51\u7edc\u4ece\u65e7\u9002\u914d\u5668\u8fc1\u79fb\u5230\u65b0\u9002\u914d\u5668\u3002",
1906
+ "intent_reconfigure": "\u8fd9\u5c06\u5141\u8bb8\u60a8\u66f4\u6539\u5f53\u524d Zigbee \u9002\u914d\u5668\u7684\u4e32\u884c\u7aef\u53e3\u3002"
1907
+ },
1908
+ "menu_options": {
1909
+ "intent_migrate": "\u8fc1\u79fb\u5230\u65b0\u9002\u914d\u5668",
1910
+ "intent_reconfigure": "\u91cd\u65b0\u914d\u7f6e\u5f53\u524d\u9002\u914d\u5668"
1911
+ },
1870
1912
  "title": "\u8fc1\u79fb\u6216\u91cd\u65b0\u914d\u7f6e"
1871
1913
  },
1872
1914
  "upload_manual_backup": {
@@ -1877,8 +1919,8 @@
1877
1919
  "title": "\u4e0a\u4f20\u624b\u52a8\u5907\u4efd"
1878
1920
  },
1879
1921
  "verify_radio": {
1880
- "description": "\u60a8\u6b63\u5728\u4f7f\u7528\u7684\u9002\u914d\u5668 ({name}) \u4e0d\u88ab\u63a8\u8350\uff0c\u5e76\u4e14\u672a\u6765\u53ef\u80fd\u4f1a\u53d6\u6d88\u5bf9\u5b83\u7684\u652f\u6301\u3002\u8bf7\u53c2\u9605 Zigbee Home Automation \u96c6\u6210\u7684\u6587\u6863\u4ee5\u83b7\u53d6[\u63a8\u8350\u9002\u914d\u5668\u5217\u8868]({docs_recommended_adapters_url})\u3002",
1881
- "title": "\u4e0d\u63a8\u8350\u4f7f\u7528\u65e0\u7ebf\u7535"
1922
+ "description": "\u4e0d\u63a8\u8350\u60a8\u6b63\u5728\u4f7f\u7528\u7684\u9002\u914d\u5668\uff08{name}\uff09\uff0c\u672a\u6765\u53ef\u80fd\u4f1a\u53d6\u6d88\u5bf9\u5b83\u7684\u652f\u6301\u3002\u53c2\u9605 Zigbee Home Automation \u96c6\u6210\u7684\u6587\u6863\u53ef\u83b7\u53d6\u3010\u63a8\u8350\u9002\u914d\u5668\u5217\u8868\u3011({docs_recommended_adapters_url}) \u3002",
1923
+ "title": "\u4e0d\u63a8\u8350\u4f7f\u7528\u9002\u914d\u5668"
1882
1924
  }
1883
1925
  }
1884
1926
  },
@@ -25,6 +25,7 @@
25
25
  "title": "\u56de\u5fa9\u81ea\u52d5\u5099\u4efd"
26
26
  },
27
27
  "choose_formation_strategy": {
28
+ "description": "\u9078\u64c7\u8f49\u63a5\u5668\u7684\u7db2\u8def\u8a2d\u5b9a\u3002",
28
29
  "menu_option_descriptions": {
29
30
  "choose_automatic_backup": "\u6b64\u52d5\u4f5c\u53ef\u4ee5\u5c07\u4ecb\u9762\u5361\u7684\u7db2\u8def\u8a2d\u5b9a\u56de\u5fa9\u81f3\u5148\u524d\u7684\u72c0\u614b\uff0c\u4ee5\u9632\u60a8\u5df2\u9032\u884c\u8b8a\u66f4\u3002",
30
31
  "form_initial_network": "\u6b64\u52d5\u4f5c\u5c07\u5efa\u7acb\u65b0 Zigbee \u7db2\u8def\u3002",
@@ -36,6 +37,7 @@
36
37
  "choose_automatic_backup": "\u56de\u5fa9\u81ea\u52d5\u5099\u4efd",
37
38
  "form_initial_network": "\u5efa\u7acb\u7db2\u8def",
38
39
  "form_new_network": "\u522a\u9664\u7db2\u8def\u8a2d\u5b9a\u4e26\u5efa\u7acb\u65b0\u7db2\u8def\u8a2d\u5b9a",
40
+ "reuse_settings": "\u4fdd\u7559\u8f49\u63a5\u5668\u7db2\u8def\u8a2d\u5b9a",
39
41
  "upload_manual_backup": "\u4e0a\u50b3\u624b\u52d5\u5099\u4efd"
40
42
  },
41
43
  "title": "\u7db2\u8def\u683c\u5f0f"
@@ -56,6 +58,7 @@
56
58
  "data": {
57
59
  "path": "\u5e8f\u5217\u88dd\u7f6e\u8def\u5f91"
58
60
  },
61
+ "description": "\u9078\u64c7 Zigbee \u8f49\u63a5\u5668\u5e8f\u5217\u57e0",
59
62
  "title": "\u9078\u64c7\u5e8f\u5217\u57e0"
60
63
  },
61
64
  "choose_setup_strategy": {
@@ -76,6 +79,13 @@
76
79
  "confirm_hardware": {
77
80
  "description": "\u662f\u5426\u8981\u8a2d\u5b9a {name}\uff1f"
78
81
  },
82
+ "manual_pick_radio_type": {
83
+ "data": {
84
+ "radio_type": "\u8f49\u63a5\u5668\u985e\u578b"
85
+ },
86
+ "description": "\u9078\u64c7 Zigbee \u8f49\u63a5\u5668\u985e\u578b",
87
+ "title": "\u9078\u64c7\u8f49\u63a5\u5668\u985e\u578b"
88
+ },
79
89
  "manual_port_config": {
80
90
  "data": {
81
91
  "baudrate": "\u5e8f\u5217\u57e0\u901f\u5ea6",
@@ -90,6 +100,13 @@
90
100
  "description": "ZHA \u7121\u6cd5\u81ea\u52d5\u5075\u6e2c\u8f49\u63a5\u5668\u7684\u5e8f\u5217\u57e0\u8a2d\u5b9a\u3002\u901a\u5e38\u662f\u97cc\u9ad4\u6216\u6b0a\u9650\u554f\u984c\u3002\n \n\u5047\u5982\u4f7f\u7528\u7684\u97cc\u9ad4\u5177\u6709\u975e\u6a19\u6e96\u8a2d\u5b9a\uff0c\u8acb\u8f38\u5165\u5e8f\u5217\u57e0\u8a2d\u5b9a",
91
101
  "title": "\u5e8f\u5217\u57e0\u8a2d\u5b9a"
92
102
  },
103
+ "maybe_confirm_ezsp_restore": {
104
+ "data": {
105
+ "overwrite_coordinator_ieee": "\u6c38\u4e45\u53d6\u4ee3\u8f49\u63a5\u5668 IEEE \u4f4d\u5740"
106
+ },
107
+ "description": "\u5099\u4efd\u4e2d\u7684 IEEE \u4f4d\u5740\u8207\u73fe\u6709\u8f49\u63a5\u5668\u4e0d\u540c\u3002\u70ba\u4e86\u78ba\u8a8d\u7db2\u8def\u6b63\u5e38\u5de5\u4f5c\uff0c\u8f49\u63a5\u5668\u7684 IEEE \u4f4d\u5740\u5fc5\u9808\u9032\u884c\u8b8a\u66f4\u3002\n\n\u6b64\u70ba\u6c38\u4e45\u6027\u64cd\u4f5c\u3002",
108
+ "title": "\u8986\u5beb\u8f49\u63a5\u5668 IEEE \u4f4d\u5740"
109
+ },
93
110
  "maybe_reset_old_radio": {
94
111
  "description": "\u5148\u524d\u5df2\u5efa\u7acb\u5099\u4efd\uff0c\u4f5c\u70ba\u9077\u79fb\u7684\u4e00\u90e8\u5206\uff0c\u6b63\u5728\u91cd\u7f6e\u820a\u8f49\u63a5\u5668\u3002",
95
112
  "title": "\u91cd\u7f6e\u820a\u8f49\u63a5\u5668"
@@ -100,6 +117,10 @@
100
117
  },
101
118
  "description": "\u7531\u4e0a\u50b3\u7684\u5099\u4efd JSON \u6a94\u6848\u4e2d\u56de\u5fa9\u7db2\u8def\u8a2d\u5b9a\u3002\u53ef\u4ee5\u7531\u4e0d\u540c\u7684 ZHA \u5b89\u88dd\u4e2d\u7684 **\u7db2\u8def\u8a2d\u5b9a** \u9032\u884c\u4e0b\u8f09\u3001\u6216\u4f7f\u7528 Zigbee2MQTT \u4e2d\u7684 `coordinator_backup.json` \u6a94\u6848\u3002",
102
119
  "title": "\u4e0a\u50b3\u624b\u52d5\u5099\u4efd"
120
+ },
121
+ "verify_radio": {
122
+ "description": "\u6240\u4f7f\u7528\u7684\u8f49\u63a5\u5668 ({name}) \u70ba\u4e0d\u5efa\u8b70\u4f7f\u7528\u8207\u652f\u63f4\uff0c\u53ef\u80fd\u6703\u65bc\u672a\u4f86\u9032\u884c\u79fb\u9664\u3002\u8acb\u53c3\u95b1 Zigbee Home Automation \u6574\u5408\u6587\u4ef6\u4ee5\u53d6\u5f97 [\u5efa\u8b70\u7684\u8f49\u63a5\u5668\u5217\u8868]({docs_recommended_adapters_url})\u3002",
123
+ "title": "\u4e0d\u5efa\u8b70\u4f7f\u7528\u8f49\u63a5\u5668"
103
124
  }
104
125
  }
105
126
  },
@@ -1763,6 +1784,7 @@
1763
1784
  "fix_flow": {
1764
1785
  "step": {
1765
1786
  "init": {
1787
+ "description": "\u60a8\u7684 Zigbee \u8f49\u63a5\u5668\u7db2\u8def\u8a2d\u5b9a\u8207\u6700\u8fd1\u4e00\u6b21\u7db2\u8def\u5099\u4efd\u4e0d\u4e00\u81f4\u3002\u9019\u7a2e\u72c0\u614b\u901a\u5e38\u767c\u751f\u5728\u5176\u4ed6 Zigbee \u6574\u5408\uff08\u4f8b\u5982 Zigbee2MQTT \u6216 deCONZ\uff09\u8986\u84cb\u539f\u59cb\u8a2d\u5b9a\u7684\u60c5\u6cc1\u3002\n\n{diff}\n\n\u5982\u679c\u60a8\u7121\u610f\u8b8a\u66f4\u7db2\u8def\u8a2d\u5b9a\uff0c\u8acb\u5f9e\u6700\u8fd1\u7684\u5099\u4efd\u4e2d\u9032\u884c\u56de\u5fa9\uff1a\u5426\u5247\u88dd\u7f6e\u5c07\u7121\u6cd5\u904b\u4f5c\u3002",
1766
1788
  "menu_option_descriptions": {
1767
1789
  "restore_old_settings": "\u6b64\u52d5\u4f5c\u5c07\u628a\u7db2\u8def\u8a2d\u5b9a\u56de\u5fa9\u81f3\u4e0a\u4e00\u6b21\u53ef\u6b63\u5e38\u904b\u4f5c\u7684\u72c0\u614b\u3002",
1768
1790
  "use_new_settings": "\u6b64\u52d5\u4f5c\u6703\u5c07\u65b0\u8a2d\u5b9a\u5beb\u5165\u96a8\u8eab\u789f\u3002\u53ea\u6709\u5728\u523b\u610f\u8b8a\u66f4\u8a2d\u5b9a\u6642\u624d\u9078\u64c7\u6b64\u9078\u9805\u3002"
@@ -1777,8 +1799,13 @@
1777
1799
  },
1778
1800
  "title": "Zigbee \u7db2\u8def\u8a2d\u5b9a\u5df2\u66f4\u6539"
1779
1801
  },
1802
+ "wrong_silabs_firmware_installed_nabucasa": {
1803
+ "description": "\u60a8\u7684 Zigbee \u8f49\u63a5\u5668\u5148\u524d\u66fe\u4f7f\u7528\u904e\u591a\u5354\u8b70\uff08Zigbee \u8207 Thread\uff09\u3001\u4e26\u4e14\u4f9d\u7136\u5b89\u88dd\u8457\u591a\u5354\u8b70\u97cc\u9ad4\uff1a({firmware_type})\u3002 \n\n\u82e5\u8981\u642d\u914d ZHA \u4f7f\u7528\u6b64\u8f49\u63a5\u5668\uff0c\u8acb\u5b89\u88dd Zigbee \u97cc\u9ad4\uff1a\n - \u524d\u5f80\u8a2d\u5b9a > \u7cfb\u7d71 > \u786c\u9ad4\uff0c\u9078\u53d6\u88dd\u7f6e\u5f8c\u9ede\u9078\u8a2d\u5b9a\u3002\n - \u9078\u64c7 '\u5c07 Zigbee \u79fb\u8f49\u81f3\u65b0\u8f49\u63a5\u5668' \u9078\u9805\u3001\u4e26\u4f9d\u6307\u793a\u64cd\u4f5c\u3002",
1804
+ "title": "\u5075\u6e2c\u5230\u5177\u6709\u591a\u5354\u5b9a\u97cc\u9ad4\u7684 Zigbee \u8f49\u63a5\u5668"
1805
+ },
1780
1806
  "wrong_silabs_firmware_installed_other": {
1781
- "title": "\u5075\u6e2c\u5230\u5177\u6709\u591a\u5354\u5b9a\u97cc\u9ad4\u7684 Zigbee \u7121\u7dda\u96fb"
1807
+ "description": "\u60a8\u7684 Zigbee \u8f49\u63a5\u5668\u5148\u524d\u66fe\u4f7f\u7528\u904e\u591a\u5354\u8b70\uff08Zigbee \u8207 Thread\uff09\u3001\u4e26\u4e14\u4f9d\u7136\u5b89\u88dd\u8457\u591a\u5354\u8b70\u97cc\u9ad4\uff1a({firmware_type})\u3002\n\n\u82e5\u8981\u642d\u914d ZHA \u4f7f\u7528\u6b64\u8f49\u63a5\u5668\uff0c\u8acb\u5b89\u88dd Zigbee \u97cc\u9ad4\u3002\u8acb\u53c3\u95b1\u60a8\u7684 Zigbee \u8f49\u63a5\u5668\u88fd\u9020\u5546\u7684\u8aaa\u660e\u9032\u884c\u64cd\u4f5c\u3002",
1808
+ "title": "\u5075\u6e2c\u5230\u5177\u6709\u591a\u5354\u5b9a\u97cc\u9ad4\u7684 Zigbee \u8f49\u63a5\u5668"
1782
1809
  }
1783
1810
  },
1784
1811
  "options": {
@@ -1787,6 +1814,7 @@
1787
1814
  "cannot_restore_backup": "\u6240\u8981\u56de\u5fa9\u7684\u8f49\u63a5\u5668\u4e0d\u6b63\u78ba\u652f\u63f4\u5099\u4efd\u56de\u5fa9\u3002\u8acb\u5347\u7d1a\u97cc\u9ad4\u3002\n\n\u932f\u8aa4\uff1a{error}",
1788
1815
  "cannot_restore_backup_no_ieee_confirm": "\u6240\u8981\u56de\u5fa9\u76ee\u6a19\u7684\u8f49\u63a5\u5668\u97cc\u9ad4\u904e\u820a\uff0c\u7121\u6cd5\u591a\u6b21\u5beb\u5165\u8f49\u63a5\u5668\u7684 IEEE \u4f4d\u5740\u3002\u8acb\u5347\u7d1a\u97cc\u9ad4\uff0c\u6216\u5728\u4e0a\u4e00\u6b65\u9a5f\u4e2d\u78ba\u8a8d\u6c38\u4e45\u8986\u5beb\u3002",
1789
1816
  "not_zha_device": "\u6240\u767c\u73fe\u7684\u88dd\u7f6e\u4e26\u975e ZHA \u88dd\u7f6e",
1817
+ "reconfigure_successful": "ZHA \u5df2\u6210\u529f\u5f9e\u820a\u8f49\u63a5\u5668\u9077\u79fb\u5230\u65b0\u8f49\u63a5\u5668\u3002\u8acb\u7d66\u4e88 Zigbee \u7db2\u8def\u5e7e\u5206\u9418\u7684\u6642\u9593\u4f86\u7a69\u5b9a\u3002\n\n\u5982\u679c\u5df2\u4e0d\u518d\u9700\u8981\u820a\u8f49\u63a5\u5668\uff0c\u73fe\u5728\u53ef\u4ee5\u9032\u884c\u62d4\u9664\u3002",
1790
1818
  "usb_probe_failed": "\u5075\u6e2c USB \u88dd\u7f6e\u5931\u6557",
1791
1819
  "wrong_firmware_installed": "\u60a8\u7684\u88dd\u7f6e\u6b63\u57f7\u884c\u932f\u8aa4\u7684\u97cc\u9ad4\uff0c\u5728\u4f7f\u7528\u6b63\u78ba\u7684\u97cc\u9ad4\u4e4b\u524d\u3001\u5c07\u7121\u6cd5\u8207 ZHA \u914d\u5408\u4f7f\u7528\u3002[\u5df2\u7d93\u5efa\u7acb\u4e86\u4e00\u500b\u4fee\u6b63]({repair_url})\u3001\u5176\u4e2d\u5305\u542b\u66f4\u8a73\u7d30\u8aaa\u660e\u8207\u4fee\u6b63\u554f\u984c\u7684\u6307\u793a\u3002"
1792
1820
  },
@@ -1804,7 +1832,7 @@
1804
1832
  "title": "\u56de\u5fa9\u81ea\u52d5\u5099\u4efd"
1805
1833
  },
1806
1834
  "choose_formation_strategy": {
1807
- "description": "\u9078\u64c7\u7121\u7dda\u96fb\u7684\u7db2\u8def\u8a2d\u5b9a",
1835
+ "description": "\u9078\u64c7\u8f49\u63a5\u5668\u7684\u7db2\u8def\u8a2d\u5b9a\u3002",
1808
1836
  "menu_option_descriptions": {
1809
1837
  "choose_automatic_backup": "\u6b64\u52d5\u4f5c\u53ef\u4ee5\u5c07\u4ecb\u9762\u5361\u7684\u7db2\u8def\u8a2d\u5b9a\u56de\u5fa9\u81f3\u5148\u524d\u7684\u72c0\u614b\uff0c\u4ee5\u9632\u60a8\u5df2\u9032\u884c\u8b8a\u66f4\u3002",
1810
1838
  "form_initial_network": "\u6b64\u52d5\u4f5c\u5c07\u5efa\u7acb\u65b0 Zigbee \u7db2\u8def\u3002",
@@ -1816,7 +1844,7 @@
1816
1844
  "choose_automatic_backup": "\u56de\u5fa9\u81ea\u52d5\u5099\u4efd",
1817
1845
  "form_initial_network": "\u5efa\u7acb\u7db2\u8def",
1818
1846
  "form_new_network": "\u522a\u9664\u7db2\u8def\u8a2d\u5b9a\u4e26\u5efa\u7acb\u65b0\u7db2\u8def\u8a2d\u5b9a",
1819
- "reuse_settings": "\u4fdd\u7559\u7121\u7dda\u96fb\u7db2\u8def\u8a2d\u5b9a",
1847
+ "reuse_settings": "\u4fdd\u7559\u8f49\u63a5\u5668\u7db2\u8def\u8a2d\u5b9a",
1820
1848
  "upload_manual_backup": "\u4e0a\u50b3\u624b\u52d5\u5099\u4efd"
1821
1849
  },
1822
1850
  "title": "\u7db2\u8def\u683c\u5f0f"
@@ -1837,27 +1865,23 @@
1837
1865
  "data": {
1838
1866
  "path": "\u5e8f\u5217\u88dd\u7f6e\u8def\u5f91"
1839
1867
  },
1840
- "description": "\u9078\u64c7 Zigbee \u7121\u7dda\u96fb\u5e8f\u5217\u57e0",
1868
+ "description": "\u9078\u64c7 Zigbee \u8f49\u63a5\u5668\u5e8f\u5217\u57e0",
1841
1869
  "title": "\u9078\u64c7\u5e8f\u5217\u57e0"
1842
1870
  },
1843
1871
  "init": {
1844
1872
  "description": "\u5c07\u57f7\u884c\u5099\u4efd\u4e26\u505c\u6b62 ZHA\u3001\u662f\u5426\u8981\u7e7c\u7e8c\uff1f",
1845
1873
  "title": "\u91cd\u65b0\u8a2d\u5b9a ZHA"
1846
1874
  },
1847
- "instruct_unplug": {
1848
- "description": "\u820a\u8f49\u63a5\u5668\u5df2\u7d93\u91cd\u7f6e\uff0c\u5047\u5982\u786c\u9ad4\u4e0d\u518d\u4f7f\u7528\u3001\u53ef\u4ee5\u9032\u884c\u79fb\u9664\u3002\n\n\u73fe\u5728\u53ef\u4ee5\u63d2\u5165\u65b0\u8f49\u63a5\u5668\u3002",
1849
- "title": "\u79fb\u9664\u820a\u8f49\u63a5\u5668"
1850
- },
1851
1875
  "intent_migrate": {
1852
1876
  "description": "\u63d2\u5165\u65b0\u8f49\u63a5\u5668\u4e4b\u524d\uff0c\u9700\u8981\u5148\u5c0d\u820a\u8f49\u63a5\u5668\u9032\u884c\u91cd\u7f6e\u3002\u5c07\u6703\u57f7\u884c\u81ea\u52d5\u5099\u4efd\uff0c\u5047\u5982\u4f7f\u7528\u7684\u8f49\u63a5\u5668\u70ba\u985e\u4f3c\u65bc HUSBZB-1 \u7684 Z-Wave \u8207 Zigbee \u8907\u5408\u88dd\u7f6e\uff0c\u5c07\u50c5\u6703\u91cd\u7f6e Zigbee \u90e8\u5206\u3002\n\n*\u6ce8\u610f\uff1a\u5047\u5982\u662f\u5f9e **ConBee/RaspBee** \u8f49\u79fb\u904e\u4f86\u3001\u8acb\u78ba\u8a8d\u57f7\u884c\u97cc\u9ad4\u7248\u672c\u70ba `0x26720700` \u6216\u66f4\u65b0\u7248\u672c\uff0c\u5426\u5247\u53ef\u80fd\u6703\u5c0e\u81f4\u90e8\u5206\u88dd\u7f6e\u7121\u6cd5\u63a7\u5236\u3001\u76f4\u5230\u91cd\u65b0\u65b7\u96fb\u555f\u52d5\u3002*\n\n\u662f\u5426\u8981\u7e7c\u7e8c\uff1f",
1853
1877
  "title": "\u9077\u79fb\u81f3\u65b0\u8f49\u63a5\u5668"
1854
1878
  },
1855
1879
  "manual_pick_radio_type": {
1856
1880
  "data": {
1857
- "radio_type": "\u7121\u7dda\u96fb\u985e\u578b"
1881
+ "radio_type": "\u8f49\u63a5\u5668\u985e\u578b"
1858
1882
  },
1859
- "description": "\u9078\u64c7 Zigbee \u7121\u7dda\u96fb\u985e\u5225",
1860
- "title": "\u7121\u7dda\u96fb\u985e\u578b"
1883
+ "description": "\u9078\u64c7 Zigbee \u8f49\u63a5\u5668\u985e\u578b",
1884
+ "title": "\u8f49\u63a5\u5668\u985e\u578b"
1861
1885
  },
1862
1886
  "manual_port_config": {
1863
1887
  "data": {
@@ -1870,12 +1894,13 @@
1870
1894
  },
1871
1895
  "maybe_confirm_ezsp_restore": {
1872
1896
  "data": {
1873
- "overwrite_coordinator_ieee": "\u6c38\u4e45\u53d6\u4ee3\u8a2d\u5099 IEEE \u4f4d\u5740"
1897
+ "overwrite_coordinator_ieee": "\u6c38\u4e45\u53d6\u4ee3\u8f49\u63a5\u5668 IEEE \u4f4d\u5740"
1874
1898
  },
1875
- "description": "\u5099\u4efd\u4e2d\u7684 IEEE \u4f4d\u5740\u8207\u73fe\u6709\u8a2d\u5099\u4e0d\u540c\u3002\u70ba\u4e86\u78ba\u8a8d\u7db2\u8def\u6b63\u5e38\u5de5\u4f5c\uff0c\u8a2d\u5099\u7684 IEEE \u4f4d\u5740\u5fc5\u9808\u9032\u884c\u8b8a\u66f4\u3002\n\n\u6b64\u70ba\u6c38\u4e45\u6027\u64cd\u4f5c\u3002.",
1876
- "title": "\u8986\u5beb\u7121\u7dda\u96fb IEEE \u4f4d\u5740"
1899
+ "description": "\u5099\u4efd\u4e2d\u7684 IEEE \u4f4d\u5740\u8207\u73fe\u6709\u8f49\u63a5\u5668\u4e0d\u540c\u3002\u70ba\u4e86\u78ba\u8a8d\u7db2\u8def\u6b63\u5e38\u5de5\u4f5c\uff0c\u8f49\u63a5\u5668\u7684 IEEE \u4f4d\u5740\u5fc5\u9808\u9032\u884c\u8b8a\u66f4\u3002\n\n\u6b64\u70ba\u6c38\u4e45\u6027\u64cd\u4f5c\u3002",
1900
+ "title": "\u8986\u5beb\u8f49\u63a5\u5668 IEEE \u4f4d\u5740"
1877
1901
  },
1878
1902
  "prompt_migrate_or_reconfigure": {
1903
+ "description": "\u8981\u9077\u79fb\u81f3\u65b0\u8f49\u63a5\u5668\u6216\u91cd\u65b0\u8a2d\u5b9a\u76ee\u524d\u8f49\u63a5\u5668\uff1f",
1879
1904
  "menu_option_descriptions": {
1880
1905
  "intent_migrate": "\u6b64\u52d5\u4f5c\u5c07\u5354\u52a9\u4f60\u5c07 Zigbee \u7db2\u8def\u5f9e\u820a\u7684\u8f49\u63a5\u5668\u9077\u79fb\u5230\u65b0\u7684\u3002",
1881
1906
  "intent_reconfigure": "\u6b64\u52d5\u4f5c\u53ef\u8b8a\u66f4\u76ee\u524d Zigbee \u8f49\u63a5\u5668\u5e8f\u5217\u57e0\u3002"
@@ -1894,8 +1919,8 @@
1894
1919
  "title": "\u4e0a\u50b3\u624b\u52d5\u5099\u4efd"
1895
1920
  },
1896
1921
  "verify_radio": {
1897
- "description": "\u6240\u4f7f\u7528\u7684\u50b3\u8f38\u5668 ({name}) \u70ba\u4e0d\u5efa\u8b70\u4f7f\u7528\u8207\u652f\u63f4\uff0c\u53ef\u80fd\u6703\u65bc\u672a\u4f86\u9032\u884c\u79fb\u9664\u3002\u8acb\u53c3\u95b1 Zigbee Home Automation \u6574\u5408\u6587\u4ef6\u4ee5\u53d6\u5f97 [\u5efa\u8b70\u7684\u50b3\u8f38\u5668\u5217\u8868]({docs_recommended_adapters_url}).",
1898
- "title": "\u4e0d\u5efa\u8b70\u50b3\u8f38\u5668"
1922
+ "description": "\u6240\u4f7f\u7528\u7684\u8f49\u63a5\u5668 ({name}) \u70ba\u4e0d\u5efa\u8b70\u4f7f\u7528\u8207\u652f\u63f4\uff0c\u53ef\u80fd\u6703\u65bc\u672a\u4f86\u9032\u884c\u79fb\u9664\u3002\u8acb\u53c3\u95b1 Zigbee Home Automation \u6574\u5408\u6587\u4ef6\u4ee5\u53d6\u5f97 [\u5efa\u8b70\u7684\u8f49\u63a5\u5668\u5217\u8868]({docs_recommended_adapters_url})\u3002",
1923
+ "title": "\u4e0d\u5efa\u8b70\u4f7f\u7528\u8f49\u63a5\u5668"
1899
1924
  }
1900
1925
  }
1901
1926
  },
@@ -703,7 +703,15 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
703
703
  async def async_step_on_supervisor(
704
704
  self, user_input: dict[str, Any] | None = None
705
705
  ) -> ConfigFlowResult:
706
- """Handle logic when on Supervisor host."""
706
+ """Handle logic when on Supervisor host.
707
+
708
+ When the add-on is running, we copy over it's settings.
709
+ We will ignore settings for USB/Socket if those were discovered.
710
+
711
+ If add-on is not running, we will configure the add-on.
712
+
713
+ When it's not installed, we install it with new config options.
714
+ """
707
715
  if user_input is None:
708
716
  return self.async_show_form(
709
717
  step_id="on_supervisor", data_schema=ON_SUPERVISOR_SCHEMA
@@ -717,8 +725,11 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
717
725
 
718
726
  if addon_info.state == AddonState.RUNNING:
719
727
  addon_config = addon_info.options
720
- self.usb_path = addon_config.get(CONF_ADDON_DEVICE)
721
- self.socket_path = addon_config.get(CONF_ADDON_SOCKET)
728
+ # Use the options set by USB/ESPHome discovery
729
+ if not self._adapter_discovered:
730
+ self.usb_path = addon_config.get(CONF_ADDON_DEVICE)
731
+ self.socket_path = addon_config.get(CONF_ADDON_SOCKET)
732
+
722
733
  self.s0_legacy_key = addon_config.get(CONF_ADDON_S0_LEGACY_KEY, "")
723
734
  self.s2_access_control_key = addon_config.get(
724
735
  CONF_ADDON_S2_ACCESS_CONTROL_KEY, ""
@@ -918,7 +929,7 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
918
929
  discovery_info = await self._async_get_addon_discovery_info()
919
930
  self.ws_address = f"ws://{discovery_info['host']}:{discovery_info['port']}"
920
931
 
921
- if not self.unique_id or self.source in (SOURCE_USB, SOURCE_ESPHOME):
932
+ if not self.unique_id or self.source == SOURCE_USB:
922
933
  if not self.version_info:
923
934
  try:
924
935
  self.version_info = await async_get_version_info(
@@ -931,6 +942,21 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
931
942
  str(self.version_info.home_id), raise_on_progress=False
932
943
  )
933
944
 
945
+ # When we came from discovery, make sure we update the add-on
946
+ if self._adapter_discovered and self.use_addon:
947
+ await self._async_set_addon_config(
948
+ {
949
+ CONF_ADDON_DEVICE: self.usb_path,
950
+ CONF_ADDON_SOCKET: self.socket_path,
951
+ CONF_ADDON_S0_LEGACY_KEY: self.s0_legacy_key,
952
+ CONF_ADDON_S2_ACCESS_CONTROL_KEY: self.s2_access_control_key,
953
+ CONF_ADDON_S2_AUTHENTICATED_KEY: self.s2_authenticated_key,
954
+ CONF_ADDON_S2_UNAUTHENTICATED_KEY: self.s2_unauthenticated_key,
955
+ CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY: self.lr_s2_access_control_key,
956
+ CONF_ADDON_LR_S2_AUTHENTICATED_KEY: self.lr_s2_authenticated_key,
957
+ }
958
+ )
959
+
934
960
  self._abort_if_unique_id_configured(
935
961
  updates={
936
962
  CONF_URL: self.ws_address,
@@ -942,7 +968,12 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
942
968
  CONF_S2_UNAUTHENTICATED_KEY: self.s2_unauthenticated_key,
943
969
  CONF_LR_S2_ACCESS_CONTROL_KEY: self.lr_s2_access_control_key,
944
970
  CONF_LR_S2_AUTHENTICATED_KEY: self.lr_s2_authenticated_key,
945
- }
971
+ },
972
+ error=(
973
+ "migration_successful"
974
+ if self.source in (SOURCE_USB, SOURCE_ESPHOME)
975
+ else "already_configured"
976
+ ),
946
977
  )
947
978
  return self._async_create_entry_from_vars()
948
979
 
@@ -1490,6 +1521,8 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
1490
1521
  )
1491
1522
  # Only update existing entries that are configured via sockets
1492
1523
  and existing_entry.data.get(CONF_SOCKET_PATH)
1524
+ # And use the add-on
1525
+ and existing_entry.data.get(CONF_USE_ADDON)
1493
1526
  ):
1494
1527
  await self._async_set_addon_config(
1495
1528
  {CONF_ADDON_SOCKET: discovery_info.socket_path}
@@ -1498,6 +1531,11 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
1498
1531
  self.hass.config_entries.async_schedule_reload(existing_entry.entry_id)
1499
1532
  return self.async_abort(reason="already_configured")
1500
1533
 
1534
+ # We are not aborting if home ID configured here, we just want to make sure that it's set
1535
+ # We will update a USB based config entry automatically in `async_step_finish_addon_setup_user`
1536
+ await self.async_set_unique_id(
1537
+ str(discovery_info.zwave_home_id), raise_on_progress=False
1538
+ )
1501
1539
  self.socket_path = discovery_info.socket_path
1502
1540
  self.context["title_placeholders"] = {
1503
1541
  CONF_NAME: f"{discovery_info.name} via ESPHome"
@@ -612,10 +612,7 @@ class ZwaveColorOnOffLight(ZwaveLight):
612
612
  # If brightness gets set, preserve the color and mix it with the new brightness
613
613
  if self.color_mode == ColorMode.HS:
614
614
  scale = brightness / 255
615
- if (
616
- self._last_on_color is not None
617
- and None not in self._last_on_color.values()
618
- ):
615
+ if self._last_on_color is not None:
619
616
  # Changed brightness from 0 to >0
620
617
  old_brightness = max(self._last_on_color.values())
621
618
  new_scale = brightness / old_brightness
@@ -634,8 +631,9 @@ class ZwaveColorOnOffLight(ZwaveLight):
634
631
  elif current_brightness is not None:
635
632
  scale = current_brightness / 255
636
633
 
637
- # Reset last color until turning off again
634
+ # Reset last color and brightness until turning off again
638
635
  self._last_on_color = None
636
+ self._last_brightness = None
639
637
 
640
638
  if new_colors is None:
641
639
  new_colors = self._get_new_colors(
@@ -651,8 +649,10 @@ class ZwaveColorOnOffLight(ZwaveLight):
651
649
  async def async_turn_off(self, **kwargs: Any) -> None:
652
650
  """Turn the light off."""
653
651
 
654
- # Remember last color and brightness to restore it when turning on
655
- self._last_brightness = self.brightness
652
+ # Remember last color and brightness to restore it when turning on,
653
+ # only if we're sure the light is turned on to avoid overwriting good values
654
+ if self._last_brightness is None:
655
+ self._last_brightness = self.brightness
656
656
  if self._current_color and isinstance(self._current_color.value, dict):
657
657
  red = self._current_color.value.get(COLOR_SWITCH_COMBINED_RED)
658
658
  green = self._current_color.value.get(COLOR_SWITCH_COMBINED_GREEN)
@@ -666,7 +666,8 @@ class ZwaveColorOnOffLight(ZwaveLight):
666
666
  if blue is not None:
667
667
  last_color[ColorComponent.BLUE] = blue
668
668
 
669
- if last_color:
669
+ # Only store the last color if we're aware of it, i.e. ignore off light
670
+ if last_color and max(last_color.values()) > 0:
670
671
  self._last_on_color = last_color
671
672
 
672
673
  if self._target_brightness:
@@ -133,6 +133,12 @@
133
133
  "can": {
134
134
  "name": "Botsingen"
135
135
  },
136
+ "node_status": {
137
+ "state": {
138
+ "asleep": "Slapend",
139
+ "awake": "Wakker"
140
+ }
141
+ },
136
142
  "signal_strength": {
137
143
  "name": "Signaalsterkte"
138
144
  },
@@ -74,6 +74,10 @@
74
74
  "description": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043b\u044e\u0447\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0441\u0435\u0442\u0438 Z-Wave",
75
75
  "title": "\u041a\u043b\u044e\u0447\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438"
76
76
  },
77
+ "confirm_usb_migration": {
78
+ "description": "\u0412\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0432\u0430\u0448\u0443 \u0441\u0435\u0442\u044c Z-Wave \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 {usb_title}. \u0411\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0441\u0435\u0442\u0438 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0442\u0438 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440.\n\n\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e.",
79
+ "title": "\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440"
80
+ },
77
81
  "hassio_confirm": {
78
82
  "description": "\u0412\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e Z-Wave \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c Z-Wave?"
79
83
  },
@@ -81,6 +85,7 @@
81
85
  "title": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f"
82
86
  },
83
87
  "installation_type": {
88
+ "description": "\u0412 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0448\u0430\u0433\u043e\u0432 \u043c\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0432\u0430\u0448 \u0430\u0434\u0430\u043f\u0442\u0435\u0440. Home Assistant \u043c\u043e\u0436\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e Z-Wave, \u0438\u043b\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0451 \u0432\u0440\u0443\u0447\u043d\u0443\u044e.",
84
89
  "title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Z-Wave"
85
90
  },
86
91
  "instruct_unplug": {
@@ -127,6 +132,10 @@
127
132
  },
128
133
  "reconfigure": {
129
134
  "description": "\u0412\u044b \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u0435 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0435 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440?",
135
+ "menu_option_descriptions": {
136
+ "intent_migrate": "\u042d\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442 \u0432\u0430\u0448\u0443 \u0441\u0435\u0442\u044c Z-Wave \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440.",
137
+ "intent_reconfigure": "\u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0432\u0430\u043c \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430."
138
+ },
130
139
  "menu_options": {
131
140
  "intent_migrate": "\u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440",
132
141
  "intent_reconfigure": "\u041f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430"
homeassistant/const.py CHANGED
@@ -26,7 +26,7 @@ if TYPE_CHECKING:
26
26
  APPLICATION_NAME: Final = "HomeAssistant"
27
27
  MAJOR_VERSION: Final = 2025
28
28
  MINOR_VERSION: Final = 10
29
- PATCH_VERSION: Final = "0b7"
29
+ PATCH_VERSION: Final = "1"
30
30
  __short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
31
31
  __version__: Final = f"{__short_version__}.{PATCH_VERSION}"
32
32
  REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 13, 2)
@@ -3,7 +3,7 @@
3
3
  aiodhcpwatcher==1.2.1
4
4
  aiodiscover==2.7.1
5
5
  aiodns==3.5.0
6
- aiohasupervisor==0.3.3b0
6
+ aiohasupervisor==0.3.3
7
7
  aiohttp-asyncmdnsresolver==0.1.1
8
8
  aiohttp-fast-zlib==0.3.0
9
9
  aiohttp==3.12.15
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: homeassistant
3
- Version: 2025.10.0b7
3
+ Version: 2025.10.1
4
4
  Summary: Open-source home automation platform running on Python 3.
5
5
  Author-email: The Home Assistant Authors <hello@home-assistant.io>
6
6
  License-Expression: Apache-2.0
@@ -22,7 +22,7 @@ Description-Content-Type: text/x-rst
22
22
  License-File: LICENSE.md
23
23
  License-File: homeassistant/backports/LICENSE.Python
24
24
  Requires-Dist: aiodns==3.5.0
25
- Requires-Dist: aiohasupervisor==0.3.3b0
25
+ Requires-Dist: aiohasupervisor==0.3.3
26
26
  Requires-Dist: aiohttp==3.12.15
27
27
  Requires-Dist: aiohttp_cors==0.8.1
28
28
  Requires-Dist: aiohttp-fast-zlib==0.3.0