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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. homeassistant/components/aemet/sensor.py +1 -1
  2. homeassistant/components/airq/coordinator.py +2 -2
  3. homeassistant/components/alexa_devices/__init__.py +5 -2
  4. homeassistant/components/alexa_devices/notify.py +2 -0
  5. homeassistant/components/alexa_devices/quality_scale.yaml +1 -1
  6. homeassistant/components/alexa_devices/strings.json +11 -4
  7. homeassistant/components/alexa_devices/switch.py +2 -0
  8. homeassistant/components/alexa_devices/translations/bg.json +6 -4
  9. homeassistant/components/alexa_devices/translations/cs.json +0 -4
  10. homeassistant/components/alexa_devices/translations/de.json +6 -7
  11. homeassistant/components/alexa_devices/translations/el.json +4 -5
  12. homeassistant/components/alexa_devices/translations/en.json +12 -5
  13. homeassistant/components/alexa_devices/translations/es.json +0 -4
  14. homeassistant/components/alexa_devices/translations/et.json +4 -5
  15. homeassistant/components/alexa_devices/translations/ga.json +0 -6
  16. homeassistant/components/alexa_devices/translations/he.json +0 -4
  17. homeassistant/components/alexa_devices/translations/hu.json +0 -4
  18. homeassistant/components/alexa_devices/translations/id.json +1 -0
  19. homeassistant/components/alexa_devices/translations/lt.json +0 -4
  20. homeassistant/components/alexa_devices/translations/mk.json +12 -0
  21. homeassistant/components/alexa_devices/translations/nl.json +0 -4
  22. homeassistant/components/alexa_devices/translations/pl.json +0 -4
  23. homeassistant/components/alexa_devices/translations/pt.json +0 -4
  24. homeassistant/components/alexa_devices/translations/ru.json +4 -5
  25. homeassistant/components/alexa_devices/translations/sk.json +4 -5
  26. homeassistant/components/alexa_devices/translations/sv.json +17 -5
  27. homeassistant/components/alexa_devices/translations/tr.json +0 -4
  28. homeassistant/components/alexa_devices/translations/zh-Hans.json +15 -4
  29. homeassistant/components/alexa_devices/translations/zh-Hant.json +4 -5
  30. homeassistant/components/alexa_devices/utils.py +40 -0
  31. homeassistant/components/altruist/translations/id.json +11 -0
  32. homeassistant/components/anthropic/__init__.py +8 -1
  33. homeassistant/components/anthropic/translations/bg.json +21 -0
  34. homeassistant/components/anthropic/translations/ga.json +32 -1
  35. homeassistant/components/anthropic/translations/id.json +19 -0
  36. homeassistant/components/anthropic/translations/ru.json +30 -0
  37. homeassistant/components/buienradar/sensor.py +0 -1
  38. homeassistant/components/cambridge_audio/translations/sv.json +1 -1
  39. homeassistant/components/demo/translations/select.sv.json +2 -2
  40. homeassistant/components/derivative/translations/ga.json +20 -0
  41. homeassistant/components/derivative/translations/ru.json +3 -0
  42. homeassistant/components/devolo_home_control/translations/bg.json +6 -0
  43. homeassistant/components/devolo_home_control/translations/id.json +5 -0
  44. homeassistant/components/devolo_home_control/translations/sv.json +10 -0
  45. homeassistant/components/devolo_home_control/translations/zh-Hans.json +10 -0
  46. homeassistant/components/dlink/manifest.json +1 -1
  47. homeassistant/components/ecovacs/translations/sv.json +1 -1
  48. homeassistant/components/enphase_envoy/translations/sv.json +2 -2
  49. homeassistant/components/ezviz/translations/bg.json +6 -0
  50. homeassistant/components/ezviz/translations/mk.json +13 -0
  51. homeassistant/components/ezviz/translations/sv.json +10 -0
  52. homeassistant/components/ezviz/translations/zh-Hans.json +10 -0
  53. homeassistant/components/frontend/manifest.json +1 -1
  54. homeassistant/components/goodwe/translations/sv.json +5 -5
  55. homeassistant/components/google_generative_ai_conversation/__init__.py +15 -0
  56. homeassistant/components/google_generative_ai_conversation/config_flow.py +72 -36
  57. homeassistant/components/google_generative_ai_conversation/const.py +15 -2
  58. homeassistant/components/google_generative_ai_conversation/diagnostics.py +1 -0
  59. homeassistant/components/google_generative_ai_conversation/entity.py +7 -2
  60. homeassistant/components/google_generative_ai_conversation/helpers.py +73 -0
  61. homeassistant/components/google_generative_ai_conversation/strings.json +28 -1
  62. homeassistant/components/google_generative_ai_conversation/translations/bg.json +19 -0
  63. homeassistant/components/google_generative_ai_conversation/translations/de.json +28 -0
  64. homeassistant/components/google_generative_ai_conversation/translations/el.json +28 -0
  65. homeassistant/components/google_generative_ai_conversation/translations/en.json +28 -0
  66. homeassistant/components/google_generative_ai_conversation/translations/es.json +28 -0
  67. homeassistant/components/google_generative_ai_conversation/translations/et.json +28 -0
  68. homeassistant/components/google_generative_ai_conversation/translations/ga.json +9 -0
  69. homeassistant/components/google_generative_ai_conversation/translations/id.json +30 -0
  70. homeassistant/components/google_generative_ai_conversation/translations/mk.json +11 -0
  71. homeassistant/components/google_generative_ai_conversation/translations/ru.json +67 -0
  72. homeassistant/components/google_generative_ai_conversation/translations/sk.json +28 -0
  73. homeassistant/components/google_generative_ai_conversation/translations/sv.json +21 -0
  74. homeassistant/components/google_generative_ai_conversation/translations/zh-Hans.json +28 -0
  75. homeassistant/components/google_generative_ai_conversation/translations/zh-Hant.json +28 -0
  76. homeassistant/components/google_generative_ai_conversation/tts.py +48 -106
  77. homeassistant/components/group/translations/el.json +18 -18
  78. homeassistant/components/habitica/const.py +1 -1
  79. homeassistant/components/harmony/translations/select.sv.json +1 -1
  80. homeassistant/components/harmony/translations/sv.json +1 -1
  81. homeassistant/components/homeassistant_hardware/translations/ga.json +9 -0
  82. homeassistant/components/homeassistant_hardware/translations/mk.json +9 -0
  83. homeassistant/components/homeassistant_sky_connect/translations/ga.json +10 -0
  84. homeassistant/components/homeassistant_sky_connect/translations/mk.json +7 -0
  85. homeassistant/components/homeassistant_yellow/translations/ga.json +5 -0
  86. homeassistant/components/homewizard/translations/sv.json +3 -1
  87. homeassistant/components/http/auth.py +1 -1
  88. homeassistant/components/image/__init__.py +34 -3
  89. homeassistant/components/input_select/translations/sv.json +6 -6
  90. homeassistant/components/iron_os/translations/sv.json +1 -1
  91. homeassistant/components/keenetic_ndms2/translations/id.json +3 -0
  92. homeassistant/components/lamarzocco/translations/sv.json +3 -3
  93. homeassistant/components/lametric/translations/sv.json +2 -2
  94. homeassistant/components/lametric/update.py +1 -1
  95. homeassistant/components/lg_thinq/translations/sv.json +5 -5
  96. homeassistant/components/litterrobot/translations/bg.json +4 -0
  97. homeassistant/components/litterrobot/translations/ga.json +3 -0
  98. homeassistant/components/matter/translations/id.json +5 -0
  99. homeassistant/components/matter/vacuum.py +38 -26
  100. homeassistant/components/meater/__init__.py +5 -1
  101. homeassistant/components/meater/coordinator.py +4 -2
  102. homeassistant/components/media_source/local_source.py +21 -4
  103. homeassistant/components/mqtt/translations/bg.json +10 -0
  104. homeassistant/components/mqtt/translations/el.json +21 -0
  105. homeassistant/components/mqtt/translations/fi.json +3 -0
  106. homeassistant/components/mqtt/translations/ga.json +25 -0
  107. homeassistant/components/mqtt/translations/mk.json +23 -0
  108. homeassistant/components/mqtt/translations/ru.json +1 -0
  109. homeassistant/components/mqtt/translations/sv.json +24 -0
  110. homeassistant/components/mqtt/translations/zh-Hans.json +26 -0
  111. homeassistant/components/mqtt/translations/zh-Hant.json +19 -0
  112. homeassistant/components/music_assistant/button.py +0 -6
  113. homeassistant/components/ntfy/translations/id.json +13 -0
  114. homeassistant/components/ohme/translations/sv.json +1 -1
  115. homeassistant/components/ollama/__init__.py +2 -0
  116. homeassistant/components/ollama/const.py +2 -0
  117. homeassistant/components/ollama/translations/bg.json +19 -0
  118. homeassistant/components/ollama/translations/ga.json +31 -1
  119. homeassistant/components/ollama/translations/id.json +18 -0
  120. homeassistant/components/ollama/translations/mk.json +13 -1
  121. homeassistant/components/onewire/translations/sv.json +4 -4
  122. homeassistant/components/openai_conversation/__init__.py +2 -0
  123. homeassistant/components/openai_conversation/const.py +1 -1
  124. homeassistant/components/openai_conversation/conversation.py +1 -1
  125. homeassistant/components/openai_conversation/translations/bg.json +26 -0
  126. homeassistant/components/openai_conversation/translations/id.json +23 -0
  127. homeassistant/components/openai_conversation/translations/mk.json +44 -0
  128. homeassistant/components/playstation_network/translations/bg.json +25 -1
  129. homeassistant/components/playstation_network/translations/es.json +1 -1
  130. homeassistant/components/playstation_network/translations/ga.json +31 -0
  131. homeassistant/components/playstation_network/translations/id.json +14 -0
  132. homeassistant/components/playstation_network/translations/mk.json +18 -0
  133. homeassistant/components/playstation_network/translations/sv.json +29 -0
  134. homeassistant/components/playstation_network/translations/zh-Hans.json +29 -0
  135. homeassistant/components/qnap/translations/sv.json +1 -1
  136. homeassistant/components/remote_calendar/translations/fi.json +34 -0
  137. homeassistant/components/select/translations/sv.json +10 -10
  138. homeassistant/components/smarla/__init__.py +2 -2
  139. homeassistant/components/sonos/translations/bg.json +5 -0
  140. homeassistant/components/sonos/translations/el.json +6 -0
  141. homeassistant/components/sonos/translations/ga.json +8 -0
  142. homeassistant/components/sonos/translations/mk.json +10 -0
  143. homeassistant/components/sonos/translations/ru.json +6 -0
  144. homeassistant/components/sonos/translations/sv.json +6 -0
  145. homeassistant/components/sonos/translations/zh-Hans.json +9 -0
  146. homeassistant/components/sonos/translations/zh-Hant.json +6 -0
  147. homeassistant/components/switchbot/translations/bg.json +26 -0
  148. homeassistant/components/switchbot/translations/ga.json +33 -0
  149. homeassistant/components/switchbot/translations/id.json +19 -0
  150. homeassistant/components/switchbot/translations/mk.json +49 -0
  151. homeassistant/components/switchbot/translations/sv.json +52 -0
  152. homeassistant/components/switchbot/translations/zh-Hans.json +53 -0
  153. homeassistant/components/telegram_bot/__init__.py +20 -4
  154. homeassistant/components/telegram_bot/bot.py +33 -29
  155. homeassistant/components/telegram_bot/config_flow.py +49 -10
  156. homeassistant/components/telegram_bot/const.py +1 -1
  157. homeassistant/components/telegram_bot/strings.json +33 -10
  158. homeassistant/components/telegram_bot/translations/bg.json +0 -1
  159. homeassistant/components/telegram_bot/translations/cs.json +5 -12
  160. homeassistant/components/telegram_bot/translations/de.json +12 -11
  161. homeassistant/components/telegram_bot/translations/el.json +5 -12
  162. homeassistant/components/telegram_bot/translations/en-GB.json +5 -12
  163. homeassistant/components/telegram_bot/translations/en.json +35 -12
  164. homeassistant/components/telegram_bot/translations/es.json +5 -12
  165. homeassistant/components/telegram_bot/translations/et.json +11 -12
  166. homeassistant/components/telegram_bot/translations/fr.json +5 -12
  167. homeassistant/components/telegram_bot/translations/ga.json +5 -11
  168. homeassistant/components/telegram_bot/translations/he.json +3 -8
  169. homeassistant/components/telegram_bot/translations/hu.json +5 -12
  170. homeassistant/components/telegram_bot/translations/id.json +0 -5
  171. homeassistant/components/telegram_bot/translations/it.json +2 -5
  172. homeassistant/components/telegram_bot/translations/lt.json +5 -12
  173. homeassistant/components/telegram_bot/translations/mk.json +7 -5
  174. homeassistant/components/telegram_bot/translations/nl.json +5 -12
  175. homeassistant/components/telegram_bot/translations/pt.json +5 -12
  176. homeassistant/components/telegram_bot/translations/ru.json +12 -11
  177. homeassistant/components/telegram_bot/translations/sk.json +5 -12
  178. homeassistant/components/telegram_bot/translations/sv.json +5 -12
  179. homeassistant/components/telegram_bot/translations/tr.json +5 -12
  180. homeassistant/components/telegram_bot/translations/zh-Hans.json +5 -12
  181. homeassistant/components/telegram_bot/translations/zh-Hant.json +5 -12
  182. homeassistant/components/template/translations/sv.json +5 -5
  183. homeassistant/components/tilt_pi/translations/id.json +11 -0
  184. homeassistant/components/tts/__init__.py +15 -0
  185. homeassistant/components/unifiprotect/translations/zh-Hans.json +3 -3
  186. homeassistant/components/utility_meter/translations/sv.json +9 -9
  187. homeassistant/components/vegehub/translations/bg.json +2 -0
  188. homeassistant/components/vegehub/translations/id.json +11 -0
  189. homeassistant/components/whirlpool/translations/sv.json +12 -12
  190. homeassistant/components/zha/translations/bg.json +23 -0
  191. homeassistant/components/zha/translations/el.json +10 -0
  192. homeassistant/components/zha/translations/ga.json +20 -0
  193. homeassistant/components/zha/translations/id.json +6 -0
  194. homeassistant/components/zha/translations/sv.json +15 -0
  195. homeassistant/components/zha/translations/zh-Hans.json +50 -0
  196. homeassistant/components/zwave_js/api.py +1 -1
  197. homeassistant/components/zwave_js/config_flow.py +12 -8
  198. homeassistant/components/zwave_js/manifest.json +1 -1
  199. homeassistant/config_entries.py +6 -0
  200. homeassistant/const.py +1 -1
  201. homeassistant/package_constraints.txt +1 -1
  202. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/METADATA +1 -1
  203. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/RECORD +208 -192
  204. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/WHEEL +0 -0
  205. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/entry_points.txt +0 -0
  206. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/licenses/LICENSE.md +0 -0
  207. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  208. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b1.dist-info}/top_level.txt +0 -0
