homeassistant 2025.10.0b5__py3-none-any.whl → 2025.10.0b7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (367) hide show
  1. homeassistant/brands/eltako.json +5 -0
  2. homeassistant/brands/konnected.json +5 -0
  3. homeassistant/brands/level.json +5 -0
  4. homeassistant/components/accuweather/translations/id.json +9 -0
  5. homeassistant/components/airos/translations/id.json +36 -0
  6. homeassistant/components/airzone_cloud/translations/ar.json +15 -0
  7. homeassistant/components/aladdin_connect/config_flow.py +11 -0
  8. homeassistant/components/aladdin_connect/strings.json +2 -1
  9. homeassistant/components/aladdin_connect/translations/bg.json +7 -1
  10. homeassistant/components/aladdin_connect/translations/cs.json +1 -0
  11. homeassistant/components/aladdin_connect/translations/de.json +1 -0
  12. homeassistant/components/aladdin_connect/translations/en-GB.json +1 -0
  13. homeassistant/components/aladdin_connect/translations/en.json +1 -0
  14. homeassistant/components/aladdin_connect/translations/es.json +1 -0
  15. homeassistant/components/aladdin_connect/translations/et.json +1 -0
  16. homeassistant/components/aladdin_connect/translations/id.json +28 -1
  17. homeassistant/components/aladdin_connect/translations/lt.json +1 -0
  18. homeassistant/components/aladdin_connect/translations/pt.json +1 -0
  19. homeassistant/components/alexa_devices/translations/id.json +12 -0
  20. homeassistant/components/analytics/analytics.py +23 -12
  21. homeassistant/components/androidtv_remote/translations/id.json +7 -1
  22. homeassistant/components/anthropic/translations/id.json +2 -1
  23. homeassistant/components/aosmith/translations/id.json +9 -0
  24. homeassistant/components/apcupsd/translations/id.json +6 -0
  25. homeassistant/components/august/translations/id.json +25 -1
  26. homeassistant/components/bayesian/binary_sensor.py +7 -0
  27. homeassistant/components/bayesian/translations/id.json +62 -0
  28. homeassistant/components/binary_sensor/translations/ar.json +10 -0
  29. homeassistant/components/broadlink/translations/zh-Hant.json +1 -1
  30. homeassistant/components/brother/translations/id.json +21 -0
  31. homeassistant/components/bsblan/translations/id.json +17 -2
  32. homeassistant/components/climate/translations/ar.json +18 -0
  33. homeassistant/components/coinbase/translations/id.json +5 -0
  34. homeassistant/components/compit/translations/id.json +25 -0
  35. homeassistant/components/conversation/manifest.json +1 -1
  36. homeassistant/components/cync/translations/id.json +20 -0
  37. homeassistant/components/datadog/translations/id.json +28 -0
  38. homeassistant/components/demo/translations/ar.json +23 -0
  39. homeassistant/components/device_tracker/translations/ar.json +8 -0
  40. homeassistant/components/drop_connect/translations/ar.json +12 -0
  41. homeassistant/components/droplet/translations/id.json +17 -0
  42. homeassistant/components/ecobee/strings.json +2 -2
  43. homeassistant/components/ecobee/translations/cs.json +2 -2
  44. homeassistant/components/ecobee/translations/de.json +3 -3
  45. homeassistant/components/ecobee/translations/el.json +1 -2
  46. homeassistant/components/ecobee/translations/en-GB.json +2 -2
  47. homeassistant/components/ecobee/translations/en.json +2 -2
  48. homeassistant/components/ecobee/translations/es.json +2 -2
  49. homeassistant/components/ecobee/translations/et.json +2 -2
  50. homeassistant/components/ecobee/translations/ga.json +1 -5
  51. homeassistant/components/ecobee/translations/hu.json +1 -5
  52. homeassistant/components/ecobee/translations/it.json +1 -5
  53. homeassistant/components/ecobee/translations/ja.json +1 -5
  54. homeassistant/components/ecobee/translations/lt.json +2 -2
  55. homeassistant/components/ecobee/translations/pt.json +2 -2
  56. homeassistant/components/ecobee/translations/ru.json +1 -5
  57. homeassistant/components/ecobee/translations/sk.json +1 -5
  58. homeassistant/components/ecobee/translations/sv.json +1 -5
  59. homeassistant/components/ecobee/translations/tr.json +1 -5
  60. homeassistant/components/ecobee/translations/zh-Hans.json +1 -5
  61. homeassistant/components/ecobee/translations/zh-Hant.json +1 -5
  62. homeassistant/components/ecovacs/translations/ar.json +9 -0
  63. homeassistant/components/ecowitt/manifest.json +1 -1
  64. homeassistant/components/eheimdigital/translations/id.json +7 -1
  65. homeassistant/components/ekeybionyx/translations/id.json +24 -0
  66. homeassistant/components/ekeybionyx/translations/lt.json +1 -0
  67. homeassistant/components/elevenlabs/translations/id.json +2 -1
  68. homeassistant/components/elkm1/translations/id.json +6 -0
  69. homeassistant/components/emoncms/translations/id.json +9 -0
  70. homeassistant/components/enphase_envoy/translations/id.json +1 -0
  71. homeassistant/components/eq3btsmart/translations/ar.json +9 -0
  72. homeassistant/components/esphome/analytics.py +11 -0
  73. homeassistant/components/fan/translations/id.json +3 -0
  74. homeassistant/components/flick_electric/translations/zh-Hant.json +2 -2
  75. homeassistant/components/frontend/manifest.json +1 -1
  76. homeassistant/components/generic_thermostat/translations/ar.json +22 -0
  77. homeassistant/components/google_generative_ai_conversation/translations/id.json +29 -1
  78. homeassistant/components/group/translations/ar.json +8 -0
  79. homeassistant/components/hassio/translations/id.json +29 -0
  80. homeassistant/components/holiday/translations/zh-Hant.json +2 -2
  81. homeassistant/components/homeassistant/translations/id.json +8 -0
  82. homeassistant/components/homeassistant_connect_zbt2/config_flow.py +6 -0
  83. homeassistant/components/homeassistant_connect_zbt2/translations/bg.json +14 -0
  84. homeassistant/components/homeassistant_connect_zbt2/translations/fr.json +14 -0
  85. homeassistant/components/homeassistant_connect_zbt2/translations/id.json +238 -0
  86. homeassistant/components/homeassistant_connect_zbt2/translations/lt.json +24 -8
  87. homeassistant/components/homeassistant_connect_zbt2/translations/nl.json +20 -0
  88. homeassistant/components/homeassistant_connect_zbt2/translations/ru.json +22 -4
  89. homeassistant/components/homeassistant_connect_zbt2/translations/sk.json +18 -2
  90. homeassistant/components/homeassistant_connect_zbt2/update.py +2 -1
  91. homeassistant/components/homeassistant_hardware/firmware_config_flow.py +13 -67
  92. homeassistant/components/homeassistant_hardware/manifest.json +1 -1
  93. homeassistant/components/homeassistant_hardware/translations/bg.json +10 -0
  94. homeassistant/components/homeassistant_hardware/translations/fr.json +10 -0
  95. homeassistant/components/homeassistant_hardware/translations/id.json +58 -0
  96. homeassistant/components/homeassistant_hardware/translations/lt.json +17 -0
  97. homeassistant/components/homeassistant_hardware/translations/nl.json +10 -0
  98. homeassistant/components/homeassistant_hardware/translations/ru.json +17 -0
  99. homeassistant/components/homeassistant_hardware/translations/sk.json +3 -0
  100. homeassistant/components/homeassistant_hardware/update.py +8 -3
  101. homeassistant/components/homeassistant_hardware/util.py +22 -5
  102. homeassistant/components/homeassistant_sky_connect/translations/bg.json +14 -0
  103. homeassistant/components/homeassistant_sky_connect/translations/fr.json +14 -0
  104. homeassistant/components/homeassistant_sky_connect/translations/id.json +98 -14
  105. homeassistant/components/homeassistant_sky_connect/translations/lt.json +24 -8
  106. homeassistant/components/homeassistant_sky_connect/translations/nl.json +20 -0
  107. homeassistant/components/homeassistant_sky_connect/translations/ru.json +24 -8
  108. homeassistant/components/homeassistant_sky_connect/translations/sk.json +18 -2
  109. homeassistant/components/homeassistant_sky_connect/update.py +2 -1
  110. homeassistant/components/homeassistant_yellow/config_flow.py +7 -1
  111. homeassistant/components/homeassistant_yellow/translations/bg.json +7 -0
  112. homeassistant/components/homeassistant_yellow/translations/fr.json +7 -0
  113. homeassistant/components/homeassistant_yellow/translations/id.json +50 -7
  114. homeassistant/components/homeassistant_yellow/translations/lt.json +12 -4
  115. homeassistant/components/homeassistant_yellow/translations/nl.json +10 -0
  116. homeassistant/components/homeassistant_yellow/translations/ru.json +6 -4
  117. homeassistant/components/homeassistant_yellow/translations/sk.json +9 -1
  118. homeassistant/components/homeassistant_yellow/update.py +2 -1
  119. homeassistant/components/homee/translations/id.json +14 -0
  120. homeassistant/components/homekit_controller/translations/ar.json +12 -0
  121. homeassistant/components/homekit_controller/translations/select.ar.json +8 -0
  122. homeassistant/components/honeywell/translations/ar.json +15 -0
  123. homeassistant/components/humidifier/translations/ar.json +14 -0
  124. homeassistant/components/husqvarna_automower/translations/id.json +18 -0
  125. homeassistant/components/husqvarna_automower_ble/translations/id.json +4 -0
  126. homeassistant/components/icloud/translations/id.json +3 -0
  127. homeassistant/components/imap/translations/ar.json +7 -0
  128. homeassistant/components/imeon_inverter/translations/id.json +10 -0
  129. homeassistant/components/intellifire/translations/ar.json +9 -0
  130. homeassistant/components/irm_kmi/translations/id.json +28 -0
  131. homeassistant/components/keenetic_ndms2/translations/id.json +2 -1
  132. homeassistant/components/knx/translations/id.json +3 -0
  133. homeassistant/components/konnected/translations/lt.json +6 -0
  134. homeassistant/components/konnected_esphome/__init__.py +1 -0
  135. homeassistant/components/konnected_esphome/manifest.json +6 -0
  136. homeassistant/components/letpot/number.py +2 -1
  137. homeassistant/components/letpot/strings.json +1 -2
  138. homeassistant/components/letpot/translations/bg.json +0 -5
  139. homeassistant/components/letpot/translations/cs.json +1 -2
  140. homeassistant/components/letpot/translations/de.json +1 -2
  141. homeassistant/components/letpot/translations/en-GB.json +1 -2
  142. homeassistant/components/letpot/translations/en.json +1 -2
  143. homeassistant/components/letpot/translations/es.json +1 -2
  144. homeassistant/components/letpot/translations/et.json +1 -2
  145. homeassistant/components/letpot/translations/fr.json +1 -2
  146. homeassistant/components/letpot/translations/ga.json +1 -2
  147. homeassistant/components/letpot/translations/id.json +10 -0
  148. homeassistant/components/letpot/translations/lt.json +1 -2
  149. homeassistant/components/letpot/translations/nl.json +0 -5
  150. homeassistant/components/letpot/translations/pt.json +1 -2
  151. homeassistant/components/letpot/translations/sk.json +1 -2
  152. homeassistant/components/letpot/translations/zh-Hans.json +1 -2
  153. homeassistant/components/letpot/translations/zh-Hant.json +1 -2
  154. homeassistant/components/lg_thinq/translations/ar.json +33 -0
  155. homeassistant/components/lg_thinq/translations/id.json +5 -2
  156. homeassistant/components/libre_hardware_monitor/translations/id.json +19 -0
  157. homeassistant/components/lifx/translations/zh-Hant.json +1 -1
  158. homeassistant/components/light/translations/id.json +2 -1
  159. homeassistant/components/litterrobot/translations/id.json +15 -0
  160. homeassistant/components/mastodon/translations/ar.json +14 -0
  161. homeassistant/components/mcp/translations/fr.json +20 -1
  162. homeassistant/components/mcp/translations/id.json +8 -1
  163. homeassistant/components/media_extractor/manifest.json +1 -1
  164. homeassistant/components/media_player/translations/ar.json +34 -0
  165. homeassistant/components/mqtt/translations/ar.json +17 -0
  166. homeassistant/components/mqtt/translations/bg.json +2 -0
  167. homeassistant/components/mqtt/translations/fr.json +2 -0
  168. homeassistant/components/mqtt/translations/id.json +6 -0
  169. homeassistant/components/mqtt/translations/lt.json +2 -0
  170. homeassistant/components/mqtt/translations/nl.json +31 -0
  171. homeassistant/components/mqtt/translations/ru.json +2 -0
  172. homeassistant/components/mqtt/translations/sk.json +2 -0
  173. homeassistant/components/nasweb/translations/id.json +10 -0
  174. homeassistant/components/nederlandse_spoorwegen/translations/id.json +28 -0
  175. homeassistant/components/netatmo/translations/ar.json +18 -0
  176. homeassistant/components/nightscout/translations/zh-Hant.json +1 -1
  177. homeassistant/components/niko_home_control/translations/id.json +7 -1
  178. homeassistant/components/nobo_hub/translations/ar.json +11 -0
  179. homeassistant/components/ntfy/translations/id.json +11 -0
  180. homeassistant/components/ntfy/translations/zh-Hant.json +1 -1
  181. homeassistant/components/number/translations/bg.json +3 -0
  182. homeassistant/components/number/translations/fr.json +3 -0
  183. homeassistant/components/number/translations/lt.json +3 -0
  184. homeassistant/components/number/translations/ru.json +3 -0
  185. homeassistant/components/number/translations/sk.json +3 -0
  186. homeassistant/components/ollama/translations/id.json +18 -1
  187. homeassistant/components/onboarding/translations/ar.json +7 -0
  188. homeassistant/components/open_router/translations/id.json +40 -0
  189. homeassistant/components/openai_conversation/translations/id.json +26 -1
  190. homeassistant/components/opentherm_gw/translations/ar.json +11 -0
  191. homeassistant/components/opower/translations/ar.json +12 -0
  192. homeassistant/components/opower/translations/id.json +6 -0
  193. homeassistant/components/overkiz/translations/ar.json +18 -0
  194. homeassistant/components/overkiz/translations/id.json +1 -0
  195. homeassistant/components/overkiz/translations/sensor.ar.json +3 -0
  196. homeassistant/components/palazzetti/translations/ar.json +16 -0
  197. homeassistant/components/peco/translations/zh-Hant.json +1 -1
  198. homeassistant/components/person/translations/ar.json +8 -0
  199. homeassistant/components/pi_hole/__init__.py +9 -3
  200. homeassistant/components/playstation_network/translations/ar.json +11 -0
  201. homeassistant/components/playstation_network/translations/id.json +8 -0
  202. homeassistant/components/plex/translations/zh-Hant.json +1 -1
  203. homeassistant/components/plugwise/translations/ar.json +16 -0
  204. homeassistant/components/pooldose/translations/id.json +49 -0
  205. homeassistant/components/portainer/__init__.py +5 -0
  206. homeassistant/components/portainer/translations/id.json +22 -0
  207. homeassistant/components/portainer/translations/ru.json +15 -0
  208. homeassistant/components/pyload/translations/id.json +6 -0
  209. homeassistant/components/qbittorrent/translations/cs.json +4 -4
  210. homeassistant/components/random/translations/bg.json +1 -0
  211. homeassistant/components/random/translations/fr.json +1 -0
  212. homeassistant/components/random/translations/lt.json +1 -0
  213. homeassistant/components/random/translations/ru.json +1 -0
  214. homeassistant/components/random/translations/sk.json +1 -0
  215. homeassistant/components/remote/translations/id.json +3 -0
  216. homeassistant/components/remote_calendar/translations/id.json +2 -1
  217. homeassistant/components/reolink/translations/ar.json +7 -0
  218. homeassistant/components/reolink/translations/es.json +4 -4
  219. homeassistant/components/roomba/translations/bg.json +1 -2
  220. homeassistant/components/roomba/translations/ca.json +2 -4
  221. homeassistant/components/roomba/translations/el.json +2 -4
  222. homeassistant/components/roomba/translations/en-GB.json +2 -2
  223. homeassistant/components/roomba/translations/en.json +2 -2
  224. homeassistant/components/roomba/translations/fi.json +2 -4
  225. homeassistant/components/roomba/translations/fr.json +2 -4
  226. homeassistant/components/roomba/translations/ga.json +2 -4
  227. homeassistant/components/roomba/translations/he.json +1 -5
  228. homeassistant/components/roomba/translations/hu.json +2 -4
  229. homeassistant/components/roomba/translations/id.json +2 -4
  230. homeassistant/components/roomba/translations/it.json +2 -4
  231. homeassistant/components/roomba/translations/ja.json +2 -4
  232. homeassistant/components/roomba/translations/ko.json +2 -4
  233. homeassistant/components/roomba/translations/lb.json +1 -5
  234. homeassistant/components/roomba/translations/lt.json +2 -2
  235. homeassistant/components/roomba/translations/nb.json +1 -5
  236. homeassistant/components/roomba/translations/nl.json +2 -4
  237. homeassistant/components/roomba/translations/pl.json +1 -5
  238. homeassistant/components/roomba/translations/pt-BR.json +1 -5
  239. homeassistant/components/roomba/translations/pt.json +2 -2
  240. homeassistant/components/roomba/translations/ro.json +1 -5
  241. homeassistant/components/roomba/translations/ru.json +2 -4
  242. homeassistant/components/roomba/translations/sk.json +2 -4
  243. homeassistant/components/roomba/translations/sv.json +2 -4
  244. homeassistant/components/roomba/translations/tr.json +2 -4
  245. homeassistant/components/roomba/translations/uk.json +1 -5
  246. homeassistant/components/roomba/translations/zh-Hans.json +2 -4
  247. homeassistant/components/roomba/translations/zh-Hant.json +2 -4
  248. homeassistant/components/route_b_smart_meter/translations/id.json +24 -0
  249. homeassistant/components/satel_integra/translations/id.json +85 -0
  250. homeassistant/components/scrape/translations/bg.json +2 -0
  251. homeassistant/components/scrape/translations/fr.json +2 -0
  252. homeassistant/components/scrape/translations/lt.json +2 -0
  253. homeassistant/components/scrape/translations/ru.json +2 -0
  254. homeassistant/components/scrape/translations/sk.json +2 -0
  255. homeassistant/components/screenlogic/translations/ar.json +15 -0
  256. homeassistant/components/sensibo/translations/ar.json +25 -0
  257. homeassistant/components/sensor/translations/bg.json +3 -0
  258. homeassistant/components/sensor/translations/fr.json +3 -0
  259. homeassistant/components/sensor/translations/lt.json +3 -0
  260. homeassistant/components/sensor/translations/nl.json +3 -0
  261. homeassistant/components/sensor/translations/pl.json +3 -0
  262. homeassistant/components/sensor/translations/ru.json +3 -0
  263. homeassistant/components/sftp_storage/translations/id.json +14 -0
  264. homeassistant/components/shelly/translations/id.json +19 -0
  265. homeassistant/components/shelly/utils.py +9 -2
  266. homeassistant/components/sleep_as_android/translations/id.json +31 -0
  267. homeassistant/components/sleepiq/translations/id.json +5 -0
  268. homeassistant/components/smartthings/translations/ar.json +11 -0
  269. homeassistant/components/smartthings/translations/id.json +7 -0
  270. homeassistant/components/sonos/select.py +9 -13
  271. homeassistant/components/sonos/speaker.py +23 -0
  272. homeassistant/components/sonos/translations/id.json +10 -0
  273. homeassistant/components/sql/translations/bg.json +1 -0
  274. homeassistant/components/sql/translations/fr.json +1 -0
  275. homeassistant/components/sql/translations/lt.json +1 -0
  276. homeassistant/components/sql/translations/ru.json +1 -0
  277. homeassistant/components/sql/translations/sk.json +1 -0
  278. homeassistant/components/sql/translations/zh-Hant.json +4 -4
  279. homeassistant/components/starline/translations/ar.json +9 -0
  280. homeassistant/components/switch/translations/id.json +3 -0
  281. homeassistant/components/switchbot/translations/id.json +12 -0
  282. homeassistant/components/switchbot_cloud/cover.py +3 -5
  283. homeassistant/components/switchbot_cloud/entity.py +1 -1
  284. homeassistant/components/switchbot_cloud/translations/id.json +27 -0
  285. homeassistant/components/synology_dsm/translations/ar.json +9 -0
  286. homeassistant/components/system_bridge/translations/ar.json +9 -0
  287. homeassistant/components/telegram_bot/translations/id.json +5 -0
  288. homeassistant/components/template/translations/bg.json +1 -0
  289. homeassistant/components/template/translations/fr.json +1 -0
  290. homeassistant/components/template/translations/id.json +81 -0
  291. homeassistant/components/template/translations/lt.json +1 -0
  292. homeassistant/components/template/translations/ru.json +1 -0
  293. homeassistant/components/template/translations/sk.json +1 -0
  294. homeassistant/components/tesla_fleet/translations/ar.json +55 -0
  295. homeassistant/components/teslemetry/translations/ar.json +27 -0
  296. homeassistant/components/teslemetry/translations/id.json +33 -0
  297. homeassistant/components/tessie/translations/ar.json +9 -0
  298. homeassistant/components/togrill/translations/id.json +16 -0
  299. homeassistant/components/tolo/translations/id.json +2 -1
  300. homeassistant/components/traccar_server/translations/id.json +9 -1
  301. homeassistant/components/tradfri/translations/ar.json +12 -0
  302. homeassistant/components/trafikverket_train/translations/zh-Hant.json +1 -1
  303. homeassistant/components/tuya/translations/id.json +32 -0
  304. homeassistant/components/unifiprotect/translations/id.json +3 -0
  305. homeassistant/components/update/translations/id.json +3 -0
  306. homeassistant/components/uptime_kuma/translations/id.json +40 -0
  307. homeassistant/components/uptimerobot/translations/id.json +6 -0
  308. homeassistant/components/vallox/translations/ar.json +7 -0
  309. homeassistant/components/vegehub/translations/id.json +4 -0
  310. homeassistant/components/victron_remote_monitoring/translations/id.json +25 -0
  311. homeassistant/components/volvo/translations/id.json +58 -0
  312. homeassistant/components/whirlpool/translations/id.json +1 -0
  313. homeassistant/components/wled/analytics.py +11 -0
  314. homeassistant/components/xiaomi_aqara/translations/zh-Hant.json +2 -2
  315. homeassistant/components/yolink/translations/id.json +9 -0
  316. homeassistant/components/zha/config_flow.py +3 -1
  317. homeassistant/components/zha/strings.json +16 -16
  318. homeassistant/components/zha/translations/bg.json +0 -16
  319. homeassistant/components/zha/translations/bn.json +0 -9
  320. homeassistant/components/zha/translations/ca.json +0 -24
  321. homeassistant/components/zha/translations/cs.json +0 -28
  322. homeassistant/components/zha/translations/da.json +0 -19
  323. homeassistant/components/zha/translations/de.json +28 -28
  324. homeassistant/components/zha/translations/el.json +0 -28
  325. homeassistant/components/zha/translations/en-GB.json +28 -28
  326. homeassistant/components/zha/translations/en.json +28 -28
  327. homeassistant/components/zha/translations/es.json +0 -28
  328. homeassistant/components/zha/translations/et.json +26 -26
  329. homeassistant/components/zha/translations/fi.json +0 -25
  330. homeassistant/components/zha/translations/fr.json +0 -28
  331. homeassistant/components/zha/translations/fy.json +0 -9
  332. homeassistant/components/zha/translations/ga.json +0 -28
  333. homeassistant/components/zha/translations/gsw.json +0 -18
  334. homeassistant/components/zha/translations/he.json +0 -3
  335. homeassistant/components/zha/translations/hr.json +0 -7
  336. homeassistant/components/zha/translations/hu.json +0 -28
  337. homeassistant/components/zha/translations/id.json +0 -26
  338. homeassistant/components/zha/translations/it.json +0 -25
  339. homeassistant/components/zha/translations/ja.json +0 -28
  340. homeassistant/components/zha/translations/ko.json +0 -25
  341. homeassistant/components/zha/translations/lt.json +17 -28
  342. homeassistant/components/zha/translations/lv.json +0 -4
  343. homeassistant/components/zha/translations/nb.json +0 -17
  344. homeassistant/components/zha/translations/nl.json +6 -28
  345. homeassistant/components/zha/translations/pl.json +22 -21
  346. homeassistant/components/zha/translations/pt-BR.json +0 -24
  347. homeassistant/components/zha/translations/pt.json +0 -28
  348. homeassistant/components/zha/translations/ro.json +0 -18
  349. homeassistant/components/zha/translations/ru.json +3 -28
  350. homeassistant/components/zha/translations/sk.json +0 -28
  351. homeassistant/components/zha/translations/sl.json +0 -28
  352. homeassistant/components/zha/translations/sv.json +0 -28
  353. homeassistant/components/zha/translations/tr.json +0 -28
  354. homeassistant/components/zha/translations/uk.json +0 -24
  355. homeassistant/components/zha/translations/vi.json +0 -23
  356. homeassistant/components/zha/translations/zh-Hans.json +0 -28
  357. homeassistant/components/zha/translations/zh-Hant.json +0 -28
  358. homeassistant/const.py +1 -1
  359. homeassistant/generated/integrations.json +27 -4
  360. homeassistant/package_constraints.txt +2 -2
  361. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/METADATA +1 -1
  362. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/RECORD +367 -307
  363. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/WHEEL +0 -0
  364. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/entry_points.txt +0 -0
  365. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/licenses/LICENSE.md +0 -0
  366. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  367. {homeassistant-2025.10.0b5.dist-info → homeassistant-2025.10.0b7.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,25 @@
1
+ {
2
+ "entity": {
3
+ "climate": {
4
+ "climate_device": {
5
+ "state_attributes": {
6
+ "swing_horizontal_mode": {
7
+ "state": {
8
+ "stopped": "\u0625\u064a\u0642\u0627\u0641"
9
+ }
10
+ }
11
+ }
12
+ }
13
+ }
14
+ },
15
+ "selector": {
16
+ "hvac_mode": {
17
+ "options": {
18
+ "cool": "\u0628\u0627\u0631\u062f",
19
+ "dry": "\u062c\u0627\u0641",
20
+ "fan": "\u0645\u0631\u0648\u062d\u0629",
21
+ "heat": "\u062d\u0627\u0631"
22
+ }
23
+ }
24
+ }
25
+ }
@@ -121,6 +121,9 @@
121
121
  "pm25": {
122
122
  "name": "PM2.5"
123
123
  },
124
+ "pm4": {
125
+ "name": "PM4"
126
+ },
124
127
  "power": {
125
128
  "name": "\u041c\u043e\u0449\u043d\u043e\u0441\u0442"
126
129
  },
@@ -250,6 +250,9 @@
250
250
  "pm25": {
251
251
  "name": "PM2.5"
252
252
  },
253
+ "pm4": {
254
+ "name": "PM4"
255
+ },
253
256
  "power": {
254
257
  "name": "Puissance"
255
258
  },
@@ -250,6 +250,9 @@
250
250
  "pm25": {
251
251
  "name": "PM2.5"
252
252
  },
253
+ "pm4": {
254
+ "name": "PM4"
255
+ },
253
256
  "power": {
254
257
  "name": "Galia"
255
258
  },
@@ -245,6 +245,9 @@
245
245
  "pm25": {
246
246
  "name": "PM2.5"
247
247
  },
248
+ "pm4": {
249
+ "name": "PM4"
250
+ },
248
251
  "power": {
249
252
  "name": "Vermogen"
250
253
  },
@@ -219,6 +219,9 @@
219
219
  "pm25": {
220
220
  "name": "PM2.5"
221
221
  },
222
+ "pm4": {
223
+ "name": "PM4"
224
+ },
222
225
  "power": {
223
226
  "name": "Moc"
224
227
  },
@@ -250,6 +250,9 @@
250
250
  "pm25": {
251
251
  "name": "PM2.5"
252
252
  },
253
+ "pm4": {
254
+ "name": "PM4"
255
+ },
253
256
  "power": {
254
257
  "name": "\u041c\u043e\u0449\u043d\u043e\u0441\u0442\u044c"
255
258
  },
@@ -0,0 +1,14 @@
1
+ {
2
+ "config": {
3
+ "step": {
4
+ "user": {
5
+ "data": {
6
+ "host": "Host",
7
+ "password": "Kata Sandi",
8
+ "port": "Port",
9
+ "username": "Nama Pengguna"
10
+ }
11
+ }
12
+ }
13
+ }
14
+ }
@@ -98,6 +98,11 @@
98
98
  }
