homeassistant 2025.12.0b5__py3-none-any.whl → 2025.12.0b8__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 (144) hide show
  1. homeassistant/components/airobot/translations/el.json +5 -1
  2. homeassistant/components/airobot/translations/en-GB.json +5 -1
  3. homeassistant/components/airobot/translations/lt.json +5 -1
  4. homeassistant/components/airobot/translations/sk.json +5 -1
  5. homeassistant/components/alarm_control_panel/translations/cs.json +3 -1
  6. homeassistant/components/alarm_control_panel/translations/de.json +1 -1
  7. homeassistant/components/alarm_control_panel/translations/en-GB.json +21 -7
  8. homeassistant/components/alarm_control_panel/translations/es.json +13 -7
  9. homeassistant/components/alarm_control_panel/translations/lt.json +21 -7
  10. homeassistant/components/alarm_control_panel/translations/sk.json +21 -7
  11. homeassistant/components/anglian_water/translations/en-GB.json +2 -1
  12. homeassistant/components/anglian_water/translations/lt.json +2 -1
  13. homeassistant/components/anglian_water/translations/sk.json +2 -1
  14. homeassistant/components/assist_satellite/manifest.json +1 -1
  15. homeassistant/components/assist_satellite/translations/en-GB.json +12 -4
  16. homeassistant/components/assist_satellite/translations/es.json +12 -4
  17. homeassistant/components/assist_satellite/translations/lt.json +12 -4
  18. homeassistant/components/assist_satellite/translations/sk.json +12 -4
  19. homeassistant/components/automation/manifest.json +2 -0
  20. homeassistant/components/automation/translations/en-GB.json +8 -0
  21. homeassistant/components/automation/translations/es.json +8 -0
  22. homeassistant/components/automation/translations/fr.json +8 -0
  23. homeassistant/components/automation/translations/lt.json +8 -0
  24. homeassistant/components/automation/translations/sk.json +8 -0
  25. homeassistant/components/binary_sensor/strings.json +4 -4
  26. homeassistant/components/binary_sensor/translations/de.json +3 -3
  27. homeassistant/components/binary_sensor/translations/en-GB.json +36 -1
  28. homeassistant/components/binary_sensor/translations/en.json +4 -4
  29. homeassistant/components/binary_sensor/translations/es.json +36 -1
  30. homeassistant/components/binary_sensor/translations/et.json +0 -4
  31. homeassistant/components/binary_sensor/translations/lt.json +36 -1
  32. homeassistant/components/binary_sensor/translations/sk.json +4 -4
  33. homeassistant/components/binary_sensor/translations/zh-Hant.json +3 -3
  34. homeassistant/components/binary_sensor/triggers.yaml +2 -2
  35. homeassistant/components/camera/__init__.py +1 -1
  36. homeassistant/components/climate/translations/en-GB.json +15 -5
  37. homeassistant/components/climate/translations/es.json +11 -5
  38. homeassistant/components/climate/translations/lt.json +15 -5
  39. homeassistant/components/climate/translations/sk.json +15 -5
  40. homeassistant/components/cloud/client.py +9 -5
  41. homeassistant/components/cloud/http_api.py +21 -0
  42. homeassistant/components/conversation/manifest.json +1 -1
  43. homeassistant/components/esphome/translations/lt.json +1 -0
  44. homeassistant/components/fan/translations/en-GB.json +6 -2
  45. homeassistant/components/fan/translations/es.json +2 -1
  46. homeassistant/components/fan/translations/lt.json +6 -2
  47. homeassistant/components/fan/translations/sk.json +6 -2
  48. homeassistant/components/google_air_quality/translations/en-GB.json +154 -1
  49. homeassistant/components/group/notify.py +28 -5
  50. homeassistant/components/hassio/const.py +1 -0
  51. homeassistant/components/hassio/strings.json +1 -1
  52. homeassistant/components/hassio/translations/cs.json +0 -1
  53. homeassistant/components/hassio/translations/de.json +1 -1
  54. homeassistant/components/hassio/translations/el.json +0 -1
  55. homeassistant/components/hassio/translations/en-GB.json +1 -1
  56. homeassistant/components/hassio/translations/en.json +1 -1
  57. homeassistant/components/hassio/translations/es.json +1 -1
  58. homeassistant/components/hassio/translations/et.json +0 -1
  59. homeassistant/components/hassio/translations/fr.json +0 -1
  60. homeassistant/components/hassio/translations/fy.json +0 -3
  61. homeassistant/components/hassio/translations/ga.json +0 -1
  62. homeassistant/components/hassio/translations/he.json +0 -1
  63. homeassistant/components/hassio/translations/id.json +0 -1
  64. homeassistant/components/hassio/translations/lt.json +1 -1
  65. homeassistant/components/hassio/translations/mk.json +0 -1
  66. homeassistant/components/hassio/translations/nl.json +0 -1
  67. homeassistant/components/hassio/translations/pt.json +0 -1
  68. homeassistant/components/hassio/translations/ru.json +0 -1
  69. homeassistant/components/hassio/translations/sk.json +1 -1
  70. homeassistant/components/hassio/translations/sv.json +0 -1
  71. homeassistant/components/hassio/translations/tr.json +0 -1
  72. homeassistant/components/hassio/translations/zh-Hans.json +0 -1
  73. homeassistant/components/hassio/translations/zh-Hant.json +1 -1
  74. homeassistant/components/homeassistant_connect_zbt2/config_flow.py +0 -17
  75. homeassistant/components/homeassistant_connect_zbt2/const.py +0 -58
  76. homeassistant/components/homeassistant_hardware/firmware_config_flow.py +0 -5
  77. homeassistant/components/hue_ble/translations/en-GB.json +2 -1
  78. homeassistant/components/hue_ble/translations/lt.json +2 -1
  79. homeassistant/components/hue_ble/translations/sk.json +2 -1
  80. homeassistant/components/iometer/manifest.json +1 -1
  81. homeassistant/components/lawn_mower/translations/en-GB.json +12 -4
  82. homeassistant/components/lawn_mower/translations/es.json +4 -4
  83. homeassistant/components/lawn_mower/translations/lt.json +12 -4
  84. homeassistant/components/lawn_mower/translations/sk.json +12 -4
  85. homeassistant/components/letpot/manifest.json +1 -1
  86. homeassistant/components/libre_hardware_monitor/coordinator.py +26 -18
  87. homeassistant/components/light/translations/en-GB.json +6 -2
  88. homeassistant/components/light/translations/es.json +2 -2
  89. homeassistant/components/light/translations/lt.json +6 -2
  90. homeassistant/components/light/translations/sk.json +6 -2
  91. homeassistant/components/media_player/translations/en-GB.json +3 -1
  92. homeassistant/components/media_player/translations/es.json +1 -1
  93. homeassistant/components/media_player/translations/lt.json +3 -1
  94. homeassistant/components/media_player/translations/sk.json +3 -1
  95. homeassistant/components/miele/translations/en-GB.json +1 -0
  96. homeassistant/components/miele/translations/lt.json +1 -0
  97. homeassistant/components/mqtt/translations/en-GB.json +3 -1
  98. homeassistant/components/mqtt/translations/es.json +1 -1
  99. homeassistant/components/mqtt/translations/lt.json +5 -1
  100. homeassistant/components/mqtt/translations/sk.json +3 -1
  101. homeassistant/components/music_assistant/__init__.py +2 -1
  102. homeassistant/components/music_assistant/config_flow.py +23 -5
  103. homeassistant/components/nest/manifest.json +1 -1
  104. homeassistant/components/nordpool/manifest.json +1 -1
  105. homeassistant/components/oralb/manifest.json +1 -0
  106. homeassistant/components/ping/helpers.py +1 -1
  107. homeassistant/components/plugwise/translations/en-GB.json +1 -1
  108. homeassistant/components/roborock/manifest.json +1 -1
  109. homeassistant/components/roborock/roborock_storage.py +29 -10
  110. homeassistant/components/tedee/manifest.json +1 -0
  111. homeassistant/components/text/translations/en-GB.json +7 -1
  112. homeassistant/components/text/translations/es.json +1 -1
  113. homeassistant/components/text/translations/lt.json +7 -1
  114. homeassistant/components/text/translations/sk.json +7 -1
  115. homeassistant/components/unifiprotect/translations/el.json +6 -0
  116. homeassistant/components/unifiprotect/translations/lt.json +10 -0
  117. homeassistant/components/vacuum/translations/en-GB.json +12 -4
  118. homeassistant/components/vacuum/translations/es.json +3 -3
  119. homeassistant/components/vacuum/translations/lt.json +12 -4
  120. homeassistant/components/vacuum/translations/sk.json +12 -4
  121. homeassistant/components/wled/config_flow.py +5 -1
  122. homeassistant/components/wled/coordinator.py +9 -0
  123. homeassistant/components/wled/strings.json +10 -2
  124. homeassistant/components/wled/translations/de.json +10 -2
  125. homeassistant/components/wled/translations/en-GB.json +10 -2
  126. homeassistant/components/wled/translations/en.json +10 -2
  127. homeassistant/components/wled/translations/es.json +10 -2
  128. homeassistant/components/wled/translations/lt.json +10 -2
  129. homeassistant/components/wled/translations/sk.json +10 -2
  130. homeassistant/components/wled/translations/zh-Hant.json +10 -2
  131. homeassistant/components/wled/update.py +1 -1
  132. homeassistant/components/zha/config_flow.py +2 -6
  133. homeassistant/components/zha/radio_manager.py +2 -2
  134. homeassistant/const.py +1 -1
  135. homeassistant/generated/integrations.json +2 -2
  136. homeassistant/generated/labs.py +2 -2
  137. homeassistant/package_constraints.txt +1 -1
  138. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.0b8.dist-info}/METADATA +1 -1
  139. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.0b8.dist-info}/RECORD +144 -144
  140. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.0b8.dist-info}/WHEEL +0 -0
  141. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.0b8.dist-info}/entry_points.txt +0 -0
  142. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.0b8.dist-info}/licenses/LICENSE.md +0 -0
  143. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.0b8.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  144. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.0b8.dist-info}/top_level.txt +0 -0