@@ -7,12 +7,12 @@
7
7
  "user": {
8
8
  "data": {
9
9
  "always_available": "Sensor alltid tillg\u00e4nglig",
10
- "cycle": "M\u00e4tar\u00e5terst\u00e4llningscykel",
10
+ "cycle": "M\u00e4tarnollst\u00e4llningsperiod",
11
11
  "delta_values": "Deltav\u00e4rden",
12
12
  "name": "Namn",
13
13
  "net_consumption": "Nettof\u00f6rbrukning",
14
- "offset": "F\u00f6rskjutning av m\u00e4tar\u00e5terst\u00e4llning",
15
- "periodically_resetting": "Periodisk \u00e5terst\u00e4llning",
14
+ "offset": "F\u00f6rskjutning av m\u00e4tarnollst\u00e4llning",
15
+ "periodically_resetting": "Periodisk nollst\u00e4llning",
16
16
  "source": "Ing\u00e5ngssensor",
17
17
  "tariffs": "Tariffer som st\u00f6ds"
18
18
  },
@@ -20,11 +20,11 @@
20
20
  "always_available": "Om aktiverat s\u00e5 kommer sensorn alltid att visa det senast k\u00e4nda v\u00e4rdet, \u00e4ven om k\u00e4llentiteten \u00e4r otillg\u00e4nglig eller ok\u00e4nd.",
21
21
  "delta_values": "Aktivera om k\u00e4llv\u00e4rdena \u00e4r deltav\u00e4rden sedan den senaste avl\u00e4sningen ist\u00e4llet f\u00f6r absoluta v\u00e4rden.",
22
22
  "net_consumption": "Aktivera om k\u00e4llan \u00e4r en nettom\u00e4tare, vilket betyder att den b\u00e5de kan \u00f6ka och minska.",
23
- "offset": "F\u00f6rskjut dagen f\u00f6r en m\u00e5natlig m\u00e4tar\u00e5terst\u00e4llning.",
23
+ "offset": "F\u00f6rskjut dagen f\u00f6r en m\u00e5natlig m\u00e4tarnollst\u00e4llning.",
24
24
  "periodically_resetting": "Aktivera om k\u00e4llan periodvis kan \u00e5terst\u00e4llas till 0, till exempel vid uppstart av m\u00e4tenheten. Om inaktiverat s\u00e5 registreras nya avl\u00e4sningar direkt efter att data varit otillg\u00e4ngligt.",
25
- "tariffs": "En lista \u00f6ver st\u00f6dda tariffer, l\u00e4mna tom om bara en enda tariff beh\u00f6vs."
25
+ "tariffs": "En lista \u00f6ver st\u00f6dda tariffer, l\u00e4mna tomt om bara en enda tariff beh\u00f6vs."
26
26
  },
