homeassistant 2025.12.0b5__py3-none-any.whl → 2025.12.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (776) hide show
  1. homeassistant/components/airobot/translations/el.json +5 -1
  2. homeassistant/components/airobot/translations/en-GB.json +5 -1
  3. homeassistant/components/airobot/translations/he.json +25 -0
  4. homeassistant/components/airobot/translations/lt.json +5 -1
  5. homeassistant/components/airobot/translations/pt.json +5 -1
  6. homeassistant/components/airobot/translations/sk.json +5 -1
  7. homeassistant/components/alarm_control_panel/translations/cs.json +21 -7
  8. homeassistant/components/alarm_control_panel/translations/de.json +1 -1
  9. homeassistant/components/alarm_control_panel/translations/en-GB.json +21 -7
  10. homeassistant/components/alarm_control_panel/translations/es.json +13 -7
  11. homeassistant/components/alarm_control_panel/translations/he.json +86 -1
  12. homeassistant/components/alarm_control_panel/translations/lt.json +21 -7
  13. homeassistant/components/alarm_control_panel/translations/pt.json +21 -7
  14. homeassistant/components/alarm_control_panel/translations/sk.json +21 -7
  15. homeassistant/components/alarm_control_panel/translations/zh-Hans.json +4 -2
  16. homeassistant/components/alert/translations/he.json +1 -1
  17. homeassistant/components/anglian_water/config_flow.py +4 -18
  18. homeassistant/components/anglian_water/manifest.json +1 -0
  19. homeassistant/components/anglian_water/translations/en-GB.json +2 -1
  20. homeassistant/components/anglian_water/translations/he.json +20 -0
  21. homeassistant/components/anglian_water/translations/lt.json +2 -1
  22. homeassistant/components/anglian_water/translations/pt.json +2 -1
  23. homeassistant/components/anglian_water/translations/sk.json +2 -1
  24. homeassistant/components/anglian_water/translations/sv.json +8 -2
  25. homeassistant/components/anova/translations/he.json +1 -1
  26. homeassistant/components/anthropic/translations/he.json +31 -0
  27. homeassistant/components/apcupsd/translations/sk.json +5 -5
  28. homeassistant/components/aprilaire/translations/he.json +4 -4
  29. homeassistant/components/assist_satellite/manifest.json +1 -1
  30. homeassistant/components/assist_satellite/translations/cs.json +12 -4
  31. homeassistant/components/assist_satellite/translations/en-GB.json +12 -4
  32. homeassistant/components/assist_satellite/translations/es.json +12 -4
  33. homeassistant/components/assist_satellite/translations/he.json +55 -2
  34. homeassistant/components/assist_satellite/translations/lt.json +12 -4
  35. homeassistant/components/assist_satellite/translations/pt.json +12 -4
  36. homeassistant/components/assist_satellite/translations/sk.json +12 -4
  37. homeassistant/components/assist_satellite/translations/zh-Hans.json +4 -2
  38. homeassistant/components/automation/manifest.json +2 -0
  39. homeassistant/components/automation/translations/cs.json +8 -0
  40. homeassistant/components/automation/translations/en-GB.json +8 -0
  41. homeassistant/components/automation/translations/es.json +8 -0
  42. homeassistant/components/automation/translations/fr.json +8 -0
  43. homeassistant/components/automation/translations/lt.json +8 -0
  44. homeassistant/components/automation/translations/pt.json +8 -0
  45. homeassistant/components/automation/translations/sk.json +8 -0
  46. homeassistant/components/automation/translations/sr-Latn.json +1 -1
  47. homeassistant/components/backup/translations/he.json +1 -1
  48. homeassistant/components/bang_olufsen/translations/he.json +901 -0
  49. homeassistant/components/bayesian/translations/sk.json +3 -3
  50. homeassistant/components/binary_sensor/strings.json +4 -4
  51. homeassistant/components/binary_sensor/translations/cs.json +36 -1
  52. homeassistant/components/binary_sensor/translations/de.json +3 -3
  53. homeassistant/components/binary_sensor/translations/en-GB.json +36 -1
  54. homeassistant/components/binary_sensor/translations/en.json +4 -4
  55. homeassistant/components/binary_sensor/translations/es.json +36 -1
  56. homeassistant/components/binary_sensor/translations/et.json +1 -1
  57. homeassistant/components/binary_sensor/translations/ga.json +36 -1
  58. homeassistant/components/binary_sensor/translations/he.json +36 -1
  59. homeassistant/components/binary_sensor/translations/lt.json +36 -1
  60. homeassistant/components/binary_sensor/translations/pt.json +36 -1
  61. homeassistant/components/binary_sensor/translations/ru.json +36 -1
  62. homeassistant/components/binary_sensor/translations/sk.json +4 -4
  63. homeassistant/components/binary_sensor/translations/sv.json +23 -1
  64. homeassistant/components/binary_sensor/translations/zh-Hans.json +29 -1
  65. homeassistant/components/binary_sensor/translations/zh-Hant.json +3 -3
  66. homeassistant/components/binary_sensor/triggers.yaml +2 -2
  67. homeassistant/components/blebox/translations/sr-Latn.json +1 -0
  68. homeassistant/components/bsblan/translations/sr-Latn.json +4 -0
  69. homeassistant/components/camera/__init__.py +1 -1
  70. homeassistant/components/camera/translations/he.json +1 -1
  71. homeassistant/components/climate/translations/cs.json +15 -5
  72. homeassistant/components/climate/translations/en-GB.json +15 -5
  73. homeassistant/components/climate/translations/es.json +11 -5
  74. homeassistant/components/climate/translations/he.json +65 -2
  75. homeassistant/components/climate/translations/lt.json +15 -5
  76. homeassistant/components/climate/translations/pt.json +15 -5
  77. homeassistant/components/climate/translations/ru.json +21 -11
  78. homeassistant/components/climate/translations/sk.json +15 -5
  79. homeassistant/components/cloud/client.py +9 -5
  80. homeassistant/components/cloud/entity.py +1 -1
  81. homeassistant/components/cloud/http_api.py +21 -0
  82. homeassistant/components/cloud/manifest.json +1 -1
  83. homeassistant/components/cloud/translations/he.json +7 -0
  84. homeassistant/components/conversation/manifest.json +1 -1
  85. homeassistant/components/deluge/translations/he.json +1 -1
  86. homeassistant/components/derivative/translations/he.json +5 -0
  87. homeassistant/components/doorbird/device.py +11 -7
  88. homeassistant/components/duckdns/translations/he.json +10 -0
  89. homeassistant/components/duckdns/translations/ru.json +12 -0
  90. homeassistant/components/ecovacs/manifest.json +1 -1
  91. homeassistant/components/ecovacs/translations/he.json +1 -1
  92. homeassistant/components/energyid/translations/he.json +11 -0
  93. homeassistant/components/energyid/translations/sv.json +2 -1
  94. homeassistant/components/enphase_envoy/translations/he.json +1 -1
  95. homeassistant/components/esphome/translations/he.json +1 -0
  96. homeassistant/components/esphome/translations/lt.json +1 -0
  97. homeassistant/components/essent/translations/he.json +9 -0
  98. homeassistant/components/essent/translations/nl.json +32 -0
  99. homeassistant/components/evohome/manifest.json +1 -1
  100. homeassistant/components/fan/translations/cs.json +6 -2
  101. homeassistant/components/fan/translations/en-GB.json +6 -2
  102. homeassistant/components/fan/translations/es.json +2 -1
  103. homeassistant/components/fan/translations/he.json +34 -1
  104. homeassistant/components/fan/translations/lt.json +6 -2
  105. homeassistant/components/fan/translations/nl.json +6 -1
  106. homeassistant/components/fan/translations/pt.json +6 -2
  107. homeassistant/components/fan/translations/ru.json +37 -1
  108. homeassistant/components/fan/translations/sk.json +6 -2
  109. homeassistant/components/forked_daapd/translations/sr-Latn.json +8 -0
  110. homeassistant/components/fritzbox_callmonitor/translations/he.json +1 -1
  111. homeassistant/components/fronius/translations/he.json +1 -1
  112. homeassistant/components/frontend/manifest.json +1 -1
  113. homeassistant/components/frontend/translations/cs.json +2 -2
  114. homeassistant/components/frontend/translations/de.json +2 -2
  115. homeassistant/components/frontend/translations/he.json +8 -0
  116. homeassistant/components/google_air_quality/strings.json +7 -2
  117. homeassistant/components/google_air_quality/translations/bg.json +3 -2
  118. homeassistant/components/google_air_quality/translations/cs.json +7 -2
  119. homeassistant/components/google_air_quality/translations/de.json +7 -2
  120. homeassistant/components/google_air_quality/translations/el.json +3 -2
  121. homeassistant/components/google_air_quality/translations/en-GB.json +161 -3
  122. homeassistant/components/google_air_quality/translations/en.json +7 -2
  123. homeassistant/components/google_air_quality/translations/es.json +7 -2
  124. homeassistant/components/google_air_quality/translations/et.json +7 -2
  125. homeassistant/components/google_air_quality/translations/fr.json +14 -0
  126. homeassistant/components/google_air_quality/translations/ga.json +7 -2
  127. homeassistant/components/google_air_quality/translations/he.json +239 -0
  128. homeassistant/components/google_air_quality/translations/lt.json +0 -9
  129. homeassistant/components/google_air_quality/translations/nl.json +42 -2
  130. homeassistant/components/google_air_quality/translations/pt.json +7 -2
  131. homeassistant/components/google_air_quality/translations/ru.json +2 -9
  132. homeassistant/components/google_air_quality/translations/sk.json +7 -2
  133. homeassistant/components/google_air_quality/translations/sv.json +11 -4
  134. homeassistant/components/google_air_quality/translations/tr.json +0 -9
  135. homeassistant/components/google_air_quality/translations/zh-Hans.json +7 -4
  136. homeassistant/components/google_air_quality/translations/zh-Hant.json +7 -2
  137. homeassistant/components/google_assistant/translations/sr-Latn.json +1 -1
  138. homeassistant/components/google_generative_ai_conversation/__init__.py +1 -0
  139. homeassistant/components/google_generative_ai_conversation/const.py +1 -1
  140. homeassistant/components/google_generative_ai_conversation/strings.json +1 -1
  141. homeassistant/components/google_generative_ai_conversation/translations/bg.json +0 -3
  142. homeassistant/components/google_generative_ai_conversation/translations/cs.json +1 -1
  143. homeassistant/components/google_generative_ai_conversation/translations/de.json +1 -1
  144. homeassistant/components/google_generative_ai_conversation/translations/el.json +0 -1
  145. homeassistant/components/google_generative_ai_conversation/translations/en-GB.json +1 -1
  146. homeassistant/components/google_generative_ai_conversation/translations/en.json +1 -1
  147. homeassistant/components/google_generative_ai_conversation/translations/es.json +1 -1
  148. homeassistant/components/google_generative_ai_conversation/translations/et.json +1 -1
  149. homeassistant/components/google_generative_ai_conversation/translations/fr.json +0 -1
  150. homeassistant/components/google_generative_ai_conversation/translations/ga.json +0 -1
  151. homeassistant/components/google_generative_ai_conversation/translations/he.json +0 -1
  152. homeassistant/components/google_generative_ai_conversation/translations/hu.json +0 -1
  153. homeassistant/components/google_generative_ai_conversation/translations/lt.json +0 -1
  154. homeassistant/components/google_generative_ai_conversation/translations/nl.json +0 -1
  155. homeassistant/components/google_generative_ai_conversation/translations/pt-BR.json +0 -1
  156. homeassistant/components/google_generative_ai_conversation/translations/pt.json +1 -1
  157. homeassistant/components/google_generative_ai_conversation/translations/ru.json +0 -1
  158. homeassistant/components/google_generative_ai_conversation/translations/sk.json +0 -1
  159. homeassistant/components/google_generative_ai_conversation/translations/sl.json +0 -1
  160. homeassistant/components/google_generative_ai_conversation/translations/sv.json +0 -1
  161. homeassistant/components/google_generative_ai_conversation/translations/tr.json +0 -1
  162. homeassistant/components/google_generative_ai_conversation/translations/uk.json +0 -1
  163. homeassistant/components/google_generative_ai_conversation/translations/zh-Hans.json +0 -1
  164. homeassistant/components/google_generative_ai_conversation/translations/zh-Hant.json +0 -1
  165. homeassistant/components/google_photos/services.py +1 -0
  166. homeassistant/components/google_photos/strings.json +1 -1
  167. homeassistant/components/google_photos/translations/bg.json +0 -1
  168. homeassistant/components/google_photos/translations/ca.json +0 -1
  169. homeassistant/components/google_photos/translations/cs.json +1 -1
  170. homeassistant/components/google_photos/translations/de.json +1 -1
  171. homeassistant/components/google_photos/translations/el.json +0 -1
  172. homeassistant/components/google_photos/translations/en-GB.json +1 -1
  173. homeassistant/components/google_photos/translations/en.json +1 -1
  174. homeassistant/components/google_photos/translations/es.json +1 -1
  175. homeassistant/components/google_photos/translations/et.json +1 -1
  176. homeassistant/components/google_photos/translations/fr.json +0 -1
  177. homeassistant/components/google_photos/translations/ga.json +0 -1
  178. homeassistant/components/google_photos/translations/he.json +0 -1
  179. homeassistant/components/google_photos/translations/hu.json +0 -1
  180. homeassistant/components/google_photos/translations/id.json +0 -1
  181. homeassistant/components/google_photos/translations/it.json +0 -1
  182. homeassistant/components/google_photos/translations/ja.json +0 -1
  183. homeassistant/components/google_photos/translations/lt.json +0 -1
  184. homeassistant/components/google_photos/translations/nl.json +0 -1
  185. homeassistant/components/google_photos/translations/pt-BR.json +0 -1
  186. homeassistant/components/google_photos/translations/pt.json +1 -1
  187. homeassistant/components/google_photos/translations/ru.json +0 -1
  188. homeassistant/components/google_photos/translations/sk.json +0 -1
  189. homeassistant/components/google_photos/translations/sv.json +0 -1
  190. homeassistant/components/google_photos/translations/tr.json +0 -1
  191. homeassistant/components/google_photos/translations/uk.json +0 -1
  192. homeassistant/components/google_photos/translations/zh-Hans.json +0 -1
  193. homeassistant/components/google_photos/translations/zh-Hant.json +0 -1
  194. homeassistant/components/google_weather/translations/he.json +102 -0
  195. homeassistant/components/group/notify.py +28 -5
  196. homeassistant/components/hanna/translations/he.json +20 -0
  197. homeassistant/components/hassio/const.py +1 -0
  198. homeassistant/components/hassio/strings.json +1 -1
  199. homeassistant/components/hassio/translations/cs.json +1 -1
  200. homeassistant/components/hassio/translations/de.json +1 -1
  201. homeassistant/components/hassio/translations/el.json +0 -1
  202. homeassistant/components/hassio/translations/en-GB.json +1 -1
  203. homeassistant/components/hassio/translations/en.json +1 -1
  204. homeassistant/components/hassio/translations/es.json +1 -1
  205. homeassistant/components/hassio/translations/et.json +1 -1
  206. homeassistant/components/hassio/translations/fr.json +0 -1
  207. homeassistant/components/hassio/translations/fy.json +0 -3
  208. homeassistant/components/hassio/translations/ga.json +0 -1
  209. homeassistant/components/hassio/translations/he.json +0 -1
  210. homeassistant/components/hassio/translations/id.json +0 -1
  211. homeassistant/components/hassio/translations/lt.json +1 -1
  212. homeassistant/components/hassio/translations/mk.json +0 -1
  213. homeassistant/components/hassio/translations/nl.json +0 -1
  214. homeassistant/components/hassio/translations/pt.json +1 -1
  215. homeassistant/components/hassio/translations/ru.json +0 -1
  216. homeassistant/components/hassio/translations/sk.json +1 -1
  217. homeassistant/components/hassio/translations/sv.json +0 -1
  218. homeassistant/components/hassio/translations/tr.json +0 -1
  219. homeassistant/components/hassio/translations/zh-Hans.json +0 -1
  220. homeassistant/components/hassio/translations/zh-Hant.json +1 -1
  221. homeassistant/components/home_connect/translations/de.json +2 -2
  222. homeassistant/components/home_connect/translations/he.json +3 -0
  223. homeassistant/components/homeassistant_connect_zbt2/config_flow.py +0 -17
  224. homeassistant/components/homeassistant_connect_zbt2/const.py +0 -58
  225. homeassistant/components/homeassistant_hardware/firmware_config_flow.py +0 -5
  226. homeassistant/components/homekit_controller/translations/he.json +1 -1
  227. homeassistant/components/hue_ble/translations/en-GB.json +2 -1
  228. homeassistant/components/hue_ble/translations/he.json +11 -0
  229. homeassistant/components/hue_ble/translations/lt.json +2 -1
  230. homeassistant/components/hue_ble/translations/nl.json +3 -0
  231. homeassistant/components/hue_ble/translations/pt.json +2 -1
  232. homeassistant/components/hue_ble/translations/sk.json +2 -1
  233. homeassistant/components/hue_ble/translations/sv.json +8 -0
  234. homeassistant/components/humidifier/translations/he.json +1 -1
  235. homeassistant/components/integration/translations/pl.json +1 -1
  236. homeassistant/components/iometer/manifest.json +1 -1
  237. homeassistant/components/ipp/translations/he.json +1 -1
  238. homeassistant/components/iron_os/translations/he.json +1 -1
  239. homeassistant/components/kitchen_sink/translations/cs.json +2 -2
  240. homeassistant/components/kitchen_sink/translations/de.json +4 -4
  241. homeassistant/components/kitchen_sink/translations/el.json +5 -0
  242. homeassistant/components/kitchen_sink/translations/en-GB.json +2 -2
  243. homeassistant/components/kitchen_sink/translations/en.json +2 -2
  244. homeassistant/components/kitchen_sink/translations/es.json +2 -2
  245. homeassistant/components/kitchen_sink/translations/et.json +1 -1
  246. homeassistant/components/kitchen_sink/translations/ga.json +0 -2
  247. homeassistant/components/kitchen_sink/translations/it.json +0 -2
  248. homeassistant/components/kitchen_sink/translations/lt.json +0 -2
  249. homeassistant/components/kitchen_sink/translations/nl.json +4 -0
  250. homeassistant/components/kitchen_sink/translations/pt.json +2 -2
  251. homeassistant/components/kitchen_sink/translations/sk.json +2 -2
  252. homeassistant/components/kitchen_sink/translations/tr.json +0 -2
  253. homeassistant/components/kitchen_sink/translations/zh-Hans.json +0 -2
  254. homeassistant/components/labs/__init__.py +2 -54
  255. homeassistant/components/labs/helpers.py +63 -0
  256. homeassistant/components/labs/websocket_api.py +51 -0
  257. homeassistant/components/lametric/services.py +1 -0
  258. homeassistant/components/lametric/strings.json +1 -1
  259. homeassistant/components/lametric/translations/ca.json +0 -3
  260. homeassistant/components/lametric/translations/cs.json +1 -1
  261. homeassistant/components/lametric/translations/de.json +1 -1
  262. homeassistant/components/lametric/translations/el.json +0 -1
  263. homeassistant/components/lametric/translations/en-GB.json +1 -1
  264. homeassistant/components/lametric/translations/en.json +1 -1
  265. homeassistant/components/lametric/translations/es.json +1 -1
  266. homeassistant/components/lametric/translations/et.json +0 -1
  267. homeassistant/components/lametric/translations/fi.json +0 -3
  268. homeassistant/components/lametric/translations/ga.json +0 -1
  269. homeassistant/components/lametric/translations/gl.json +0 -3
  270. homeassistant/components/lametric/translations/hu.json +0 -1
  271. homeassistant/components/lametric/translations/it.json +0 -3
  272. homeassistant/components/lametric/translations/ja.json +0 -1
  273. homeassistant/components/lametric/translations/ko.json +0 -3
  274. homeassistant/components/lametric/translations/lt.json +0 -1
  275. homeassistant/components/lametric/translations/nl.json +0 -3
  276. homeassistant/components/lametric/translations/pt-BR.json +0 -3
  277. homeassistant/components/lametric/translations/pt.json +0 -1
  278. homeassistant/components/lametric/translations/ru.json +0 -1
  279. homeassistant/components/lametric/translations/sk.json +0 -1
  280. homeassistant/components/lametric/translations/sv.json +0 -1
  281. homeassistant/components/lametric/translations/tr.json +0 -1
  282. homeassistant/components/lametric/translations/vi.json +0 -3
  283. homeassistant/components/lametric/translations/zh-Hans.json +0 -1
  284. homeassistant/components/lametric/translations/zh-Hant.json +0 -1
  285. homeassistant/components/lawn_mower/translations/cs.json +12 -4
  286. homeassistant/components/lawn_mower/translations/en-GB.json +12 -4
  287. homeassistant/components/lawn_mower/translations/es.json +4 -4
  288. homeassistant/components/lawn_mower/translations/he.json +38 -0
  289. homeassistant/components/lawn_mower/translations/lt.json +12 -4
  290. homeassistant/components/lawn_mower/translations/pt.json +20 -12
  291. homeassistant/components/lawn_mower/translations/ru.json +56 -1
  292. homeassistant/components/lawn_mower/translations/sk.json +12 -4
  293. homeassistant/components/letpot/manifest.json +1 -1
  294. homeassistant/components/libre_hardware_monitor/coordinator.py +26 -18
  295. homeassistant/components/light/translations/cs.json +6 -2
  296. homeassistant/components/light/translations/en-GB.json +6 -2
  297. homeassistant/components/light/translations/es.json +2 -2
  298. homeassistant/components/light/translations/he.json +69 -2
  299. homeassistant/components/light/translations/lt.json +6 -2
  300. homeassistant/components/light/translations/nl.json +6 -1
  301. homeassistant/components/light/translations/pt.json +6 -2
  302. homeassistant/components/light/translations/ru.json +15 -11
  303. homeassistant/components/light/translations/sk.json +6 -2
  304. homeassistant/components/matter/translations/he.json +56 -2
  305. homeassistant/components/media_player/translations/cs.json +3 -1
  306. homeassistant/components/media_player/translations/en-GB.json +3 -1
  307. homeassistant/components/media_player/translations/es.json +1 -1
  308. homeassistant/components/media_player/translations/he.json +27 -4
  309. homeassistant/components/media_player/translations/lt.json +3 -1
  310. homeassistant/components/media_player/translations/pt.json +3 -1
  311. homeassistant/components/media_player/translations/ru.json +24 -1
  312. homeassistant/components/media_player/translations/sk.json +3 -1
  313. homeassistant/components/miele/translations/en-GB.json +1 -0
  314. homeassistant/components/miele/translations/ga.json +1 -0
  315. homeassistant/components/miele/translations/he.json +4 -1
  316. homeassistant/components/miele/translations/it.json +15 -1
  317. homeassistant/components/miele/translations/lt.json +1 -0
  318. homeassistant/components/miele/translations/pt.json +1 -0
  319. homeassistant/components/miele/translations/zh-Hans.json +1 -0
  320. homeassistant/components/mqtt/translations/cs.json +3 -1
  321. homeassistant/components/mqtt/translations/en-GB.json +3 -1
  322. homeassistant/components/mqtt/translations/es.json +1 -1
  323. homeassistant/components/mqtt/translations/he.json +35 -1
  324. homeassistant/components/mqtt/translations/lt.json +5 -1
  325. homeassistant/components/mqtt/translations/pt.json +3 -1
  326. homeassistant/components/mqtt/translations/sk.json +3 -1
  327. homeassistant/components/music_assistant/__init__.py +2 -1
  328. homeassistant/components/music_assistant/config_flow.py +23 -5
  329. homeassistant/components/music_assistant/translations/he.json +8 -1
  330. homeassistant/components/myuplink/translations/he.json +5 -0
  331. homeassistant/components/neato/translations/he.json +5 -0
  332. homeassistant/components/nest/manifest.json +1 -1
  333. homeassistant/components/netatmo/translations/he.json +5 -0
  334. homeassistant/components/niko_home_control/translations/he.json +3 -1
  335. homeassistant/components/nina/translations/he.json +12 -1
  336. homeassistant/components/nordpool/manifest.json +1 -1
  337. homeassistant/components/ntfy/translations/cs.json +1 -1
  338. homeassistant/components/ntfy/translations/de.json +1 -1
  339. homeassistant/components/ntfy/translations/el.json +0 -3
  340. homeassistant/components/ntfy/translations/en-GB.json +1 -1
  341. homeassistant/components/ntfy/translations/en.json +1 -1
  342. homeassistant/components/ntfy/translations/es.json +1 -1
  343. homeassistant/components/ntfy/translations/et.json +1 -1
  344. homeassistant/components/ntfy/translations/lt.json +0 -1
  345. homeassistant/components/ntfy/translations/pt.json +1 -1
  346. homeassistant/components/ntfy/translations/ru.json +0 -1
  347. homeassistant/components/ntfy/translations/sk.json +1 -1
  348. homeassistant/components/ntfy/translations/sv.json +0 -1
  349. homeassistant/components/ntfy/translations/tr.json +0 -1
  350. homeassistant/components/ntfy/translations/zh-Hans.json +0 -1
  351. homeassistant/components/ntfy/translations/zh-Hant.json +1 -1
  352. homeassistant/components/onedrive/services.py +1 -0
  353. homeassistant/components/onedrive/strings.json +1 -1
  354. homeassistant/components/onedrive/translations/cs.json +1 -1
  355. homeassistant/components/onedrive/translations/de.json +1 -1
  356. homeassistant/components/onedrive/translations/el.json +0 -1
  357. homeassistant/components/onedrive/translations/en-GB.json +1 -1
  358. homeassistant/components/onedrive/translations/en.json +1 -1
  359. homeassistant/components/onedrive/translations/es.json +1 -1
  360. homeassistant/components/onedrive/translations/et.json +1 -1
  361. homeassistant/components/onedrive/translations/ga.json +0 -1
  362. homeassistant/components/onedrive/translations/he.json +3 -1
  363. homeassistant/components/onedrive/translations/hu.json +0 -1
  364. homeassistant/components/onedrive/translations/it.json +0 -1
  365. homeassistant/components/onedrive/translations/ja.json +0 -1
  366. homeassistant/components/onedrive/translations/lt.json +0 -1
  367. homeassistant/components/onedrive/translations/nl.json +0 -1
  368. homeassistant/components/onedrive/translations/pt.json +1 -1
  369. homeassistant/components/onedrive/translations/ru.json +0 -1
  370. homeassistant/components/onedrive/translations/sk.json +0 -1
  371. homeassistant/components/onedrive/translations/sl.json +0 -1
  372. homeassistant/components/onedrive/translations/sv.json +0 -1
  373. homeassistant/components/onedrive/translations/tr.json +0 -1
  374. homeassistant/components/onedrive/translations/zh-Hans.json +0 -1
  375. homeassistant/components/onedrive/translations/zh-Hant.json +0 -1
  376. homeassistant/components/oralb/manifest.json +2 -1
  377. homeassistant/components/oralb/translations/he.json +1 -1
  378. homeassistant/components/pilight/__init__.py +13 -1
  379. homeassistant/components/pilight/strings.json +1 -1
  380. homeassistant/components/pilight/translations/cs.json +1 -1
  381. homeassistant/components/pilight/translations/de.json +1 -1
  382. homeassistant/components/pilight/translations/el.json +0 -1
  383. homeassistant/components/pilight/translations/en-GB.json +1 -1
  384. homeassistant/components/pilight/translations/en.json +1 -1
  385. homeassistant/components/pilight/translations/es.json +1 -1
  386. homeassistant/components/pilight/translations/et.json +1 -1
  387. homeassistant/components/pilight/translations/fi.json +0 -1
  388. homeassistant/components/pilight/translations/ga.json +0 -1
  389. homeassistant/components/pilight/translations/hu.json +0 -1
  390. homeassistant/components/pilight/translations/it.json +0 -1
  391. homeassistant/components/pilight/translations/ja.json +0 -1
  392. homeassistant/components/pilight/translations/ko.json +0 -1
  393. homeassistant/components/pilight/translations/lt.json +0 -1
  394. homeassistant/components/pilight/translations/pt.json +1 -1
  395. homeassistant/components/pilight/translations/ru.json +0 -1
  396. homeassistant/components/pilight/translations/sk.json +1 -1
  397. homeassistant/components/pilight/translations/sv.json +0 -1
  398. homeassistant/components/pilight/translations/tr.json +0 -1
  399. homeassistant/components/pilight/translations/zh-Hans.json +0 -1
  400. homeassistant/components/pilight/translations/zh-Hant.json +1 -1
  401. homeassistant/components/ping/helpers.py +1 -1
  402. homeassistant/components/playstation_network/coordinator.py +14 -7
  403. homeassistant/components/plugwise/translations/en-GB.json +1 -1
  404. homeassistant/components/plugwise/translations/he.json +26 -0
  405. homeassistant/components/plugwise/translations/ru.json +12 -0
  406. homeassistant/components/point/translations/he.json +5 -0
  407. homeassistant/components/pooldose/translations/he.json +11 -0
  408. homeassistant/components/prusalink/translations/he.json +1 -1
  409. homeassistant/components/qbittorrent/translations/he.json +1 -1
  410. homeassistant/components/rainmachine/__init__.py +13 -2
  411. homeassistant/components/rainmachine/strings.json +1 -1
  412. homeassistant/components/rainmachine/translations/cs.json +1 -1
  413. homeassistant/components/rainmachine/translations/de.json +1 -1
  414. homeassistant/components/rainmachine/translations/en-GB.json +1 -1
  415. homeassistant/components/rainmachine/translations/en.json +1 -1
  416. homeassistant/components/rainmachine/translations/es.json +1 -1
  417. homeassistant/components/rainmachine/translations/et.json +1 -1
  418. homeassistant/components/rainmachine/translations/lt.json +0 -1
  419. homeassistant/components/rainmachine/translations/pt.json +1 -1
  420. homeassistant/components/rainmachine/translations/ru.json +1 -0
  421. homeassistant/components/rainmachine/translations/sk.json +1 -1
  422. homeassistant/components/rainmachine/translations/zh-Hans.json +0 -1
  423. homeassistant/components/rainmachine/translations/zh-Hant.json +1 -1
  424. homeassistant/components/reolink/host.py +4 -0
  425. homeassistant/components/reolink/manifest.json +1 -1
  426. homeassistant/components/reolink/strings.json +2 -2
  427. homeassistant/components/reolink/translations/ca.json +0 -2
  428. homeassistant/components/reolink/translations/cs.json +2 -2
  429. homeassistant/components/reolink/translations/de.json +2 -2
  430. homeassistant/components/reolink/translations/el.json +0 -2
  431. homeassistant/components/reolink/translations/en-GB.json +2 -2
  432. homeassistant/components/reolink/translations/en.json +2 -2
  433. homeassistant/components/reolink/translations/es.json +0 -2
  434. homeassistant/components/reolink/translations/et.json +2 -2
  435. homeassistant/components/reolink/translations/fi.json +0 -2
  436. homeassistant/components/reolink/translations/fr.json +0 -2
  437. homeassistant/components/reolink/translations/ga.json +0 -2
  438. homeassistant/components/reolink/translations/hr.json +0 -5
  439. homeassistant/components/reolink/translations/hu.json +0 -2
  440. homeassistant/components/reolink/translations/id.json +0 -2
  441. homeassistant/components/reolink/translations/it.json +0 -2
  442. homeassistant/components/reolink/translations/ja.json +0 -2
  443. homeassistant/components/reolink/translations/ko.json +0 -2
  444. homeassistant/components/reolink/translations/lt.json +0 -2
  445. homeassistant/components/reolink/translations/nb.json +0 -1
  446. homeassistant/components/reolink/translations/nl.json +0 -2
  447. homeassistant/components/reolink/translations/pl.json +0 -1
  448. homeassistant/components/reolink/translations/pt-BR.json +0 -2
  449. homeassistant/components/reolink/translations/pt.json +2 -2
  450. homeassistant/components/reolink/translations/ro.json +0 -2
  451. homeassistant/components/reolink/translations/ru.json +0 -2
  452. homeassistant/components/reolink/translations/sk.json +2 -2
  453. homeassistant/components/reolink/translations/sv.json +0 -2
  454. homeassistant/components/reolink/translations/tr.json +0 -2
  455. homeassistant/components/reolink/translations/uk.json +0 -2
  456. homeassistant/components/reolink/translations/zh-Hans.json +0 -2
  457. homeassistant/components/reolink/translations/zh-Hant.json +2 -2
  458. homeassistant/components/rituals_perfume_genie/__init__.py +47 -7
  459. homeassistant/components/rituals_perfume_genie/config_flow.py +79 -32
  460. homeassistant/components/rituals_perfume_genie/const.py +1 -0
  461. homeassistant/components/rituals_perfume_genie/coordinator.py +39 -4
  462. homeassistant/components/rituals_perfume_genie/manifest.json +2 -2
  463. homeassistant/components/rituals_perfume_genie/strings.json +8 -1
  464. homeassistant/components/rituals_perfume_genie/translations/bg.json +0 -3
  465. homeassistant/components/rituals_perfume_genie/translations/ca.json +0 -3
  466. homeassistant/components/rituals_perfume_genie/translations/cs.json +8 -1
  467. homeassistant/components/rituals_perfume_genie/translations/da.json +0 -3
  468. homeassistant/components/rituals_perfume_genie/translations/de.json +8 -1
  469. homeassistant/components/rituals_perfume_genie/translations/el.json +0 -3
  470. homeassistant/components/rituals_perfume_genie/translations/en-GB.json +8 -1
  471. homeassistant/components/rituals_perfume_genie/translations/en.json +8 -1
  472. homeassistant/components/rituals_perfume_genie/translations/es.json +8 -1
  473. homeassistant/components/rituals_perfume_genie/translations/et.json +7 -1
  474. homeassistant/components/rituals_perfume_genie/translations/fi.json +0 -3
  475. homeassistant/components/rituals_perfume_genie/translations/fr.json +0 -3
  476. homeassistant/components/rituals_perfume_genie/translations/ga.json +0 -3
  477. homeassistant/components/rituals_perfume_genie/translations/he.json +0 -3
  478. homeassistant/components/rituals_perfume_genie/translations/hu.json +0 -3
  479. homeassistant/components/rituals_perfume_genie/translations/id.json +0 -3
  480. homeassistant/components/rituals_perfume_genie/translations/it.json +0 -3
  481. homeassistant/components/rituals_perfume_genie/translations/ja.json +0 -3
  482. homeassistant/components/rituals_perfume_genie/translations/ko.json +0 -3
  483. homeassistant/components/rituals_perfume_genie/translations/lt.json +0 -3
  484. homeassistant/components/rituals_perfume_genie/translations/lv.json +0 -5
  485. homeassistant/components/rituals_perfume_genie/translations/nb.json +0 -3
  486. homeassistant/components/rituals_perfume_genie/translations/nl.json +0 -3
  487. homeassistant/components/rituals_perfume_genie/translations/pl.json +0 -3
  488. homeassistant/components/rituals_perfume_genie/translations/pt-BR.json +0 -3
  489. homeassistant/components/rituals_perfume_genie/translations/pt.json +8 -1
  490. homeassistant/components/rituals_perfume_genie/translations/ro.json +0 -3
  491. homeassistant/components/rituals_perfume_genie/translations/ru.json +0 -3
  492. homeassistant/components/rituals_perfume_genie/translations/sk.json +8 -1
  493. homeassistant/components/rituals_perfume_genie/translations/sl.json +0 -3
  494. homeassistant/components/rituals_perfume_genie/translations/sv.json +0 -3
  495. homeassistant/components/rituals_perfume_genie/translations/tr.json +0 -3
  496. homeassistant/components/rituals_perfume_genie/translations/uk.json +0 -3
  497. homeassistant/components/rituals_perfume_genie/translations/zh-Hans.json +0 -3
  498. homeassistant/components/rituals_perfume_genie/translations/zh-Hant.json +0 -3
  499. homeassistant/components/roborock/__init__.py +20 -1
  500. homeassistant/components/roborock/manifest.json +1 -1
  501. homeassistant/components/roborock/roborock_storage.py +29 -10
  502. homeassistant/components/roborock/translations/he.json +1 -1
  503. homeassistant/components/saunum/translations/he.json +31 -0
  504. homeassistant/components/scene/translations/cs.json +3 -3
  505. homeassistant/components/senz/translations/he.json +11 -1
  506. homeassistant/components/sfr_box/translations/he.json +1 -1
  507. homeassistant/components/sharkiq/manifest.json +1 -1
  508. homeassistant/components/shelly/button.py +11 -2
  509. homeassistant/components/shelly/translations/ga.json +8 -0
  510. homeassistant/components/shelly/translations/he.json +132 -0
  511. homeassistant/components/sleep_as_android/translations/es.json +3 -0
  512. homeassistant/components/smartthings/translations/he.json +19 -1
  513. homeassistant/components/spotify/translations/he.json +5 -0
  514. homeassistant/components/starlink/coordinator.py +0 -1
  515. homeassistant/components/starlink/sensor.py +6 -3
  516. homeassistant/components/switchbot/translations/he.json +12 -0
  517. homeassistant/components/tedee/manifest.json +1 -0
  518. homeassistant/components/telegram_bot/__init__.py +3 -0
  519. homeassistant/components/telegram_bot/config_flow.py +9 -5
  520. homeassistant/components/telegram_bot/strings.json +9 -9
  521. homeassistant/components/telegram_bot/translations/bg.json +0 -7
  522. homeassistant/components/telegram_bot/translations/ca.json +0 -12
  523. homeassistant/components/telegram_bot/translations/cs.json +15 -15
  524. homeassistant/components/telegram_bot/translations/de.json +15 -15
  525. homeassistant/components/telegram_bot/translations/el.json +0 -18
  526. homeassistant/components/telegram_bot/translations/en-GB.json +15 -15
  527. homeassistant/components/telegram_bot/translations/en.json +15 -15
  528. homeassistant/components/telegram_bot/translations/es.json +2 -15
  529. homeassistant/components/telegram_bot/translations/et.json +15 -15
  530. homeassistant/components/telegram_bot/translations/fi.json +0 -12
  531. homeassistant/components/telegram_bot/translations/ga.json +0 -19
  532. homeassistant/components/telegram_bot/translations/gl.json +0 -3
  533. homeassistant/components/telegram_bot/translations/he.json +0 -12
  534. homeassistant/components/telegram_bot/translations/hu.json +0 -18
  535. homeassistant/components/telegram_bot/translations/it.json +0 -18
  536. homeassistant/components/telegram_bot/translations/ja.json +0 -18
  537. homeassistant/components/telegram_bot/translations/ko.json +0 -12
  538. homeassistant/components/telegram_bot/translations/lt.json +0 -19
  539. homeassistant/components/telegram_bot/translations/mk.json +0 -1
  540. homeassistant/components/telegram_bot/translations/nb.json +0 -12
  541. homeassistant/components/telegram_bot/translations/nl.json +0 -18
  542. homeassistant/components/telegram_bot/translations/pt.json +15 -15
  543. homeassistant/components/telegram_bot/translations/ru.json +13 -19
  544. homeassistant/components/telegram_bot/translations/sk.json +15 -15
  545. homeassistant/components/telegram_bot/translations/sr-Latn.json +0 -12
  546. homeassistant/components/telegram_bot/translations/sv.json +0 -19
  547. homeassistant/components/telegram_bot/translations/tr.json +0 -13
  548. homeassistant/components/telegram_bot/translations/zh-Hans.json +0 -19
  549. homeassistant/components/telegram_bot/translations/zh-Hant.json +13 -19
  550. homeassistant/components/template/helpers.py +20 -10
  551. homeassistant/components/template/light.py +12 -18
  552. homeassistant/components/template/strings.json +1 -1
  553. homeassistant/components/template/translations/cs.json +1 -1
  554. homeassistant/components/template/translations/de.json +1 -1
  555. homeassistant/components/template/translations/el.json +0 -1
  556. homeassistant/components/template/translations/en-GB.json +1 -1
  557. homeassistant/components/template/translations/en.json +1 -1
  558. homeassistant/components/template/translations/es.json +0 -1
  559. homeassistant/components/template/translations/et.json +1 -1
  560. homeassistant/components/template/translations/ga.json +0 -1
  561. homeassistant/components/template/translations/he.json +3 -0
  562. homeassistant/components/template/translations/it.json +0 -1
  563. homeassistant/components/template/translations/lt.json +0 -1
  564. homeassistant/components/template/translations/pl.json +0 -1
  565. homeassistant/components/template/translations/pt.json +1 -1
  566. homeassistant/components/template/translations/sk.json +1 -1
  567. homeassistant/components/template/translations/sr-Latn.json +0 -1
  568. homeassistant/components/template/translations/tr.json +0 -1
  569. homeassistant/components/template/translations/zh-Hans.json +0 -1
  570. homeassistant/components/template/translations/zh-Hant.json +0 -1
  571. homeassistant/components/tesla_fleet/translations/he.json +5 -0
  572. homeassistant/components/teslemetry/services.py +3 -0
  573. homeassistant/components/teslemetry/strings.json +1 -1
  574. homeassistant/components/teslemetry/translations/bg.json +0 -1
  575. homeassistant/components/teslemetry/translations/cs.json +1 -1
  576. homeassistant/components/teslemetry/translations/de.json +1 -1
  577. homeassistant/components/teslemetry/translations/el.json +0 -1
  578. homeassistant/components/teslemetry/translations/en-GB.json +1 -1
  579. homeassistant/components/teslemetry/translations/en.json +1 -1
  580. homeassistant/components/teslemetry/translations/es.json +1 -1
  581. homeassistant/components/teslemetry/translations/et.json +1 -1
  582. homeassistant/components/teslemetry/translations/ga.json +0 -1
  583. homeassistant/components/teslemetry/translations/he.json +2 -2
  584. homeassistant/components/teslemetry/translations/hr.json +0 -1
  585. homeassistant/components/teslemetry/translations/hu.json +0 -1
  586. homeassistant/components/teslemetry/translations/ja.json +0 -1
  587. homeassistant/components/teslemetry/translations/lt.json +0 -1
  588. homeassistant/components/teslemetry/translations/pt.json +1 -1
  589. homeassistant/components/teslemetry/translations/ru.json +1 -1
  590. homeassistant/components/teslemetry/translations/sk.json +1 -1
  591. homeassistant/components/teslemetry/translations/sv.json +0 -1
  592. homeassistant/components/teslemetry/translations/tr.json +0 -1
  593. homeassistant/components/teslemetry/translations/zh-Hans.json +0 -1
  594. homeassistant/components/teslemetry/translations/zh-Hant.json +1 -1
  595. homeassistant/components/text/translations/cs.json +7 -1
  596. homeassistant/components/text/translations/en-GB.json +7 -1
  597. homeassistant/components/text/translations/es.json +1 -1
  598. homeassistant/components/text/translations/he.json +7 -1
  599. homeassistant/components/text/translations/lt.json +7 -1
  600. homeassistant/components/text/translations/pt.json +7 -1
  601. homeassistant/components/text/translations/ru.json +7 -1
  602. homeassistant/components/text/translations/sk.json +7 -1
  603. homeassistant/components/timer/translations/he.json +1 -1
  604. homeassistant/components/toon/translations/he.json +5 -0
  605. homeassistant/components/transmission/translations/he.json +1 -1
  606. homeassistant/components/tuya/climate.py +12 -0
  607. homeassistant/components/tuya/translations/he.json +10 -0
  608. homeassistant/components/twitch/translations/he.json +5 -0
  609. homeassistant/components/unifiprotect/manifest.json +1 -1
  610. homeassistant/components/unifiprotect/translations/el.json +6 -0
  611. homeassistant/components/unifiprotect/translations/lt.json +10 -0
  612. homeassistant/components/unifiprotect/translations/pt.json +10 -0
  613. homeassistant/components/unifiprotect/translations/zh-Hans.json +2 -1
  614. homeassistant/components/vacuum/translations/cs.json +12 -4
  615. homeassistant/components/vacuum/translations/en-GB.json +12 -4
  616. homeassistant/components/vacuum/translations/es.json +3 -3
  617. homeassistant/components/vacuum/translations/he.json +57 -2
  618. homeassistant/components/vacuum/translations/lt.json +12 -4
  619. homeassistant/components/vacuum/translations/pt.json +12 -4
  620. homeassistant/components/vacuum/translations/ru.json +20 -12
  621. homeassistant/components/vacuum/translations/sk.json +12 -4
  622. homeassistant/components/vacuum/translations/sv.json +14 -0
  623. homeassistant/components/venstar/translations/he.json +1 -1
  624. homeassistant/components/vesync/binary_sensor.py +1 -1
  625. homeassistant/components/vicare/translations/he.json +10 -0
  626. homeassistant/components/victron_ble/translations/he.json +17 -0
  627. homeassistant/components/volvo/translations/he.json +6 -1
  628. homeassistant/components/weheat/translations/he.json +5 -0
  629. homeassistant/components/withings/translations/he.json +5 -0
  630. homeassistant/components/wled/config_flow.py +5 -1
  631. homeassistant/components/wled/coordinator.py +9 -0
  632. homeassistant/components/wled/strings.json +10 -2
  633. homeassistant/components/wled/translations/cs.json +10 -2
  634. homeassistant/components/wled/translations/de.json +10 -2
  635. homeassistant/components/wled/translations/en-GB.json +10 -2
  636. homeassistant/components/wled/translations/en.json +10 -2
  637. homeassistant/components/wled/translations/es.json +10 -2
  638. homeassistant/components/wled/translations/et.json +10 -2
  639. homeassistant/components/wled/translations/ga.json +10 -2
  640. homeassistant/components/wled/translations/he.json +8 -2
  641. homeassistant/components/wled/translations/lt.json +10 -2
  642. homeassistant/components/wled/translations/pt.json +10 -2
  643. homeassistant/components/wled/translations/ru.json +10 -2
  644. homeassistant/components/wled/translations/sk.json +10 -2
  645. homeassistant/components/wled/translations/zh-Hans.json +10 -2
  646. homeassistant/components/wled/translations/zh-Hant.json +10 -2
  647. homeassistant/components/wled/update.py +1 -1
  648. homeassistant/components/xbox/browse_media.py +3 -1
  649. homeassistant/components/xbox/entity.py +10 -6
  650. homeassistant/components/xbox/media_source.py +2 -1
  651. homeassistant/components/xbox/sensor.py +3 -2
  652. homeassistant/components/xbox/translations/de.json +1 -1
  653. homeassistant/components/xbox/translations/he.json +10 -1
  654. homeassistant/components/xiaomi_aqara/config_flow.py +19 -3
  655. homeassistant/components/xiaomi_aqara/strings.json +2 -2
  656. homeassistant/components/xiaomi_aqara/translations/ca.json +0 -2
  657. homeassistant/components/xiaomi_aqara/translations/cs.json +2 -2
  658. homeassistant/components/xiaomi_aqara/translations/da.json +0 -4
  659. homeassistant/components/xiaomi_aqara/translations/de.json +2 -2
  660. homeassistant/components/xiaomi_aqara/translations/el.json +0 -2
  661. homeassistant/components/xiaomi_aqara/translations/en-GB.json +2 -2
  662. homeassistant/components/xiaomi_aqara/translations/en.json +2 -2
  663. homeassistant/components/xiaomi_aqara/translations/es.json +2 -2
  664. homeassistant/components/xiaomi_aqara/translations/et.json +2 -2
  665. homeassistant/components/xiaomi_aqara/translations/fi.json +0 -2
  666. homeassistant/components/xiaomi_aqara/translations/fr.json +0 -2
  667. homeassistant/components/xiaomi_aqara/translations/ga.json +0 -2
  668. homeassistant/components/xiaomi_aqara/translations/gl.json +1 -2
  669. homeassistant/components/xiaomi_aqara/translations/he.json +0 -2
  670. homeassistant/components/xiaomi_aqara/translations/hu.json +0 -2
  671. homeassistant/components/xiaomi_aqara/translations/id.json +0 -2
  672. homeassistant/components/xiaomi_aqara/translations/it.json +0 -2
  673. homeassistant/components/xiaomi_aqara/translations/ja.json +0 -2
  674. homeassistant/components/xiaomi_aqara/translations/ko.json +0 -2
  675. homeassistant/components/xiaomi_aqara/translations/lb.json +1 -2
  676. homeassistant/components/xiaomi_aqara/translations/lt.json +0 -2
  677. homeassistant/components/xiaomi_aqara/translations/nb.json +0 -1
  678. homeassistant/components/xiaomi_aqara/translations/nl.json +0 -2
  679. homeassistant/components/xiaomi_aqara/translations/pl.json +0 -2
  680. homeassistant/components/xiaomi_aqara/translations/pt-BR.json +0 -2
  681. homeassistant/components/xiaomi_aqara/translations/pt.json +2 -2
  682. homeassistant/components/xiaomi_aqara/translations/ro.json +0 -2
  683. homeassistant/components/xiaomi_aqara/translations/ru.json +2 -2
  684. homeassistant/components/xiaomi_aqara/translations/sk.json +2 -2
  685. homeassistant/components/xiaomi_aqara/translations/sl.json +0 -2
  686. homeassistant/components/xiaomi_aqara/translations/sr-Latn.json +6 -0
  687. homeassistant/components/xiaomi_aqara/translations/sv.json +0 -2
  688. homeassistant/components/xiaomi_aqara/translations/tr.json +0 -2
  689. homeassistant/components/xiaomi_aqara/translations/uk.json +0 -2
  690. homeassistant/components/xiaomi_aqara/translations/vi.json +0 -2
  691. homeassistant/components/xiaomi_aqara/translations/zh-Hans.json +0 -2
  692. homeassistant/components/xiaomi_aqara/translations/zh-Hant.json +2 -2
  693. homeassistant/components/yeelight/light.py +9 -1
  694. homeassistant/components/yeelight/strings.json +2 -2
  695. homeassistant/components/yeelight/translations/cs.json +3 -3
  696. homeassistant/components/yeelight/translations/de.json +3 -3
  697. homeassistant/components/yeelight/translations/el.json +0 -3
  698. homeassistant/components/yeelight/translations/en-GB.json +3 -3
  699. homeassistant/components/yeelight/translations/en.json +3 -3
  700. homeassistant/components/yeelight/translations/es.json +3 -3
  701. homeassistant/components/yeelight/translations/et.json +3 -3
  702. homeassistant/components/yeelight/translations/fi.json +0 -2
  703. homeassistant/components/yeelight/translations/fr.json +0 -3
  704. homeassistant/components/yeelight/translations/ga.json +0 -3
  705. homeassistant/components/yeelight/translations/gl.json +0 -2
  706. homeassistant/components/yeelight/translations/he.json +0 -3
  707. homeassistant/components/yeelight/translations/hu.json +0 -3
  708. homeassistant/components/yeelight/translations/it.json +0 -2
  709. homeassistant/components/yeelight/translations/ja.json +0 -3
  710. homeassistant/components/yeelight/translations/ko.json +0 -2
  711. homeassistant/components/yeelight/translations/lt.json +0 -3
  712. homeassistant/components/yeelight/translations/pt.json +3 -3
  713. homeassistant/components/yeelight/translations/ru.json +0 -3
  714. homeassistant/components/yeelight/translations/sk.json +3 -3
  715. homeassistant/components/yeelight/translations/sv.json +0 -3
  716. homeassistant/components/yeelight/translations/tr.json +0 -3
  717. homeassistant/components/yeelight/translations/vi.json +0 -2
  718. homeassistant/components/yeelight/translations/zh-Hans.json +0 -3
  719. homeassistant/components/yeelight/translations/zh-Hant.json +3 -3
  720. homeassistant/components/yolink/translations/he.json +5 -0
  721. homeassistant/components/youtube/translations/he.json +5 -0
  722. homeassistant/components/zha/config_flow.py +9 -6
  723. homeassistant/components/zha/radio_manager.py +2 -2
  724. homeassistant/components/zha/strings.json +5 -3
  725. homeassistant/components/zha/translations/cs.json +6 -4
  726. homeassistant/components/zha/translations/de.json +6 -4
  727. homeassistant/components/zha/translations/el.json +0 -8
  728. homeassistant/components/zha/translations/en-GB.json +6 -4
  729. homeassistant/components/zha/translations/en.json +6 -4
  730. homeassistant/components/zha/translations/es.json +6 -4
  731. homeassistant/components/zha/translations/et.json +6 -4
  732. homeassistant/components/zha/translations/fr.json +0 -3
  733. homeassistant/components/zha/translations/ga.json +2 -0
  734. homeassistant/components/zha/translations/he.json +1 -1
  735. homeassistant/components/zha/translations/hu.json +0 -3
  736. homeassistant/components/zha/translations/lt.json +0 -8
  737. homeassistant/components/zha/translations/nl.json +8 -0
  738. homeassistant/components/zha/translations/pt.json +6 -4
  739. homeassistant/components/zha/translations/ru.json +46 -8
  740. homeassistant/components/zha/translations/sk.json +6 -4
  741. homeassistant/components/zha/translations/sv.json +2 -0
  742. homeassistant/components/zha/translations/zh-Hans.json +2 -8
  743. homeassistant/components/zha/translations/zh-Hant.json +2 -8
  744. homeassistant/components/zwave_js/services.py +3 -0
  745. homeassistant/components/zwave_js/strings.json +2 -2
  746. homeassistant/components/zwave_js/translations/cs.json +2 -2
  747. homeassistant/components/zwave_js/translations/de.json +2 -2
  748. homeassistant/components/zwave_js/translations/el.json +0 -2
  749. homeassistant/components/zwave_js/translations/en-GB.json +2 -2
  750. homeassistant/components/zwave_js/translations/en.json +2 -2
  751. homeassistant/components/zwave_js/translations/es.json +2 -2
  752. homeassistant/components/zwave_js/translations/et.json +2 -2
  753. homeassistant/components/zwave_js/translations/ga.json +0 -2
  754. homeassistant/components/zwave_js/translations/hu.json +0 -2
  755. homeassistant/components/zwave_js/translations/ja.json +0 -2
  756. homeassistant/components/zwave_js/translations/lt.json +0 -2
  757. homeassistant/components/zwave_js/translations/pt.json +2 -2
  758. homeassistant/components/zwave_js/translations/ru.json +0 -2
  759. homeassistant/components/zwave_js/translations/sk.json +2 -2
  760. homeassistant/components/zwave_js/translations/sv.json +0 -2
  761. homeassistant/components/zwave_js/translations/tr.json +0 -2
  762. homeassistant/components/zwave_js/translations/vi.json +0 -2
  763. homeassistant/components/zwave_js/translations/zh-Hans.json +0 -2
  764. homeassistant/components/zwave_js/translations/zh-Hant.json +2 -2
  765. homeassistant/const.py +1 -1
  766. homeassistant/generated/integrations.json +2 -2
  767. homeassistant/generated/labs.py +2 -2
  768. homeassistant/loader.py +6 -0
  769. homeassistant/package_constraints.txt +3 -3
  770. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.1.dist-info}/METADATA +2 -2
  771. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.1.dist-info}/RECORD +776 -761
  772. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.1.dist-info}/WHEEL +0 -0
  773. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.1.dist-info}/entry_points.txt +0 -0
  774. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.1.dist-info}/licenses/LICENSE.md +0 -0
  775. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.1.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  776. {homeassistant-2025.12.0b5.dist-info → homeassistant-2025.12.1.dist-info}/top_level.txt +0 -0