@@ -113,36 +113,44 @@
113
113
  "title": "Dulki\u0173 siurblys",
114
114
  "triggers": {
115
115
  "docked": {
116
+ "description": "Suveikia, kai vienas ar keli dulki\u0173 siurbliai gr\u012f\u017eta \u012f dok\u0105.",
116
117
  "fields": {
117
118
  "behavior": {
118
119
  "description": "Tikslini\u0173 dulki\u0173 siurbli\u0173 \u012fjungimo elgsena.",
119
120
  "name": "Elgesys"
120
121
  }
121
- }
122
+ },
123
+ "name": "Dulki\u0173 siurblys gr\u012f\u017eo \u012f dok\u0105"
122
124
  },
123
125
  "errored": {
126
+ "description": "Suveikia po to, kai vienas ar keli dulki\u0173 siurbliai aptinka klaid\u0105.",
124
127
  "fields": {
125
128
  "behavior": {
126
129
  "description": "Tikslini\u0173 dulki\u0173 siurbli\u0173 \u012fjungimo elgsena.",
127
130
  "name": "Elgesys"
128
131
  }
129
- }
132
+ },
133
+ "name": "Dulki\u0173 siurblyje \u012fvyko klaida"
130
134
  },
131
135
  "paused_cleaning": {
136
+ "description": "Suveikia po to, kai vienas ar keli dulki\u0173 siurbliai sustabdo valym\u0105.",
132
137
  "fields": {
133
138
  "behavior": {
134
139
  "description": "Tikslini\u0173 dulki\u0173 siurbli\u0173 \u012fjungimo elgsena.",
135
140
  "name": "Elgesys"
136
141
  }
137
- }
142
+ },
143
+ "name": "Dulki\u0173 siurblio valymas pristabdytas"
138
144
  },