27
- "description": "Skapa en sensor som f\u00f6ljer f\u00f6rbrukningen av t.ex. energi, gas, vatten, v\u00e4rme, \u00f6ver en konfigurerad tidsperiod, vanligen m\u00e5nadsvis. M\u00e4tarsensorn st\u00f6der valfritt att dela upp f\u00f6rbrukningen efter tariffer, i s\u00e5 fall skapas en sensor f\u00f6r varje tariff samt en v\u00e4ljarentitet f\u00f6r att v\u00e4lja den aktuella tariffen.",
27
+ "description": "Skapa en sensor som f\u00f6ljer f\u00f6rbrukningen av t.ex. energi, gas, vatten eller v\u00e4rme, \u00f6ver en konfigurerad tidsperiod, vanligen m\u00e5nadsvis. M\u00e4tarsensorn st\u00f6der valfritt att dela upp f\u00f6rbrukningen efter tariffer, i s\u00e5 fall skapas en sensor f\u00f6r varje tariff samt en valentitet f\u00f6r att v\u00e4lja den aktuella tariffen.",
28
28
  "title": "Skapa m\u00e4tare"
29
29
  }
30
30
  }
@@ -34,7 +34,7 @@
34
34
  "init": {
35
35
  "data": {
36
36
  "always_available": "Sensor alltid tillg\u00e4nglig",
37
- "periodically_resetting": "Periodisk \u00e5terst\u00e4llning",
37
+ "periodically_resetting": "Periodisk nollst\u00e4llning",
38
38
  "source": "Ing\u00e5ngssensor"
39
39
  },
40
40
  "data_description": {
@@ -51,7 +51,7 @@
51
51
  "daily": "Dagligen",
52
52
  "hourly": "Timvis",
53
53
  "monthly": "M\u00e5nadsvis",
54
- "none": "Ingen cykel",
54
+ "none": "Ingen period",
55
55
  "quarter-hourly": "Kvartsvis",
56
56
  "quarterly": "Kvartalsvis",
57
57
  "weekly": "Veckovis",
@@ -71,7 +71,7 @@
71
71
  "name": "Kalibrera"
72
72
  },
73
73
  "reset": {
74
- "description": "\u00c5terst\u00e4ller alla r\u00e4knare f\u00f6r en m\u00e4tare.",
74
+ "description": "Nollst\u00e4ller alla r\u00e4knare f\u00f6r en m\u00e4tare.",
75
75
  "name": "Nollst\u00e4ll"
76
76
  }
77
77
  },
