homeassistant 2025.10.0b2__py3-none-any.whl → 2025.10.0b5__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 (554) hide show
  1. homeassistant/components/accuweather/translations/bg.json +7 -1
  2. homeassistant/components/accuweather/translations/ga.json +16 -1
  3. homeassistant/components/adax/translations/fy.json +11 -0
  4. homeassistant/components/adguard/translations/zh-Hant.json +1 -1
  5. homeassistant/components/airos/__init__.py +37 -2
  6. homeassistant/components/airos/config_flow.py +24 -3
  7. homeassistant/components/airos/const.py +5 -0
  8. homeassistant/components/airos/entity.py +8 -3
  9. homeassistant/components/airos/strings.json +12 -0
  10. homeassistant/components/airos/translations/bg.json +8 -0
  11. homeassistant/components/airos/translations/ca.json +8 -0
  12. homeassistant/components/airos/translations/cs.json +12 -0
  13. homeassistant/components/airos/translations/de.json +12 -0
  14. homeassistant/components/airos/translations/en-GB.json +12 -0
  15. homeassistant/components/airos/translations/en.json +12 -0
  16. homeassistant/components/airos/translations/es.json +12 -0
  17. homeassistant/components/airos/translations/et.json +12 -0
  18. homeassistant/components/airos/translations/fr.json +18 -0
  19. homeassistant/components/airos/translations/fy.json +11 -0
  20. homeassistant/components/airos/translations/lt.json +12 -0
  21. homeassistant/components/airos/translations/lv.json +1 -0
  22. homeassistant/components/airos/translations/pt.json +12 -0
  23. homeassistant/components/airos/translations/sk.json +12 -0
  24. homeassistant/components/airos/translations/sv.json +40 -1
  25. homeassistant/components/airos/translations/zh-Hans.json +12 -0
  26. homeassistant/components/airos/translations/zh-Hant.json +12 -0
  27. homeassistant/components/airtouch5/translations/da.json +9 -0
  28. homeassistant/components/airzone/translations/es.json +10 -0
  29. homeassistant/components/airzone/translations/et.json +10 -0
  30. homeassistant/components/airzone/translations/fr.json +9 -0
  31. homeassistant/components/airzone/translations/ga.json +10 -0
  32. homeassistant/components/airzone/translations/lt.json +10 -0
  33. homeassistant/components/airzone/translations/pt.json +10 -0
  34. homeassistant/components/alexa_devices/binary_sensor.py +0 -7
  35. homeassistant/components/alexa_devices/manifest.json +1 -1
  36. homeassistant/components/alexa_devices/translations/fy.json +16 -0
  37. homeassistant/components/analytics/analytics.py +1 -1
  38. homeassistant/components/assist_pipeline/pipeline.py +43 -18
  39. homeassistant/components/assist_pipeline/translations/sv.json +1 -0
  40. homeassistant/components/blue_current/translations/bg.json +18 -0
  41. homeassistant/components/blue_current/translations/es.json +44 -0
  42. homeassistant/components/blue_current/translations/et.json +44 -0
  43. homeassistant/components/blue_current/translations/fr.json +9 -0
  44. homeassistant/components/blue_current/translations/ga.json +44 -0
  45. homeassistant/components/blue_current/translations/lt.json +44 -0
  46. homeassistant/components/blue_current/translations/pt.json +44 -0
  47. homeassistant/components/bsblan/translations/fy.json +16 -0
  48. homeassistant/components/cast/translations/pl.json +14 -0
  49. homeassistant/components/cloud/translations/sk.json +1 -1
  50. homeassistant/components/comelit/config_flow.py +8 -4
  51. homeassistant/components/compit/translations/bg.json +25 -0
  52. homeassistant/components/compit/translations/fy.json +16 -0
  53. homeassistant/components/cover/translations/da.json +20 -1
  54. homeassistant/components/cync/translations/bg.json +20 -0
  55. homeassistant/components/cync/translations/ca.json +12 -0
  56. homeassistant/components/cync/translations/es.json +32 -0
  57. homeassistant/components/cync/translations/et.json +32 -0
  58. homeassistant/components/cync/translations/fr.json +32 -0
  59. homeassistant/components/cync/translations/fy.json +11 -0
  60. homeassistant/components/cync/translations/ga.json +32 -0
  61. homeassistant/components/cync/translations/lt.json +32 -0
  62. homeassistant/components/cync/translations/pt.json +32 -0
  63. homeassistant/components/cync/translations/ru.json +32 -0
  64. homeassistant/components/deconz/translations/zh-Hant.json +1 -1
  65. homeassistant/components/deluge/translations/bg.json +6 -0
  66. homeassistant/components/devolo_home_control/translations/fy.json +11 -0
  67. homeassistant/components/devolo_home_network/translations/fy.json +10 -0
  68. homeassistant/components/dnsip/sensor.py +17 -4
  69. homeassistant/components/ebusd/__init__.py +5 -1
  70. homeassistant/components/ecovacs/image.py +3 -1
  71. homeassistant/components/ecovacs/manifest.json +1 -1
  72. homeassistant/components/ecovacs/translations/es.json +7 -1
  73. homeassistant/components/ecovacs/translations/et.json +7 -1
  74. homeassistant/components/ecovacs/translations/ga.json +6 -1
  75. homeassistant/components/ecovacs/translations/pt.json +4 -0
  76. homeassistant/components/ecovacs/translations/ru.json +4 -0
  77. homeassistant/components/edl21/translations/de.json +1 -1
  78. homeassistant/components/ekeybionyx/translations/bg.json +26 -0
  79. homeassistant/components/ekeybionyx/translations/es.json +66 -0
  80. homeassistant/components/ekeybionyx/translations/et.json +66 -0
  81. homeassistant/components/ekeybionyx/translations/fr.json +32 -0
  82. homeassistant/components/ekeybionyx/translations/ga.json +66 -0
  83. homeassistant/components/ekeybionyx/translations/lt.json +65 -0
  84. homeassistant/components/ekeybionyx/translations/pt.json +66 -0
  85. homeassistant/components/elkm1/translations/fy.json +11 -0
  86. homeassistant/components/elvia/translations/de.json +3 -3
  87. homeassistant/components/ephember/climate.py +12 -2
  88. homeassistant/components/esphome/manager.py +1 -1
  89. homeassistant/components/esphome/manifest.json +1 -1
  90. homeassistant/components/esphome/translations/pl.json +4 -2
  91. homeassistant/components/esphome/translations/sv.json +1 -1
  92. homeassistant/components/ezviz/entity.py +12 -6
  93. homeassistant/components/file/translations/bg.json +17 -0
  94. homeassistant/components/file/translations/es.json +31 -0
  95. homeassistant/components/file/translations/et.json +31 -0
  96. homeassistant/components/file/translations/ga.json +31 -0
  97. homeassistant/components/file/translations/pt.json +31 -0
  98. homeassistant/components/file/translations/ru.json +31 -0
  99. homeassistant/components/fritz/diagnostics.py +3 -0
  100. homeassistant/components/frontend/manifest.json +1 -1
  101. homeassistant/components/geniushub/entity.py +4 -4
  102. homeassistant/components/geocaching/translations/bg.json +13 -0
  103. homeassistant/components/google_generative_ai_conversation/translations/ga.json +6 -0
  104. homeassistant/components/habitica/translations/ga.json +24 -0
  105. homeassistant/components/hassio/translations/bg.json +3 -0
  106. homeassistant/components/hassio/translations/es.json +4 -0
  107. homeassistant/components/hassio/translations/et.json +4 -0
  108. homeassistant/components/hassio/translations/ga.json +4 -0
  109. homeassistant/components/hassio/translations/pt.json +4 -0
  110. homeassistant/components/hassio/translations/ru.json +4 -0
  111. homeassistant/components/here_travel_time/translations/es.json +6 -0
  112. homeassistant/components/here_travel_time/translations/et.json +6 -0
  113. homeassistant/components/here_travel_time/translations/ga.json +6 -0
  114. homeassistant/components/here_travel_time/translations/pt.json +6 -0
  115. homeassistant/components/homeassistant_connect_zbt2/strings.json +22 -12
  116. homeassistant/components/homeassistant_connect_zbt2/translations/bg.json +64 -6
  117. homeassistant/components/homeassistant_connect_zbt2/translations/ca.json +2 -8
  118. homeassistant/components/homeassistant_connect_zbt2/translations/cs.json +22 -12
  119. homeassistant/components/homeassistant_connect_zbt2/translations/de.json +22 -12
  120. homeassistant/components/homeassistant_connect_zbt2/translations/el.json +2 -8
  121. homeassistant/components/homeassistant_connect_zbt2/translations/en-GB.json +22 -12
  122. homeassistant/components/homeassistant_connect_zbt2/translations/en.json +22 -12
  123. homeassistant/components/homeassistant_connect_zbt2/translations/es.json +22 -12
  124. homeassistant/components/homeassistant_connect_zbt2/translations/et.json +22 -12
  125. homeassistant/components/homeassistant_connect_zbt2/translations/fr.json +2 -8
  126. homeassistant/components/homeassistant_connect_zbt2/translations/ga.json +2 -8
  127. homeassistant/components/homeassistant_connect_zbt2/translations/he.json +2 -8
  128. homeassistant/components/homeassistant_connect_zbt2/translations/lt.json +2 -8
  129. homeassistant/components/homeassistant_connect_zbt2/translations/nl.json +2 -4
  130. homeassistant/components/homeassistant_connect_zbt2/translations/pl.json +1 -2
  131. homeassistant/components/homeassistant_connect_zbt2/translations/pt.json +22 -12
  132. homeassistant/components/homeassistant_connect_zbt2/translations/ru.json +1 -4
  133. homeassistant/components/homeassistant_connect_zbt2/translations/sk.json +6 -12
  134. homeassistant/components/homeassistant_connect_zbt2/translations/zh-Hans.json +2 -8
  135. homeassistant/components/homeassistant_connect_zbt2/translations/zh-Hant.json +22 -12
  136. homeassistant/components/homeassistant_hardware/firmware_config_flow.py +11 -0
  137. homeassistant/components/homeassistant_hardware/strings.json +11 -5
  138. homeassistant/components/homeassistant_hardware/translations/bg.json +40 -0
  139. homeassistant/components/homeassistant_hardware/translations/ca.json +0 -8
  140. homeassistant/components/homeassistant_hardware/translations/cs.json +11 -5
  141. homeassistant/components/homeassistant_hardware/translations/de.json +11 -5
  142. homeassistant/components/homeassistant_hardware/translations/el.json +0 -11
  143. homeassistant/components/homeassistant_hardware/translations/en-GB.json +11 -5
  144. homeassistant/components/homeassistant_hardware/translations/en.json +11 -5
  145. homeassistant/components/homeassistant_hardware/translations/es.json +11 -5
  146. homeassistant/components/homeassistant_hardware/translations/et.json +11 -5
  147. homeassistant/components/homeassistant_hardware/translations/fr.json +0 -11
  148. homeassistant/components/homeassistant_hardware/translations/ga.json +0 -11
  149. homeassistant/components/homeassistant_hardware/translations/he.json +0 -11
  150. homeassistant/components/homeassistant_hardware/translations/hu.json +0 -11
  151. homeassistant/components/homeassistant_hardware/translations/id.json +0 -8
  152. homeassistant/components/homeassistant_hardware/translations/it.json +0 -3
  153. homeassistant/components/homeassistant_hardware/translations/ja.json +0 -11
  154. homeassistant/components/homeassistant_hardware/translations/ko.json +0 -8
  155. homeassistant/components/homeassistant_hardware/translations/lt.json +0 -11
  156. homeassistant/components/homeassistant_hardware/translations/mk.json +0 -3
  157. homeassistant/components/homeassistant_hardware/translations/nl.json +0 -3
  158. homeassistant/components/homeassistant_hardware/translations/pt.json +11 -5
  159. homeassistant/components/homeassistant_hardware/translations/ru.json +0 -11
  160. homeassistant/components/homeassistant_hardware/translations/sk.json +10 -7
  161. homeassistant/components/homeassistant_hardware/translations/sv.json +0 -11
  162. homeassistant/components/homeassistant_hardware/translations/tr.json +0 -8
  163. homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +0 -11
  164. homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +11 -5
  165. homeassistant/components/homeassistant_sky_connect/strings.json +22 -12
  166. homeassistant/components/homeassistant_sky_connect/translations/bg.json +72 -4
  167. homeassistant/components/homeassistant_sky_connect/translations/ca.json +2 -8
  168. homeassistant/components/homeassistant_sky_connect/translations/cs.json +22 -12
  169. homeassistant/components/homeassistant_sky_connect/translations/de.json +22 -12
  170. homeassistant/components/homeassistant_sky_connect/translations/el.json +2 -8
  171. homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +22 -12
  172. homeassistant/components/homeassistant_sky_connect/translations/en.json +22 -12
  173. homeassistant/components/homeassistant_sky_connect/translations/es.json +22 -12
  174. homeassistant/components/homeassistant_sky_connect/translations/et.json +22 -12
  175. homeassistant/components/homeassistant_sky_connect/translations/fi.json +2 -4
  176. homeassistant/components/homeassistant_sky_connect/translations/fr.json +2 -8
  177. homeassistant/components/homeassistant_sky_connect/translations/ga.json +2 -8
  178. homeassistant/components/homeassistant_sky_connect/translations/he.json +2 -8
  179. homeassistant/components/homeassistant_sky_connect/translations/hu.json +2 -8
  180. homeassistant/components/homeassistant_sky_connect/translations/id.json +2 -8
  181. homeassistant/components/homeassistant_sky_connect/translations/it.json +2 -4
  182. homeassistant/components/homeassistant_sky_connect/translations/ja.json +2 -8
  183. homeassistant/components/homeassistant_sky_connect/translations/ko.json +2 -12
  184. homeassistant/components/homeassistant_sky_connect/translations/lt.json +2 -8
  185. homeassistant/components/homeassistant_sky_connect/translations/nl.json +2 -4
  186. homeassistant/components/homeassistant_sky_connect/translations/pl.json +2 -4
  187. homeassistant/components/homeassistant_sky_connect/translations/pt.json +22 -12
  188. homeassistant/components/homeassistant_sky_connect/translations/ru.json +2 -8
  189. homeassistant/components/homeassistant_sky_connect/translations/sk.json +6 -12
  190. homeassistant/components/homeassistant_sky_connect/translations/sv.json +2 -8
  191. homeassistant/components/homeassistant_sky_connect/translations/tr.json +2 -8
  192. homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +2 -8
  193. homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +22 -12
  194. homeassistant/components/homeassistant_yellow/strings.json +11 -6
  195. homeassistant/components/homeassistant_yellow/translations/bg.json +32 -3
  196. homeassistant/components/homeassistant_yellow/translations/ca.json +1 -4
  197. homeassistant/components/homeassistant_yellow/translations/cs.json +11 -6
  198. homeassistant/components/homeassistant_yellow/translations/de.json +11 -6
  199. homeassistant/components/homeassistant_yellow/translations/el.json +1 -4
  200. homeassistant/components/homeassistant_yellow/translations/en-GB.json +11 -6
  201. homeassistant/components/homeassistant_yellow/translations/en.json +11 -6
  202. homeassistant/components/homeassistant_yellow/translations/es.json +11 -6
  203. homeassistant/components/homeassistant_yellow/translations/et.json +11 -6
  204. homeassistant/components/homeassistant_yellow/translations/fr.json +1 -4
  205. homeassistant/components/homeassistant_yellow/translations/ga.json +1 -4
  206. homeassistant/components/homeassistant_yellow/translations/he.json +1 -4
  207. homeassistant/components/homeassistant_yellow/translations/hu.json +1 -4
  208. homeassistant/components/homeassistant_yellow/translations/id.json +1 -4
  209. homeassistant/components/homeassistant_yellow/translations/it.json +1 -2
  210. homeassistant/components/homeassistant_yellow/translations/ja.json +1 -4
  211. homeassistant/components/homeassistant_yellow/translations/ko.json +0 -2
  212. homeassistant/components/homeassistant_yellow/translations/lt.json +1 -4
  213. homeassistant/components/homeassistant_yellow/translations/nl.json +1 -2
  214. homeassistant/components/homeassistant_yellow/translations/pt.json +11 -6
  215. homeassistant/components/homeassistant_yellow/translations/ru.json +1 -4
  216. homeassistant/components/homeassistant_yellow/translations/sk.json +3 -6
  217. homeassistant/components/homeassistant_yellow/translations/sv.json +1 -4
  218. homeassistant/components/homeassistant_yellow/translations/tr.json +1 -4
  219. homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +1 -4
  220. homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +11 -6
  221. homeassistant/components/homee/translations/fy.json +14 -0
  222. homeassistant/components/hue/v2/binary_sensor.py +5 -1
  223. homeassistant/components/husqvarna_automower/translations/da.json +16 -0
  224. homeassistant/components/imeon_inverter/translations/fy.json +11 -0
  225. homeassistant/components/improv_ble/translations/fy.json +7 -0
  226. homeassistant/components/irm_kmi/translations/bg.json +49 -0
  227. homeassistant/components/irm_kmi/translations/ga.json +50 -0
  228. homeassistant/components/ista_ecotrend/translations/fy.json +11 -0
  229. homeassistant/components/knx/translations/fr.json +3 -0
  230. homeassistant/components/konnected/__init__.py +14 -1
  231. homeassistant/components/konnected/manifest.json +1 -1
  232. homeassistant/components/konnected/strings.json +6 -0
  233. homeassistant/components/konnected/translations/cs.json +6 -0
  234. homeassistant/components/konnected/translations/de.json +6 -0
  235. homeassistant/components/konnected/translations/en-GB.json +6 -0
  236. homeassistant/components/konnected/translations/en.json +6 -0
  237. homeassistant/components/konnected/translations/es.json +6 -0
  238. homeassistant/components/konnected/translations/et.json +6 -0
  239. homeassistant/components/konnected/translations/pt.json +6 -0
  240. homeassistant/components/konnected/translations/sk.json +6 -0
  241. homeassistant/components/konnected/translations/zh-Hant.json +6 -0
  242. homeassistant/components/lamarzocco/__init__.py +1 -1
  243. homeassistant/components/lamarzocco/coordinator.py +10 -2
  244. homeassistant/components/lamarzocco/manifest.json +1 -1
  245. homeassistant/components/letpot/translations/bg.json +5 -0
  246. homeassistant/components/letpot/translations/es.json +10 -0
  247. homeassistant/components/letpot/translations/et.json +10 -0
  248. homeassistant/components/letpot/translations/fr.json +10 -0
  249. homeassistant/components/letpot/translations/ga.json +9 -0
  250. homeassistant/components/letpot/translations/lt.json +10 -0
  251. homeassistant/components/letpot/translations/pt.json +10 -0
  252. homeassistant/components/lg_thinq/translations/bg.json +9 -0
  253. homeassistant/components/lg_thinq/translations/ga.json +9 -0
  254. homeassistant/components/litterrobot/translations/bg.json +5 -0
  255. homeassistant/components/logbook/translations/es.json +6 -1
  256. homeassistant/components/logbook/translations/et.json +6 -1
  257. homeassistant/components/logbook/translations/pl.json +3 -1
  258. homeassistant/components/logbook/translations/pt.json +6 -1
  259. homeassistant/components/logbook/translations/ru.json +6 -1
  260. homeassistant/components/lovelace/translations/pl.json +6 -1
  261. homeassistant/components/mastodon/translations/bg.json +3 -0
  262. homeassistant/components/mastodon/translations/ga.json +4 -0
  263. homeassistant/components/matter/translations/bg.json +3 -0
  264. homeassistant/components/matter/translations/da.json +7 -0
  265. homeassistant/components/matter/translations/es.json +3 -0
  266. homeassistant/components/matter/translations/et.json +3 -0
  267. homeassistant/components/matter/translations/ga.json +3 -0
  268. homeassistant/components/matter/translations/pt.json +3 -0
  269. homeassistant/components/matter/translations/ru.json +3 -0
  270. homeassistant/components/mcp/strings.json +20 -1
  271. homeassistant/components/mcp/translations/bg.json +1 -0
  272. homeassistant/components/mcp/translations/cs.json +20 -1
  273. homeassistant/components/mcp/translations/de.json +20 -1
  274. homeassistant/components/mcp/translations/en-GB.json +20 -1
  275. homeassistant/components/mcp/translations/en.json +20 -1
  276. homeassistant/components/mcp/translations/es.json +20 -1
  277. homeassistant/components/mcp/translations/et.json +20 -1
  278. homeassistant/components/mcp/translations/lt.json +20 -1
  279. homeassistant/components/mcp/translations/pt.json +20 -1
  280. homeassistant/components/mcp/translations/sk.json +20 -1
  281. homeassistant/components/mcp/translations/zh-Hant.json +20 -1
  282. homeassistant/components/miele/translations/ga.json +1 -0
  283. homeassistant/components/motioneye/translations/zh-Hant.json +1 -1
  284. homeassistant/components/mqtt/strings.json +2 -0
  285. homeassistant/components/mqtt/translations/bg.json +1 -0
  286. homeassistant/components/mqtt/translations/cs.json +2 -0
  287. homeassistant/components/mqtt/translations/da.json +19 -0
  288. homeassistant/components/mqtt/translations/de.json +2 -0
  289. homeassistant/components/mqtt/translations/en-GB.json +2 -0
  290. homeassistant/components/mqtt/translations/en.json +2 -0
  291. homeassistant/components/mqtt/translations/es.json +21 -0
  292. homeassistant/components/mqtt/translations/et.json +21 -0
  293. homeassistant/components/mqtt/translations/fy.json +9 -0
  294. homeassistant/components/mqtt/translations/ga.json +26 -1
  295. homeassistant/components/mqtt/translations/pt.json +21 -0
  296. homeassistant/components/mqtt/translations/ru.json +19 -0
  297. homeassistant/components/mqtt/translations/zh-Hant.json +3 -1
  298. homeassistant/components/music_assistant/translations/fr.json +7 -0
  299. homeassistant/components/nina/strings.json +2 -2
  300. homeassistant/components/nina/translations/ca.json +0 -2
  301. homeassistant/components/nina/translations/cs.json +3 -3
  302. homeassistant/components/nina/translations/de.json +3 -3
  303. homeassistant/components/nina/translations/el.json +0 -1
  304. homeassistant/components/nina/translations/en-GB.json +3 -3
  305. homeassistant/components/nina/translations/en.json +3 -3
  306. homeassistant/components/nina/translations/es.json +3 -3
  307. homeassistant/components/nina/translations/et.json +2 -2
  308. homeassistant/components/nina/translations/fi.json +0 -2
  309. homeassistant/components/nina/translations/ga.json +0 -2
  310. homeassistant/components/nina/translations/hu.json +0 -2
  311. homeassistant/components/nina/translations/id.json +0 -1
  312. homeassistant/components/nina/translations/it.json +0 -2
  313. homeassistant/components/nina/translations/ja.json +0 -2
  314. homeassistant/components/nina/translations/ko.json +0 -2
  315. homeassistant/components/nina/translations/lt.json +3 -3
  316. homeassistant/components/nina/translations/nl.json +0 -2
  317. homeassistant/components/nina/translations/pt-BR.json +0 -1
  318. homeassistant/components/nina/translations/pt.json +3 -3
  319. homeassistant/components/nina/translations/ro.json +0 -1
  320. homeassistant/components/nina/translations/ru.json +0 -2
  321. homeassistant/components/nina/translations/sk.json +3 -3
  322. homeassistant/components/nina/translations/sv.json +0 -2
  323. homeassistant/components/nina/translations/tr.json +0 -2
  324. homeassistant/components/nina/translations/uk.json +0 -1
  325. homeassistant/components/nina/translations/zh-Hans.json +3 -3
  326. homeassistant/components/nina/translations/zh-Hant.json +3 -3
  327. homeassistant/components/nordpool/translations/bg.json +8 -0
  328. homeassistant/components/nordpool/translations/ga.json +6 -0
  329. homeassistant/components/ntfy/translations/fy.json +30 -0
  330. homeassistant/components/number/const.py +2 -5
  331. homeassistant/components/number/strings.json +3 -0
  332. homeassistant/components/number/translations/cs.json +3 -0
  333. homeassistant/components/number/translations/de.json +3 -0
  334. homeassistant/components/number/translations/en-GB.json +3 -0
  335. homeassistant/components/number/translations/en.json +3 -0
  336. homeassistant/components/number/translations/es.json +3 -0
  337. homeassistant/components/number/translations/et.json +3 -0
  338. homeassistant/components/number/translations/pt.json +3 -0
  339. homeassistant/components/number/translations/zh-Hant.json +3 -0
  340. homeassistant/components/ohme/translations/fy.json +11 -0
  341. homeassistant/components/opower/translations/fy.json +5 -0
  342. homeassistant/components/pooldose/translations/bg.json +9 -0
  343. homeassistant/components/pooldose/translations/ga.json +8 -1
  344. homeassistant/components/portainer/__init__.py +25 -5
  345. homeassistant/components/portainer/config_flow.py +15 -10
  346. homeassistant/components/portainer/coordinator.py +2 -2
  347. homeassistant/components/portainer/strings.json +7 -5
  348. homeassistant/components/portainer/translations/bg.json +2 -2
  349. homeassistant/components/portainer/translations/ca.json +3 -2
  350. homeassistant/components/portainer/translations/cs.json +7 -5
  351. homeassistant/components/portainer/translations/de.json +7 -5
  352. homeassistant/components/portainer/translations/el.json +0 -8
  353. homeassistant/components/portainer/translations/en-GB.json +7 -5
  354. homeassistant/components/portainer/translations/en.json +7 -5
  355. homeassistant/components/portainer/translations/es.json +7 -5
  356. homeassistant/components/portainer/translations/et.json +7 -5
  357. homeassistant/components/portainer/translations/fr.json +18 -0
  358. homeassistant/components/portainer/translations/ga.json +0 -13
  359. homeassistant/components/portainer/translations/he.json +0 -8
  360. homeassistant/components/portainer/translations/lt.json +7 -5
  361. homeassistant/components/portainer/translations/nl.json +0 -8
  362. homeassistant/components/portainer/translations/pt.json +7 -5
  363. homeassistant/components/portainer/translations/ru.json +0 -13
  364. homeassistant/components/portainer/translations/sk.json +7 -5
  365. homeassistant/components/portainer/translations/sl.json +0 -13
  366. homeassistant/components/portainer/translations/zh-Hans.json +7 -5
  367. homeassistant/components/portainer/translations/zh-Hant.json +7 -5
  368. homeassistant/components/profiler/translations/es.json +4 -0
  369. homeassistant/components/profiler/translations/et.json +4 -0
  370. homeassistant/components/profiler/translations/ga.json +4 -0
  371. homeassistant/components/profiler/translations/pt.json +4 -0
  372. homeassistant/components/pyload/translations/zh-Hant.json +1 -1
  373. homeassistant/components/random/strings.json +1 -0
  374. homeassistant/components/random/translations/cs.json +1 -0
  375. homeassistant/components/random/translations/de.json +1 -0
  376. homeassistant/components/random/translations/en-GB.json +1 -0
  377. homeassistant/components/random/translations/en.json +1 -0
  378. homeassistant/components/random/translations/es.json +1 -0
  379. homeassistant/components/random/translations/et.json +1 -0
  380. homeassistant/components/random/translations/pt.json +1 -0
  381. homeassistant/components/random/translations/zh-Hant.json +1 -0
  382. homeassistant/components/recorder/statistics.py +0 -5
  383. homeassistant/components/recorder/websocket_api.py +0 -4
  384. homeassistant/components/rehlko/translations/fy.json +16 -0
  385. homeassistant/components/reolink/manifest.json +1 -1
  386. homeassistant/components/route_b_smart_meter/translations/bg.json +24 -0
  387. homeassistant/components/route_b_smart_meter/translations/es.json +42 -0
  388. homeassistant/components/route_b_smart_meter/translations/et.json +42 -0
  389. homeassistant/components/route_b_smart_meter/translations/fr.json +36 -0
  390. homeassistant/components/route_b_smart_meter/translations/fy.json +14 -0
  391. homeassistant/components/route_b_smart_meter/translations/ga.json +42 -0
  392. homeassistant/components/route_b_smart_meter/translations/lt.json +42 -0
  393. homeassistant/components/route_b_smart_meter/translations/pt.json +42 -0
  394. homeassistant/components/russound_rio/manifest.json +1 -1
  395. homeassistant/components/satel_integra/__init__.py +6 -0
  396. homeassistant/components/satel_integra/translations/bg.json +102 -0
  397. homeassistant/components/satel_integra/translations/et.json +1 -0
  398. homeassistant/components/scrape/strings.json +2 -0
  399. homeassistant/components/scrape/translations/cs.json +2 -0
  400. homeassistant/components/scrape/translations/de.json +2 -0
  401. homeassistant/components/scrape/translations/en-GB.json +2 -0
  402. homeassistant/components/scrape/translations/en.json +2 -0
  403. homeassistant/components/scrape/translations/es.json +2 -0
  404. homeassistant/components/scrape/translations/et.json +2 -0
  405. homeassistant/components/scrape/translations/pt.json +2 -0
  406. homeassistant/components/scrape/translations/zh-Hant.json +2 -0
  407. homeassistant/components/sensibo/translations/pl.json +1 -0
  408. homeassistant/components/sensor/const.py +2 -7
  409. homeassistant/components/sensor/strings.json +3 -0
  410. homeassistant/components/sensor/translations/cs.json +3 -0
  411. homeassistant/components/sensor/translations/de.json +3 -0
  412. homeassistant/components/sensor/translations/en-GB.json +3 -0
  413. homeassistant/components/sensor/translations/en.json +3 -0
  414. homeassistant/components/sensor/translations/es.json +3 -0
  415. homeassistant/components/sensor/translations/et.json +3 -0
  416. homeassistant/components/sensor/translations/pt.json +3 -0
  417. homeassistant/components/sensor/translations/sk.json +3 -0
  418. homeassistant/components/sensor/translations/zh-Hant.json +3 -0
  419. homeassistant/components/sensorpush_cloud/translations/fy.json +11 -0
  420. homeassistant/components/shelly/icons.json +3 -0
  421. homeassistant/components/shelly/sensor.py +83 -3
  422. homeassistant/components/shelly/strings.json +12 -0
  423. homeassistant/components/shelly/translations/bg.json +19 -0
  424. homeassistant/components/shelly/translations/cs.json +12 -0
  425. homeassistant/components/shelly/translations/de.json +12 -0
  426. homeassistant/components/shelly/translations/en-GB.json +12 -0
  427. homeassistant/components/shelly/translations/en.json +12 -0
  428. homeassistant/components/shelly/translations/es.json +12 -0
  429. homeassistant/components/shelly/translations/et.json +12 -0
  430. homeassistant/components/shelly/translations/lt.json +12 -0
  431. homeassistant/components/shelly/translations/lv.json +6 -0
  432. homeassistant/components/shelly/translations/pl.json +16 -0
  433. homeassistant/components/shelly/translations/pt.json +12 -0
  434. homeassistant/components/shelly/translations/sk.json +12 -0
  435. homeassistant/components/shelly/translations/zh-Hant.json +12 -0
  436. homeassistant/components/sma/translations/fy.json +16 -0
  437. homeassistant/components/smartthings/translations/es.json +21 -0
  438. homeassistant/components/smartthings/translations/et.json +21 -0
  439. homeassistant/components/smartthings/translations/fr.json +12 -0
  440. homeassistant/components/smartthings/translations/ga.json +15 -0
  441. homeassistant/components/smartthings/translations/lt.json +21 -0
  442. homeassistant/components/smartthings/translations/pt.json +21 -0
  443. homeassistant/components/snoo/translations/fy.json +9 -0
  444. homeassistant/components/sql/strings.json +1 -0
  445. homeassistant/components/sql/translations/cs.json +1 -0
  446. homeassistant/components/sql/translations/de.json +1 -0
  447. homeassistant/components/sql/translations/en-GB.json +1 -0
  448. homeassistant/components/sql/translations/en.json +1 -0
  449. homeassistant/components/sql/translations/es.json +1 -0
  450. homeassistant/components/sql/translations/et.json +1 -0
  451. homeassistant/components/sql/translations/pt.json +1 -0
  452. homeassistant/components/sql/translations/zh-Hant.json +1 -0
  453. homeassistant/components/switch_as_x/translations/da.json +7 -0
  454. homeassistant/components/switchbot/translations/fy.json +7 -0
  455. homeassistant/components/template/strings.json +1 -0
  456. homeassistant/components/template/translations/cs.json +1 -0
  457. homeassistant/components/template/translations/da.json +17 -0
  458. homeassistant/components/template/translations/de.json +1 -0
  459. homeassistant/components/template/translations/en-GB.json +1 -0
  460. homeassistant/components/template/translations/en.json +1 -0
  461. homeassistant/components/template/translations/es.json +1 -0
  462. homeassistant/components/template/translations/et.json +1 -0
  463. homeassistant/components/template/translations/mk.json +9 -0
  464. homeassistant/components/template/translations/pt.json +1 -0
  465. homeassistant/components/template/translations/zh-Hant.json +1 -0
  466. homeassistant/components/thread/config_flow.py +11 -3
  467. homeassistant/components/thread/manifest.json +1 -0
  468. homeassistant/components/togrill/coordinator.py +24 -6
  469. homeassistant/components/tolo/translations/bg.json +2 -1
  470. homeassistant/components/tolo/translations/es.json +2 -1
  471. homeassistant/components/tolo/translations/ga.json +2 -1
  472. homeassistant/components/traccar_server/translations/fy.json +9 -0
  473. homeassistant/components/tuya/translations/da.json +8 -0
  474. homeassistant/components/tuya/translations/es.json +9 -0
  475. homeassistant/components/tuya/translations/et.json +9 -0
  476. homeassistant/components/tuya/translations/ga.json +9 -0
  477. homeassistant/components/tuya/translations/pt.json +9 -0
  478. homeassistant/components/uptime_kuma/translations/zh-Hant.json +1 -1
  479. homeassistant/components/usage_prediction/translations/et.json +3 -0
  480. homeassistant/components/valve/translations/da.json +1 -0
  481. homeassistant/components/valve/translations/pl.json +2 -1
  482. homeassistant/components/velbus/translations/fy.json +11 -0
  483. homeassistant/components/vesync/binary_sensor.py +1 -1
  484. homeassistant/components/vesync/fan.py +3 -1
  485. homeassistant/components/vesync/translations/fy.json +9 -0
  486. homeassistant/components/vicare/const.py +1 -0
  487. homeassistant/components/victron_remote_monitoring/translations/bg.json +71 -0
  488. homeassistant/components/voip/translations/sv.json +1 -1
  489. homeassistant/components/volvo/sensor.py +12 -6
  490. homeassistant/components/volvooncall/translations/ga.json +18 -1
  491. homeassistant/components/webdav/translations/fy.json +11 -0
  492. homeassistant/components/workday/calendar.py +5 -5
  493. homeassistant/components/workday/config_flow.py +1 -0
  494. homeassistant/components/workday/translations/bg.json +5 -0
  495. homeassistant/components/wyoming/translations/sv.json +1 -1
  496. homeassistant/components/wyoming/translations/zh-Hant.json +1 -1
  497. homeassistant/components/xiaomi_miio/translations/fy.json +7 -0
  498. homeassistant/components/zha/config_flow.py +54 -21
  499. homeassistant/components/zha/manifest.json +1 -1
  500. homeassistant/components/zha/radio_manager.py +4 -0
  501. homeassistant/components/zha/strings.json +9 -9
  502. homeassistant/components/zha/translations/bg.json +55 -7
  503. homeassistant/components/zha/translations/ca.json +0 -7
  504. homeassistant/components/zha/translations/cs.json +10 -10
  505. homeassistant/components/zha/translations/da.json +0 -9
  506. homeassistant/components/zha/translations/de.json +10 -10
  507. homeassistant/components/zha/translations/el.json +0 -9
  508. homeassistant/components/zha/translations/en-GB.json +10 -10
  509. homeassistant/components/zha/translations/en.json +10 -10
  510. homeassistant/components/zha/translations/es.json +87 -9
  511. homeassistant/components/zha/translations/et.json +84 -6
  512. homeassistant/components/zha/translations/fi.json +0 -9
  513. homeassistant/components/zha/translations/fr.json +0 -17
  514. homeassistant/components/zha/translations/ga.json +66 -9
  515. homeassistant/components/zha/translations/gsw.json +0 -7
  516. homeassistant/components/zha/translations/hr.json +0 -4
  517. homeassistant/components/zha/translations/hu.json +0 -9
  518. homeassistant/components/zha/translations/id.json +0 -9
  519. homeassistant/components/zha/translations/it.json +0 -9
  520. homeassistant/components/zha/translations/ja.json +0 -9
  521. homeassistant/components/zha/translations/ko.json +0 -9
  522. homeassistant/components/zha/translations/lt.json +0 -17
  523. homeassistant/components/zha/translations/nb.json +0 -7
  524. homeassistant/components/zha/translations/nl.json +0 -8
  525. homeassistant/components/zha/translations/pl.json +0 -7
  526. homeassistant/components/zha/translations/pt-BR.json +0 -7
  527. homeassistant/components/zha/translations/pt.json +86 -8
  528. homeassistant/components/zha/translations/ro.json +0 -7
  529. homeassistant/components/zha/translations/ru.json +4 -11
  530. homeassistant/components/zha/translations/sk.json +10 -10
  531. homeassistant/components/zha/translations/sl.json +0 -9
  532. homeassistant/components/zha/translations/sv.json +0 -9
  533. homeassistant/components/zha/translations/tr.json +0 -9
  534. homeassistant/components/zha/translations/uk.json +0 -7
  535. homeassistant/components/zha/translations/vi.json +0 -7
  536. homeassistant/components/zha/translations/zh-Hans.json +0 -17
  537. homeassistant/components/zha/translations/zh-Hant.json +10 -10
  538. homeassistant/components/zwave_js/config_flow.py +30 -11
  539. homeassistant/components/zwave_js/translations/es.json +1 -0
  540. homeassistant/components/zwave_js/translations/et.json +1 -0
  541. homeassistant/components/zwave_js/translations/ga.json +1 -0
  542. homeassistant/components/zwave_js/translations/pt.json +1 -0
  543. homeassistant/const.py +1 -1
  544. homeassistant/generated/integrations.json +3 -2
  545. homeassistant/package_constraints.txt +1 -1
  546. homeassistant/util/unit_conversion.py +0 -16
  547. {homeassistant-2025.10.0b2.dist-info → homeassistant-2025.10.0b5.dist-info}/METADATA +1 -1
  548. {homeassistant-2025.10.0b2.dist-info → homeassistant-2025.10.0b5.dist-info}/RECORD +553 -503
  549. homeassistant/components/homeassistant_sky_connect/translations/hr.json +0 -7
  550. {homeassistant-2025.10.0b2.dist-info → homeassistant-2025.10.0b5.dist-info}/WHEEL +0 -0
  551. {homeassistant-2025.10.0b2.dist-info → homeassistant-2025.10.0b5.dist-info}/entry_points.txt +0 -0
  552. {homeassistant-2025.10.0b2.dist-info → homeassistant-2025.10.0b5.dist-info}/licenses/LICENSE.md +0 -0
  553. {homeassistant-2025.10.0b2.dist-info → homeassistant-2025.10.0b5.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  554. {homeassistant-2025.10.0b2.dist-info → homeassistant-2025.10.0b5.dist-info}/top_level.txt +0 -0
@@ -15,6 +15,9 @@
15
15
  "title": "Skabelon-sensor"
16
16
  },