@@ -210,7 +210,6 @@
210
210
  "name": "Zariadenie"
211
211
  },
212
212
  "icon": {
213
- "description": "Identifika\u010dn\u00e9 \u010d\u00edslo ikony alebo anim\u00e1cie, ktor\u00e1 sa m\u00e1 zobrazi\u0165. Zoznam v\u0161etk\u00fdch ikon a ich ID n\u00e1jdete na adrese: https://developer.lametric.com/icons.",
214
213
  "name": "ID ikony"
215
214
  },
216
215
  "icon_type": {
@@ -209,7 +209,6 @@
209
209
  "name": "Enhet"
210
210
  },
211
211
  "icon": {
212
- "description": "ID-numret f\u00f6r den ikon eller animation som ska visas. En lista \u00f6ver alla ikoner och deras ID-nummer finns p\u00e5: https://developer.lametric.com/icons.",
213
212
  "name": "Ikon-ID"
214
213
  },
215
214
  "icon_type": {
@@ -201,7 +201,6 @@
201
201
  "name": "Cihaz"
202
202
  },
203
203
  "icon": {
204
- "description": "G\u00f6r\u00fcnt\u00fclenecek simge veya animasyonun kimlik numaras\u0131. T\u00fcm simgelerin ve kimliklerinin listesi \u015fu adreste bulunabilir: https://developer.lametric.com/icons.",
205
204
  "name": "Simge Kimli\u011fi"
206
205
  },