@@ -2,6 +2,8 @@
2
2
  "config": {
3
3
  "abort": {
4
4
  "already_configured": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u0442\u043e \u0432\u0435\u0447\u0435 \u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u043e.",
5
+ "already_in_progress": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u0442\u043e \u0432\u0435\u0447\u0435 \u0435 \u043e\u0442\u043a\u0440\u0438\u0442\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u0435\u0442\u0435 \u043e\u0442\u043a\u0440\u0438\u0442\u0438\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.",
6
+ "cannot_connect": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435 \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u0442\u043e. \u041c\u043e\u043b\u044f, \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e.",
5
7
  "unknown_error": "\u0412\u044a\u0437\u043d\u0438\u043a\u043d\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430."
6
8
  },
7
9
  "error": {
@@ -0,0 +1,11 @@
1
+ {
2
+ "config": {
3
+ "step": {
4
+ "user": {
5
+ "data": {
6
+ "ip_address": "Alamat IP"
7
+ }
8
+ }
9
+ }
10
+ }
11
+ }
@@ -52,12 +52,12 @@
52
52
  "state": {
53
53
  "complete": "F\u00e4rdig",
54
54
  "customer_focus_mode": "Kundfokusl\u00e4ge",
55
- "cycle_filling": "Cykel fyllning",
56
- "cycle_rinsing": "Cykel sk\u00f6ljning",
57
- "cycle_sensing": "Cykel avk\u00e4nning",
58
- "cycle_soaking": "Cykel bl\u00f6tl\u00e4ggning",
59
- "cycle_spinning": "Cykel snurrar",
60
- "cycle_washing": "Cykel tv\u00e4tt",
55
+ "cycle_filling": "Fyller",
56
+ "cycle_rinsing": "Sk\u00f6ljer",
57
+ "cycle_sensing": "Kontrollerar",
58
+ "cycle_soaking": "Bl\u00f6tl\u00e4gger",
59
+ "cycle_spinning": "Centrifugerar",
60
+ "cycle_washing": "Tv\u00e4ttfas",
61
61
  "delay_countdown": "F\u00f6rdr\u00f6jning nedr\u00e4kning",
62
62
  "delay_paused": "F\u00f6rdr\u00f6jning pausad",
63
63
  "demo_mode": "Demol\u00e4ge",
@@ -86,12 +86,12 @@
86
86
  "state": {
87
87
  "complete": "F\u00e4rdig",
88
88
  "customer_focus_mode": "Kundfokusl\u00e4ge",
89
- "cycle_filling": "Cykel fyllning",
90
- "cycle_rinsing": "Cykel sk\u00f6ljning",
91
- "cycle_sensing": "Cykel avk\u00e4nning",
92
- "cycle_soaking": "Cykel bl\u00f6tl\u00e4ggning",
93
- "cycle_spinning": "Cykel snurrar",
94
- "cycle_washing": "Cykel tv\u00e4tt",
89
+ "cycle_filling": "Fyller",
90
+ "cycle_rinsing": "Sk\u00f6ljer",
91
+ "cycle_sensing": "Kontrollerar",
92
+ "cycle_soaking": "Bl\u00f6tl\u00e4gger",
93
+ "cycle_spinning": "Centrifugerar",
94
+ "cycle_washing": "Tv\u00e4ttfas",
95
95
  "delay_countdown": "F\u00f6rdr\u00f6jning nedr\u00e4kning",
96
96
  "delay_paused": "F\u00f6rdr\u00f6jning pausad",
97
97
  "demo_mode": "Demol\u00e4ge",
@@ -199,6 +199,9 @@
199
199
  "portion_weight": {
200
200
  "name": "\u0422\u0435\u0433\u043b\u043e \u043d\u0430 \u043f\u043e\u0440\u0446\u0438\u044f\u0442\u0430"
201
201
  },
202
+ "sound_volume": {
203
+ "name": "\u0421\u0438\u043b\u0430 \u043d\u0430 \u0437\u0432\u0443\u043a\u0430"
204
+ },
202
205
  "timer_duration": {
203
206
  "name": "\u041f\u0440\u043e\u0434\u044a\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u043e\u0441\u0442 \u043d\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u0430"
204
207
  },
@@ -285,6 +288,26 @@
285
288
  "internal_temp_monitor": {
286
289
  "name": "\u0412\u044a\u0442\u0440\u0435\u0448\u043d\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430"
287
290
  },
291
+ "last_action": {
292
+ "name": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435",
293
+ "state": {
294
+ "lock": "\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0430",
295
+ "unlock": "\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430"
296
+ }
297
+ },
298
+ "last_action_source": {
299
+ "state": {
300
+ "fingerprint": "\u041f\u0440\u044a\u0441\u0442\u043e\u0432 \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u044a\u043a",
301
+ "rfid": "RFID",
302
+ "zigbee": "Zigbee"
303
+ }
304
+ },
305
+ "last_action_user": {
306
+ "name": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f"
307
+ },
308
+ "last_pin_code": {
309
+ "name": "\u041f\u043e\u0441\u043b\u0435\u0434\u0435\u043d \u041f\u0418\u041d \u043a\u043e\u0434"
310
+ },
288
311
  "leaf_wetness": {
289
312
  "name": "\u0412\u043b\u0430\u0436\u043d\u043e\u0441\u0442 \u043d\u0430 \u043b\u0438\u0441\u0442\u0430\u0442\u0430"
290
313
  },
@@ -322,6 +322,9 @@
322
322
  "tilt_open_close_and_step_time": {
323
323
  "name": "\u03a7\u03c1\u03cc\u03bd\u03bf\u03c2 \u03b1\u03bd\u03bf\u03af\u03b3\u03bc\u03b1\u03c4\u03bf\u03c2 \u03ba\u03b1\u03b9 \u03ba\u03bb\u03b5\u03b9\u03c3\u03af\u03bc\u03b1\u03c4\u03bf\u03c2, \u03ba\u03bb\u03af\u03c3\u03b7\u03c2 \u03ba\u03b1\u03b9 \u03b2\u03ae\u03bc\u03b1\u03c4\u03bf\u03c2"
324
324
  },
325
+ "tilt_position_percentage_after_move_to_level": {
326
+ "name": "\u03a0\u03bf\u03c3\u03bf\u03c3\u03c4\u03cc \u03b8\u03ad\u03c3\u03b7\u03c2 \u03ba\u03bb\u03af\u03c3\u03b7\u03c2 \u03bc\u03b5\u03c4\u03ac \u03c4\u03b7\u03bd \u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c3\u03c4\u03bf \u03b5\u03c0\u03af\u03c0\u03b5\u03b4\u03bf"
327
+ },
325
328
  "timer_duration": {
326
329
  "name": "\u0394\u03b9\u03ac\u03c1\u03ba\u03b5\u03b9\u03b1 \u03c7\u03c1\u03bf\u03bd\u03bf\u03b4\u03b9\u03b1\u03ba\u03cc\u03c0\u03c4\u03b7"
327
330
  },
@@ -384,6 +387,12 @@
384
387
  "speed": {
385
388
  "name": "\u03a4\u03b1\u03c7\u03cd\u03c4\u03b7\u03c4\u03b1"
386
389
  },
390
+ "switch_actions": {
391
+ "name": "\u0395\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae \u03b5\u03bd\u03b5\u03c1\u03b3\u03b5\u03b9\u03ce\u03bd"
392
+ },
393
+ "switch_indication": {
394
+ "name": "\u0395\u03bd\u03b4\u03b5\u03b9\u03be\u03b7 \u03b4\u03b9\u03b1\u03ba\u03cc\u03c0\u03c4\u03b7"
395
+ },
387
396
  "valve_orientation": {
388
397
  "name": "\u03a0\u03c1\u03bf\u03c3\u03b1\u03bd\u03b1\u03c4\u03bf\u03bb\u03b9\u03c3\u03bc\u03cc\u03c2 \u03b2\u03b1\u03bb\u03b2\u03af\u03b4\u03b1\u03c2"
389
398
  },
@@ -447,6 +456,7 @@
447
456
  "name": "\u03a9\u03c1\u03b1 \u03ad\u03bd\u03b1\u03c1\u03be\u03b7\u03c2 \u03ac\u03c1\u03b4\u03b5\u03c5\u03c3\u03b7\u03c2"
448
457
  },
449
458
  "last_action": {
459
+ "name": "\u03a4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b1 \u03b5\u03bd\u03ad\u03c1\u03b3\u03b5\u03b9\u03b1",
450
460
  "state": {
451
461
  "lock": "\u039a\u03bb\u03b5\u03b9\u03b4\u03c9\u03bc\u03ad\u03bd\u03b7",
452
462
  "unlock": "\u039e\u03b5\u03ba\u03bb\u03b5\u03af\u03b4\u03c9\u03c4\u03b7"
@@ -536,6 +536,20 @@
536
536
  "humidity_alarm": {
537
537
  "name": "Al\u00e1ram taise"
538
538
  },
539
+ "last_action_source": {
540
+ "state": {
541
+ "keypad": "M\u00e9archl\u00e1r",
542
+ "rfid": "RFID",
543
+ "self": "F\u00e9in",
544
+ "zigbee": "Zigbee"
545
+ }
546
+ },
547
+ "last_action_user": {
548
+ "name": "\u00das\u00e1ideoir an gn\u00edomh deireanach"
549
+ },
550
+ "last_pin_code": {
551
+ "name": "C\u00f3d PIN deireanach"
552
+ },
539
553
  "last_watering_duration": {
540
554
  "name": "Fad an uisce dheireanaigh"
541
555
  },
@@ -554,6 +568,9 @@
554
568
  "lower_explosive_limit": {
555
569
  "name": "% Teorainn phl\u00e9ascach n\u00edos \u00edsle"
556
570
  },
571
+ "opening": {
572
+ "name": "Oscailt"
573
+ },
557
574
  "power_factor_ph_b": {
558
575
  "name": "Facht\u00f3ir cumhachta c\u00e9im B"
559
576
  },
@@ -636,6 +653,9 @@
636
653
  "auto_clean": {
637
654
  "name": "Glanadh uathoibr\u00edoch"
638
655
  },
656
+ "auto_relock": {
657
+ "name": "Athghlas\u00e1il uathoibr\u00edoch"
658
+ },
639
659
  "away_mode": {
640
660
  "name": "M\u00f3d as baile"
641
661
  },
@@ -264,6 +264,12 @@
264
264
  "device_status": {
265
265
  "name": "Status perangkat"
266
266
  },
267
+ "last_action": {
268
+ "state": {
269
+ "lock": "Terkunci",
270
+ "unlock": "Terbuka"
271
+ }
272
+ },
267
273
  "lifetime": {
268
274
  "name": "Seumur hidup"
269
275
  },
@@ -705,6 +705,9 @@
705
705
  "small_move_sensitivity": {
706
706
  "name": "K\u00e4nslighet f\u00f6r sm\u00e5 r\u00f6relser"
707
707
  },
708
+ "sound_volume": {
709
+ "name": "Ljudvolym"
710
+ },
708
711
  "start_up_color_temperature": {
709
712
  "name": "F\u00e4rgtemperatur vid start"
710
713
  },
@@ -1135,6 +1138,12 @@
1135
1138
  "irrigation_start_time": {
1136
1139
  "name": "Starttid f\u00f6r bevattning"
1137
1140
  },
1141
+ "last_action": {
1142
+ "state": {
1143
+ "lock": "L\u00e5st",
1144
+ "unlock": "Ol\u00e5st"
1145
+ }
1146
+ },
1138
1147
  "last_feeding_size": {
1139
1148
  "name": "Senaste foderstorlek"
1140
1149
  },
@@ -1183,6 +1192,9 @@
1183
1192
  "open_window_detected": {
1184
1193
  "name": "\u00d6ppet f\u00f6nster uppt\u00e4ckt"
1185
1194
  },
1195
+ "opening": {
1196
+ "name": "\u00d6ppning"
1197
+ },
1186
1198
  "overheated": {
1187
1199
  "name": "\u00d6verhettningsskydd"
1188
1200
  },
@@ -1374,6 +1386,9 @@
1374
1386
  "auto_clean": {
1375
1387
  "name": "Autoreng\u00f6ring"
1376
1388
  },
1389
+ "auto_relock": {
1390
+ "name": "Automatisk \u00e5terl\u00e5sning"
1391
+ },
1377
1392
  "aux_switch_scenes": {
1378
1393
  "name": "Brytare f\u00f6r Aux-scener"
1379
1394
  },
@@ -549,6 +549,12 @@
549
549
  "led_intensity_when_on": {
550
550
  "name": "\u9ed8\u8ba4\u6240\u6709 LED \u4eae\u8d77\u5f3a\u5ea6"
551
551
  },
552
+ "lift_drive_down_time": {
553
+ "name": "\u5347\u964d\u673a\u4e0b\u964d\u65f6\u95f4"
554
+ },
555
+ "lift_drive_up_time": {
556
+ "name": "\u5347\u964d\u673a\u4e0a\u5347\u65f6\u95f4"
557
+ },
552
558
  "liquid_depth_max": {
553
559
  "name": "\u4f20\u611f\u5668\u5230\u6db2\u4f4d\u7684\u9ad8\u5ea6"
554
560
  },
@@ -708,6 +714,9 @@
708
714
  "small_move_sensitivity": {
709
715
  "name": "\u5c0f\u52a8\u4f5c\u7075\u654f\u5ea6"
710
716
  },
717
+ "sound_volume": {
718
+ "name": "\u97f3\u91cf"
719
+ },
711
720
  "start_up_color_temperature": {
712
721
  "name": "\u542f\u52a8\u8272\u6e29"
713
722
  },
@@ -741,6 +750,12 @@
741
750
  "temperature_sensitivity": {
742
751
  "name": "\u6e29\u5ea6\u654f\u611f\u6027"
743
752
  },
753
+ "tilt_open_close_and_step_time": {
754
+ "name": "\u503e\u659c\u5f00\u542f\u5173\u95ed\u548c\u6b65\u8fdb\u65f6\u95f4"
755
+ },
756
+ "tilt_position_percentage_after_move_to_level": {
757
+ "name": "\u79fb\u81f3\u6c34\u5e73\u540e\u503e\u659c\u4f4d\u7f6e\u767e\u5206\u6bd4"
758
+ },
744
759
  "timer_duration": {
745
760
  "name": "\u8ba1\u65f6\u5668\u65f6\u957f"
746
761
  },
@@ -986,6 +1001,12 @@
986
1001
  "status_indication": {
987
1002
  "name": "\u72b6\u6001\u6307\u793a"
988
1003
  },
1004
+ "switch_actions": {
1005
+ "name": "\u5f00\u5173\u64cd\u4f5c"
1006
+ },
1007
+ "switch_indication": {
1008
+ "name": "\u5f00\u5173\u6307\u793a"
1009
+ },
989
1010
  "switch_mode": {
990
1011
  "name": "\u5f00\u5173\u6a21\u5f0f"
991
1012
  },
@@ -1138,6 +1159,26 @@
1138
1159
  "irrigation_start_time": {
1139
1160
  "name": "\u704c\u6e89\u5f00\u59cb\u65f6\u95f4"
1140
1161
  },
1162
+ "last_action": {
1163
+ "name": "\u4e0a\u6b21\u64cd\u4f5c",
1164
+ "state": {
1165
+ "lock": "\u5df2\u9501\u5b9a",
1166
+ "unlock": "\u5df2\u89e3\u9501"
1167
+ }
1168
+ },
1169
+ "last_action_source": {
1170
+ "name": "\u4e0a\u6b21\u64cd\u4f5c\u6765\u6e90",
1171
+ "state": {
1172
+ "fingerprint": "\u6307\u7eb9",
1173
+ "keypad": "\u952e\u76d8",
1174
+ "rfid": "RFID",
1175
+ "self": "\u81ea\u8eab",
1176
+ "zigbee": "Zigbee"
1177
+ }
1178
+ },
1179
+ "last_action_user": {
1180
+ "name": "\u4e0a\u6b21\u64cd\u4f5c\u7528\u6237"
1181
+ },
1141
1182
  "last_feeding_size": {
1142
1183
  "name": "\u4e0a\u6b21\u5582\u98df\u5c3a\u5bf8"
1143
1184
  },
@@ -1147,6 +1188,9 @@
1147
1188
  "last_illumination_state": {
1148
1189
  "name": "\u4e0a\u6b21\u7167\u660e\u72b6\u6001"
1149
1190
  },
1191
+ "last_pin_code": {
1192
+ "name": "\u4e0a\u6b21 PIN \u7801"
1193
+ },
1150
1194
  "last_valve_open_duration": {
1151
1195
  "name": "\u4e0a\u6b21\u9600\u95e8\u5f00\u542f\u65f6\u957f"
1152
1196
  },
@@ -1186,6 +1230,9 @@
1186
1230
  "open_window_detected": {
1187
1231
  "name": "\u68c0\u6d4b\u5230\u7a97\u6237\u6253\u5f00"
1188
1232
  },
1233
+ "opening": {
1234
+ "name": "\u6b63\u5728\u6253\u5f00"
1235
+ },
1189
1236
  "overheated": {
1190
1237
  "name": "\u8fc7\u70ed\u4fdd\u62a4"
1191
1238
  },
@@ -1377,6 +1424,9 @@
1377
1424
  "auto_clean": {
1378
1425
  "name": "\u81ea\u52a8\u6e05\u6d01"
1379
1426
  },
1427
+ "auto_relock": {
1428
+ "name": "\u81ea\u52a8\u91cd\u65b0\u9501\u5b9a"
1429
+ },
1380
1430
  "aux_switch_scenes": {
1381
1431
  "name": "\u8f85\u52a9\u5207\u6362\u573a\u666f"
1382
1432
  },
@@ -3105,7 +3105,7 @@ async def websocket_restore_nvm(
3105
3105
  driver.once("driver ready", set_driver_ready),
3106
3106
  ]
3107
3107
 
3108
- await controller.async_restore_nvm_base64(msg["data"])
3108
+ await controller.async_restore_nvm_base64(msg["data"], {"preserveRoutes": False})
3109
3109
 
3110
3110
  with suppress(TimeoutError):
3111
3111
  async with asyncio.timeout(DRIVER_READY_TIMEOUT):
@@ -138,13 +138,15 @@ def get_usb_ports() -> dict[str, str]:
138
138
  )
139
139
  port_descriptions[dev_path] = human_name
140
140
 
141
- # Sort the dictionary by description, putting "n/a" last
142
- return dict(
143
- sorted(
144
- port_descriptions.items(),
145
- key=lambda x: x[1].lower().startswith("n/a"),
146
- )
147
- )
141
+ # Filter out "n/a" descriptions only if there are other ports available
142
+ non_na_ports = {
143
+ path: desc
144
+ for path, desc in port_descriptions.items()
145
+ if not desc.lower().startswith("n/a")
146
+ }
147
+
148
+ # If we have non-"n/a" ports, return only those; otherwise return all ports as-is
149
+ return non_na_ports if non_na_ports else port_descriptions
148
150
 
149
151
 
150
152
  async def async_get_usb_ports(hass: HomeAssistant) -> dict[str, str]:
@@ -1400,7 +1402,9 @@ class ZWaveJSConfigFlow(ConfigFlow, domain=DOMAIN):
1400
1402
  driver.once("driver ready", set_driver_ready),
1401
1403
  ]
1402
1404
  try:
1403
- await controller.async_restore_nvm(self.backup_data)
1405
+ await controller.async_restore_nvm(
1406
+ self.backup_data, {"preserveRoutes": False}
1407
+ )
1404
1408
  except FailedCommand as err:
1405
1409
  raise AbortFlow(f"Failed to restore network: {err}") from err
1406
1410
  else:
@@ -9,7 +9,7 @@
9
9
  "integration_type": "hub",
10
10
  "iot_class": "local_push",
11
11
  "loggers": ["zwave_js_server"],
12
- "requirements": ["pyserial==3.5", "zwave-js-server-python==0.64.0"],
12
+ "requirements": ["pyserial==3.5", "zwave-js-server-python==0.65.0"],
13
13
  "usb": [
14
14
  {
15
15
  "vid": "0658",
@@ -1646,6 +1646,7 @@ class ConfigEntriesFlowManager(
1646
1646
  report_usage(
1647
1647
  "creates a config entry when another entry with the same unique ID "
1648
1648
  "exists",
1649
+ breaks_in_ha_version="2026.3",
1649
1650
  core_behavior=ReportBehavior.LOG,
1650
1651
  core_integration_behavior=ReportBehavior.LOG,
1651
1652
  custom_integration_behavior=ReportBehavior.LOG,
@@ -3420,6 +3421,11 @@ class ConfigSubentryFlow(
3420
3421
  """Return config entry id."""
3421
3422
  return self.handler[0]
3422
3423
 
3424
+ @property
3425
+ def _subentry_type(self) -> str:
3426
+ """Return type of subentry we are editing/creating."""
3427
+ return self.handler[1]
3428
+
3423
3429
  @callback
3424
3430
  def _get_entry(self) -> ConfigEntry:
3425
3431
  """Return the config entry linked to the current context."""
homeassistant/const.py CHANGED
@@ -25,7 +25,7 @@ if TYPE_CHECKING:
25
25
  APPLICATION_NAME: Final = "HomeAssistant"
26
26
  MAJOR_VERSION: Final = 2025
27
27
  MINOR_VERSION: Final = 7
28
- PATCH_VERSION: Final = "0b0"
28
+ PATCH_VERSION: Final = "0b1"
29
29
  __short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
30
30
  __version__: Final = f"{__short_version__}.{PATCH_VERSION}"
31
31
  REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 13, 2)
@@ -38,7 +38,7 @@ habluetooth==3.49.0
38
38
  hass-nabucasa==0.104.0
39
39
  hassil==2.2.3
40
40
  home-assistant-bluetooth==1.13.1
41
- home-assistant-frontend==20250625.0
41
+ home-assistant-frontend==20250626.0
42
42
  home-assistant-intents==2025.6.23
43
43
  httpx==0.28.1
44
44
  ifaddr==0.2.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: homeassistant
3
- Version: 2025.7.0b0
3
+ Version: 2025.7.0b1
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