99
99
  },
100
100
  "sensor": {
101
+ "charger_state": {
102
+ "state": {
103
+ "charger_charging": "Mengisi daya"
104
+ }
105
+ },
101
106
  "operation": {
102
107
  "state": {
103
108
  "fault": "Macet",
@@ -129,6 +134,13 @@
129
134
  "description": "Perangkat Shelly {device_name} dengan alamat IP {ip_address} memerlukan kalibrasi. Untuk mengkalibrasi perangkat, perangkat harus di-boot ulang setelah pemasangan yang benar pada katup. Anda dapat mem-boot ulang perangkat di panel webnya, buka 'Settings' > 'Device Reboot'.",
130
135
  "title": "Perangkat Shelly {device_name} tidak dikalibrasi"
131
136
  },
137
+ "outbound_websocket_incorrectly_enabled": {
138
+ "fix_flow": {
139
+ "abort": {
140
+ "cannot_connect": "Gagal terhubung"
141
+ }
142
+ }
143
+ },
132
144
  "push_update_failure": {
133
145
  "description": "Home Assistant tidak menerima pembaruan push dari perangkat Shelly {device_name} dengan alamat IP {ip_address}. Periksa konfigurasi CoIoT di panel web perangkat dan konfigurasi jaringan Anda.",
134
146
  "title": "Kegagalan pembaruan push perangkat Shelly {device_name}"
@@ -136,6 +148,13 @@
136
148
  "unsupported_firmware": {
137
149
  "description": "Perangkat Shelly Anda {device_name} dengan alamat IP {ip_address} menjalankan firmware yang tidak didukung. Harap perbarui firmware.\n\nJika perangkat tidak menawarkan pembaruan, periksa konektivitas internet (gateway, DNS, waktu) dan mulai ulang perangkat.",
138
150
  "title": "Firmware tidak didukung untuk perangkat {device_name}"
151
+ },
152
+ "wall_display_firmware_unsupported": {
153
+ "fix_flow": {
154
+ "abort": {
155
+ "cannot_connect": "Gagal terhubung"
156
+ }
157
+ }
139
158
  }
140
159
  },
141
160
  "options": {
@@ -552,8 +552,15 @@ def percentage_to_brightness(percentage: int) -> int:
552
552
 
553
553
  def mac_address_from_name(name: str) -> str | None:
554
554
  """Convert a name to a mac address."""
555
- mac = name.partition(".")[0].partition("-")[-1]
556
- return mac.upper() if len(mac) == 12 else None
555
+ base = name.split(".", 1)[0]
556
+ if "-" not in base:
557
+ return None
558
+
559
+ mac = base.rsplit("-", 1)[-1]
560
+ if len(mac) != 12 or not all(char in "0123456789abcdefABCDEF" for char in mac):
561
+ return None
562
+
563
+ return mac.upper()
557
564
 
558
565
 
559
566
  def get_release_url(gen: int, model: str, beta: bool) -> str | None:
@@ -0,0 +1,31 @@
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "cloud_not_connected": "Tidak terhubung ke Home Assistant Cloud.",
5
+ "webhook_not_internet_accessible": "Instans Home Assistant Anda harus dapat diakses dari internet untuk menerima pesan webhook."
6
+ }
7
+ },
8
+ "entity": {
9
+ "event": {
10
+ "lullaby": {
11
+ "state_attributes": {
12
+ "event_type": {
13
+ "state": {
14
+ "stop": "Dihentikan"
15
+ }
16
+ }
17
+ }
18
+ },
19
+ "sleep_tracking": {
20
+ "state_attributes": {
21
+ "event_type": {
22
+ "state": {
23
+ "paused": "Dijeda",
24
+ "stopped": "Dihentikan"
25
+ }
26
+ }
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
@@ -26,6 +26,11 @@
26
26
  },
27
27
  "entity": {
28
28
  "select": {
29
+ "core_temps": {
30
+ "state": {
31
+ "off": "Mati"
32
+ }
33
+ },
29
34
  "foot_warmer_temp": {
30
35
  "state": {
31
36
  "high": "Tinggi",
@@ -0,0 +1,11 @@
1
+ {
2
+ "entity": {
3
+ "sensor": {
4
+ "robot_cleaner_cleaning_mode": {
5
+ "state": {
6
+ "map": "\u0627\u0644\u062e\u0631\u064a\u0637\u0629"
7
+ }
8
+ }
9
+ }
10
+ }
11
+ }
@@ -53,6 +53,8 @@
53
53
  },
54
54
  "lamp": {
55
55
  "state": {
56
+ "high": "Tinggi",
57
+ "low": "Rendah",
56
58
  "off": "Mati",
57
59
  "on": "Nyala"
58
60
  }
@@ -63,6 +65,11 @@
63
65
  "stop": "Dihentikan"
64
66
  }
65
67
  },
68
+ "soil_level": {
69
+ "state": {
70
+ "normal": "Normal"
71
+ }
72
+ },
66
73
  "spin_level": {
67
74
  "state": {
68
75
  "high": "Tinggi",
@@ -59,17 +59,12 @@ async def async_setup_entry(
59
59
  for select_data in SELECT_TYPES:
60
60
  if select_data.speaker_model == speaker.model_name.upper():
61
61
  if (
62
- state := getattr(speaker.soco, select_data.soco_attribute, None)
63
- ) is not None:
64
- try:
65
- setattr(speaker, select_data.speaker_attribute, int(state))
66
- features.append(select_data)
67
- except ValueError:
68
- _LOGGER.error(
69
- "Invalid value for %s %s",
70
- select_data.speaker_attribute,
71
- state,
72
- )
62
+ speaker.update_soco_int_attribute(
63
+ select_data.soco_attribute, select_data.speaker_attribute
64
+ )
65
+ is not None
66
+ ):
67
+ features.append(select_data)
73
68
  return features
74
69
 
75
70
  async def _async_create_entities(speaker: SonosSpeaker) -> None:
@@ -112,8 +107,9 @@ class SonosSelectEntity(SonosEntity, SelectEntity):
112
107
  @soco_error()
113
108
  def poll_state(self) -> None:
114
109
  """Poll the device for the current state."""
115
- state = getattr(self.soco, self.soco_attribute)
116
- setattr(self.speaker, self.speaker_attribute, state)
110
+ self.speaker.update_soco_int_attribute(
111
+ self.soco_attribute, self.speaker_attribute
112
+ )
117
113
 
118
114
  @property
119
115
  def current_option(self) -> str | None:
@@ -275,6 +275,29 @@ class SonosSpeaker:
275
275
  """Write states for associated SonosEntity instances."""
276
276
  async_dispatcher_send(self.hass, f"{SONOS_STATE_UPDATED}-{self.soco.uid}")
277
277
 
278
+ def update_soco_int_attribute(
279
+ self, soco_attribute: str, speaker_attribute: str
280
+ ) -> int | None:
281
+ """Update an integer attribute from SoCo and set it on the speaker.
282
+
283
+ Returns the integer value if successful, otherwise None. Do not call from
284
+ async context as it is a blocking function.
285
+ """
286
+ value: int | None = None
287
+ if (state := getattr(self.soco, soco_attribute, None)) is None:
288
+ _LOGGER.error("Missing value for %s", speaker_attribute)
289
+ else:
290
+ try:
291
+ value = int(state)
292
+ except (TypeError, ValueError):
293
+ _LOGGER.error(
294
+ "Invalid value for %s %s",
295
+ speaker_attribute,
296
+ state,
297
+ )
298
+ setattr(self, speaker_attribute, value)
299
+ return value
300
+
278
301
  #
279
302
  # Properties
280
303
  #
@@ -12,6 +12,16 @@
12
12
  }
13
13
  },
14
14
  "entity": {
15
+ "select": {
16
+ "speech_dialog_level": {
17
+ "state": {
18
+ "high": "Tinggi",
19
+ "low": "Rendah",
20
+ "medium": "Sedang",
21
+ "off": "Mati"
22
+ }
23
+ }
24
+ },
15
25
  "switch": {
16
26
  "surround_enabled": {
17
27
  "name": "Surround diaktifkan"
@@ -58,6 +58,7 @@
58
58
  "pm1": "PM1",
59
59
  "pm10": "PM10",
60
60
  "pm25": "PM2.5",
61
+ "pm4": "PM4",
61
62
  "power": "\u041c\u043e\u0449\u043d\u043e\u0441\u0442",
62
63
  "precipitation": "\u0412\u0430\u043b\u0435\u0436\u0438",
63
64
  "precipitation_intensity": "\u0418\u043d\u0442\u0435\u043d\u0437\u0438\u0442\u0435\u0442 \u043d\u0430 \u0432\u0430\u043b\u0435\u0436\u0430",
@@ -133,6 +133,7 @@
133
133
  "pm1": "PM1",
134
134
  "pm10": "PM10",
135
135
  "pm25": "PM2.5",
136
+ "pm4": "PM4",
136
137
  "power": "Puissance",
137
138
  "power_factor": "Facteur de puissance",
138
139
  "precipitation": "Pr\u00e9cipitation",
@@ -133,6 +133,7 @@
133
133
  "pm1": "PM1",
134
134
  "pm10": "PM10",
135
135
  "pm25": "PM2.5",
136
+ "pm4": "PM4",
136
137
  "power": "Galia",
137
138
  "power_factor": "Galios koeficientas",
138
139
  "precipitation": "Krituliai",
@@ -132,6 +132,7 @@
132
132
  "pm1": "PM1",
133
133
  "pm10": "PM10",
134
134
  "pm25": "PM2.5",
135
+ "pm4": "PM4",
135
136
  "power": "\u041c\u043e\u0449\u043d\u043e\u0441\u0442\u044c",
136
137
  "power_factor": "\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438",
137
138
  "precipitation": "\u041e\u0441\u0430\u0434\u043a\u0438",
@@ -133,6 +133,7 @@
133
133
  "pm1": "PM1",
134
134
  "pm10": "PM10",
135
135
  "pm25": "PM2.5",
136
+ "pm4": "PM4",
136
137
  "power": "V\u00fdkon",
137
138
  "power_factor": "\u00da\u010dinn\u00edk",
138
139
  "precipitation": "Zr\u00e1\u017eky",
@@ -31,8 +31,8 @@
31
31
  "data_description": {
32
32
  "device_class": "\u65bc Frontend \u4e2d\u8a2d\u5b9a\u4e4b\u611f\u6e2c\u5668\u985e\u578b/\u985e\u5225\u5716\u793a",
33
33
  "state_class": "\u611f\u6e2c\u5668\u72c0\u614b\u985e\u5225",
34
- "unit_of_measurement": "\u611f\u6e2c\u5668\u6e2c\u91cf\u55ae\u4f4d\uff08\u9078\u9805\uff09",
35
- "value_template": "\u5f9e\u6709\u6548\u8ca0\u8f09 Payload \u4e2d\u63d0\u53d6\u6578\u503c\u6a21\u677f\uff08\u9078\u9805\uff09"
34
+ "unit_of_measurement": "\u611f\u6e2c\u5668\u6e2c\u91cf\u55ae\u4f4d\uff08\u9078\u586b\uff09",
35
+ "value_template": "\u5f9e\u6709\u6548\u8ca0\u8f09 Payload \u4e2d\u63d0\u53d6\u6578\u503c\u6a21\u677f\uff08\u9078\u586b\uff09"
36
36
  },
37
37
  "description": "\u70ba\u611f\u6e2c\u5668\u63d0\u4f9b\u9644\u52a0\u8a2d\u5b9a",
38
38
  "name": "\u9032\u968e\u9078\u9805"
@@ -86,8 +86,8 @@
86
86
  "data_description": {
87
87
  "device_class": "\u65bc Frontend \u4e2d\u8a2d\u5b9a\u4e4b\u611f\u6e2c\u5668\u985e\u578b/\u985e\u5225\u5716\u793a",
88
88
  "state_class": "\u611f\u6e2c\u5668\u72c0\u614b\u985e\u5225",
89
- "unit_of_measurement": "\u611f\u6e2c\u5668\u6e2c\u91cf\u55ae\u4f4d\uff08\u9078\u9805\uff09",
90
- "value_template": "\u5f9e\u6709\u6548\u8ca0\u8f09 Payload \u4e2d\u63d0\u53d6\u6578\u503c\u6a21\u677f\uff08\u9078\u9805\uff09"
89
+ "unit_of_measurement": "\u611f\u6e2c\u5668\u6e2c\u91cf\u55ae\u4f4d\uff08\u9078\u586b\uff09",
90
+ "value_template": "\u5f9e\u6709\u6548\u8ca0\u8f09 Payload \u4e2d\u63d0\u53d6\u6578\u503c\u6a21\u677f\uff08\u9078\u586b\uff09"
91
91
  },
92
92
  "description": "\u9032\u968e\u9078\u9805",
93
93
  "name": "\u9032\u968e\u9078\u9805"
@@ -0,0 +1,9 @@
1
+ {
2
+ "entity": {
3
+ "lock": {
4
+ "security": {
5
+ "name": "\u0627\u0644\u0623\u0645\u0627\u0646"
6
+ }
7
+ }
8
+ }
9
+ }
@@ -9,6 +9,9 @@
9
9
  "is_off": "{entity_name} mati",
10
10
  "is_on": "{entity_name} nyala"
11
11
  },
12
+ "extra_fields": {
13
+ "for": "Durasi"
14
+ },
12
15
  "trigger_type": {
13
16
  "changed_states": "{entity_name} dinyalakan atau dimatikan",
14
17
  "turned_off": "{entity_name} dimatikan",
@@ -10,6 +10,12 @@
10
10
  },
11
11
  "flow_title": "{name} ({address})",
12
12
  "step": {
13
+ "cloud_login": {
14
+ "data": {
15
+ "password": "Kata Sandi",
16
+ "username": "Nama Pengguna"
17
+ }
18
+ },
13
19
  "confirm": {
14
20
  "description": "Ingin menyiapkan {name}?"
15
21
  },
@@ -79,6 +85,11 @@
79
85
  "false": "Bermasalah",
80
86
  "true": "Oke"
81
87
  }
88
+ },
89
+ "preset_mode": {
90
+ "state": {
91
+ "normal": "Normal"
92
+ }
82
93
  }
83
94
  }
84
95
  }
@@ -128,6 +139,7 @@
128
139
  },
129
140
  "water_level": {
130
141
  "state": {
142
+ "empty": "Kosong",
131
143
  "high": "Tinggi",
132
144
  "low": "Rendah",
133
145
  "medium": "Sedang"
@@ -109,15 +109,13 @@ class SwitchBotCloudCoverRollerShade(SwitchBotCloudCover):
109
109
 
110
110
  async def async_open_cover(self, **kwargs: Any) -> None:
111
111
  """Open the cover."""
112
- await self.send_api_command(RollerShadeCommands.SET_POSITION, parameters=str(0))
112
+ await self.send_api_command(RollerShadeCommands.SET_POSITION, parameters=0)
113
113
  await asyncio.sleep(COVER_ENTITY_AFTER_COMMAND_REFRESH)
114
114
  await self.coordinator.async_request_refresh()
115
115
 
116
116
  async def async_close_cover(self, **kwargs: Any) -> None:
117
117
  """Close the cover."""
118
- await self.send_api_command(
119
- RollerShadeCommands.SET_POSITION, parameters=str(100)
120
- )
118
+ await self.send_api_command(RollerShadeCommands.SET_POSITION, parameters=100)
121
119
  await asyncio.sleep(COVER_ENTITY_AFTER_COMMAND_REFRESH)
122
120
  await self.coordinator.async_request_refresh()
123
121
 
@@ -126,7 +124,7 @@ class SwitchBotCloudCoverRollerShade(SwitchBotCloudCover):
126
124
  position: int | None = kwargs.get("position")
127
125
  if position is not None:
128
126
  await self.send_api_command(
129
- RollerShadeCommands.SET_POSITION, parameters=str(100 - position)
127
+ RollerShadeCommands.SET_POSITION, parameters=(100 - position)
130
128
  )
131
129
  await asyncio.sleep(COVER_ENTITY_AFTER_COMMAND_REFRESH)
132
130
  await self.coordinator.async_request_refresh()
@@ -44,7 +44,7 @@ class SwitchBotCloudEntity(CoordinatorEntity[SwitchBotCoordinator]):
44
44
  self,
45
45
  command: Commands,
46
46
  command_type: str = "command",
47
- parameters: dict | str = "default",
47
+ parameters: dict | str | int = "default",
48
48
  ) -> None:
49
49
  """Send command to device."""
50
50
  await self._api.send_command(
@@ -16,5 +16,32 @@
16
16
  }
17
17
  }
18
18
  }
19
+ },
20
+ "entity": {
21
+ "fan": {
22
+ "air_purifier": {
23
+ "state_attributes": {
24
+ "preset_mode": {
25
+ "state": {
26
+ "auto": "Otomatis",
27
+ "normal": "Normal"
28
+ }
29
+ }
30
+ }
31
+ }
32
+ },
33
+ "humidifier": {
34
+ "evaporative_humidifier": {
35
+ "state_attributes": {
36
+ "mode": {
37
+ "state": {
38
+ "high": "Tinggi",
39
+ "low": "Rendah",
40
+ "medium": "Sedang"
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
19
46
  }
20
47
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "entity": {
3
+ "binary_sensor": {
4
+ "status": {
5
+ "name": "\u062d\u0627\u0644\u0629 \u0627\u0644\u0623\u0645\u0627\u0646"
6
+ }
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "entity": {
3
+ "media_player": {
4
+ "media": {
5
+ "name": "\u0627\u0644\u0648\u0633\u0627\u0626\u0637"
6
+ }
7
+ }
8
+ }
9
+ }
@@ -14,6 +14,11 @@
14
14
  "api_key": "Kunci API"
15
15
  }
16
16
  },
17
+ "user": {
18
+ "data": {
19
+ "api_key": "Token API"
20
+ }
21
+ },
17
22
  "webhooks": {
18
23
  "data": {
19
24
  "url": "URL"
@@ -255,6 +255,7 @@
255
255
  "ph": "pH",
256
256
  "pm10": "PM10",
257
257
  "pm25": "PM2.5",
258
+ "pm4": "PM4",
258
259
  "power": "\u041c\u043e\u0449\u043d\u043e\u0441\u0442",
259
260
  "precipitation": "\u0412\u0430\u043b\u0435\u0436\u0438",
260
261
  "pressure": "\u041d\u0430\u043b\u044f\u0433\u0430\u043d\u0435",
@@ -1088,6 +1088,7 @@
1088
1088
  "pm1": "PM1",
1089
1089
  "pm10": "PM10",
1090
1090
  "pm25": "PM2.5",
1091
+ "pm4": "PM4",
1091
1092
  "power": "Puissance",
1092
1093
  "power_factor": "Facteur de puissance",
1093
1094
  "precipitation": "Pr\u00e9cipitation",