207
206
  "icon_type": {
@@ -181,9 +181,6 @@
181
181
  "description": "Thi\u1ebft b\u1ecb LaMetric \u0111\u1ec3 hi\u1ec3n th\u1ecb th\u00f4ng b\u00e1o.",
182
182
  "name": "Thi\u1ebft b\u1ecb"
183
183
  },
184
- "icon": {
185
- "description": "S\u1ed1 ID c\u1ee7a bi\u1ec3u t\u01b0\u1ee3ng ho\u1eb7c h\u00ecnh \u1ea3nh \u0111\u1ed9ng s\u1ebd hi\u1ec3n th\u1ecb. B\u1ea1n c\u00f3 th\u1ec3 t\u00ecm th\u1ea5y danh s\u00e1ch t\u1ea5t c\u1ea3 c\u00e1c bi\u1ec3u t\u01b0\u1ee3ng v\u00e0 ID c\u1ee7a ch\u00fang t\u1ea1i: https://developer.lametric.com/icons."
186
- },
187
184
  "icon_type": {
188
185
  "description": "Lo\u1ea1i bi\u1ec3u t\u01b0\u1ee3ng hi\u1ec3n th\u1ecb, cho bi\u1ebft t\u00ednh ch\u1ea5t c\u1ee7a th\u00f4ng b\u00e1o.",
189
186
  "name": "Lo\u1ea1i bi\u1ec3u t\u01b0\u1ee3ng"
@@ -210,7 +210,6 @@
210
210
  "name": "\u8bbe\u5907"
211
211
  },