139
145
  "started_cleaning": {
146
+ "description": "Suveikia po to, kai vienas ar keli dulki\u0173 siurbliai pradeda valyti.",
140
147
  "fields": {
141
148
  "behavior": {
142
149
  "description": "Tikslini\u0173 dulki\u0173 siurbli\u0173 \u012fjungimo elgsena.",
143
150
  "name": "Elgesys"
144
151
  }
145
- }
152
+ },
153
+ "name": "Dulki\u0173 siurblys prad\u0117jo valyti"
146
154
  }
147
155
  }
148
156
  }
@@ -113,36 +113,44 @@
113
113
  "title": "Vys\u00e1va\u010d",
114
114
  "triggers": {
115
115
  "docked": {
116
+ "description": "Spust\u00ed sa po n\u00e1vrate jedn\u00e9ho alebo viacer\u00fdch vys\u00e1va\u010dov do doku.",
116
117
  "fields": {
117
118
  "behavior": {
118
119
  "description": "Spr\u00e1vanie cielen\u00fdch vys\u00e1va\u010dov pri spusten\u00ed.",
119
120
  "name": "Spr\u00e1vanie"
120
121
  }
121
- }
122
+ },
123
+ "name": "Vys\u00e1va\u010d sa vr\u00e1til do doku"
122
124
  },
123
125
  "errored": {
126
+ "description": "Spust\u00ed sa po tom, \u010do sa vyskytne chyba na jednom alebo viacer\u00fdch vys\u00e1va\u010doch.",
124
127
  "fields": {
125
128
  "behavior": {
126
129
  "description": "Spr\u00e1vanie cielen\u00fdch vys\u00e1va\u010dov pri spusten\u00ed.",
127
130
  "name": "Spr\u00e1vanie"
128
131
  }
129
- }
132
+ },
133
+ "name": "Vys\u00e1va\u010d narazil na chybu"
130
134
  },
131
135
  "paused_cleaning": {
136
+ "description": "Spust\u00ed sa po tom, \u010do jeden alebo viacero vys\u00e1va\u010dov pozastav\u00ed upratovanie.",
132
137
  "fields": {
133
138
  "behavior": {
134
139
  "description": "Spr\u00e1vanie cielen\u00fdch vys\u00e1va\u010dov pri spusten\u00ed.",
135
140
  "name": "Spr\u00e1vanie"
136
141
  }
137
- }
142
+ },
143
+ "name": "Vys\u00e1va\u010d pozastavil upratovanie"
138
144
  },
139
145
  "started_cleaning": {
146
+ "description": "Spust\u00ed sa po tom, \u010do jeden alebo viacero vys\u00e1va\u010dov za\u010dne upratova\u0165.",
140
147
  "fields": {
141
148
  "behavior": {
142
149
  "description": "Spr\u00e1vanie cielen\u00fdch vys\u00e1va\u010dov pri spusten\u00ed.",
143
150
  "name": "Spr\u00e1vanie"
144
151
  }
145
- }
152
+ },
153
+ "name": "Vys\u00e1va\u010d za\u010dal upratova\u0165"
146
154
  }
147
155
  }
148
156
  }
@@ -5,7 +5,7 @@ from __future__ import annotations
5
5
  from typing import Any
6
6
 
7
7
  import voluptuous as vol
8
- from wled import WLED, Device, WLEDConnectionError
8
+ from wled import WLED, Device, WLEDConnectionError, WLEDUnsupportedVersionError
9
9
 
10
10
  from homeassistant.components import onboarding