17
17
  "user": {
18
+ "menu_options": {
19
+ "cover": "Gardin/port"
20
+ },
18
21
  "title": "Skabelon-hj\u00e6lper"
19
22
  }
20
23
  }
@@ -64,6 +67,20 @@
64
67
  "window": "Vindue"
65
68
  }
66
69
  },
70
+ "cover_device_class": {
71
+ "options": {
72
+ "awning": "Markise",
73
+ "blind": "Persienne",
74
+ "curtain": "Gardin",
75
+ "damper": "Spj\u00e6ld",
76
+ "door": "D\u00f8r",
77
+ "garage": "Garageport",
78
+ "gate": "Port",
79
+ "shade": "Skygge",
80
+ "shutter": "Skodder",
81
+ "window": "Vindue"
82
+ }
83
+ },
67
84
  "sensor_device_class": {
68
85
  "options": {
69
86
  "battery": "Batteri",
@@ -1089,6 +1089,7 @@
1089
1089
  "pm1": "PM1",
1090
1090
  "pm10": "PM10",
1091
1091
  "pm25": "PM2,5",
1092
+ "pm4": "PM4",
1092
1093
  "power": "Leistung",
1093
1094
  "power_factor": "Leistungsfaktor",
1094
1095
  "precipitation": "Niederschlagsmenge",
@@ -1089,6 +1089,7 @@
1089
1089
  "pm1": "PM1",
1090
1090
  "pm10": "PM10",
1091
1091
  "pm25": "PM2.5",
1092
+ "pm4": "PM4",
1092
1093
  "power": "Power",
1093
1094
  "power_factor": "Power factor",
1094
1095
  "precipitation": "Precipitation",
@@ -1089,6 +1089,7 @@
1089
1089
  "pm1": "PM1",
1090
1090
  "pm10": "PM10",
1091
1091
  "pm25": "PM2.5",
1092
+ "pm4": "PM4",
1092
1093
  "power": "Power",
1093
1094
  "power_factor": "Power factor",
1094
1095
  "precipitation": "Precipitation",
@@ -1089,6 +1089,7 @@
1089
1089
  "pm1": "PM1",
1090
1090
  "pm10": "PM10",
1091
1091
  "pm25": "PM2.5",
1092
+ "pm4": "PM4",
1092
1093
  "power": "Potencia",
1093
1094
  "power_factor": "Factor de potencia",
1094
1095
  "precipitation": "Precipitaci\u00f3n",
@@ -1089,6 +1089,7 @@
1089
1089
  "pm1": "PM1",
1090
1090
  "pm10": "PM10",
1091
1091
  "pm25": "PM2,5",
1092
+ "pm4": "PM4",
1092
1093
  "power": "V\u00f5imsus",
1093
1094
  "power_factor": "V\u00f5imsustegur",
1094
1095
  "precipitation": "Sademed",
@@ -1,4 +1,13 @@
1
1
  {
2
+ "config": {
3
+ "step": {
4
+ "number": {
5
+ "data": {
6
+ "min": "\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u043d\u0430 \u0432\u0440\u0435\u0434\u043d\u043e\u0441\u0442"
7
+ }
8
+ }
9
+ }
10
+ },
2
11
  "selector": {
3
12
  "binary_sensor_device_class": {
4
13
  "options": {
@@ -1089,6 +1089,7 @@
1089
1089
  "pm1": "PM1",
1090
1090
  "pm10": "PM10",
1091
1091
  "pm25": "PM2.5",
1092
+ "pm4": "PM4",
1092
1093
  "power": "Pot\u00eancia",
1093
1094
  "power_factor": "Fator de pot\u00eancia",
1094
1095
  "precipitation": "Precipita\u00e7\u00e3o",
@@ -1089,6 +1089,7 @@
1089
1089
  "pm1": "PM1",
1090
1090
  "pm10": "PM10",
1091
1091
  "pm25": "PM2.5",
1092
+ "pm4": "PM4",
1092
1093
  "power": "\u96fb\u529b",
1093
1094
  "power_factor": "\u529f\u7387\u56e0\u6578",
1094
1095
  "precipitation": "\u964d\u96e8\u91cf",
@@ -5,7 +5,11 @@ from __future__ import annotations
5
5
  from typing import Any
6
6
 
7
7
  from homeassistant.components import onboarding
8
- from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
8
+ from homeassistant.config_entries import (
9
+ DEFAULT_DISCOVERY_UNIQUE_ID,
10
+ ConfigFlow,
11
+ ConfigFlowResult,
12
+ )
9
13
  from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo
10
14
 
11
15
  from .const import DOMAIN
@@ -18,14 +22,18 @@ class ThreadConfigFlow(ConfigFlow, domain=DOMAIN):
18
22
 
19
23
  async def async_step_import(self, import_data: None) -> ConfigFlowResult:
20
24
  """Set up by import from async_setup."""
21
- await self._async_handle_discovery_without_unique_id()
25
+ await self.async_set_unique_id(
26
+ DEFAULT_DISCOVERY_UNIQUE_ID, raise_on_progress=False
27
+ )
22
28
  return self.async_create_entry(title="Thread", data={})
23
29
 
24
30
  async def async_step_user(
25
31
  self, user_input: dict[str, str] | None = None
26
32
  ) -> ConfigFlowResult:
27
33
  """Set up by import from async_setup."""
28
- await self._async_handle_discovery_without_unique_id()
34
+ await self.async_set_unique_id(
35
+ DEFAULT_DISCOVERY_UNIQUE_ID, raise_on_progress=False
36
+ )
29
37
  return self.async_create_entry(title="Thread", data={})
30
38
 
31
39
  async def async_step_zeroconf(
@@ -8,5 +8,6 @@
8
8
  "integration_type": "service",
9
9
  "iot_class": "local_polling",
10
10
  "requirements": ["python-otbr-api==2.7.0", "pyroute2==0.7.5"],
11
+ "single_config_entry": true,
11
12
  "zeroconf": ["_meshcop._udp.local."]
12
13
  }
@@ -139,7 +139,11 @@ class ToGrillCoordinator(DataUpdateCoordinator[dict[tuple[int, int | None], Pack
139
139
  raise DeviceNotFound("Unable to find device")
140
140
 
141
141
  try:
142
- client = await Client.connect(device, self._notify_callback)
142
+ client = await Client.connect(
143
+ device,
144
+ self._notify_callback,
145
+ disconnected_callback=self._disconnected_callback,
146
+ )
143
147
  except BleakError as exc:
144
148
  self.logger.debug("Connection failed", exc_info=True)
145
149
  raise DeviceNotFound("Unable to connect to device") from exc
@@ -169,9 +173,6 @@ class ToGrillCoordinator(DataUpdateCoordinator[dict[tuple[int, int | None], Pack
169
173
  self.client = None
170
174
 
171
175
  async def _get_connected_client(self) -> Client:
172
- if self.client and not self.client.is_connected:
173
- await self.client.disconnect()
174
- self.client = None
175
176
  if self.client:
176
177
  return self.client
177
178
 
@@ -196,6 +197,12 @@ class ToGrillCoordinator(DataUpdateCoordinator[dict[tuple[int, int | None], Pack
196
197
 
197
198
  async def _async_update_data(self) -> dict[tuple[int, int | None], Packet]:
198
199
  """Poll the device."""
200
+ if self.client and not self.client.is_connected:
201
+ await self.client.disconnect()
202
+ self.client = None
203
+ self._async_request_refresh_soon()
204
+ raise DeviceFailed("Device was disconnected")
205
+
199
206
  client = await self._get_connected_client()
200
207
  try:
201
208
  await client.request(PacketA0Notify)
@@ -206,6 +213,17 @@ class ToGrillCoordinator(DataUpdateCoordinator[dict[tuple[int, int | None], Pack
206
213
  raise DeviceFailed(f"Device failed {exc}") from exc
207
214
  return self.data
208
215
 
216
+ @callback
217
+ def _async_request_refresh_soon(self) -> None:
218
+ self.config_entry.async_create_task(
219
+ self.hass, self.async_request_refresh(), eager_start=False
220
+ )
221
+
222
+ @callback
223
+ def _disconnected_callback(self) -> None:
224
+ """Handle Bluetooth device being disconnected."""
225
+ self._async_request_refresh_soon()
226
+
209
227
  @callback
210
228
  def _async_handle_bluetooth_event(
211
229
  self,
@@ -213,5 +231,5 @@ class ToGrillCoordinator(DataUpdateCoordinator[dict[tuple[int, int | None], Pack
213
231
  change: BluetoothChange,
214
232
  ) -> None:
215
233
  """Handle a Bluetooth event."""
216
- if not self.client and isinstance(self.last_exception, DeviceNotFound):
217
- self.hass.async_create_task(self.async_refresh())
234
+ if isinstance(self.last_exception, DeviceNotFound):
235
+ self._async_request_refresh_soon()
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "config": {
3
3
  "abort": {
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"
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
+ "reconfigure_successful": "\u041f\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435\u0442\u043e \u0431\u0435\u0448\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e"
5
6
  },
6
7
  "error": {
7
8
  "cannot_connect": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435"
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "config": {
3
3
  "abort": {
4
- "already_configured": "El dispositivo ya est\u00e1 configurado"
4
+ "already_configured": "El dispositivo ya est\u00e1 configurado",
5
+ "reconfigure_successful": "Se volvi\u00f3 a configurar correctamente"
5
6
  },
6
7
  "error": {
7
8
  "cannot_connect": "No se pudo conectar"
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "config": {
3
3
  "abort": {
4
- "already_configured": "T\u00e1 an gl\u00e9as cumraithe cheana f\u00e9in"
4
+ "already_configured": "T\u00e1 an gl\u00e9as cumraithe cheana f\u00e9in",
5
+ "reconfigure_successful": "D'\u00e9irigh leis an athchumr\u00fa"
5
6
  },
6
7
  "error": {
7
8
  "cannot_connect": "Theip ar an nascadh"
@@ -1,4 +1,13 @@
1
1
  {
2
+ "config": {
3
+ "step": {
4
+ "reauth_confirm": {
5
+ "data": {
6
+ "password": "Wachtwurd"
7
+ }
8
+ }
9
+ }
10
+ },
2
11
  "entity": {
3
12
  "binary_sensor": {
4
13
  "motion": {
@@ -5,6 +5,14 @@
5
5
  }
6
6
  },
7
7
  "entity": {
8
+ "cover": {
9
+ "blind": {
10
+ "name": "Persienne"
11
+ },
12
+ "curtain": {
13
+ "name": "Gardin"
14
+ }
15
+ },
8
16
  "select": {
9
17
  "basic_nightvision": {
10
18
  "state": {
@@ -1025,6 +1025,9 @@
1025
1025
  "valve": {
1026
1026
  "indexed_valve": {
1027
1027
  "name": "V\u00e1lvula {index}"
1028
+ },
1029
+ "valve": {
1030
+ "name": "V\u00e1lvula"
1028
1031
  }
1029
1032
  }
1030
1033
  },
@@ -1032,5 +1035,11 @@
1032
1035
  "action_dpcode_not_found": {
1033
1036
  "message": "No se puede procesar la acci\u00f3n porque el dispositivo no proporciona un c\u00f3digo de funci\u00f3n correspondiente (se esperaba uno de {expected} en {available})."
1034
1037
  }
1038
+ },
1039
+ "issues": {
1040
+ "deprecated_entity_new_valve": {
1041
+ "description": "La entidad Tuya `{entity}` est\u00e1 obsoleta y fue reemplazada por una nueva entidad de v\u00e1lvula. \nPor favor, actualiza tus paneles, automatizaciones y scripts, desactiva `{entity}` y vuelve a cargar la integraci\u00f3n/reinicia Home Assistant para solucionar este problema.",
1042
+ "title": "{name} est\u00e1 obsoleto"
1043
+ }
1035
1044
  }
1036
1045
  }
@@ -1025,6 +1025,9 @@
1025
1025
  "valve": {
1026
1026
  "indexed_valve": {
1027
1027
  "name": "Klapp {index}"
1028
+ },
1029
+ "valve": {
1030
+ "name": "Klapp"
1028
1031
  }
1029
1032
  }
1030
1033
  },
@@ -1032,5 +1035,11 @@
1032
1035
  "action_dpcode_not_found": {
1033
1036
  "message": "Toimingut ei saa t\u00f6\u00f6delda kuna seade ei paku vastavat funktsioonikoodi (oodatav oli \u00fcks koodidest {expected} valikust {available} )."
1034
1037
  }
1038
+ },
1039
+ "issues": {
1040
+ "deprecated_entity_new_valve": {
1041
+ "description": "Tuya \u00fcksus \"{entity}' on kasutuselt k\u00f5rvaldatud ja asendatud uue klapi\u00fcksusega.\nV\u00e4rskenda oma vaateid, automatiseerimisi ja skripte, keela `{entity}` ja lae selle probleemi lahendamiseks sidumine uuesti / taask\u00e4ivita Home Assistant.",
1042
+ "title": "{name} on aegunud"
1043
+ }
1035
1044
  }
1036
1045
  }
@@ -1014,6 +1014,9 @@
1014
1014
  "valve": {
1015
1015
  "indexed_valve": {
1016
1016
  "name": "Comhla {index}"
1017
+ },
1018
+ "valve": {
1019
+ "name": "Comhla"
1017
1020
  }
1018
1021
  }
1019
1022
  },
@@ -1021,5 +1024,11 @@
1021
1024
  "action_dpcode_not_found": {
1022
1025
  "message": "N\u00ed f\u00e9idir an gn\u00edomh a phr\u00f3ise\u00e1il mar nach sol\u00e1thra\u00edonn an gl\u00e9as c\u00f3d feidhme comhfhreagrach (bh\u00edothas ag s\u00fail le ceann de {expected} i {available})."
1023
1026
  }
1027
+ },
1028
+ "issues": {
1029
+ "deprecated_entity_new_valve": {
1030
+ "description": "T\u00e1 an t-eintiteas Tuya `{entity}` imithe i l\u00e9ig, agus t\u00e1 eintiteas comhla nua ina \u00e1it.\nNuashonraigh do phain\u00e9il rialaithe, uathoibrithe agus scripteanna, d\u00edchumasaigh `{entity}` agus athl\u00f3d\u00e1il an comhth\u00e1th\u00fa/atosaigh Home Assistant chun an fhadhb seo a r\u00e9iteach.",
1031
+ "title": "T\u00e1 {name} imithe i l\u00e9ig"
1032
+ }
1024
1033
  }
1025
1034
  }
@@ -1025,6 +1025,9 @@
1025
1025
  "valve": {
1026
1026
  "indexed_valve": {
1027
1027
  "name": "V\u00e1lvula {index}"
1028
+ },
1029
+ "valve": {
1030
+ "name": "V\u00e1lvula"
1028
1031
  }
1029
1032
  }
1030
1033
  },
@@ -1032,5 +1035,11 @@
1032
1035
  "action_dpcode_not_found": {
1033
1036
  "message": "Imposs\u00edvel processar a a\u00e7\u00e3o porque o dispositivo n\u00e3o fornece um c\u00f3digo de fun\u00e7\u00e3o correspondente (esperava-se um de {expected} em {available})."
1034
1037
  }
1038
+ },
1039
+ "issues": {
1040
+ "deprecated_entity_new_valve": {
1041
+ "description": "A entidade Tuya `{entity}` foi descontinuada e substitu\u00edda por uma nova entidade de v\u00e1lvula. Por favor, atualize os seus pain\u00e9is, automatiza\u00e7\u00f5es e scripts, desative `{entity}` e recarregue a integra\u00e7\u00e3o/reinicie o Home Assistant para corrigir esse problema.",
1042
+ "title": "{name} est\u00e1 obsoleto"
1043
+ }
1035
1044
  }
1036
1045
  }
@@ -18,7 +18,7 @@
18
18
  "data_description": {
19
19
  "api_key": "\u8f38\u5165 API \u91d1\u9470\u3002\u82e5\u8981\u5efa\u7acb\u65b0\u7684 API \u91d1\u9470\uff0c\u8acb\u524d\u5f80**\u8a2d\u5b9a \u2192 API \u91d1\u9470**\u4e26\u9078\u64c7**\u65b0\u589e API \u91d1\u9470**"
20
20
  },
21
- "description": "\u662f\u5426\u8981\u8a2d\u5b9a Home Assistant \u4ee5\u9023\u7dda\u81f3 Uptime Kuma \u670d\u52d9\u3002\u9644\u52a0\u5143\u4ef6\u70ba\uff1a{addon} \uff1f",
21
+ "description": "\u662f\u5426\u8981\u8a2d\u5b9a Home Assistant \u4ee5\u9023\u7dda\u81f3\u9644\u52a0\u5143\u4ef6 {addon} \u6240\u63d0\u4f9b Uptime Kuma \u670d\u52d9\u3002\uff1f",
22
22
  "title": "\u900f\u904e Home Assistant \u9644\u52a0\u5143\u4ef6\u57f7\u884c Uptime Kuma"
23
23
  },
24
24
  "reauth_confirm": {
@@ -0,0 +1,3 @@
1
+ {
2
+ "title": "Kasutuse ennustus"
3
+ }
@@ -4,6 +4,7 @@
4
4
  "name": "Ventil",
5
5
  "state": {
6
6
  "closed": "Lukket",
7
+ "closing": "Lukker",
7
8
  "open": "\u00c5ben"
8
9
  },
9
10
  "state_attributes": {
@@ -5,7 +5,8 @@
5
5
  "state": {
6
6
  "closed": "zamkni\u0119to",
7
7
  "closing": "zamykanie",
8
- "open": "otwarto"
8
+ "open": "otwarto",
9
+ "opening": "otwieranie"
9
10
  },
10
11
  "state_attributes": {
11
12
  "current_position": {
@@ -0,0 +1,11 @@
1
+ {
2
+ "config": {
3
+ "step": {
4
+ "network": {
5
+ "data": {
6
+ "password": "Wachtwurd"
7
+ }
8
+ }
9
+ }
10
+ }
11
+ }
@@ -43,7 +43,7 @@ SENSOR_DESCRIPTIONS: tuple[VeSyncBinarySensorEntityDescription, ...] = (
43
43
  exists_fn=lambda device: rgetattr(device, "state.water_lacks") is not None,
44
44
  ),
45
45
  VeSyncBinarySensorEntityDescription(
46
- key="water_tank_lifted",
46
+ key="details.water_tank_lifted",
47
47
  translation_key="water_tank_lifted",
48
48
  is_on=lambda device: device.state.water_tank_lifted,
49
49
  device_class=BinarySensorDeviceClass.PROBLEM,
@@ -141,7 +141,9 @@ class VeSyncFanHA(VeSyncBaseEntity, FanEntity):
141
141
  attr["active_time"] = self.device.state.active_time
142
142
 
143
143
  if hasattr(self.device.state, "display_status"):
144
- attr["display_status"] = self.device.state.display_status.value
144
+ attr["display_status"] = getattr(
145
+ self.device.state.display_status, "value", None
146
+ )
145
147
 
146
148
  if hasattr(self.device.state, "child_lock"):
147
149
  attr["child_lock"] = self.device.state.child_lock
@@ -1,4 +1,13 @@
1
1
  {
2
+ "config": {
3
+ "step": {
4
+ "reauth_confirm": {
5
+ "data": {
6
+ "password": "Wachtwurd"
7
+ }
8
+ }
9
+ }
10
+ },
2
11
  "entity": {
3
12
  "select": {
4
13
  "night_light_level": {
@@ -19,6 +19,7 @@ PLATFORMS = [
19
19
  UNSUPPORTED_DEVICES = [
20
20
  "Heatbox1",
21
21
  "Heatbox2_SRC",
22
+ "E3_TCU10_x07",
22
23
  "E3_TCU41_x04",
23
24
  "E3_FloorHeatingCircuitChannel",
24
25
  "E3_FloorHeatingCircuitDistributorBox",
@@ -0,0 +1,71 @@
1
+ {
2
+ "config": {
3
+ "abort": {
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
+ "reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u0442\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u044f \u0431\u0435\u0448\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u0430"
6
+ },
7
+ "error": {
8
+ "cannot_connect": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435",
9
+ "invalid_auth": "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u044f",
10
+ "unknown": "\u041d\u0435\u043e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u0433\u0440\u0435\u0448\u043a\u0430"
11
+ }
12
+ },
13
+ "entity": {
14
+ "sensor": {
15
+ "consumption_highest_peak_time_today": {
16
+ "name": "\u041d\u0430\u0439-\u0432\u0438\u0441\u043e\u043a \u043f\u0438\u043a\u043e\u0432 \u043f\u0435\u0440\u0438\u043e\u0434 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 - \u0434\u043d\u0435\u0441"
17
+ },
18
+ "consumption_highest_peak_time_tomorrow": {
19
+ "name": "\u041d\u0430\u0439-\u0432\u0438\u0441\u043e\u043a \u043f\u0438\u043a\u043e\u0432 \u043f\u0435\u0440\u0438\u043e\u0434 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 - \u0443\u0442\u0440\u0435"
20
+ },
21
+ "consumption_highest_peak_time_yesterday": {
22
+ "name": "\u041d\u0430\u0439-\u0432\u0438\u0441\u043e\u043a \u043f\u0438\u043a\u043e\u0432 \u043f\u0435\u0440\u0438\u043e\u0434 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 - \u0432\u0447\u0435\u0440\u0430"
23
+ },
24
+ "energy_consumption_current_hour": {
25
+ "name": "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u043a\u043e\u043d\u0441\u0443\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f - \u0442\u0435\u043a\u0443\u0449\u0438\u044f \u0447\u0430\u0441"
26
+ },
27
+ "energy_consumption_estimate_today": {
28
+ "name": "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u043a\u043e\u043d\u0441\u0443\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f - \u0434\u043d\u0435\u0441"
29
+ },
30
+ "energy_consumption_estimate_today_remaining": {
31
+ "name": "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u043a\u043e\u043d\u0441\u0443\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f \u2013 \u043e\u0441\u0442\u0430\u0432\u0430\u0449\u0438\u044f \u0434\u0435\u043d"
32
+ },
33
+ "energy_consumption_estimate_tomorrow": {
34
+ "name": "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u043a\u043e\u043d\u0441\u0443\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f - \u0443\u0442\u0440\u0435"
35
+ },
36
+ "energy_consumption_estimate_yesterday": {
37
+ "name": "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u043a\u043e\u043d\u0441\u0443\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f - \u0432\u0447\u0435\u0440\u0430"
38
+ },
39
+ "energy_consumption_next_hour": {
40
+ "name": "\u041e\u0447\u0430\u043a\u0432\u0430\u043d\u0430 \u043a\u043e\u043d\u0441\u0443\u043c\u0430\u0446\u0438\u044f \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f - \u0441\u043b\u0435\u0434\u0432\u0430\u0449\u0438\u044f \u0447\u0430\u0441"
41
+ },
42
+ "energy_production_current_hour": {
43
+ "name": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f - \u0442\u0435\u043a\u0443\u0449\u0438\u044f \u0447\u0430\u0441"
44
+ },
45
+ "energy_production_estimate_today": {
46
+ "name": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f - \u0434\u043d\u0435\u0441"
47
+ },
48
+ "energy_production_estimate_today_remaining": {
49
+ "name": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f - \u043e\u0441\u0442\u0430\u0432\u0430\u0449\u0438\u044f \u0434\u0435\u043d"
50
+ },
51
+ "energy_production_estimate_tomorrow": {
52
+ "name": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f \u2013 \u0443\u0442\u0440\u0435"
53
+ },
54
+ "energy_production_estimate_yesterday": {
55
+ "name": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f \u2013 \u0432\u0447\u0435\u0440\u0430"
56
+ },
57
+ "energy_production_next_hour": {
58
+ "name": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043d\u0430 \u0435\u043d\u0435\u0440\u0433\u0438\u044f \u2013 \u0441\u043b\u0435\u0434\u0432\u0430\u0449\u0438\u044f \u0447\u0430\u0441"
59
+ },
60
+ "power_highest_peak_time_today": {
61
+ "name": "\u041d\u0430\u0439-\u0432\u0438\u0441\u043e\u043a \u043f\u0438\u043a\u043e\u0432 \u0447\u0430\u0441 - \u0414\u043d\u0435\u0441"
62
+ },
63
+ "power_highest_peak_time_tomorrow": {
64
+ "name": "\u041d\u0430\u0439-\u0432\u0438\u0441\u043e\u043a \u043f\u0438\u043a\u043e\u0432 \u0447\u0430\u0441 - \u0423\u0442\u0440\u0435"
65
+ },
66
+ "power_highest_peak_time_yesterday": {
67
+ "name": "\u041d\u0430\u0439-\u0432\u0438\u0441\u043e\u043a \u043f\u0438\u043a\u043e\u0432 \u0447\u0430\u0441 - \u0412\u0447\u0435\u0440\u0430"
68
+ }
69
+ }
70
+ }
71
+ }
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "select": {
19
19
  "pipeline": {
20
- "name": "Assistent",
20
+ "name": "Assistent{index}",
21
21
  "state": {
22
22
  "preferred": "F\u00f6redragen"
23
23
  }
@@ -354,13 +354,19 @@ async def async_setup_entry(
354
354
  async_add_entities: AddConfigEntryEntitiesCallback,
355
355
  ) -> None:
356
356
  """Set up sensors."""
357
+
358
+ entities: dict[str, VolvoSensor] = {}
357
359
  coordinators = entry.runtime_data.interval_coordinators
358
- async_add_entities(
359
- VolvoSensor(coordinator, description)
360
- for coordinator in coordinators
361
- for description in _DESCRIPTIONS
362
- if description.api_field in coordinator.data
363
- )
360
+
361
+ for coordinator in coordinators:
362
+ for description in _DESCRIPTIONS:
363
+ if description.key in entities:
364
+ continue
365
+
366
+ if description.api_field in coordinator.data:
367
+ entities[description.key] = VolvoSensor(coordinator, description)
368
+
369
+ async_add_entities(entities.values())
364
370
 
365
371
 
366
372
  class VolvoSensor(VolvoEntity, SensorEntity):
@@ -1 +1,18 @@
1
- {}
1
+ {
2
+ "config": {
3
+ "abort": {
4
+ "deprecated": "T\u00e1 comhth\u00e1th\u00fa Volvo curtha in \u00e1it Volvo On Call. Bain \u00fas\u00e1id as comhth\u00e1th\u00fa Volvo ina ionad."
5
+ },
6
+ "step": {
7
+ "user": {
8
+ "description": "T\u00e1 Volvo on Call imithe i l\u00e9ig, bain \u00fas\u00e1id as comhth\u00e1th\u00fa Volvo."
9
+ }
10
+ }
11
+ },
12
+ "issues": {
13
+ "volvooncall_deprecated": {
14
+ "description": "T\u00e1 an comhth\u00e1th\u00fa Volvo On Call imithe i l\u00e9ig agus bainfear \u00e9 in 2026.3. Bain \u00fas\u00e1id as an gcomhth\u00e1th\u00fa Volvo ina ionad.\n\nC\u00e9imeanna:\n1. Bain an comhth\u00e1th\u00fa Volvo On Call seo.\n2. Cuir an comhth\u00e1th\u00fa Volvo leis tr\u00ed Socruithe > Gl\u00e9asanna & seirbh\u00eds\u00ed > Cuir comhth\u00e1th\u00fa leis > Volvo.\n3. Lean na treoracha socraithe chun f\u00edordheimhni\u00fa a dh\u00e9anamh le do chuntas Volvo.",
15
+ "title": "T\u00e1 Volvo On Call curtha in \u00e1it"
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "config": {
3
+ "step": {
4
+ "user": {
5
+ "data": {
6
+ "password": "Wachtwurd"
7
+ }
8
+ }
9
+ }
10
+ }
11
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from datetime import datetime, timedelta
5
+ from datetime import date, datetime, timedelta
6
6
 
7
7
  from holidays import HolidayBase
8
8
 
@@ -15,8 +15,6 @@ from . import WorkdayConfigEntry
15
15
  from .const import CONF_EXCLUDES, CONF_OFFSET, CONF_WORKDAYS
16
16
  from .entity import BaseWorkdayEntity
17
17
 
18
- CALENDAR_DAYS_AHEAD = 365
19
-
20
18
 
21
19
  async def async_setup_entry(
22
20
  hass: HomeAssistant,
@@ -73,8 +71,10 @@ class WorkdayCalendarEntity(BaseWorkdayEntity, CalendarEntity):
73
71
  def update_data(self, now: datetime) -> None:
74
72
  """Update data."""
75
73
  event_list = []
76
- for i in range(CALENDAR_DAYS_AHEAD):
77
- future_date = now.date() + timedelta(days=i)
74
+ start_date = date(now.year, 1, 1)
75
+ end_number_of_days = date(now.year + 1, 12, 31) - start_date
76
+ for i in range(end_number_of_days.days + 1):
77
+ future_date = start_date + timedelta(days=i)
78
78
  if self.date_is_workday(future_date):
79
79
  event = CalendarEvent(
80
80
  summary=self._name,