212
212
  "icon": {
213
- "description": "\u8981\u663e\u793a\u7684\u56fe\u6807\u6216\u52a8\u753b\u7684\u7f16\u53f7\u3002\u6240\u6709\u56fe\u6807\u53ca\u5176\u7f16\u53f7\u7684\u5217\u8868\u53ef\u5728\u4ee5\u4e0b\u4f4d\u7f6e\u627e\u5230\uff1ahttps://developer.lametric.com/icons \u3002",
214
213
  "name": "\u56fe\u6807\u6807\u8bc6\u7b26"
215
214
  },
216
215
  "icon_type": {
@@ -210,7 +210,6 @@
210
210
  "name": "\u88dd\u7f6e"
211
211
  },
212
212
  "icon": {
213
- "description": "\u6240\u8981\u986f\u793a\u7684\u5716\u793a\u6216\u52d5\u756b ID \u865f\u78bc\u3002\u6240\u6709\u5716\u793a\u53ca\u5176 ID \u5217\u8868\u53ef\u4ee5\u65bc\u4e0b\u65b9\u4f4d\u5740\u627e\u5230\uff1ahttps://developer.lametric.com/icons.",
214
213
  "name": "\u5716\u793a ID"
215
214
  },
216
215
  "icon_type": {
@@ -41,36 +41,44 @@
41
41
  "title": "Seka\u010dka na tr\u00e1vu",
42
42
  "triggers": {
43
43
  "docked": {
44
+ "description": "Spust\u00ed se pot\u00e9, co se jedna nebo v\u00edce seka\u010dek na tr\u00e1vu vr\u00e1t\u00ed do doku.",
44
45
  "fields": {
45
46
  "behavior": {
46
47
  "description": "Chov\u00e1n\u00ed c\u00edlov\u00fdch seka\u010dek na tr\u00e1vu p\u0159i spu\u0161t\u011bn\u00ed.",
47
48
  "name": "Chov\u00e1n\u00ed"
48
49
  }
49
- }
50
+ },
51
+ "name": "Seka\u010dka na tr\u00e1vu se vr\u00e1tila do doku"
50
52
  },
51
53
  "errored": {
54
+ "description": "Spust\u00ed se pot\u00e9, co u jedn\u00e9 nebo v\u00edce seka\u010dek na tr\u00e1vu dojde k chyb\u011b.",
52
55
  "fields": {
53
56
  "behavior": {
54
57
  "description": "Chov\u00e1n\u00ed c\u00edlov\u00fdch seka\u010dek na tr\u00e1vu p\u0159i spu\u0161t\u011bn\u00ed.",
55
58
  "name": "Chov\u00e1n\u00ed"
56
59
  }
57
- }
60
+ },
61
+ "name": "P\u0159i chyb\u011b seka\u010dky"
58
62
  },