11
11
  from homeassistant.config_entries import (
@@ -48,6 +48,8 @@ class WLEDFlowHandler(ConfigFlow, domain=DOMAIN):
48
48
  if user_input is not None:
49
49
  try:
50
50
  device = await self._async_get_device(user_input[CONF_HOST])
51
+ except WLEDUnsupportedVersionError:
52
+ errors["base"] = "unsupported_version"
51
53
  except WLEDConnectionError:
52
54
  errors["base"] = "cannot_connect"
53
55
  else:
@@ -110,6 +112,8 @@ class WLEDFlowHandler(ConfigFlow, domain=DOMAIN):
110
112
  self.discovered_host = discovery_info.host
111
113
  try:
112
114
  self.discovered_device = await self._async_get_device(discovery_info.host)
115
+ except WLEDUnsupportedVersionError:
116
+ return self.async_abort(reason="unsupported_version")
113
117
  except WLEDConnectionError:
114
118
  return self.async_abort(reason="cannot_connect")
115
119
 
@@ -9,6 +9,7 @@ from wled import (
9
9
  WLEDConnectionClosedError,
10
10
  WLEDError,
11
11
  WLEDReleases,
12
+ WLEDUnsupportedVersionError,
12
13
  )
13
14
 
14
15
  from homeassistant.config_entries import ConfigEntry
@@ -115,6 +116,14 @@ class WLEDDataUpdateCoordinator(DataUpdateCoordinator[WLEDDevice]):
115
116
  """Fetch data from WLED."""
116
117
  try:
117
118
  device = await self.wled.update()
119
+ except WLEDUnsupportedVersionError as error:
120
+ # Error message from WLED library contains version info
121
+ # better to show that to user, but it is not translatable.
122
+ raise ConfigEntryError(
123
+ translation_domain=DOMAIN,
124
+ translation_key="unsupported_version",
125
+ translation_placeholders={"error": str(error)},
126
+ ) from error
118
127
  except WLEDError as error:
119
128
  raise UpdateFailed(
120
129
  translation_domain=DOMAIN,
@@ -1,13 +1,18 @@
1
1
  {
2
+ "common": {
3
+ "unsupported_version": "The WLED device's firmware version is not supported."
4
+ },
2
5
  "config": {
3
6
  "abort": {
4
7
  "already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
5
8
  "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
6
9
  "reconfigure_successful": "[%key:common::config_flow::abort::reconfigure_successful%]",
7
- "unique_id_mismatch": "MAC address does not match the configured device. Expected to connect to device with MAC: `{expected_mac}`, but connected to device with MAC: `{actual_mac}`. \n\nPlease ensure you reconfigure against the same device."
10
+ "unique_id_mismatch": "MAC address does not match the configured device. Expected to connect to device with MAC: `{expected_mac}`, but connected to device with MAC: `{actual_mac}`. \n\nPlease ensure you reconfigure against the same device.",
11
+ "unsupported_version": "[%key:component::wled::common::unsupported_version%]"
8
12
  },
9
13
  "error": {
10
- "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
14
+ "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
15
+ "unsupported_version": "[%key:component::wled::common::unsupported_version%]"
11
16
  },
12
17
  "flow_title": "{name}",
13
18
  "step": {
@@ -138,6 +143,9 @@
138
143
  },
139
144
  "mac_address_mismatch": {
140
145
  "message": "MAC address does not match the configured device. Expected to connect to device with MAC: {expected_mac}, but connected to device with MAC: {actual_mac}."
146
+ },
147
+ "unsupported_version": {
148
+ "message": "The WLED device's firmware version is not supported: {error}"
141
149
  }
142
150
  },
143
151
  "options": {
@@ -1,13 +1,18 @@
1
1
  {
2
+ "common": {
3
+ "unsupported_version": "Die Firmware-Version des WLED-Ger\u00e4ts wird nicht unterst\u00fctzt."
4
+ },
2
5
  "config": {
3
6
  "abort": {
4
7
  "already_configured": "Ger\u00e4t ist bereits konfiguriert",
5
8
  "cannot_connect": "Verbindung fehlgeschlagen",
6
9
  "reconfigure_successful": "Die Neukonfiguration war erfolgreich",
7
- "unique_id_mismatch": "Die MAC-Adresse stimmt nicht mit dem konfigurierten Ger\u00e4t \u00fcberein. Es wurde eine Verbindung mit einem Ger\u00e4t mit MAC `{expected_mac}` erwartet, aber eine Verbindung mit einem Ger\u00e4t mit MAC `{actual_mac}` hergestellt.\n\nBitte stelle sicher, dass du mit demselben Ger\u00e4t neu konfigurierst."
10
+ "unique_id_mismatch": "Die MAC-Adresse stimmt nicht mit dem konfigurierten Ger\u00e4t \u00fcberein. Es wurde eine Verbindung mit einem Ger\u00e4t mit MAC `{expected_mac}` erwartet, aber eine Verbindung mit einem Ger\u00e4t mit MAC `{actual_mac}` hergestellt.\n\nBitte stelle sicher, dass du mit demselben Ger\u00e4t neu konfigurierst.",
11
+ "unsupported_version": "Die Firmware-Version des WLED-Ger\u00e4ts wird nicht unterst\u00fctzt."
8
12
  },
9
13
  "error": {
10
- "cannot_connect": "Verbindung fehlgeschlagen"
14
+ "cannot_connect": "Verbindung fehlgeschlagen",
15
+ "unsupported_version": "Die Firmware-Version des WLED-Ger\u00e4ts wird nicht unterst\u00fctzt."
11
16
  },
12
17
  "flow_title": "{name}",
13
18
  "step": {
@@ -138,6 +143,9 @@
138
143
  },
139
144
  "mac_address_mismatch": {
140
145
  "message": "Die MAC-Adresse stimmt nicht mit dem konfigurierten Ger\u00e4t \u00fcberein. Es wurde eine Verbindung mit einem Ger\u00e4t mit MAC `{expected_mac}` erwartet, aber eine Verbindung mit einem Ger\u00e4t mit MAC `{actual_mac}` hergestellt."
146
+ },
147
+ "unsupported_version": {
148
+ "message": "Die Firmware-Version des WLED-Ger\u00e4ts wird nicht unterst\u00fctzt: {error}"
141
149
  }
142
150
  },
143
151
  "options": {
@@ -1,13 +1,18 @@
1
1
  {
2
+ "common": {
3
+ "unsupported_version": "The WLED device's firmware version is not supported."
4
+ },
2
5
  "config": {
3
6
  "abort": {
4
7
  "already_configured": "Device is already configured",
5
8
  "cannot_connect": "Failed to connect",
6
9
  "reconfigure_successful": "Re-configuration was successful",
7
- "unique_id_mismatch": "MAC address does not match the configured device. Expected to connect to device with MAC: `{expected_mac}`, but connected to device with MAC: `{actual_mac}`. \n\nPlease ensure you reconfigure against the same device."
10
+ "unique_id_mismatch": "MAC address does not match the configured device. Expected to connect to device with MAC: `{expected_mac}`, but connected to device with MAC: `{actual_mac}`. \n\nPlease ensure you reconfigure against the same device.",
11
+ "unsupported_version": "The WLED device's firmware version is not supported."
8
12
  },
9
13
  "error": {
10
- "cannot_connect": "Failed to connect"
14
+ "cannot_connect": "Failed to connect",
15
+ "unsupported_version": "The WLED device's firmware version is not supported."
11
16
  },
12
17
  "flow_title": "{name}",
13
18
  "step": {
@@ -138,6 +143,9 @@
138
143
  },
139
144
  "mac_address_mismatch": {
140
145
  "message": "MAC address does not match the configured device. Expected to connect to device with MAC: {expected_mac}, but connected to device with MAC: {actual_mac}."
146
+ },
147
+ "unsupported_version": {
148
+ "message": "The WLED device's firmware version is not supported: {error}"
141
149
  }
142
150
  },
143
151
  "options": {
@@ -1,13 +1,18 @@
1
1
  {
2
+ "common": {
3
+ "unsupported_version": "The WLED device's firmware version is not supported."
4
+ },
2
5
  "config": {
3
6
  "abort": {
4
7
  "already_configured": "Device is already configured",
5
8
  "cannot_connect": "Failed to connect",
6
9
  "reconfigure_successful": "Re-configuration was successful",
7
- "unique_id_mismatch": "MAC address does not match the configured device. Expected to connect to device with MAC: `{expected_mac}`, but connected to device with MAC: `{actual_mac}`. \n\nPlease ensure you reconfigure against the same device."
10
+ "unique_id_mismatch": "MAC address does not match the configured device. Expected to connect to device with MAC: `{expected_mac}`, but connected to device with MAC: `{actual_mac}`. \n\nPlease ensure you reconfigure against the same device.",
11
+ "unsupported_version": "The WLED device's firmware version is not supported."
8
12
  },
9
13
  "error": {
10
- "cannot_connect": "Failed to connect"
14
+ "cannot_connect": "Failed to connect",
15
+ "unsupported_version": "The WLED device's firmware version is not supported."
11
16
  },
12
17
  "flow_title": "{name}",
13
18
  "step": {
@@ -138,6 +143,9 @@
138
143
  },
139
144
  "mac_address_mismatch": {
140
145
  "message": "MAC address does not match the configured device. Expected to connect to device with MAC: {expected_mac}, but connected to device with MAC: {actual_mac}."
146
+ },
147
+ "unsupported_version": {
148
+ "message": "The WLED device's firmware version is not supported: {error}"
141
149
  }
142
150
  },
143
151
  "options": {
@@ -1,13 +1,18 @@
1
1
  {
2
+ "common": {
3
+ "unsupported_version": "La versi\u00f3n de firmware del dispositivo WLED no es compatible."
4
+ },
2
5
  "config": {
3
6
  "abort": {
4
7
  "already_configured": "El dispositivo ya est\u00e1 configurado",
5
8
  "cannot_connect": "No se pudo conectar",
6
9
  "reconfigure_successful": "Se volvi\u00f3 a configurar correctamente",
7
- "unique_id_mismatch": "La direcci\u00f3n MAC no coincide con el dispositivo configurado. Se esperaba la conexi\u00f3n al dispositivo con la direcci\u00f3n MAC: `{expected_mac}`, pero se conect\u00f3 al dispositivo con MAC: `{actual_mac}`. \n \nPor favor, aseg\u00farate de volver a configurar contra el mismo dispositivo."
10
+ "unique_id_mismatch": "La direcci\u00f3n MAC no coincide con el dispositivo configurado. Se esperaba la conexi\u00f3n al dispositivo con la direcci\u00f3n MAC: `{expected_mac}`, pero se conect\u00f3 al dispositivo con MAC: `{actual_mac}`. \n \nPor favor, aseg\u00farate de volver a configurar contra el mismo dispositivo.",
11
+ "unsupported_version": "La versi\u00f3n de firmware del dispositivo WLED no es compatible."
8
12
  },
9
13
  "error": {
10
- "cannot_connect": "No se pudo conectar"
14
+ "cannot_connect": "No se pudo conectar",
15
+ "unsupported_version": "La versi\u00f3n de firmware del dispositivo WLED no es compatible."
11
16
  },
12
17
  "flow_title": "{name}",
13
18
  "step": {
@@ -138,6 +143,9 @@
138
143
  },
139
144
  "mac_address_mismatch": {
140
145
  "message": "La direcci\u00f3n MAC no coincide con el dispositivo configurado. Se esperaba la conexi\u00f3n al dispositivo con la MAC: {expected_mac}, pero se conect\u00f3 al dispositivo con MAC: {actual_mac}."
146
+ },
147
+ "unsupported_version": {
148
+ "message": "La versi\u00f3n de firmware del dispositivo WLED no es compatible: {error}"
141
149
  }
142
150
  },
143
151
  "options": {
@@ -1,13 +1,18 @@
1
1
  {
2
+ "common": {
3
+ "unsupported_version": "WLED \u012frenginio programin\u0117s \u012frangos versija nepalaikoma."
4
+ },
2
5
  "config": {
3
6
  "abort": {
4
7
  "already_configured": "Prietaisas jau sukonfig\u016bruotas",
5
8
  "cannot_connect": "Nepavyko prisijungti",
6
9
  "reconfigure_successful": "Pakartotinis konfig\u016bravimas buvo s\u0117kmingas",
7
- "unique_id_mismatch": "MAC adresas neatitinka sukonfig\u016bruoto \u012frenginio. Tikimasi, kad bus prisijungta prie \u012frenginio, kurio MAC adresas: `{expected_mac}`, bet prijungtas prie \u012frenginio su MAC kodu: `{actual_mac}`. \n \n \u012esitikinkite, kad i\u0161 naujo sukonfig\u016bruojate t\u0105 pat\u012f \u012frengin\u012f."
10
+ "unique_id_mismatch": "MAC adresas neatitinka sukonfig\u016bruoto \u012frenginio. Tikimasi, kad bus prisijungta prie \u012frenginio, kurio MAC adresas: `{expected_mac}`, bet prijungtas prie \u012frenginio su MAC kodu: `{actual_mac}`. \n \n \u012esitikinkite, kad i\u0161 naujo sukonfig\u016bruojate t\u0105 pat\u012f \u012frengin\u012f.",
11
+ "unsupported_version": "WLED \u012frenginio programin\u0117s \u012frangos versija nepalaikoma."
8
12
  },
9
13
  "error": {
10
- "cannot_connect": "Nepavyko prisijungti"
14
+ "cannot_connect": "Nepavyko prisijungti",
15
+ "unsupported_version": "WLED \u012frenginio programin\u0117s \u012frangos versija nepalaikoma."
11
16
  },
12
17
  "flow_title": "{name}",
13
18
  "step": {
@@ -138,6 +143,9 @@
138
143
  },
139
144
  "mac_address_mismatch": {
140
145
  "message": "MAC adresas neatitinka sukonfig\u016bruoto \u012frenginio. Tikimasi, kad bus prisijungta prie \u012frenginio, kurio MAC adresas: {expected_mac}, bet prijungtas prie \u012frenginio su MAC adresu: {actual_mac}."
146
+ },
147
+ "unsupported_version": {
148
+ "message": "WLED \u012frenginio programin\u0117s \u012frangos versija nepalaikoma: {error}"
141
149
  }
142
150
  },
143
151
  "options": {
@@ -1,13 +1,18 @@
1
1
  {
2
+ "common": {
3
+ "unsupported_version": "Verzia firmv\u00e9ru zariadenia WLED nie je podporovan\u00e1."
4
+ },
2
5
  "config": {
3
6
  "abort": {
4
7
  "already_configured": "Zariadenie u\u017e je nakonfigurovan\u00e9",
5
8
  "cannot_connect": "Nepodarilo sa pripoji\u0165",
6
9
  "reconfigure_successful": "Rekonfigur\u00e1cia bola \u00faspe\u0161n\u00e1",
7
- "unique_id_mismatch": "Adresa MAC sa nezhoduje s nakonfigurovan\u00fdm zariaden\u00edm. O\u010dak\u00e1valo sa pripojenie k zariadeniu s MAC: `{expected_mac}`, ale pripojilo sa k zariadeniu s MAC: `{actual_mac}`. \n\nZabezpe\u010dte op\u00e4tovn\u00fa konfigur\u00e1ciu vo\u010di tomu ist\u00e9mu zariadeniu."
10
+ "unique_id_mismatch": "Adresa MAC sa nezhoduje s nakonfigurovan\u00fdm zariaden\u00edm. O\u010dak\u00e1valo sa pripojenie k zariadeniu s MAC: `{expected_mac}`, ale pripojilo sa k zariadeniu s MAC: `{actual_mac}`. \n\nZabezpe\u010dte op\u00e4tovn\u00fa konfigur\u00e1ciu vo\u010di tomu ist\u00e9mu zariadeniu.",
11
+ "unsupported_version": "Verzia firmv\u00e9ru zariadenia WLED nie je podporovan\u00e1."
8
12
  },
9
13
  "error": {
10
- "cannot_connect": "Nepodarilo sa pripoji\u0165"
14
+ "cannot_connect": "Nepodarilo sa pripoji\u0165",
15
+ "unsupported_version": "Verzia firmv\u00e9ru zariadenia WLED nie je podporovan\u00e1."
11
16
  },
12
17
  "flow_title": "{name}",
13
18
  "step": {
@@ -138,6 +143,9 @@
138
143
  },
139
144
  "mac_address_mismatch": {
140
145
  "message": "Adresa MAC sa nezhoduje s nakonfigurovan\u00fdm zariaden\u00edm. O\u010dak\u00e1va sa pripojenie k zariadeniu s MAC: {expected_mac}, ale pripojil sa k zariadeniu s adresou MAC: {actual_mac}."
146
+ },
147
+ "unsupported_version": {
148
+ "message": "Verzia firmv\u00e9ru zariadenia WLED nie je podporovan\u00e1: {error}"
141
149
  }
142
150
  },
143
151
  "options": {
@@ -1,13 +1,18 @@
1
1
  {
2
+ "common": {
3
+ "unsupported_version": "\u4e0d\u652f\u63f4\u6b64 WLED \u88dd\u7f6e\u7684\u97cc\u9ad4\u7248\u672c\u3002"
4
+ },
2
5
  "config": {
3
6
  "abort": {
4
7
  "already_configured": "\u88dd\u7f6e\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210",
5
8
  "cannot_connect": "\u9023\u7dda\u5931\u6557",
6
9
  "reconfigure_successful": "\u91cd\u65b0\u8a2d\u5b9a\u6210\u529f",
7
- "unique_id_mismatch": "MAC \u4f4d\u5740\u8207\u5df2\u8a2d\u5b9a\u7684\u88dd\u7f6e\u4e0d\u7b26\u3002\u9810\u671f\u9023\u7dda\u88dd\u7f6e MAC \u4f4d\u5740\uff1a`{expected_mac}` \uff0c\u4f46\u5be6\u969b\u9023\u7dda\u88dd\u7f6e MAC \u4f4d\u5740\uff1a`{actual_mac}` \u3002\n\n\u8acb\u78ba\u8a8d\u4f7f\u7528\u76f8\u540c\u88dd\u7f6e\u91cd\u65b0\u8a2d\u5b9a\u3002"
10
+ "unique_id_mismatch": "MAC \u4f4d\u5740\u8207\u5df2\u8a2d\u5b9a\u7684\u88dd\u7f6e\u4e0d\u7b26\u3002\u9810\u671f\u9023\u7dda\u88dd\u7f6e MAC \u4f4d\u5740\uff1a`{expected_mac}` \uff0c\u4f46\u5be6\u969b\u9023\u7dda\u88dd\u7f6e MAC \u4f4d\u5740\uff1a`{actual_mac}` \u3002\n\n\u8acb\u78ba\u8a8d\u4f7f\u7528\u76f8\u540c\u88dd\u7f6e\u91cd\u65b0\u8a2d\u5b9a\u3002",
11
+ "unsupported_version": "\u4e0d\u652f\u63f4\u6b64 WLED \u88dd\u7f6e\u7684\u97cc\u9ad4\u7248\u672c\u3002"
8
12
  },
9
13
  "error": {
10
- "cannot_connect": "\u9023\u7dda\u5931\u6557"
14
+ "cannot_connect": "\u9023\u7dda\u5931\u6557",
15
+ "unsupported_version": "\u4e0d\u652f\u63f4\u6b64 WLED \u88dd\u7f6e\u7684\u97cc\u9ad4\u7248\u672c\u3002"
11
16
  },
12
17
  "flow_title": "{name}",
13
18
  "step": {
@@ -138,6 +143,9 @@
138
143
  },
139
144
  "mac_address_mismatch": {
140
145
  "message": "MAC \u4f4d\u5740\u8207\u5df2\u8a2d\u5b9a\u7684\u88dd\u7f6e\u4e0d\u7b26\u3002\u9810\u671f\u9023\u7dda\u81f3 MAC \u4f4d\u5740\u70ba {expected_mac}\u7684\u88dd\u7f6e\uff0c\u4f46\u5be6\u969b\u9023\u7dda\u81f3 MAC \u4f4d\u5740\u70ba {actual_mac}\u7684\u88dd\u7f6e\u3002"
146
+ },
147
+ "unsupported_version": {
148
+ "message": "\u4e0d\u652f\u63f4\u6b64 WLED \u88dd\u7f6e\u7684\u97cc\u9ad4\u7248\u672c\uff1a{error}"
141
149
  }
142
150
  },
143
151
  "options": {
@@ -102,7 +102,7 @@ class WLEDUpdateEntity(WLEDEntity, UpdateEntity):
102
102
  """URL to the full release notes of the latest version available."""
103
103
  if (version := self.latest_version) is None:
104
104
  return None
105
- return f"https://github.com/Aircoookie/WLED/releases/tag/v{version}"
105
+ return f"https://github.com/wled/WLED/releases/tag/v{version}"
106
106
 
107
107
  @wled_exception_handler
108
108
  async def async_install(
@@ -15,7 +15,7 @@ from typing import Any
15
15
  import voluptuous as vol
16
16
  from zha.application.const import RadioType
17
17
  import zigpy.backups
18
- from zigpy.config import CONF_DEVICE, CONF_DEVICE_PATH, CONF_NWK_TX_POWER
18
+ from zigpy.config import CONF_DEVICE, CONF_DEVICE_PATH
19
19
  from zigpy.exceptions import CannotWriteNetworkSettings, DestructiveWriteNetworkSettings
20
20
 
21
21
  from homeassistant.components import onboarding, usb
@@ -196,7 +196,6 @@ class BaseZhaFlow(ConfigEntryBaseFlow):
196
196
  self._restore_backup_task: asyncio.Task[None] | None = None
197
197
  self._reset_old_radio_task: asyncio.Task[None] | None = None
198
198
  self._form_network_task: asyncio.Task[None] | None = None
199
- self._extra_network_config: dict[str, Any] = {}
200
199
 
201
200
  # Progress flow steps cannot abort so we need to store the abort reason and then
202
201
  # re-raise it in a dedicated step
@@ -658,7 +657,7 @@ class BaseZhaFlow(ConfigEntryBaseFlow):
658
657
 
659
658
  async def _async_form_new_network(self) -> None:
660
659
  """Do the work of forming a new network."""
661
- await self._radio_mgr.async_form_network(config=self._extra_network_config)
660
+ await self._radio_mgr.async_form_network()
662
661
  # Load the newly formed network settings to get the network info
663
662
  await self._radio_mgr.async_load_network_settings()
664
663
 
@@ -1068,9 +1067,6 @@ class ZhaConfigFlowHandler(BaseZhaFlow, ConfigFlow, domain=DOMAIN):
1068
1067
  device_path = device_settings[CONF_DEVICE_PATH]
1069
1068
  self._flow_strategy = discovery_data.get("flow_strategy")
1070
1069
 
1071
- if "tx_power" in discovery_data:
1072
- self._extra_network_config[CONF_NWK_TX_POWER] = discovery_data["tx_power"]
1073
-
1074
1070
  await self._set_unique_id_and_update_ignored_flow(
1075
1071
  unique_id=f"{name}_{radio_type.name}_{device_path}",
1076
1072
  device_path=device_path,
@@ -323,7 +323,7 @@ class ZhaRadioManager:
323
323
 
324
324
  return backup
325
325
 
326
- async def async_form_network(self, config: dict[str, Any] | None) -> None:
326
+ async def async_form_network(self) -> None:
327
327
  """Form a brand-new network."""
328
328
 
329
329
  # When forming a new network, we delete the ZHA database to prevent old devices
@@ -332,7 +332,7 @@ class ZhaRadioManager:
332
332
  await self.hass.async_add_executor_job(os.remove, self.zigpy_database_path)
333
333
 
334
334
  async with self.create_zigpy_app() as app:
335
- await app.form_network(config=config)
335
+ await app.form_network()
336
336
 
337
337
  async def async_reset_adapter(self) -> None:
338
338
  """Reset the current adapter."""
homeassistant/const.py CHANGED
@@ -17,7 +17,7 @@ if TYPE_CHECKING:
17
17
  APPLICATION_NAME: Final = "HomeAssistant"
18
18
  MAJOR_VERSION: Final = 2025
19
19
  MINOR_VERSION: Final = 12
20
- PATCH_VERSION: Final = "0b5"
20
+ PATCH_VERSION: Final = "0b8"
21
21
  __short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
22
22
  __version__: Final = f"{__short_version__}.{PATCH_VERSION}"
23
23
  REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 13, 2)
@@ -4500,7 +4500,7 @@
4500
4500
  },
4501
4501
  "nordpool": {
4502
4502
  "name": "Nord Pool",
4503
- "integration_type": "hub",
4503
+ "integration_type": "service",
4504
4504
  "config_flow": true,
4505
4505
  "iot_class": "cloud_polling",
4506
4506
  "single_config_entry": true
@@ -4821,7 +4821,7 @@
4821
4821
  },
4822
4822
  "oralb": {
4823
4823
  "name": "Oral-B",
4824
- "integration_type": "hub",
4824
+ "integration_type": "device",
4825
4825
  "config_flow": true,
4826
4826
  "iot_class": "local_push"
4827
4827
  },
@@ -6,8 +6,8 @@ To update, run python3 -m script.hassfest
6
6
  LABS_PREVIEW_FEATURES = {
7
7
  "automation": {
8
8
  "new_triggers_conditions": {
9
- "feedback_url": "",
10
- "learn_more_url": "",
9
+ "feedback_url": "https://forms.gle/fWFZqf5MzuwWTsCH8",
10
+ "learn_more_url": "https://www.home-assistant.io/blog/2025/12/03/release-202512/#purpose-specific-triggers-and-conditions",
11
11
  "report_issue_url": "https://github.com/home-assistant/core/issues/new?template=bug_report.yml&integration_link=https://www.home-assistant.io/integrations/automation&integration_name=Automation",
12
12
  },
13
13
  },
@@ -37,7 +37,7 @@ go2rtc-client==0.3.0
37
37
  ha-ffmpeg==3.2.2
38
38
  habluetooth==5.7.0
39
39
  hass-nabucasa==1.6.2
40
- hassil==3.4.0
40
+ hassil==3.5.0
41
41
  home-assistant-bluetooth==1.13.1
42
42
  home-assistant-frontend==20251202.0
43
43
  home-assistant-intents==2025.12.2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: homeassistant
3
- Version: 2025.12.0b5
3
+ Version: 2025.12.0b8
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