59
63
  "paused_mowing": {
64
+ "description": "Spou\u0161t\u00ed se pot\u00e9, co jedna nebo v\u00edce seka\u010dek na tr\u00e1vu pozastav\u00ed sek\u00e1n\u00ed.",
60
65
  "fields": {
61
66
  "behavior": {
62
67
  "description": "Chov\u00e1n\u00ed c\u00edlov\u00fdch seka\u010dek na tr\u00e1vu p\u0159i spu\u0161t\u011bn\u00ed.",
63
68
  "name": "Chov\u00e1n\u00ed"
64
69
  }
65
- }
70
+ },
71
+ "name": "Seka\u010dka na tr\u00e1vu pozastavila sek\u00e1n\u00ed"
66
72
  },
67
73
  "started_mowing": {
74
+ "description": "Spust\u00ed se pot\u00e9, co jedna nebo v\u00edce seka\u010dek na tr\u00e1vu za\u010dnou sekat.",
68
75
  "fields": {
69
76
  "behavior": {
70
77
  "description": "Chov\u00e1n\u00ed c\u00edlov\u00fdch seka\u010dek na tr\u00e1vu p\u0159i spu\u0161t\u011bn\u00ed.",
71
78
  "name": "Chov\u00e1n\u00ed"
72
79
  }
73
- }
80
+ },
81
+ "name": "Seka\u010dka na tr\u00e1vu za\u010dala sekat"
74
82
  }
75
83
  }
76
84
  }
@@ -41,36 +41,44 @@
41
41
  "title": "Lawn mower",
42
42
  "triggers": {
43
43
  "docked": {
44
+ "description": "Triggers after one or more lawn mowers return to dock.",
44
45
  "fields": {
45
46
  "behavior": {
46
47
  "description": "The behaviour of the targeted lawn mowers to trigger on.",
47
48
  "name": "Behaviour"
48
49
  }
49
- }
50
+ },
51
+ "name": "Lawn mower returned to dock"
50
52
  },
51
53
  "errored": {
54
+ "description": "Triggers after one or more lawn mowers encounter an error.",
52
55
  "fields": {
53
56
  "behavior": {
54
57
  "description": "The behaviour of the targeted lawn mowers to trigger on.",
55
58
  "name": "Behaviour"
56
59
  }
57
- }
60
+ },
61
+ "name": "Lawn mower encountered an error"
58
62
  },
59
63
  "paused_mowing": {
64
+ "description": "Triggers after one or more lawn mowers pause mowing.",
60
65
  "fields": {
61
66
  "behavior": {
62
67
  "description": "The behaviour of the targeted lawn mowers to trigger on.",
63
68
  "name": "Behaviour"
64
69
  }
65
- }
70
+ },
71
+ "name": "Lawn mower paused mowing"
66
72
  },
67
73
  "started_mowing": {
74
+ "description": "Triggers after one or more lawn mowers start mowing.",
68
75
  "fields": {
69
76
  "behavior": {
70
77
  "description": "The behaviour of the targeted lawn mowers to trigger on.",
71
78
  "name": "Behaviour"
72
79
  }
73
- }
80
+ },
81
+ "name": "Lawn mower started mowing"
74
82
  }
75
83
  }
76
84
  }
@@ -41,7 +41,7 @@
41
41
  "title": "Cortac\u00e9sped",
42
42
  "triggers": {
43
43
  "docked": {
44
- "description": "Se dispara cuando uno m\u00e1s cortac\u00e9spedes se acoplan a la base.",
44
+ "description": "Se dispara despu\u00e9s de que uno m\u00e1s cortac\u00e9spedes se acoplan a la base.",
45
45
  "fields": {
46
46
  "behavior": {
47
47
  "description": "El comportamiento del cortac\u00e9sped objetivo para que se dispare.",
@@ -51,7 +51,7 @@
51
51
  "name": "El cortac\u00e9sped se acopl\u00f3 a la base"
52
52
  },
53
53
  "errored": {
54
- "description": "Se dispara cuando uno o m\u00e1s cortac\u00e9spedes detectan un error",
54
+ "description": "Se dispara despu\u00e9s de que uno o m\u00e1s cortac\u00e9spedes detectan un error",
55
55
  "fields": {
56
56
  "behavior": {
57
57
  "description": "El comportamiento del cortac\u00e9sped objetivo para que se dispare.",
@@ -61,7 +61,7 @@
61
61
  "name": "El cortac\u00e9sped ha encontrado un error"
62
62
  },
63
63
  "paused_mowing": {
64
- "description": "Se dispara cuando uno o m\u00e1s cortac\u00e9spedes pausan cortar el c\u00e9sped.",
64
+ "description": "Se dispara despu\u00e9s de que uno o m\u00e1s cortac\u00e9spedes pausan cortar el c\u00e9sped.",
65
65
  "fields": {
66
66
  "behavior": {
67
67
  "description": "El comportamiento del cortac\u00e9sped objetivo para que se dispare.",
@@ -71,7 +71,7 @@
71
71
  "name": "Cortac\u00e9sped en pausa"
72
72
  },
73
73
  "started_mowing": {
74
- "description": "Se dispara cuando uno o m\u00e1s cortac\u00e9spedes empiezan a cortar.",
74
+ "description": "Se dispara despu\u00e9s de que uno o m\u00e1s cortac\u00e9spedes empiezan a cortar.",
75
75
  "fields": {
76
76
  "behavior": {
77
77
  "description": "El comportamiento del cortac\u00e9sped objetivo para que se dispare.",
@@ -1,4 +1,8 @@
1
1
  {
2
+ "common": {
3
+ "trigger_behavior_description": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea \u05de\u05db\u05e1\u05d7\u05d5\u05ea \u05d4\u05d3\u05e9\u05d0 \u05d4\u05de\u05d9\u05d5\u05e2\u05d3\u05d5\u05ea \u05dc\u05d4\u05e4\u05e2\u05dc\u05d4.",
4
+ "trigger_behavior_name": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea"
5
+ },
2
6
  "entity_component": {
3
7
  "_": {
4
8
  "state": {
@@ -7,5 +11,39 @@
7
11
  "returning": "\u05d7\u05d5\u05d6\u05e8"
8
12
  }
9
13
  }
14
+ },
15
+ "triggers": {
16
+ "docked": {
17
+ "fields": {
18
+ "behavior": {
19
+ "description": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea \u05de\u05db\u05e1\u05d7\u05d5\u05ea \u05d4\u05d3\u05e9\u05d0 \u05d4\u05de\u05d9\u05d5\u05e2\u05d3\u05d5\u05ea \u05dc\u05d4\u05e4\u05e2\u05dc\u05d4.",
20
+ "name": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea"
21
+ }
22
+ }
23
+ },
24
+ "errored": {
25
+ "fields": {
26
+ "behavior": {
27
+ "description": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea \u05de\u05db\u05e1\u05d7\u05d5\u05ea \u05d4\u05d3\u05e9\u05d0 \u05d4\u05de\u05d9\u05d5\u05e2\u05d3\u05d5\u05ea \u05dc\u05d4\u05e4\u05e2\u05dc\u05d4.",
28
+ "name": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea"
29
+ }
30
+ }
31
+ },
32
+ "paused_mowing": {
33
+ "fields": {
34
+ "behavior": {
35
+ "description": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea \u05de\u05db\u05e1\u05d7\u05d5\u05ea \u05d4\u05d3\u05e9\u05d0 \u05d4\u05de\u05d9\u05d5\u05e2\u05d3\u05d5\u05ea \u05dc\u05d4\u05e4\u05e2\u05dc\u05d4.",
36
+ "name": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea"
37
+ }
38
+ }
39
+ },
40
+ "started_mowing": {
41
+ "fields": {
42
+ "behavior": {
43
+ "description": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea \u05de\u05db\u05e1\u05d7\u05d5\u05ea \u05d4\u05d3\u05e9\u05d0 \u05d4\u05de\u05d9\u05d5\u05e2\u05d3\u05d5\u05ea \u05dc\u05d4\u05e4\u05e2\u05dc\u05d4.",
44
+ "name": "\u05d4\u05ea\u05e0\u05d4\u05d2\u05d5\u05ea"
45
+ }
46
+ }
47
+ }
10
48
  }
11
49
  }
@@ -41,36 +41,44 @@
41
41
  "title": "\u017doliapjov\u0117",
42
42
  "triggers": {
43
43
  "docked": {
44
+ "description": "Suveikia, kai viena ar kelios vejapjov\u0117s gr\u012f\u017eta \u012f dok\u0105.",
44
45
  "fields": {
45
46
  "behavior": {
46
47
  "description": "Tikslini\u0173 vejapjovi\u0173 su\u017eadinimo elgsena.",
47
48
  "name": "Elgesys"
48
49
  }
49
- }
50
+ },
51
+ "name": "Vejapjov\u0117 gr\u0105\u017einta \u012f dok\u0105"
50
52
  },
51
53
  "errored": {
54
+ "description": "Suveikia, kai viena ar kelios vejapjov\u0117s aptinka klaid\u0105.",
52
55
  "fields": {
53
56
  "behavior": {
54
57
  "description": "Tikslini\u0173 vejapjovi\u0173 su\u017eadinimo elgsena.",
55
58
  "name": "Elgesys"
56
59
  }
57
- }
60
+ },
61
+ "name": "Vejapjov\u0117 aptiko klaid\u0105"
58
62
  },
59
63
  "paused_mowing": {
64
+ "description": "Suveikia po to, kai viena ar kelios vejapjov\u0117s sustabdo pjovim\u0105.",
60
65
  "fields": {
61
66
  "behavior": {
62
67
  "description": "Tikslini\u0173 vejapjovi\u0173 su\u017eadinimo elgsena.",
63
68
  "name": "Elgesys"
64
69
  }
65
- }
70
+ },
71
+ "name": "Vejapjov\u0117 pristabd\u0117 pjovim\u0105"
66
72
  },
67
73
  "started_mowing": {
74
+ "description": "Suveikia po to, kai viena ar kelios vejapjov\u0117s pradeda pjauti.",
68
75
  "fields": {
69
76
  "behavior": {
70
77
  "description": "Tikslini\u0173 vejapjovi\u0173 su\u017eadinimo elgsena.",
71
78
  "name": "Elgesys"
72
79
  }
73
- }
80
+ },
81
+ "name": "Vejapjov\u0117 prad\u0117jo pjauti"
74
82
  }
75
83
  }
76
84
  }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "common": {
3
- "trigger_behavior_description": "O comportamento dos cortadores de relva visados a usar como gatilho.",
3
+ "trigger_behavior_description": "O comportamento dos corta-relvas visados a usar como gatilho.",
4
4
  "trigger_behavior_name": "Comportamento"
5
5
  },
6
6
  "entity_component": {
7
7
  "_": {
8
- "name": "Corta relva",
8
+ "name": "Corta-relva",
9
9
  "state": {
10
10
  "docked": "Na doca",
11
11
  "error": "Erro",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "services": {
28
28
  "dock": {
29
- "description": "P\u00e1ra a tarefa de cortar a relva e regressa \u00e0 doca.",
29
+ "description": "Para a tarefa de cortar a relva e regressa \u00e0 doca.",
30
30
  "name": "Regressar \u00e0 doca"
31
31
  },
32
32
  "pause": {
@@ -38,39 +38,47 @@
38
38
  "name": "Come\u00e7ar a cortar a relva"
39
39
  }
40
40
  },
41
- "title": "Corta relva",
41
+ "title": "Corta-relva",
42
42
  "triggers": {
43
43
  "docked": {
44
+ "description": "Acionado quando um ou mais corta-relvas regressam \u00e0 base.",
44
45
  "fields": {
45
46
  "behavior": {
46
- "description": "O comportamento dos cortadores de relva visados a usar como gatilho.",
47
+ "description": "O comportamento dos corta-relvas visados a usar como gatilho.",
47
48
  "name": "Comportamento"
48
49
  }
49
- }
50
+ },
51
+ "name": "O corta-relva regressou \u00e0 base"
50
52
  },
51
53
  "errored": {
54
+ "description": "Acionado quando ocorre um erro com um ou mais corta-relvas.",
52
55
  "fields": {
53
56
  "behavior": {
54
- "description": "O comportamento dos cortadores de relva visados a usar como gatilho.",
57
+ "description": "O comportamento dos corta-relvas visados a usar como gatilho.",
55
58
  "name": "Comportamento"
56
59
  }
57
- }
60
+ },
61
+ "name": "Ocorreu um erro com o corta-relva"
58
62
  },
59
63
  "paused_mowing": {
64
+ "description": "Acionado quando um ou mais corta-relvas pararem de cortar.",
60
65
  "fields": {
61
66
  "behavior": {
62
- "description": "O comportamento dos cortadores de relva visados a usar como gatilho.",
67
+ "description": "O comportamento dos corta-relvas visados a usar como gatilho.",
63
68
  "name": "Comportamento"
64
69
  }
65
- }
70
+ },
71
+ "name": "Corta-relva fez pausa"
66
72
  },
67
73
  "started_mowing": {
74
+ "description": "Acionado quando um ou mais corta-relvas come\u00e7arem a cortar.",
68
75
  "fields": {
69
76
  "behavior": {
70
- "description": "O comportamento dos cortadores de relva visados a usar como gatilho.",
77
+ "description": "O comportamento dos corta-relvas visados a usar como gatilho.",
71
78
  "name": "Comportamento"
72
79
  }
73
- }
80
+ },
81
+ "name": "O corta-relva come\u00e7ou a cortar a relva"
74
82
  }
75
83
  }
76
84
  }
@@ -1,4 +1,8 @@
1
1
  {
2
+ "common": {
3
+ "trigger_behavior_description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u0433\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043e\u043a \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
4
+ "trigger_behavior_name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
5
+ },
2
6
  "entity_component": {
3
7
  "_": {
4
8
  "name": "\u0413\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043a\u0430",
@@ -11,6 +15,15 @@
11
15
  }
12
16
  }
13
17
  },
18
+ "selector": {
19
+ "trigger_behavior": {
20
+ "options": {
21
+ "any": "\u041b\u044e\u0431\u0430\u044f",
22
+ "first": "\u041f\u0435\u0440\u0432\u0430\u044f",
23
+ "last": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f"
24
+ }
25
+ }
26
+ },
14
27
  "services": {
15
28
  "dock": {
16
29
  "description": "\u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u0448\u0435\u043d\u0438\u0435 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u043e\u043a-\u0441\u0442\u0430\u043d\u0446\u0438\u044e.",
@@ -25,5 +38,47 @@
25
38
  "name": "\u041d\u0430\u0447\u0430\u0442\u044c \u0441\u043a\u0430\u0448\u0438\u0432\u0430\u043d\u0438\u0435"
26
39
  }
27
40
  },
28
- "title": "\u0413\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043a\u0430"
41
+ "title": "\u0413\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043a\u0430",
42
+ "triggers": {
43
+ "docked": {
44
+ "description": "\u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043e\u0434\u043d\u0430 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043e\u043a \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0434\u043e\u043a-\u0441\u0442\u0430\u043d\u0446\u0438\u044e.",
45
+ "fields": {
46
+ "behavior": {
47
+ "description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u0433\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043e\u043a \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
48
+ "name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
49
+ }
50
+ },
51
+ "name": "\u0413\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043a\u0430 \u0432\u0435\u0440\u043d\u0443\u043b\u0430\u0441\u044c \u043d\u0430 \u0434\u043e\u043a-\u0441\u0442\u0430\u043d\u0446\u0438\u044e"
52
+ },
53
+ "errored": {
54
+ "description": "\u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043e\u0434\u043d\u0430 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043e\u043a \u0432\u044b\u0434\u0430\u044e\u0442 \u043e\u0448\u0438\u0431\u043a\u0443.",
55
+ "fields": {
56
+ "behavior": {
57
+ "description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u0433\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043e\u043a \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
58
+ "name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
59
+ }
60
+ },
61
+ "name": "\u0413\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043a\u0430 \u0432\u044b\u0434\u0430\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0443"
62
+ },
63
+ "paused_mowing": {
64
+ "description": "\u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043e\u0434\u043d\u0430 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043e\u043a \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442 \u043a\u043e\u0448\u0435\u043d\u0438\u0435.",
65
+ "fields": {
66
+ "behavior": {
67
+ "description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u0433\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043e\u043a \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
68
+ "name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
69
+ }
70
+ },
71
+ "name": "\u0413\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043a\u0430 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0430 \u043a\u043e\u0448\u0435\u043d\u0438\u0435"
72
+ },
73
+ "started_mowing": {
74
+ "description": "\u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043e\u0434\u043d\u0430 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043e\u043a \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u043a\u043e\u0441\u0438\u0442\u044c.",
75
+ "fields": {
76
+ "behavior": {
77
+ "description": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u0433\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043e\u043a \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.",
78
+ "name": "\u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435"
79
+ }
80
+ },
81
+ "name": "\u0413\u0430\u0437\u043e\u043d\u043e\u043a\u043e\u0441\u0438\u043b\u043a\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043e\u0448\u0435\u043d\u0438\u0435"
82
+ }
83
+ }
29
84
  }
@@ -41,36 +41,44 @@
41
41
  "title": "Kosa\u010dka na tr\u00e1vu",
42
42
  "triggers": {
43
43
  "docked": {
44
+ "description": "Spust\u00ed sa po tom, ako sa jedna alebo viac kosa\u010diek na tr\u00e1vu vr\u00e1ti do doku.",
44
45
  "fields": {
45
46
  "behavior": {
46
47
  "description": "Spr\u00e1vanie cielen\u00fdch kosa\u010diek na tr\u00e1vu pri spusten\u00ed.",
47
48
  "name": "Spr\u00e1vanie"
48
49
  }
49
- }
50
+ },
51
+ "name": "Kosa\u010dka na tr\u00e1vu vr\u00e1ten\u00e1 do doku"
50
52
  },
51
53
  "errored": {
54
+ "description": "Spust\u00ed sa po tom, \u010do jedna alebo viac kosa\u010diek na tr\u00e1vu naraz\u00ed na chybu.",
52
55
  "fields": {
53
56
  "behavior": {
54
57
  "description": "Spr\u00e1vanie cielen\u00fdch kosa\u010diek na tr\u00e1vu pri spusten\u00ed.",
55
58
  "name": "Spr\u00e1vanie"
56
59
  }
57
- }
60
+ },
61
+ "name": "Kosa\u010dka na tr\u00e1vu zaznamenala chybu"
58
62
  },
59
63
  "paused_mowing": {
64
+ "description": "Spust\u00ed sa po tom, \u010do jedna alebo viac kosa\u010diek na tr\u00e1vu pozastav\u00ed kosenie.",
60
65
  "fields": {
61
66
  "behavior": {
62
67
  "description": "Spr\u00e1vanie cielen\u00fdch kosa\u010diek na tr\u00e1vu pri spusten\u00ed.",
63
68
  "name": "Spr\u00e1vanie"
64
69
  }
65
- }
70
+ },
71
+ "name": "Kosa\u010dka na tr\u00e1vu pozastavila kosenie"
66
72
  },
67
73
  "started_mowing": {
74
+ "description": "Spust\u00ed sa po tom, \u010do jedna alebo viac kosa\u010diek na tr\u00e1vu za\u010dne kosi\u0165.",
68
75
  "fields": {
69
76
  "behavior": {
70
77
  "description": "Spr\u00e1vanie cielen\u00fdch kosa\u010diek na tr\u00e1vu pri spusten\u00ed.",
71
78
  "name": "Spr\u00e1vanie"
72
79
  }
73
- }
80
+ },
81
+ "name": "Kosa\u010dka na tr\u00e1vu za\u010dala kosi\u0165"
74
82
  }
75
83
  }
76
84
  }
@@ -8,5 +8,5 @@
8
8
  "iot_class": "cloud_push",
9
9
  "loggers": ["letpot"],
10
10
  "quality_scale": "silver",
11
- "requirements": ["letpot==0.6.3"]
11
+ "requirements": ["letpot==0.6.4"]
12
12
  }
@@ -4,7 +4,6 @@ from __future__ import annotations
4
4
 
5
5
  from datetime import timedelta
6
6
  import logging
7
- from types import MappingProxyType
8
7
 
9
8
  from librehardwaremonitor_api import (
10
9
  LibreHardwareMonitorClient,
@@ -55,15 +54,11 @@ class LibreHardwareMonitorCoordinator(DataUpdateCoordinator[LibreHardwareMonitor
55
54
  device_entries: list[DeviceEntry] = dr.async_entries_for_config_entry(
56
55
  registry=dr.async_get(self.hass), config_entry_id=config_entry.entry_id
57
56
  )
58
- self._previous_devices: MappingProxyType[DeviceId, DeviceName] = (
59
- MappingProxyType(
60
- {
61
- DeviceId(next(iter(device.identifiers))[1]): DeviceName(device.name)
62
- for device in device_entries
63
- if device.identifiers and device.name
64
- }
65
- )
66
- )
57
+ self._previous_devices: dict[DeviceId, DeviceName] = {
58
+ DeviceId(next(iter(device.identifiers))[1]): DeviceName(device.name)
59
+ for device in device_entries
60
+ if device.identifiers and device.name
61
+ }
67
62
 
68
63
  async def _async_update_data(self) -> LibreHardwareMonitorData:
69
64
  try:
@@ -75,7 +70,9 @@ class LibreHardwareMonitorCoordinator(DataUpdateCoordinator[LibreHardwareMonitor
75
70
  except LibreHardwareMonitorNoDevicesError as err:
76
71
  raise UpdateFailed("No sensor data available, will retry") from err
77
72
 
78
- await self._async_handle_changes_in_devices(lhm_data.main_device_ids_and_names)
73
+ await self._async_handle_changes_in_devices(
74
+ dict(lhm_data.main_device_ids_and_names)
75
+ )
79
76
 
80
77
  return lhm_data
81
78
 
@@ -92,18 +89,21 @@ class LibreHardwareMonitorCoordinator(DataUpdateCoordinator[LibreHardwareMonitor
92
89
  )
93
90
 
94
91
  async def _async_handle_changes_in_devices(
95
- self, detected_devices: MappingProxyType[DeviceId, DeviceName]
92
+ self, detected_devices: dict[DeviceId, DeviceName]
96
93
  ) -> None:
97
94
  """Handle device changes by deleting devices from / adding devices to Home Assistant."""
95
+ detected_devices = {
96
+ DeviceId(f"{self.config_entry.entry_id}_{detected_id}"): device_name
97
+ for detected_id, device_name in detected_devices.items()
98
+ }
99
+
98
100
  previous_device_ids = set(self._previous_devices.keys())
99
101
  detected_device_ids = set(detected_devices.keys())
100
102
 
101
- if previous_device_ids == detected_device_ids:
102
- return
103
+ _LOGGER.debug("Previous device_ids: %s", previous_device_ids)
104
+ _LOGGER.debug("Detected device_ids: %s", detected_device_ids)
103
105
 
104
- if self.data is None:
105
- # initial update during integration startup
106
- self._previous_devices = detected_devices # type: ignore[unreachable]
106
+ if previous_device_ids == detected_device_ids:
107
107
  return
108
108
 
109
109
  if orphaned_devices := previous_device_ids - detected_device_ids:
@@ -114,13 +114,21 @@ class LibreHardwareMonitorCoordinator(DataUpdateCoordinator[LibreHardwareMonitor
114
114
  device_registry = dr.async_get(self.hass)
115
115
  for device_id in orphaned_devices:
116
116
  if device := device_registry.async_get_device(
117
- identifiers={(DOMAIN, f"{self.config_entry.entry_id}_{device_id}")}
117
+ identifiers={(DOMAIN, device_id)}
118
118
  ):
119
+ _LOGGER.debug(
120
+ "Removing device: %s", self._previous_devices[device_id]
121
+ )
119
122
  device_registry.async_update_device(
120
123
  device_id=device.id,
121
124
  remove_config_entry_id=self.config_entry.entry_id,
122
125
  )
123
126
 
127
+ if self.data is None:
128
+ # initial update during integration startup
129
+ self._previous_devices = detected_devices # type: ignore[unreachable]
130
+ return
131
+
124
132
  if new_devices := detected_device_ids - previous_device_ids:
125
133
  _LOGGER.warning(
126
134
  "New Device(s) detected, reload integration to add them to Home Assistant: %s",
@@ -509,20 +509,24 @@
509
509
  "title": "Sv\u011btlo",
510
510
  "triggers": {
511
511
  "turned_off": {
512
+ "description": "Spust\u00ed se po zhasnut\u00ed jednoho nebo v\u00edce sv\u011btel.",
512
513
  "fields": {
513
514
  "behavior": {
514
515
  "description": "Chov\u00e1n\u00ed c\u00edlov\u00fdch sv\u011btel p\u0159i rozsv\u00edcen\u00ed.",
515
516
  "name": "Chov\u00e1n\u00ed"
516
517
  }
517
- }
518
+ },
519
+ "name": "Sv\u011btlo zhasne"
518
520
  },
519
521
  "turned_on": {
522
+ "description": "Spust\u00ed se po rozsv\u00edcen\u00ed jednoho nebo v\u00edce sv\u011btel.",
520
523
  "fields": {
521
524
  "behavior": {
522
525
  "description": "Chov\u00e1n\u00ed c\u00edlov\u00fdch sv\u011btel p\u0159i rozsv\u00edcen\u00ed.",
523
526
  "name": "Chov\u00e1n\u00ed"
524
527
  }
525
- }
528
+ },
529
+ "name": "Sv\u011btlo se rozsv\u00edt\u00ed"
526
530
  }
527
531
  }
528
532
  }