homeassistant 2025.12.0__py3-none-any.whl → 2025.12.0b2__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 (974) hide show
  1. homeassistant/auth/permissions/events.py +0 -2
  2. homeassistant/components/acaia/translations/pl.json +1 -23
  3. homeassistant/components/accuweather/translations/tr.json +0 -19
  4. homeassistant/components/ai_task/translations/tr.json +0 -17
  5. homeassistant/components/airly/translations/sr-Latn.json +0 -7
  6. homeassistant/components/airnow/translations/sr-Latn.json +0 -3
  7. homeassistant/components/airobot/translations/bg.json +2 -1
  8. homeassistant/components/airobot/translations/cs.json +1 -1
  9. homeassistant/components/airobot/translations/de.json +1 -1
  10. homeassistant/components/airobot/translations/el.json +1 -4
  11. homeassistant/components/airobot/translations/en-GB.json +1 -1
  12. homeassistant/components/airobot/translations/en.json +1 -1
  13. homeassistant/components/airobot/translations/et.json +1 -1
  14. homeassistant/components/airobot/translations/lt.json +1 -1
  15. homeassistant/components/airobot/translations/nl.json +2 -1
  16. homeassistant/components/airobot/translations/pt.json +5 -1
  17. homeassistant/components/airobot/translations/sk.json +1 -1
  18. homeassistant/components/airobot/translations/sv.json +2 -1
  19. homeassistant/components/airobot/translations/tr.json +5 -1
  20. homeassistant/components/airobot/translations/zh-Hans.json +1 -1
  21. homeassistant/components/airobot/translations/zh-Hant.json +1 -1
  22. homeassistant/components/airq/translations/sr-Latn.json +0 -7
  23. homeassistant/components/airthings/translations/tr.json +1 -2
  24. homeassistant/components/airthings_ble/translations/sr-Latn.json +0 -7
  25. homeassistant/components/airthings_ble/translations/tr.json +0 -7
  26. homeassistant/components/airvisual/translations/sr-Latn.json +0 -14
  27. homeassistant/components/airzone/translations/tr.json +0 -9
  28. homeassistant/components/aladdin_connect/translations/tr.json +1 -7
  29. homeassistant/components/alarm_control_panel/strings.json +21 -14
  30. homeassistant/components/alarm_control_panel/translations/cs.json +19 -12
  31. homeassistant/components/alarm_control_panel/translations/de.json +14 -7
  32. homeassistant/components/alarm_control_panel/translations/en-GB.json +1 -86
  33. homeassistant/components/alarm_control_panel/translations/en.json +21 -14
  34. homeassistant/components/alarm_control_panel/translations/es.json +1 -86
  35. homeassistant/components/alarm_control_panel/translations/et.json +1 -86
  36. homeassistant/components/alarm_control_panel/translations/ga.json +1 -72
  37. homeassistant/components/alarm_control_panel/translations/lt.json +21 -14
  38. homeassistant/components/alarm_control_panel/translations/pt.json +31 -14
  39. homeassistant/components/alarm_control_panel/translations/sk.json +21 -14
  40. homeassistant/components/alarm_control_panel/translations/sr-Latn.json +1 -5
  41. homeassistant/components/alarm_control_panel/translations/tr.json +1 -72
  42. homeassistant/components/alarm_control_panel/translations/zh-Hans.json +6 -1
  43. homeassistant/components/alarm_control_panel/translations/zh-Hant.json +21 -14
  44. homeassistant/components/alexa_devices/translations/it.json +1 -24
  45. homeassistant/components/alexa_devices/translations/tr.json +0 -52
  46. homeassistant/components/androidtv_remote/translations/mk.json +0 -7
  47. homeassistant/components/anglian_water/__init__.py +2 -6
  48. homeassistant/components/anglian_water/entity.py +1 -5
  49. homeassistant/components/anglian_water/sensor.py +2 -1
  50. homeassistant/components/anglian_water/strings.json +1 -1
  51. homeassistant/components/anglian_water/translations/de.json +1 -1
  52. homeassistant/components/anglian_water/translations/en.json +1 -1
  53. homeassistant/components/anglian_water/translations/et.json +1 -19
  54. homeassistant/components/anglian_water/translations/pt.json +2 -1
  55. homeassistant/components/anglian_water/translations/sk.json +1 -1
  56. homeassistant/components/anglian_water/translations/zh-Hans.json +2 -32
  57. homeassistant/components/aosmith/translations/tr.json +0 -11
  58. homeassistant/components/apcupsd/translations/es.json +0 -14
  59. homeassistant/components/apcupsd/translations/sr-Latn.json +0 -3
  60. homeassistant/components/apple_tv/manifest.json +0 -1
  61. homeassistant/components/assist_pipeline/pipeline.py +57 -58
  62. homeassistant/components/assist_satellite/manifest.json +1 -1
  63. homeassistant/components/assist_satellite/strings.json +12 -8
  64. homeassistant/components/assist_satellite/translations/cs.json +12 -8
  65. homeassistant/components/assist_satellite/translations/de.json +12 -8
  66. homeassistant/components/assist_satellite/translations/en-GB.json +1 -54
  67. homeassistant/components/assist_satellite/translations/en.json +12 -8
  68. homeassistant/components/assist_satellite/translations/es.json +1 -54
  69. homeassistant/components/assist_satellite/translations/et.json +1 -54
  70. homeassistant/components/assist_satellite/translations/ga.json +1 -46
  71. homeassistant/components/assist_satellite/translations/lt.json +12 -8
  72. homeassistant/components/assist_satellite/translations/pt.json +16 -4
  73. homeassistant/components/assist_satellite/translations/sk.json +12 -8
  74. homeassistant/components/assist_satellite/translations/tr.json +1 -46
  75. homeassistant/components/assist_satellite/translations/zh-Hans.json +0 -5
  76. homeassistant/components/assist_satellite/translations/zh-Hant.json +12 -8
  77. homeassistant/components/august/translations/tr.json +1 -23
  78. homeassistant/components/automation/__init__.py +0 -1
  79. homeassistant/components/automation/manifest.json +0 -2
  80. homeassistant/components/automation/strings.json +4 -4
  81. homeassistant/components/automation/translations/cs.json +4 -4
  82. homeassistant/components/automation/translations/de.json +4 -4
  83. homeassistant/components/automation/translations/en-GB.json +0 -8
  84. homeassistant/components/automation/translations/en.json +4 -4
  85. homeassistant/components/automation/translations/es.json +0 -8
  86. homeassistant/components/automation/translations/et.json +4 -4
  87. homeassistant/components/automation/translations/fr.json +0 -8
  88. homeassistant/components/automation/translations/lt.json +4 -4
  89. homeassistant/components/automation/translations/pt.json +8 -0
  90. homeassistant/components/automation/translations/sk.json +4 -4
  91. homeassistant/components/automation/translations/sr-Latn.json +0 -28
  92. homeassistant/components/automation/translations/zh-Hant.json +4 -4
  93. homeassistant/components/backblaze_b2/translations/de.json +2 -2
  94. homeassistant/components/backblaze_b2/translations/es.json +1 -1
  95. homeassistant/components/bang_olufsen/translations/es.json +0 -992
  96. homeassistant/components/bang_olufsen/translations/ga.json +0 -992
  97. homeassistant/components/bang_olufsen/translations/nl.json +3 -76
  98. homeassistant/components/bang_olufsen/translations/pt.json +0 -1
  99. homeassistant/components/bayesian/translations/sr-Latn.json +1 -2
  100. homeassistant/components/bayesian/translations/tr.json +10 -81
  101. homeassistant/components/binary_sensor/icons.json +0 -8
  102. homeassistant/components/binary_sensor/strings.json +1 -36
  103. homeassistant/components/binary_sensor/translations/cs.json +1 -36
  104. homeassistant/components/binary_sensor/translations/de.json +1 -36
  105. homeassistant/components/binary_sensor/translations/en-GB.json +1 -36
  106. homeassistant/components/binary_sensor/translations/en.json +1 -36
  107. homeassistant/components/binary_sensor/translations/es.json +1 -36
  108. homeassistant/components/binary_sensor/translations/et.json +1 -36
  109. homeassistant/components/binary_sensor/translations/lt.json +1 -36
  110. homeassistant/components/binary_sensor/translations/mk.json +0 -8
  111. homeassistant/components/binary_sensor/translations/sk.json +1 -36
  112. homeassistant/components/binary_sensor/translations/sr-Latn.json +0 -1
  113. homeassistant/components/binary_sensor/translations/zh-Hant.json +1 -36
  114. homeassistant/components/blebox/translations/sr-Latn.json +0 -1
  115. homeassistant/components/blink/translations/tr.json +1 -16
  116. homeassistant/components/blue_current/translations/tr.json +0 -44
  117. homeassistant/components/bosch_alarm/__init__.py +2 -2
  118. homeassistant/components/bosch_alarm/config_flow.py +1 -1
  119. homeassistant/components/bosch_alarm/diagnostics.py +1 -2
  120. homeassistant/components/bosch_alarm/entity.py +1 -1
  121. homeassistant/components/bosch_alarm/manifest.json +1 -1
  122. homeassistant/components/broadlink/manifest.json +0 -1
  123. homeassistant/components/broadlink/translations/sr-Latn.json +0 -5
  124. homeassistant/components/brother/translations/tr.json +2 -53
  125. homeassistant/components/bsblan/translations/sr-Latn.json +0 -4
  126. homeassistant/components/bsblan/translations/tr.json +2 -22
  127. homeassistant/components/bthome/translations/tr.json +0 -35
  128. homeassistant/components/button/translations/sr-Latn.json +0 -20
  129. homeassistant/components/camera/__init__.py +1 -1
  130. homeassistant/components/camera/translations/mk.json +2 -4
  131. homeassistant/components/climate/strings.json +15 -10
  132. homeassistant/components/climate/translations/cs.json +15 -10
  133. homeassistant/components/climate/translations/de.json +10 -5
  134. homeassistant/components/climate/translations/el.json +1 -54
  135. homeassistant/components/climate/translations/en-GB.json +1 -64
  136. homeassistant/components/climate/translations/en.json +15 -10
  137. homeassistant/components/climate/translations/es.json +1 -64
  138. homeassistant/components/climate/translations/et.json +6 -57
  139. homeassistant/components/climate/translations/ga.json +1 -54
  140. homeassistant/components/climate/translations/lt.json +9 -26
  141. homeassistant/components/climate/translations/mk.json +3 -10
  142. homeassistant/components/climate/translations/pt.json +12 -19
  143. homeassistant/components/climate/translations/ru.json +1 -54
  144. homeassistant/components/climate/translations/sk.json +15 -10
  145. homeassistant/components/climate/translations/sr-Latn.json +3 -101
  146. homeassistant/components/climate/translations/sv.json +1 -17
  147. homeassistant/components/climate/translations/tr.json +1 -54
  148. homeassistant/components/climate/translations/zh-Hans.json +0 -14
  149. homeassistant/components/climate/translations/zh-Hant.json +15 -10
  150. homeassistant/components/cloud/__init__.py +5 -18
  151. homeassistant/components/cloud/ai_task.py +12 -5
  152. homeassistant/components/cloud/client.py +5 -9
  153. homeassistant/components/cloud/conversation.py +11 -2
  154. homeassistant/components/cloud/entity.py +6 -5
  155. homeassistant/components/cloud/http_api.py +0 -21
  156. homeassistant/components/cloud/manifest.json +1 -1
  157. homeassistant/components/cloud/translations/en-GB.json +0 -7
  158. homeassistant/components/cloud/translations/es.json +0 -7
  159. homeassistant/components/cloud/translations/et.json +0 -7
  160. homeassistant/components/cloud/translations/ga.json +0 -7
  161. homeassistant/components/cloud/translations/tr.json +0 -7
  162. homeassistant/components/coinbase/translations/tr.json +1 -10
  163. homeassistant/components/comelit/translations/tr.json +0 -2
  164. homeassistant/components/conversation/__init__.py +3 -8
  165. homeassistant/components/conversation/default_agent.py +56 -61
  166. homeassistant/components/conversation/manifest.json +1 -1
  167. homeassistant/components/counter/translations/sr-Latn.json +1 -41
  168. homeassistant/components/cover/icons.json +29 -0
  169. homeassistant/components/cover/strings.json +159 -1
  170. homeassistant/components/cover/translations/cs.json +159 -1
  171. homeassistant/components/cover/translations/de.json +159 -1
  172. homeassistant/components/cover/translations/en.json +159 -1
  173. homeassistant/components/cover/translations/et.json +30 -1
  174. homeassistant/components/cover/translations/lt.json +159 -1
  175. homeassistant/components/cover/translations/pt.json +158 -1
  176. homeassistant/components/cover/translations/sk.json +159 -1
  177. homeassistant/components/cover/translations/sr-Latn.json +1 -5
  178. homeassistant/components/cover/translations/zh-Hans.json +105 -1
  179. homeassistant/components/cover/translations/zh-Hant.json +159 -1
  180. homeassistant/components/cover/trigger.py +116 -0
  181. homeassistant/components/cover/triggers.yaml +79 -0
  182. homeassistant/components/deconz/translations/mk.json +1 -3
  183. homeassistant/components/deluge/translations/tr.json +0 -8
  184. homeassistant/components/derivative/translations/es.json +0 -6
  185. homeassistant/components/derivative/translations/ga.json +0 -6
  186. homeassistant/components/derivative/translations/sr-Latn.json +4 -41
  187. homeassistant/components/dlna_dmr/manifest.json +0 -1
  188. homeassistant/components/dlna_dms/manifest.json +0 -1
  189. homeassistant/components/downloader/translations/tr.json +0 -8
  190. homeassistant/components/duckdns/translations/en-GB.json +0 -1
  191. homeassistant/components/duckdns/translations/es.json +0 -41
  192. homeassistant/components/duckdns/translations/ga.json +0 -40
  193. homeassistant/components/ecovacs/manifest.json +1 -1
  194. homeassistant/components/ecovacs/translations/tr.json +2 -50
  195. homeassistant/components/ecowitt/manifest.json +0 -1
  196. homeassistant/components/elevenlabs/translations/tr.json +1 -17
  197. homeassistant/components/elkm1/translations/tr.json +0 -4
  198. homeassistant/components/energyid/translations/zh-Hans.json +1 -17
  199. homeassistant/components/enphase_envoy/manifest.json +1 -1
  200. homeassistant/components/enphase_envoy/translations/tr.json +0 -15
  201. homeassistant/components/esphome/const.py +1 -1
  202. homeassistant/components/esphome/manifest.json +1 -1
  203. homeassistant/components/esphome/strings.json +1 -1
  204. homeassistant/components/esphome/translations/bg.json +1 -0
  205. homeassistant/components/esphome/translations/ca.json +1 -0
  206. homeassistant/components/esphome/translations/cs.json +1 -1
  207. homeassistant/components/esphome/translations/da.json +1 -0
  208. homeassistant/components/esphome/translations/de.json +1 -1
  209. homeassistant/components/esphome/translations/el.json +1 -0
  210. homeassistant/components/esphome/translations/en-GB.json +1 -1
  211. homeassistant/components/esphome/translations/en.json +1 -1
  212. homeassistant/components/esphome/translations/es.json +1 -1
  213. homeassistant/components/esphome/translations/et.json +1 -1
  214. homeassistant/components/esphome/translations/fi.json +1 -0
  215. homeassistant/components/esphome/translations/fr.json +1 -0
  216. homeassistant/components/esphome/translations/ga.json +1 -0
  217. homeassistant/components/esphome/translations/he.json +1 -0
  218. homeassistant/components/esphome/translations/hu.json +1 -0
  219. homeassistant/components/esphome/translations/id.json +1 -0
  220. homeassistant/components/esphome/translations/it.json +1 -0
  221. homeassistant/components/esphome/translations/ja.json +1 -0
  222. homeassistant/components/esphome/translations/ko.json +1 -0
  223. homeassistant/components/esphome/translations/lt.json +1 -1
  224. homeassistant/components/esphome/translations/nb.json +1 -0
  225. homeassistant/components/esphome/translations/nl.json +1 -0
  226. homeassistant/components/esphome/translations/pl.json +1 -0
  227. homeassistant/components/esphome/translations/pt-BR.json +1 -0
  228. homeassistant/components/esphome/translations/pt.json +1 -1
  229. homeassistant/components/esphome/translations/ro.json +1 -0
  230. homeassistant/components/esphome/translations/ru.json +1 -0
  231. homeassistant/components/esphome/translations/sk.json +1 -1
  232. homeassistant/components/esphome/translations/sl.json +1 -0
  233. homeassistant/components/esphome/translations/sv.json +1 -0
  234. homeassistant/components/esphome/translations/tr.json +1 -1
  235. homeassistant/components/esphome/translations/uk.json +1 -0
  236. homeassistant/components/esphome/translations/vi.json +1 -0
  237. homeassistant/components/esphome/translations/zh-Hans.json +1 -1
  238. homeassistant/components/esphome/translations/zh-Hant.json +1 -1
  239. homeassistant/components/essent/translations/nl.json +0 -32
  240. homeassistant/components/essent/translations/zh-Hans.json +0 -38
  241. homeassistant/components/event/translations/pl.json +1 -2
  242. homeassistant/components/event/translations/sr-Latn.json +1 -16
  243. homeassistant/components/fan/strings.json +6 -4
  244. homeassistant/components/fan/translations/cs.json +6 -4
  245. homeassistant/components/fan/translations/de.json +4 -2
  246. homeassistant/components/fan/translations/en-GB.json +1 -34
  247. homeassistant/components/fan/translations/en.json +6 -4
  248. homeassistant/components/fan/translations/es.json +1 -34
  249. homeassistant/components/fan/translations/et.json +6 -4
  250. homeassistant/components/fan/translations/ga.json +1 -30
  251. homeassistant/components/fan/translations/lt.json +6 -4
  252. homeassistant/components/fan/translations/mk.json +0 -11
  253. homeassistant/components/fan/translations/nl.json +1 -6
  254. homeassistant/components/fan/translations/pt.json +8 -2
  255. homeassistant/components/fan/translations/sk.json +6 -4
  256. homeassistant/components/fan/translations/tr.json +1 -30
  257. homeassistant/components/fan/translations/zh-Hant.json +6 -4
  258. homeassistant/components/file/translations/tr.json +0 -26
  259. homeassistant/components/filter/translations/sr-Latn.json +11 -149
  260. homeassistant/components/firefly_iii/translations/de.json +2 -2
  261. homeassistant/components/firefly_iii/translations/tr.json +0 -87
  262. homeassistant/components/foscam/translations/tr.json +1 -45
  263. homeassistant/components/fritz/translations/tr.json +0 -24
  264. homeassistant/components/fronius/manifest.json +0 -1
  265. homeassistant/components/fronius/translations/sr-Latn.json +0 -3
  266. homeassistant/components/frontend/manifest.json +1 -1
  267. homeassistant/components/frontend/storage.py +6 -16
  268. homeassistant/components/frontend/translations/de.json +2 -2
  269. homeassistant/components/frontend/translations/el.json +0 -8
  270. homeassistant/components/frontend/translations/es.json +0 -8
  271. homeassistant/components/frontend/translations/ga.json +0 -8
  272. homeassistant/components/frontend/translations/ru.json +0 -8
  273. homeassistant/components/frontend/translations/sr-Latn.json +0 -8
  274. homeassistant/components/frontend/translations/tr.json +0 -8
  275. homeassistant/components/frontend/translations/zh-Hans.json +0 -3
  276. homeassistant/components/fully_kiosk/translations/tr.json +0 -15
  277. homeassistant/components/fyta/translations/sr-Latn.json +0 -6
  278. homeassistant/components/generic/translations/sr-Latn.json +0 -42
  279. homeassistant/components/generic_hygrostat/translations/sr-Latn.json +4 -36
  280. homeassistant/components/generic_thermostat/translations/sr-Latn.json +6 -46
  281. homeassistant/components/geocaching/translations/tr.json +1 -2
  282. homeassistant/components/gios/translations/sr-Latn.json +0 -10
  283. homeassistant/components/go2rtc/__init__.py +2 -6
  284. homeassistant/components/go2rtc/const.py +1 -0
  285. homeassistant/components/go2rtc/server.py +6 -16
  286. homeassistant/components/google/manifest.json +0 -1
  287. homeassistant/components/google_air_quality/manifest.json +1 -1
  288. homeassistant/components/google_air_quality/strings.json +6 -8
  289. homeassistant/components/google_air_quality/translations/bg.json +7 -0
  290. homeassistant/components/google_air_quality/translations/cs.json +6 -8
  291. homeassistant/components/google_air_quality/translations/de.json +6 -8
  292. homeassistant/components/google_air_quality/translations/en.json +6 -8
  293. homeassistant/components/google_air_quality/translations/et.json +12 -50
  294. homeassistant/components/google_air_quality/translations/lt.json +13 -1
  295. homeassistant/components/google_air_quality/translations/nl.json +6 -38
  296. homeassistant/components/google_air_quality/translations/pt.json +13 -1
  297. homeassistant/components/google_air_quality/translations/sk.json +13 -1
  298. homeassistant/components/google_air_quality/translations/zh-Hans.json +11 -81
  299. homeassistant/components/google_air_quality/translations/zh-Hant.json +13 -1
  300. homeassistant/components/google_assistant/translations/sr-Latn.json +1 -1
  301. homeassistant/components/google_assistant_sdk/translations/es.json +0 -3
  302. homeassistant/components/google_assistant_sdk/translations/tr.json +0 -7
  303. homeassistant/components/google_generative_ai_conversation/translations/tr.json +0 -6
  304. homeassistant/components/google_sheets/translations/es.json +0 -4
  305. homeassistant/components/google_sheets/translations/tr.json +0 -22
  306. homeassistant/components/google_translate/manifest.json +0 -1
  307. homeassistant/components/google_weather/translations/es.json +0 -66
  308. homeassistant/components/google_weather/translations/ga.json +0 -37
  309. homeassistant/components/gpsd/translations/sr-Latn.json +0 -3
  310. homeassistant/components/group/notify.py +5 -28
  311. homeassistant/components/group/translations/sr-Latn.json +12 -154
  312. homeassistant/components/group/translations/tr.json +1 -19
  313. homeassistant/components/growatt_server/translations/tr.json +0 -87
  314. homeassistant/components/habitica/translations/tr.json +0 -76
  315. homeassistant/components/hassio/const.py +0 -1
  316. homeassistant/components/hassio/strings.json +1 -1
  317. homeassistant/components/hassio/translations/cs.json +1 -1
  318. homeassistant/components/hassio/translations/de.json +1 -1
  319. homeassistant/components/hassio/translations/el.json +1 -0
  320. homeassistant/components/hassio/translations/en-GB.json +1 -1
  321. homeassistant/components/hassio/translations/en.json +1 -1
  322. homeassistant/components/hassio/translations/es.json +1 -1
  323. homeassistant/components/hassio/translations/et.json +1 -1
  324. homeassistant/components/hassio/translations/fr.json +1 -0
  325. homeassistant/components/hassio/translations/fy.json +3 -0
  326. homeassistant/components/hassio/translations/ga.json +1 -0
  327. homeassistant/components/hassio/translations/he.json +1 -0
  328. homeassistant/components/hassio/translations/id.json +1 -0
  329. homeassistant/components/hassio/translations/lt.json +1 -1
  330. homeassistant/components/hassio/translations/mk.json +1 -0
  331. homeassistant/components/hassio/translations/nl.json +1 -0
  332. homeassistant/components/hassio/translations/pt.json +1 -0
  333. homeassistant/components/hassio/translations/ru.json +1 -0
  334. homeassistant/components/hassio/translations/sk.json +1 -1
  335. homeassistant/components/hassio/translations/sr-Latn.json +0 -5
  336. homeassistant/components/hassio/translations/sv.json +1 -0
  337. homeassistant/components/hassio/translations/tr.json +0 -38
  338. homeassistant/components/hassio/translations/zh-Hans.json +1 -0
  339. homeassistant/components/hassio/translations/zh-Hant.json +1 -1
  340. homeassistant/components/history_stats/translations/sr-Latn.json +3 -85
  341. homeassistant/components/holiday/translations/pl.json +0 -7
  342. homeassistant/components/home_connect/manifest.json +0 -1
  343. homeassistant/components/home_connect/translations/de.json +2 -2
  344. homeassistant/components/home_connect/translations/es.json +0 -46
  345. homeassistant/components/home_connect/translations/ga.json +0 -46
  346. homeassistant/components/home_connect/translations/tr.json +0 -32
  347. homeassistant/components/homeassistant_connect_zbt2/config_flow.py +17 -0
  348. homeassistant/components/homeassistant_connect_zbt2/const.py +58 -0
  349. homeassistant/components/homeassistant_connect_zbt2/translations/es.json +0 -8
  350. homeassistant/components/homeassistant_connect_zbt2/translations/ga.json +0 -8
  351. homeassistant/components/homeassistant_connect_zbt2/translations/tr.json +0 -145
  352. homeassistant/components/homeassistant_hardware/firmware_config_flow.py +73 -81
  353. homeassistant/components/homeassistant_hardware/translations/es.json +0 -4
  354. homeassistant/components/homeassistant_hardware/translations/ga.json +0 -4
  355. homeassistant/components/homeassistant_hardware/translations/tr.json +1 -44
  356. homeassistant/components/homeassistant_hardware/update.py +10 -13
  357. homeassistant/components/homeassistant_hardware/util.py +53 -59
  358. homeassistant/components/homeassistant_sky_connect/translations/es.json +0 -8
  359. homeassistant/components/homeassistant_sky_connect/translations/ga.json +0 -8
  360. homeassistant/components/homeassistant_sky_connect/translations/tr.json +0 -71
  361. homeassistant/components/homeassistant_yellow/translations/es.json +0 -4
  362. homeassistant/components/homeassistant_yellow/translations/ga.json +0 -4
  363. homeassistant/components/homeassistant_yellow/translations/tr.json +0 -35
  364. homeassistant/components/homekit/translations/tr.json +0 -12
  365. homeassistant/components/homekit_controller/manifest.json +0 -1
  366. homeassistant/components/homewizard/manifest.json +0 -1
  367. homeassistant/components/hue/translations/mk.json +1 -3
  368. homeassistant/components/hue/translations/tr.json +0 -1
  369. homeassistant/components/hue_ble/strings.json +1 -1
  370. homeassistant/components/hue_ble/translations/en.json +1 -1
  371. homeassistant/components/hue_ble/translations/lt.json +1 -1
  372. homeassistant/components/hue_ble/translations/nl.json +0 -3
  373. homeassistant/components/hue_ble/translations/pt.json +2 -1
  374. homeassistant/components/hue_ble/translations/sk.json +1 -1
  375. homeassistant/components/hue_ble/translations/zh-Hans.json +1 -11
  376. homeassistant/components/humidifier/translations/mk.json +0 -6
  377. homeassistant/components/husqvarna_automower/translations/tr.json +0 -88
  378. homeassistant/components/huum/translations/sr-Latn.json +0 -5
  379. homeassistant/components/ibeacon/manifest.json +0 -1
  380. homeassistant/components/icloud/translations/tr.json +0 -3
  381. homeassistant/components/image/translations/sr-Latn.json +1 -2
  382. homeassistant/components/imap/translations/tr.json +0 -21
  383. homeassistant/components/imeon_inverter/translations/en-GB.json +0 -21
  384. homeassistant/components/incomfort/translations/tr.json +0 -3
  385. homeassistant/components/input_boolean/translations/mk.json +2 -4
  386. homeassistant/components/input_number/translations/sr-Latn.json +0 -17
  387. homeassistant/components/integration/translations/sr-Latn.json +2 -54
  388. homeassistant/components/iometer/manifest.json +1 -1
  389. homeassistant/components/iometer/translations/tr.json +1 -3
  390. homeassistant/components/iron_os/translations/en-GB.json +1 -5
  391. homeassistant/components/iron_os/translations/es.json +1 -5
  392. homeassistant/components/jewish_calendar/translations/tr.json +1 -9
  393. homeassistant/components/kitchen_sink/translations/en-GB.json +0 -2
  394. homeassistant/components/kitchen_sink/translations/es.json +0 -20
  395. homeassistant/components/kitchen_sink/translations/et.json +1 -5
  396. homeassistant/components/kitchen_sink/translations/ga.json +0 -4
  397. homeassistant/components/kitchen_sink/translations/it.json +0 -12
  398. homeassistant/components/kitchen_sink/translations/nl.json +0 -4
  399. homeassistant/components/kitchen_sink/translations/ru.json +0 -8
  400. homeassistant/components/kitchen_sink/translations/sv.json +0 -3
  401. homeassistant/components/kitchen_sink/translations/tr.json +0 -4
  402. homeassistant/components/knx/translations/el.json +0 -43
  403. homeassistant/components/knx/translations/es.json +0 -3
  404. homeassistant/components/knx/translations/et.json +0 -3
  405. homeassistant/components/knx/translations/tr.json +0 -318
  406. homeassistant/components/knx/translations/zh-Hans.json +0 -3
  407. homeassistant/components/konnected/manifest.json +0 -1
  408. homeassistant/components/konnected/translations/tr.json +0 -6
  409. homeassistant/components/labs/__init__.py +1 -2
  410. homeassistant/components/labs/const.py +2 -0
  411. homeassistant/components/labs/translations/lt.json +1 -1
  412. homeassistant/components/labs/websocket_api.py +1 -2
  413. homeassistant/components/lawn_mower/strings.json +12 -8
  414. homeassistant/components/lawn_mower/translations/cs.json +11 -7
  415. homeassistant/components/lawn_mower/translations/de.json +11 -7
  416. homeassistant/components/lawn_mower/translations/en-GB.json +1 -56
  417. homeassistant/components/lawn_mower/translations/en.json +12 -8
  418. homeassistant/components/lawn_mower/translations/es.json +1 -56
  419. homeassistant/components/lawn_mower/translations/et.json +2 -46
  420. homeassistant/components/lawn_mower/translations/ga.json +1 -48
  421. homeassistant/components/lawn_mower/translations/lt.json +12 -8
  422. homeassistant/components/lawn_mower/translations/pt.json +16 -4
  423. homeassistant/components/lawn_mower/translations/sk.json +12 -8
  424. homeassistant/components/lawn_mower/translations/tr.json +1 -48
  425. homeassistant/components/lawn_mower/translations/zh-Hant.json +12 -8
  426. homeassistant/components/letpot/manifest.json +1 -1
  427. homeassistant/components/letpot/translations/tr.json +0 -8
  428. homeassistant/components/lg_thinq/manifest.json +1 -1
  429. homeassistant/components/lg_thinq/translations/sr-Latn.json +0 -8
  430. homeassistant/components/lg_thinq/translations/tr.json +0 -20
  431. homeassistant/components/libre_hardware_monitor/coordinator.py +18 -26
  432. homeassistant/components/lifx/translations/tr.json +0 -3
  433. homeassistant/components/light/strings.json +8 -4
  434. homeassistant/components/light/translations/bg.json +12 -0
  435. homeassistant/components/light/translations/cs.json +8 -4
  436. homeassistant/components/light/translations/de.json +6 -2
  437. homeassistant/components/light/translations/el.json +0 -6
  438. homeassistant/components/light/translations/en-GB.json +2 -69
  439. homeassistant/components/light/translations/en.json +8 -4
  440. homeassistant/components/light/translations/es.json +2 -68
  441. homeassistant/components/light/translations/et.json +8 -34
  442. homeassistant/components/light/translations/ga.json +2 -65
  443. homeassistant/components/light/translations/lt.json +8 -4
  444. homeassistant/components/light/translations/mk.json +3 -10
  445. homeassistant/components/light/translations/nl.json +1 -6
  446. homeassistant/components/light/translations/pt.json +10 -2
  447. homeassistant/components/light/translations/ru.json +3 -67
  448. homeassistant/components/light/translations/sk.json +8 -4
  449. homeassistant/components/light/translations/sr-Latn.json +4 -217
  450. homeassistant/components/light/translations/tr.json +2 -65
  451. homeassistant/components/light/translations/zh-Hans.json +10 -2
  452. homeassistant/components/light/translations/zh-Hant.json +8 -4
  453. homeassistant/components/litterrobot/translations/tr.json +0 -6
  454. homeassistant/components/logger/helpers.py +0 -10
  455. homeassistant/components/logger/websocket_api.py +1 -12
  456. homeassistant/components/lovelace/translations/es.json +0 -5
  457. homeassistant/components/lovelace/translations/ga.json +0 -5
  458. homeassistant/components/mastodon/translations/es.json +0 -7
  459. homeassistant/components/mastodon/translations/ga.json +0 -7
  460. homeassistant/components/mastodon/translations/tr.json +0 -4
  461. homeassistant/components/matrix/translations/tr.json +0 -42
  462. homeassistant/components/matter/manifest.json +0 -1
  463. homeassistant/components/matter/translations/es.json +0 -13
  464. homeassistant/components/matter/translations/ga.json +0 -10
  465. homeassistant/components/matter/translations/sr-Latn.json +0 -3
  466. homeassistant/components/matter/translations/tr.json +0 -105
  467. homeassistant/components/mcp/translations/tr.json +1 -20
  468. homeassistant/components/mealie/translations/tr.json +0 -11
  469. homeassistant/components/media_extractor/manifest.json +1 -1
  470. homeassistant/components/media_player/strings.json +3 -2
  471. homeassistant/components/media_player/translations/cs.json +3 -2
  472. homeassistant/components/media_player/translations/de.json +2 -1
  473. homeassistant/components/media_player/translations/en-GB.json +1 -24
  474. homeassistant/components/media_player/translations/en.json +3 -2
  475. homeassistant/components/media_player/translations/es.json +1 -24
  476. homeassistant/components/media_player/translations/et.json +1 -8
  477. homeassistant/components/media_player/translations/ga.json +1 -22
  478. homeassistant/components/media_player/translations/lt.json +3 -2
  479. homeassistant/components/media_player/translations/mk.json +2 -4
  480. homeassistant/components/media_player/translations/pt.json +4 -1
  481. homeassistant/components/media_player/translations/sk.json +3 -2
  482. homeassistant/components/media_player/translations/tr.json +1 -22
  483. homeassistant/components/media_player/translations/zh-Hant.json +3 -2
  484. homeassistant/components/met/manifest.json +0 -1
  485. homeassistant/components/meteo_france/const.py +0 -1
  486. homeassistant/components/miele/const.py +7 -9
  487. homeassistant/components/miele/strings.json +0 -1
  488. homeassistant/components/miele/translations/cs.json +0 -1
  489. homeassistant/components/miele/translations/de.json +0 -1
  490. homeassistant/components/miele/translations/en-GB.json +0 -1
  491. homeassistant/components/miele/translations/en.json +0 -1
  492. homeassistant/components/miele/translations/es.json +0 -16
  493. homeassistant/components/miele/translations/et.json +0 -1
  494. homeassistant/components/miele/translations/ga.json +0 -14
  495. homeassistant/components/miele/translations/it.json +0 -1
  496. homeassistant/components/miele/translations/lt.json +0 -1
  497. homeassistant/components/miele/translations/sk.json +0 -1
  498. homeassistant/components/miele/translations/sr-Latn.json +0 -10
  499. homeassistant/components/miele/translations/tr.json +1 -20
  500. homeassistant/components/miele/translations/zh-Hant.json +0 -1
  501. homeassistant/components/min_max/translations/sr-Latn.json +2 -44
  502. homeassistant/components/mold_indicator/translations/sr-Latn.json +3 -41
  503. homeassistant/components/motion_blinds/manifest.json +0 -1
  504. homeassistant/components/mqtt/entity.py +0 -1
  505. homeassistant/components/mqtt/strings.json +5 -4
  506. homeassistant/components/mqtt/translations/bg.json +5 -0
  507. homeassistant/components/mqtt/translations/cs.json +5 -4
  508. homeassistant/components/mqtt/translations/de.json +8 -7
  509. homeassistant/components/mqtt/translations/en-GB.json +5 -4
  510. homeassistant/components/mqtt/translations/en.json +5 -4
  511. homeassistant/components/mqtt/translations/es.json +8 -91
  512. homeassistant/components/mqtt/translations/et.json +5 -4
  513. homeassistant/components/mqtt/translations/fr.json +4 -1
  514. homeassistant/components/mqtt/translations/ga.json +9 -65
  515. homeassistant/components/mqtt/translations/he.json +6 -1
  516. homeassistant/components/mqtt/translations/hu.json +2 -0
  517. homeassistant/components/mqtt/translations/it.json +7 -2
  518. homeassistant/components/mqtt/translations/lt.json +5 -4
  519. homeassistant/components/mqtt/translations/mk.json +0 -6
  520. homeassistant/components/mqtt/translations/nl.json +6 -1
  521. homeassistant/components/mqtt/translations/pt.json +6 -3
  522. homeassistant/components/mqtt/translations/ru.json +6 -6
  523. homeassistant/components/mqtt/translations/sk.json +5 -4
  524. homeassistant/components/mqtt/translations/sr-Latn.json +22 -148
  525. homeassistant/components/mqtt/translations/sv.json +2 -1
  526. homeassistant/components/mqtt/translations/tr.json +5 -255
  527. homeassistant/components/mqtt/translations/zh-Hans.json +6 -3
  528. homeassistant/components/mqtt/translations/zh-Hant.json +5 -4
  529. homeassistant/components/music_assistant/__init__.py +1 -2
  530. homeassistant/components/music_assistant/config_flow.py +5 -23
  531. homeassistant/components/music_assistant/manifest.json +0 -1
  532. homeassistant/components/music_assistant/translations/el.json +1 -3
  533. homeassistant/components/music_assistant/translations/en-GB.json +1 -23
  534. homeassistant/components/music_assistant/translations/es.json +1 -25
  535. homeassistant/components/music_assistant/translations/et.json +0 -1
  536. homeassistant/components/music_assistant/translations/ga.json +1 -24
  537. homeassistant/components/music_assistant/translations/it.json +1 -26
  538. homeassistant/components/music_assistant/translations/nl.json +1 -3
  539. homeassistant/components/music_assistant/translations/ru.json +1 -23
  540. homeassistant/components/music_assistant/translations/sv.json +1 -3
  541. homeassistant/components/music_assistant/translations/tr.json +1 -24
  542. homeassistant/components/music_assistant/translations/zh-Hans.json +0 -16
  543. homeassistant/components/nasweb/translations/tr.json +0 -7
  544. homeassistant/components/neato/translations/es.json +0 -5
  545. homeassistant/components/neato/translations/ga.json +0 -5
  546. homeassistant/components/neato/translations/tr.json +0 -5
  547. homeassistant/components/nederlandse_spoorwegen/translations/es.json +0 -10
  548. homeassistant/components/nederlandse_spoorwegen/translations/tr.json +0 -25
  549. homeassistant/components/nest/manifest.json +1 -1
  550. homeassistant/components/nest/translations/es.json +0 -12
  551. homeassistant/components/nest/translations/tr.json +0 -12
  552. homeassistant/components/netgear/translations/sr-Latn.json +0 -3
  553. homeassistant/components/nextdns/translations/tr.json +1 -14
  554. homeassistant/components/nightscout/translations/tr.json +0 -4
  555. homeassistant/components/niko_home_control/translations/el.json +0 -18
  556. homeassistant/components/niko_home_control/translations/es.json +1 -3
  557. homeassistant/components/niko_home_control/translations/tr.json +1 -10
  558. homeassistant/components/nina/translations/el.json +0 -6
  559. homeassistant/components/nina/translations/en-GB.json +0 -8
  560. homeassistant/components/nina/translations/es.json +0 -8
  561. homeassistant/components/nina/translations/ga.json +0 -8
  562. homeassistant/components/nina/translations/tr.json +0 -54
  563. homeassistant/components/nina/translations/zh-Hans.json +0 -2
  564. homeassistant/components/nordpool/manifest.json +1 -1
  565. homeassistant/components/ntfy/translations/tr.json +0 -78
  566. homeassistant/components/nuki/manifest.json +0 -1
  567. homeassistant/components/number/translations/sr-Latn.json +0 -181
  568. homeassistant/components/number/translations/tr.json +0 -6
  569. homeassistant/components/octoprint/translations/tr.json +0 -10
  570. homeassistant/components/onboarding/const.py +1 -16
  571. homeassistant/components/onboarding/views.py +2 -2
  572. homeassistant/components/onedrive/translations/es.json +0 -3
  573. homeassistant/components/onewire/translations/tr.json +0 -10
  574. homeassistant/components/openai_conversation/translations/tr.json +1 -6
  575. homeassistant/components/opentherm_gw/services.py +2 -17
  576. homeassistant/components/opentherm_gw/strings.json +3 -3
  577. homeassistant/components/opentherm_gw/translations/cs.json +3 -3
  578. homeassistant/components/opentherm_gw/translations/de.json +3 -3
  579. homeassistant/components/opentherm_gw/translations/el.json +3 -3
  580. homeassistant/components/opentherm_gw/translations/en-GB.json +3 -3
  581. homeassistant/components/opentherm_gw/translations/en.json +3 -3
  582. homeassistant/components/opentherm_gw/translations/es.json +3 -3
  583. homeassistant/components/opentherm_gw/translations/et.json +3 -3
  584. homeassistant/components/opentherm_gw/translations/ga.json +3 -0
  585. homeassistant/components/opentherm_gw/translations/hu.json +3 -0
  586. homeassistant/components/opentherm_gw/translations/it.json +2 -0
  587. homeassistant/components/opentherm_gw/translations/ja.json +3 -0
  588. homeassistant/components/opentherm_gw/translations/lt.json +3 -3
  589. homeassistant/components/opentherm_gw/translations/nl.json +2 -0
  590. homeassistant/components/opentherm_gw/translations/pt.json +3 -3
  591. homeassistant/components/opentherm_gw/translations/ru.json +3 -3
  592. homeassistant/components/opentherm_gw/translations/sk.json +3 -3
  593. homeassistant/components/opentherm_gw/translations/sv.json +3 -0
  594. homeassistant/components/opentherm_gw/translations/tr.json +3 -0
  595. homeassistant/components/opentherm_gw/translations/zh-Hans.json +3 -3
  596. homeassistant/components/opentherm_gw/translations/zh-Hant.json +3 -3
  597. homeassistant/components/openweathermap/translations/tr.json +0 -49
  598. homeassistant/components/opower/translations/tr.json +1 -33
  599. homeassistant/components/oralb/manifest.json +0 -1
  600. homeassistant/components/oralb/translations/tr.json +2 -29
  601. homeassistant/components/ping/helpers.py +1 -1
  602. homeassistant/components/ping/manifest.json +0 -1
  603. homeassistant/components/playstation_network/coordinator.py +7 -14
  604. homeassistant/components/playstation_network/translations/tr.json +0 -56
  605. homeassistant/components/plugwise/translations/en-GB.json +1 -1
  606. homeassistant/components/plugwise/translations/es.json +0 -2
  607. homeassistant/components/plugwise/translations/sr-Latn.json +0 -12
  608. homeassistant/components/plugwise/translations/tr.json +1 -11
  609. homeassistant/components/plum_lightpad/translations/tr.json +1 -8
  610. homeassistant/components/point/translations/es.json +0 -5
  611. homeassistant/components/pooldose/translations/en-GB.json +0 -11
  612. homeassistant/components/pooldose/translations/es.json +0 -68
  613. homeassistant/components/pooldose/translations/ga.json +0 -11
  614. homeassistant/components/pooldose/translations/it.json +0 -11
  615. homeassistant/components/pooldose/translations/tr.json +1 -84
  616. homeassistant/components/pooldose/translations/zh-Hans.json +0 -6
  617. homeassistant/components/portainer/translations/tr.json +0 -82
  618. homeassistant/components/probe_plus/translations/tr.json +0 -5
  619. homeassistant/components/ps4/translations/tr.json +0 -6
  620. homeassistant/components/qbittorrent/translations/tr.json +0 -4
  621. homeassistant/components/qbus/translations/tr.json +0 -10
  622. homeassistant/components/random/translations/es.json +0 -1
  623. homeassistant/components/random/translations/sr-Latn.json +6 -119
  624. homeassistant/components/random/translations/tr.json +0 -2
  625. homeassistant/components/renault/translations/tr.json +0 -12
  626. homeassistant/components/reolink/manifest.json +1 -2
  627. homeassistant/components/reolink/translations/pl.json +1 -10
  628. homeassistant/components/reolink/translations/tr.json +1 -67
  629. homeassistant/components/rest/manifest.json +0 -1
  630. homeassistant/components/ridwell/translations/tr.json +0 -22
  631. homeassistant/components/ring/manifest.json +0 -1
  632. homeassistant/components/roborock/manifest.json +1 -2
  633. homeassistant/components/roborock/roborock_storage.py +10 -29
  634. homeassistant/components/roborock/translations/tr.json +1 -9
  635. homeassistant/components/roomba/translations/tr.json +0 -6
  636. homeassistant/components/satel_integra/translations/sr-Latn.json +1 -2
  637. homeassistant/components/saunum/translations/el.json +1 -7
  638. homeassistant/components/saunum/translations/en-GB.json +1 -11
  639. homeassistant/components/saunum/translations/es.json +1 -38
  640. homeassistant/components/saunum/translations/et.json +1 -11
  641. homeassistant/components/saunum/translations/ga.json +1 -38
  642. homeassistant/components/saunum/translations/mk.json +0 -5
  643. homeassistant/components/saunum/translations/tr.json +1 -11
  644. homeassistant/components/schedule/translations/sr-Latn.json +1 -18
  645. homeassistant/components/scrape/translations/es.json +0 -1
  646. homeassistant/components/scrape/translations/sr-Latn.json +2 -63
  647. homeassistant/components/scrape/translations/tr.json +0 -4
  648. homeassistant/components/sensibo/translations/sr-Latn.json +0 -19
  649. homeassistant/components/sensor/translations/sr-Latn.json +5 -141
  650. homeassistant/components/sensor/translations/tr.json +0 -10
  651. homeassistant/components/senz/manifest.json +0 -1
  652. homeassistant/components/senz/translations/es.json +1 -17
  653. homeassistant/components/sfr_box/translations/tr.json +0 -4
  654. homeassistant/components/shelly/manifest.json +1 -1
  655. homeassistant/components/shelly/sensor.py +2 -0
  656. homeassistant/components/shelly/strings.json +0 -8
  657. homeassistant/components/shelly/switch.py +1 -0
  658. homeassistant/components/shelly/translations/bg.json +0 -5
  659. homeassistant/components/shelly/translations/cs.json +0 -8
  660. homeassistant/components/shelly/translations/de.json +0 -8
  661. homeassistant/components/shelly/translations/en-GB.json +0 -8
  662. homeassistant/components/shelly/translations/en.json +0 -8
  663. homeassistant/components/shelly/translations/es.json +2 -192
  664. homeassistant/components/shelly/translations/et.json +1 -10
  665. homeassistant/components/shelly/translations/fr.json +0 -10
  666. homeassistant/components/shelly/translations/ga.json +0 -46
  667. homeassistant/components/shelly/translations/it.json +2 -13
  668. homeassistant/components/shelly/translations/lt.json +0 -8
  669. homeassistant/components/shelly/translations/mk.json +0 -3
  670. homeassistant/components/shelly/translations/nl.json +0 -7
  671. homeassistant/components/shelly/translations/pl.json +0 -8
  672. homeassistant/components/shelly/translations/pt.json +0 -8
  673. homeassistant/components/shelly/translations/ru.json +0 -5
  674. homeassistant/components/shelly/translations/sk.json +0 -8
  675. homeassistant/components/shelly/translations/tr.json +5 -171
  676. homeassistant/components/shelly/translations/zh-Hans.json +0 -8
  677. homeassistant/components/shelly/translations/zh-Hant.json +0 -8
  678. homeassistant/components/shelly/valve.py +1 -1
  679. homeassistant/components/siren/translations/mk.json +2 -4
  680. homeassistant/components/smarla/translations/tr.json +0 -15
  681. homeassistant/components/smartthings/manifest.json +0 -1
  682. homeassistant/components/smartthings/translations/es.json +0 -74
  683. homeassistant/components/smartthings/translations/nl.json +0 -13
  684. homeassistant/components/smartthings/translations/tr.json +0 -20
  685. homeassistant/components/smhi/translations/tr.json +0 -19
  686. homeassistant/components/snoo/translations/tr.json +0 -8
  687. homeassistant/components/solaredge/translations/tr.json +3 -64
  688. homeassistant/components/sonos/manifest.json +0 -1
  689. homeassistant/components/speedtestdotnet/manifest.json +0 -1
  690. homeassistant/components/spotify/translations/es.json +0 -5
  691. homeassistant/components/sql/translations/es.json +0 -1
  692. homeassistant/components/sql/translations/sr-Latn.json +2 -61
  693. homeassistant/components/sql/translations/tr.json +0 -83
  694. homeassistant/components/squeezebox/translations/mk.json +0 -5
  695. homeassistant/components/squeezebox/translations/tr.json +0 -63
  696. homeassistant/components/starline/translations/sr-Latn.json +0 -7
  697. homeassistant/components/statistics/translations/sr-Latn.json +2 -118
  698. homeassistant/components/switch/translations/mk.json +1 -5
  699. homeassistant/components/switch/translations/sr-Latn.json +1 -2
  700. homeassistant/components/switch_as_x/translations/sr-Latn.json +3 -27
  701. homeassistant/components/switchbot/manifest.json +0 -1
  702. homeassistant/components/switchbot/translations/el.json +1 -2
  703. homeassistant/components/switchbot/translations/tr.json +0 -34
  704. homeassistant/components/switchbot_cloud/translations/tr.json +0 -20
  705. homeassistant/components/synology_dsm/translations/sr-Latn.json +0 -3
  706. homeassistant/components/system_bridge/translations/tr.json +0 -3
  707. homeassistant/components/systemmonitor/translations/tr.json +0 -6
  708. homeassistant/components/tautulli/translations/de.json +1 -1
  709. homeassistant/components/tedee/manifest.json +0 -1
  710. homeassistant/components/telegram/translations/de.json +1 -1
  711. homeassistant/components/telegram/translations/tr.json +0 -6
  712. homeassistant/components/telegram_bot/translations/tr.json +4 -203
  713. homeassistant/components/template/__init__.py +0 -11
  714. homeassistant/components/template/helpers.py +0 -2
  715. homeassistant/components/template/translations/de.json +4 -4
  716. homeassistant/components/template/translations/el.json +0 -4
  717. homeassistant/components/template/translations/es.json +0 -5
  718. homeassistant/components/template/translations/ga.json +0 -4
  719. homeassistant/components/template/translations/it.json +0 -4
  720. homeassistant/components/template/translations/pl.json +0 -37
  721. homeassistant/components/template/translations/ru.json +0 -4
  722. homeassistant/components/template/translations/sr-Latn.json +72 -933
  723. homeassistant/components/template/translations/tr.json +2 -172
  724. homeassistant/components/template/translations/zh-Hans.json +0 -4
  725. homeassistant/components/tesla_fleet/manifest.json +0 -1
  726. homeassistant/components/tesla_fleet/translations/es.json +0 -5
  727. homeassistant/components/tesla_fleet/translations/sr-Latn.json +0 -5
  728. homeassistant/components/tesla_wall_connector/translations/es.json +0 -3
  729. homeassistant/components/tesla_wall_connector/translations/ga.json +0 -3
  730. homeassistant/components/teslemetry/manifest.json +0 -1
  731. homeassistant/components/teslemetry/translations/sr-Latn.json +0 -5
  732. homeassistant/components/teslemetry/translations/tr.json +1 -77
  733. homeassistant/components/tessie/manifest.json +0 -1
  734. homeassistant/components/tessie/translations/sr-Latn.json +0 -5
  735. homeassistant/components/tessie/translations/tr.json +0 -3
  736. homeassistant/components/text/strings.json +3 -2
  737. homeassistant/components/text/translations/bg.json +8 -1
  738. homeassistant/components/text/translations/cs.json +3 -2
  739. homeassistant/components/text/translations/de.json +3 -2
  740. homeassistant/components/text/translations/en-GB.json +1 -7
  741. homeassistant/components/text/translations/en.json +3 -2
  742. homeassistant/components/text/translations/es.json +1 -7
  743. homeassistant/components/text/translations/et.json +1 -7
  744. homeassistant/components/text/translations/lt.json +3 -2
  745. homeassistant/components/text/translations/pt.json +8 -1
  746. homeassistant/components/text/translations/sk.json +3 -2
  747. homeassistant/components/text/translations/sr-Latn.json +2 -4
  748. homeassistant/components/text/translations/zh-Hant.json +3 -2
  749. homeassistant/components/tod/translations/sr-Latn.json +1 -16
  750. homeassistant/components/tolo/translations/tr.json +1 -2
  751. homeassistant/components/tomorrowio/translations/sr-Latn.json +0 -24
  752. homeassistant/components/tplink/manifest.json +0 -1
  753. homeassistant/components/traccar_server/translations/tr.json +0 -12
  754. homeassistant/components/transmission/translations/tr.json +0 -24
  755. homeassistant/components/trend/translations/sr-Latn.json +0 -21
  756. homeassistant/components/tuya/__init__.py +4 -12
  757. homeassistant/components/tuya/binary_sensor.py +2 -2
  758. homeassistant/components/tuya/humidifier.py +3 -3
  759. homeassistant/components/tuya/models.py +20 -18
  760. homeassistant/components/tuya/translations/es.json +0 -32
  761. homeassistant/components/tuya/translations/ga.json +0 -6
  762. homeassistant/components/tuya/translations/sr-Latn.json +0 -45
  763. homeassistant/components/tuya/translations/tr.json +0 -72
  764. homeassistant/components/tuya/util.py +9 -11
  765. homeassistant/components/twitch/translations/es.json +0 -5
  766. homeassistant/components/ukraine_alarm/translations/tr.json +1 -2
  767. homeassistant/components/unifi/light.py +29 -62
  768. homeassistant/components/unifi/translations/es.json +0 -3
  769. homeassistant/components/unifi/translations/tr.json +0 -5
  770. homeassistant/components/unifiprotect/camera.py +1 -5
  771. homeassistant/components/unifiprotect/manifest.json +1 -1
  772. homeassistant/components/unifiprotect/translations/bg.json +7 -0
  773. homeassistant/components/unifiprotect/translations/cs.json +1 -1
  774. homeassistant/components/unifiprotect/translations/de.json +1 -1
  775. homeassistant/components/unifiprotect/translations/el.json +5 -1
  776. homeassistant/components/unifiprotect/translations/en-GB.json +1 -11
  777. homeassistant/components/unifiprotect/translations/en.json +1 -1
  778. homeassistant/components/unifiprotect/translations/es.json +1 -11
  779. homeassistant/components/unifiprotect/translations/fi.json +7 -0
  780. homeassistant/components/unifiprotect/translations/ga.json +10 -10
  781. homeassistant/components/unifiprotect/translations/lt.json +1 -1
  782. homeassistant/components/unifiprotect/translations/nl.json +3 -0
  783. homeassistant/components/unifiprotect/translations/pt.json +10 -0
  784. homeassistant/components/unifiprotect/translations/sk.json +1 -1
  785. homeassistant/components/unifiprotect/translations/sr-Latn.json +0 -11
  786. homeassistant/components/unifiprotect/translations/sv.json +0 -3
  787. homeassistant/components/unifiprotect/translations/tr.json +0 -10
  788. homeassistant/components/unifiprotect/translations/zh-Hans.json +3 -2
  789. homeassistant/components/unifiprotect/translations/zh-Hant.json +1 -1
  790. homeassistant/components/update/translations/sr-Latn.json +1 -51
  791. homeassistant/components/utility_meter/translations/sr-Latn.json +2 -63
  792. homeassistant/components/vacuum/strings.json +12 -8
  793. homeassistant/components/vacuum/translations/cs.json +12 -8
  794. homeassistant/components/vacuum/translations/de.json +11 -7
  795. homeassistant/components/vacuum/translations/en-GB.json +1 -56
  796. homeassistant/components/vacuum/translations/en.json +12 -8
  797. homeassistant/components/vacuum/translations/es.json +1 -56
  798. homeassistant/components/vacuum/translations/et.json +1 -51
  799. homeassistant/components/vacuum/translations/ga.json +1 -48
  800. homeassistant/components/vacuum/translations/lt.json +12 -8
  801. homeassistant/components/vacuum/translations/pt.json +16 -4
  802. homeassistant/components/vacuum/translations/ru.json +1 -48
  803. homeassistant/components/vacuum/translations/sk.json +12 -8
  804. homeassistant/components/vacuum/translations/sv.json +1 -13
  805. homeassistant/components/vacuum/translations/tr.json +1 -48
  806. homeassistant/components/vacuum/translations/zh-Hans.json +2 -6
  807. homeassistant/components/vacuum/translations/zh-Hant.json +12 -8
  808. homeassistant/components/vegehub/translations/tr.json +0 -5
  809. homeassistant/components/velux/translations/tr.json +0 -12
  810. homeassistant/components/vesync/manifest.json +1 -1
  811. homeassistant/components/vesync/translations/tr.json +0 -11
  812. homeassistant/components/vicare/translations/es.json +0 -54
  813. homeassistant/components/vicare/translations/sr-Latn.json +0 -10
  814. homeassistant/components/vicare/translations/tr.json +0 -21
  815. homeassistant/components/volvo/translations/es.json +0 -6
  816. homeassistant/components/volvo/translations/tr.json +0 -142
  817. homeassistant/components/volvooncall/translations/tr.json +1 -18
  818. homeassistant/components/waqi/translations/sr-Latn.json +0 -32
  819. homeassistant/components/waqi/translations/tr.json +0 -40
  820. homeassistant/components/water_heater/translations/sr-Latn.json +1 -2
  821. homeassistant/components/weatherflow/translations/tr.json +0 -8
  822. homeassistant/components/webostv/manifest.json +0 -1
  823. homeassistant/components/whirlpool/translations/tr.json +0 -81
  824. homeassistant/components/withings/translations/es.json +0 -5
  825. homeassistant/components/withings/translations/sr-Latn.json +0 -5
  826. homeassistant/components/wled/config_flow.py +1 -5
  827. homeassistant/components/wled/coordinator.py +0 -9
  828. homeassistant/components/wled/strings.json +2 -10
  829. homeassistant/components/wled/translations/cs.json +2 -15
  830. homeassistant/components/wled/translations/de.json +2 -10
  831. homeassistant/components/wled/translations/el.json +1 -20
  832. homeassistant/components/wled/translations/en-GB.json +2 -15
  833. homeassistant/components/wled/translations/en.json +2 -10
  834. homeassistant/components/wled/translations/es.json +2 -15
  835. homeassistant/components/wled/translations/et.json +2 -10
  836. homeassistant/components/wled/translations/ga.json +1 -6
  837. homeassistant/components/wled/translations/it.json +1 -6
  838. homeassistant/components/wled/translations/lt.json +2 -15
  839. homeassistant/components/wled/translations/nl.json +1 -2
  840. homeassistant/components/wled/translations/pl.json +1 -8
  841. homeassistant/components/wled/translations/pt.json +1 -6
  842. homeassistant/components/wled/translations/ru.json +2 -29
  843. homeassistant/components/wled/translations/sk.json +2 -10
  844. homeassistant/components/wled/translations/tr.json +1 -26
  845. homeassistant/components/wled/translations/zh-Hans.json +1 -6
  846. homeassistant/components/wled/translations/zh-Hant.json +2 -15
  847. homeassistant/components/wled/update.py +1 -1
  848. homeassistant/components/workday/translations/tr.json +0 -5
  849. homeassistant/components/xbox/translations/es.json +1 -16
  850. homeassistant/components/xbox/translations/ga.json +1 -10
  851. homeassistant/components/xbox/translations/tr.json +0 -111
  852. homeassistant/components/xiaomi_aqara/translations/sr-Latn.json +0 -6
  853. homeassistant/components/xiaomi_ble/manifest.json +0 -1
  854. homeassistant/components/yardian/translations/tr.json +0 -16
  855. homeassistant/components/yolink/translations/tr.json +0 -14
  856. homeassistant/components/youtube/manifest.json +1 -1
  857. homeassistant/components/youtube/translations/es.json +0 -5
  858. homeassistant/components/zha/config_flow.py +6 -2
  859. homeassistant/components/zha/manifest.json +0 -1
  860. homeassistant/components/zha/radio_manager.py +2 -2
  861. homeassistant/components/zha/translations/de.json +1 -1
  862. homeassistant/components/zha/translations/en-GB.json +0 -44
  863. homeassistant/components/zha/translations/es.json +0 -44
  864. homeassistant/components/zha/translations/ga.json +0 -44
  865. homeassistant/components/zha/translations/it.json +0 -44
  866. homeassistant/components/zha/translations/mk.json +1 -18
  867. homeassistant/components/zha/translations/nl.json +0 -8
  868. homeassistant/components/zha/translations/sr-Latn.json +0 -3
  869. homeassistant/components/zha/translations/tr.json +2 -213
  870. homeassistant/components/zha/translations/zh-Hans.json +0 -12
  871. homeassistant/components/zwave_js/translations/tr.json +0 -17
  872. homeassistant/const.py +1 -2
  873. homeassistant/generated/integrations.json +21 -21
  874. homeassistant/generated/labs.py +2 -2
  875. homeassistant/helpers/area_registry.py +1 -8
  876. homeassistant/helpers/condition.py +1 -16
  877. homeassistant/helpers/entity.py +1 -3
  878. homeassistant/helpers/floor_registry.py +1 -12
  879. homeassistant/helpers/trigger.py +1 -16
  880. homeassistant/package_constraints.txt +4 -4
  881. {homeassistant-2025.12.0.dist-info → homeassistant-2025.12.0b2.dist-info}/METADATA +2 -2
  882. {homeassistant-2025.12.0.dist-info → homeassistant-2025.12.0b2.dist-info}/RECORD +887 -972
  883. homeassistant/components/actron_air/translations/tr.json +0 -27
  884. homeassistant/components/airobot/translations/es.json +0 -44
  885. homeassistant/components/airobot/translations/ga.json +0 -40
  886. homeassistant/components/airobot/translations/it.json +0 -1
  887. homeassistant/components/airos/translations/tr.json +0 -71
  888. homeassistant/components/alert/translations/mk.json +0 -10
  889. homeassistant/components/anglian_water/translations/el.json +0 -20
  890. homeassistant/components/anglian_water/translations/en-GB.json +0 -55
  891. homeassistant/components/anglian_water/translations/es.json +0 -55
  892. homeassistant/components/anglian_water/translations/ga.json +0 -54
  893. homeassistant/components/anglian_water/translations/sv.json +0 -14
  894. homeassistant/components/anglian_water/translations/tr.json +0 -54
  895. homeassistant/components/automation/translations/mk.json +0 -10
  896. homeassistant/components/backblaze_b2/translations/tr.json +0 -92
  897. homeassistant/components/binary_sensor/trigger.py +0 -67
  898. homeassistant/components/binary_sensor/triggers.yaml +0 -25
  899. homeassistant/components/color_extractor/translations/mk.json +0 -7
  900. homeassistant/components/compit/translations/tr.json +0 -35
  901. homeassistant/components/cync/translations/tr.json +0 -46
  902. homeassistant/components/datetime/translations/sr-Latn.json +0 -17
  903. homeassistant/components/droplet/translations/tr.json +0 -40
  904. homeassistant/components/ekeybionyx/translations/tr.json +0 -66
  905. homeassistant/components/energy/translations/sr-Latn.json +0 -64
  906. homeassistant/components/energyid/translations/el.json +0 -53
  907. homeassistant/components/energyid/translations/en-GB.json +0 -71
  908. homeassistant/components/energyid/translations/es.json +0 -71
  909. homeassistant/components/energyid/translations/ga.json +0 -71
  910. homeassistant/components/energyid/translations/it.json +0 -71
  911. homeassistant/components/energyid/translations/nl.json +0 -1
  912. homeassistant/components/energyid/translations/sv.json +0 -37
  913. homeassistant/components/energyid/translations/tr.json +0 -71
  914. homeassistant/components/essent/translations/el.json +0 -9
  915. homeassistant/components/essent/translations/en-GB.json +0 -70
  916. homeassistant/components/essent/translations/es.json +0 -70
  917. homeassistant/components/essent/translations/ga.json +0 -70
  918. homeassistant/components/essent/translations/tr.json +0 -70
  919. homeassistant/components/fing/translations/tr.json +0 -24
  920. homeassistant/components/forked_daapd/translations/sr-Latn.json +0 -8
  921. homeassistant/components/go2rtc/util.py +0 -12
  922. homeassistant/components/google_air_quality/translations/el.json +0 -72
  923. homeassistant/components/google_air_quality/translations/en-GB.json +0 -225
  924. homeassistant/components/google_air_quality/translations/es.json +0 -239
  925. homeassistant/components/google_air_quality/translations/fr.json +0 -14
  926. homeassistant/components/google_air_quality/translations/ga.json +0 -225
  927. homeassistant/components/google_air_quality/translations/it.json +0 -106
  928. homeassistant/components/google_air_quality/translations/pl.json +0 -11
  929. homeassistant/components/google_air_quality/translations/ru.json +0 -33
  930. homeassistant/components/google_air_quality/translations/sr-Latn.json +0 -35
  931. homeassistant/components/google_air_quality/translations/sv.json +0 -122
  932. homeassistant/components/google_air_quality/translations/tr.json +0 -225
  933. homeassistant/components/hanna/translations/es.json +0 -44
  934. homeassistant/components/hue_ble/translations/el.json +0 -11
  935. homeassistant/components/hue_ble/translations/en-GB.json +0 -21
  936. homeassistant/components/hue_ble/translations/es.json +0 -21
  937. homeassistant/components/hue_ble/translations/et.json +0 -21
  938. homeassistant/components/hue_ble/translations/ga.json +0 -20
  939. homeassistant/components/hue_ble/translations/tr.json +0 -20
  940. homeassistant/components/hunterdouglas_powerview/translations/sr-Latn.json +0 -9
  941. homeassistant/components/imeon_inverter/translations/tr.json +0 -57
  942. homeassistant/components/inels/translations/tr.json +0 -30
  943. homeassistant/components/irm_kmi/translations/tr.json +0 -21
  944. homeassistant/components/labs/translations/es.json +0 -3
  945. homeassistant/components/labs/translations/sr-Latn.json +0 -3
  946. homeassistant/components/lannouncer/translations/tr.json +0 -8
  947. homeassistant/components/libre_hardware_monitor/translations/tr.json +0 -23
  948. homeassistant/components/london_underground/translations/tr.json +0 -38
  949. homeassistant/components/lunatone/translations/tr.json +0 -36
  950. homeassistant/components/media_source/translations/tr.json +0 -5
  951. homeassistant/components/meteo_lt/translations/tr.json +0 -14
  952. homeassistant/components/nintendo_parental_controls/translations/tr.json +0 -68
  953. homeassistant/components/notify/translations/sr-Latn.json +0 -3
  954. homeassistant/components/openrgb/translations/tr.json +0 -84
  955. homeassistant/components/prowl/translations/tr.json +0 -21
  956. homeassistant/components/remote/translations/mk.json +0 -10
  957. homeassistant/components/satel_integra/translations/tr.json +0 -131
  958. homeassistant/components/saunum/translations/ru.json +0 -9
  959. homeassistant/components/saunum/translations/sr-Latn.json +0 -9
  960. homeassistant/components/script/translations/mk.json +0 -10
  961. homeassistant/components/sftp_storage/translations/tr.json +0 -22
  962. homeassistant/components/sleep_as_android/translations/tr.json +0 -68
  963. homeassistant/components/togrill/translations/tr.json +0 -58
  964. homeassistant/components/uptime_kuma/translations/tr.json +0 -13
  965. homeassistant/components/vacuum/translations/mk.json +0 -10
  966. homeassistant/components/victron_ble/translations/es.json +0 -234
  967. homeassistant/components/victron_remote_monitoring/translations/tr.json +0 -102
  968. homeassistant/components/water_heater/translations/mk.json +0 -10
  969. homeassistant/components/zeroconf/translations/tr.json +0 -14
  970. {homeassistant-2025.12.0.dist-info → homeassistant-2025.12.0b2.dist-info}/WHEEL +0 -0
  971. {homeassistant-2025.12.0.dist-info → homeassistant-2025.12.0b2.dist-info}/entry_points.txt +0 -0
  972. {homeassistant-2025.12.0.dist-info → homeassistant-2025.12.0b2.dist-info}/licenses/LICENSE.md +0 -0
  973. {homeassistant-2025.12.0.dist-info → homeassistant-2025.12.0b2.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  974. {homeassistant-2025.12.0.dist-info → homeassistant-2025.12.0b2.dist-info}/top_level.txt +0 -0
@@ -28,9 +28,6 @@
28
28
  "number": {
29
29
  "lamp_brightness": {
30
30
  "name": "Svetlo"
31
- },
32
- "target_temperature": {
33
- "name": "Temperatura"
34
31
  }
35
32
  },
36
33
  "select": {
@@ -92,9 +89,6 @@
92
89
  "mid": "Srednji"
93
90
  }
94
91
  },
95
- "carbon_dioxide": {
96
- "name": "Ugljen dioksid"
97
- },
98
92
  "current_dish_washing_course": {
99
93
  "state": {
100
94
  "normal": "Normalno"
@@ -160,7 +154,6 @@
160
154
  }
161
155
  },
162
156
  "target_temperature": {
163
- "name": "Temperatura",
164
157
  "state": {
165
158
  "off": "Isklju\u010deno"
166
159
  }
@@ -171,7 +164,6 @@
171
164
  }
172
165
  },
173
166
  "temperature_state": {
174
- "name": "Temperatura",
175
167
  "state": {
176
168
  "high": "Visok"
177
169
  }
@@ -162,7 +162,6 @@
162
162
  "error_during_cleaning": "Bir hata nedeniyle temizlik durduruldu",
163
163
  "error_during_washing": "\u00c7ama\u015f\u0131r makinesinde bir hata olu\u015ftu",
164
164
  "error_has_occurred": "Bir hata olu\u015ftu",
165
- "filter_reset_complete": "Filtre \u00f6mr\u00fc s\u0131f\u0131rland\u0131",
166
165
  "homeguard_is_stopped": "Home Guard durdu",
167
166
  "lack_of_water": "Su tank\u0131nda su yok",
168
167
  "motion_is_detected": "Home Guard s\u0131ras\u0131nda hareket alg\u0131land\u0131\u011f\u0131nda foto\u011fraf g\u00f6nderilir",
@@ -178,7 +177,6 @@
178
177
  "time_to_clean_filter": "Filtreyi temizleme zaman\u0131 geldi",
179
178
  "timer_is_complete": "Zamanlay\u0131c\u0131 tamamland\u0131",
180
179
  "washing_is_complete": "Y\u0131kama tamamland\u0131",
181
- "water_filter_reset_complete": "Su filtresinin kullan\u0131m \u00f6mr\u00fc s\u0131f\u0131rland\u0131",
182
180
  "water_is_full": "Su dolu",
183
181
  "water_leak_has_occurred": "Bula\u015f\u0131k makinesi su ka\u00e7a\u011f\u0131 tespit etti"
184
182
  }
@@ -676,9 +674,6 @@
676
674
  "elapsed_day_total": {
677
675
  "name": "Demleme s\u00fcresi"
678
676
  },
679
- "energy_usage_last_month": {
680
- "name": "Ge\u00e7en ayki enerji"
681
- },
682
677
  "filter_lifetime": {
683
678
  "name": "Kalan filtre"
684
679
  },
@@ -906,9 +901,6 @@
906
901
  "normal": "\u0130yi"
907
902
  }
908
903
  },
909
- "top_filter_remain_percent": {
910
- "name": "\u00dcst filtre kald\u0131"
911
- },
912
904
  "total": {
913
905
  "name": "Toplam s\u00fcre"
914
906
  },
@@ -928,18 +920,6 @@
928
920
  "used_time": {
929
921
  "name": "Kullan\u0131lan su filtresi"
930
922
  },
931
- "water_filter_1_remain_percent": {
932
- "name": "Su filtresi"
933
- },
934
- "water_filter_2_remain_percent": {
935
- "name": "Su filtresi a\u015fama 2"
936
- },
937
- "water_filter_3_remain_percent": {
938
- "name": "Su filtresi a\u015fama 3"
939
- },
940
- "water_filter_state": {
941
- "name": "Su filtresi"
942
- },
943
923
  "water_type": {
944
924
  "name": "Tip"
945
925
  },
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  from datetime import timedelta
6
6
  import logging
7
+ from types import MappingProxyType
7
8
 
8
9
  from librehardwaremonitor_api import (
9
10
  LibreHardwareMonitorClient,
@@ -54,11 +55,15 @@ class LibreHardwareMonitorCoordinator(DataUpdateCoordinator[LibreHardwareMonitor
54
55
  device_entries: list[DeviceEntry] = dr.async_entries_for_config_entry(
55
56
  registry=dr.async_get(self.hass), config_entry_id=config_entry.entry_id
56
57
  )
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
- }
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
+ )
62
67
 
63
68
  async def _async_update_data(self) -> LibreHardwareMonitorData:
64
69
  try:
@@ -70,9 +75,7 @@ class LibreHardwareMonitorCoordinator(DataUpdateCoordinator[LibreHardwareMonitor
70
75
  except LibreHardwareMonitorNoDevicesError as err:
71
76
  raise UpdateFailed("No sensor data available, will retry") from err
72
77
 
73
- await self._async_handle_changes_in_devices(
74
- dict(lhm_data.main_device_ids_and_names)
75
- )
78
+ await self._async_handle_changes_in_devices(lhm_data.main_device_ids_and_names)
76
79
 
77
80
  return lhm_data
78
81
 
@@ -89,23 +92,20 @@ class LibreHardwareMonitorCoordinator(DataUpdateCoordinator[LibreHardwareMonitor
89
92
  )
90
93
 
91
94
  async def _async_handle_changes_in_devices(
92
- self, detected_devices: dict[DeviceId, DeviceName]
95
+ self, detected_devices: MappingProxyType[DeviceId, DeviceName]
93
96
  ) -> None:
94
97
  """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
-
100
98
  previous_device_ids = set(self._previous_devices.keys())
101
99
  detected_device_ids = set(detected_devices.keys())
102
100
 
103
- _LOGGER.debug("Previous device_ids: %s", previous_device_ids)
104
- _LOGGER.debug("Detected device_ids: %s", detected_device_ids)
105
-
106
101
  if previous_device_ids == detected_device_ids:
107
102
  return
108
103
 
104
+ if self.data is None:
105
+ # initial update during integration startup
106
+ self._previous_devices = detected_devices # type: ignore[unreachable]
107
+ return
108
+
109
109
  if orphaned_devices := previous_device_ids - detected_device_ids:
110
110
  _LOGGER.warning(
111
111
  "Device(s) no longer available, will be removed: %s",
@@ -114,21 +114,13 @@ 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, device_id)}
117
+ identifiers={(DOMAIN, f"{self.config_entry.entry_id}_{device_id}")}
118
118
  ):
119
- _LOGGER.debug(
120
- "Removing device: %s", self._previous_devices[device_id]
121
- )
122
119
  device_registry.async_update_device(
123
120
  device_id=device.id,
124
121
  remove_config_entry_id=self.config_entry.entry_id,
125
122
  )
126
123
 
127
- if self.data is None:
128
- # initial update during integration startup
129
- self._previous_devices = detected_devices # type: ignore[unreachable]
130
- return
131
-
132
124
  if new_devices := detected_device_ids - previous_device_ids:
133
125
  _LOGGER.warning(
134
126
  "New Device(s) detected, reload integration to add them to Home Assistant: %s",
@@ -85,9 +85,6 @@
85
85
  "spread": {
86
86
  "description": "Renk \u00e7ark\u0131 \u00fczerinde derece cinsinden, kat\u0131l\u0131mc\u0131 \u0131\u015f\u0131klar aras\u0131ndaki maksimum renk tonu fark\u0131.",
87
87
  "name": "Yay\u0131lma"
88
- },
89
- "transition": {
90
- "description": "Renkler aras\u0131ndaki ge\u00e7i\u015fin s\u00fcresi."
91
88
  }
92
89
  },
93
90
  "name": "Renk d\u00f6ng\u00fcs\u00fc efekti"
@@ -43,6 +43,7 @@
43
43
  "conditions": {
44
44
  "is_off": {
45
45
  "description": "Test if a light is off.",
46
+ "description_configured": "[%key:component::light::conditions::is_off::description%]",
46
47
  "fields": {
47
48
  "behavior": {
48
49
  "description": "[%key:component::light::common::condition_behavior_description%]",
@@ -53,6 +54,7 @@
53
54
  },
54
55
  "is_on": {
55
56
  "description": "Test if a light is on.",
57
+ "description_configured": "[%key:component::light::conditions::is_on::description%]",
56
58
  "fields": {
57
59
  "behavior": {
58
60
  "description": "[%key:component::light::common::condition_behavior_description%]",
@@ -510,24 +512,26 @@
510
512
  "title": "Light",
511
513
  "triggers": {
512
514
  "turned_off": {
513
- "description": "Triggers after one or more lights turn off.",
515
+ "description": "Triggers when a light is turned off.",
516
+ "description_configured": "[%key:component::light::triggers::turned_off::description%]",
514
517
  "fields": {
515
518
  "behavior": {
516
519
  "description": "[%key:component::light::common::trigger_behavior_description%]",
517
520
  "name": "[%key:component::light::common::trigger_behavior_name%]"
518
521
  }
519
522
  },
520
- "name": "Light turned off"
523
+ "name": "When a light is turned off"
521
524
  },
522
525
  "turned_on": {
523
- "description": "Triggers after one or more lights turn on.",
526
+ "description": "Triggers when a light is turned on.",
527
+ "description_configured": "[%key:component::light::triggers::turned_on::description%]",
524
528
  "fields": {
525
529
  "behavior": {
526
530
  "description": "[%key:component::light::common::trigger_behavior_description%]",
527
531
  "name": "[%key:component::light::common::trigger_behavior_name%]"
528
532
  }
529
533
  },
530
- "name": "Light turned on"
534
+ "name": "When a light is turned on"
531
535
  }
532
536
  }
533
537
  }
@@ -187,5 +187,17 @@
187
187
  }
188
188
  }
189
189
  }
190
+ },
191
+ "triggers": {
192
+ "turned_off": {
193
+ "description": "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430 \u0441\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u043b\u0430\u043c\u043f\u0430\u0442\u0430 \u0435 \u0438\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u0430.",
194
+ "description_configured": "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430 \u0441\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u043b\u0430\u043c\u043f\u0430\u0442\u0430 \u0435 \u0438\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u0430.",
195
+ "name": "\u041a\u043e\u0433\u0430\u0442\u043e \u043b\u0430\u043c\u043f\u0430\u0442\u0430 \u0435 \u0438\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u0430"
196
+ },
197
+ "turned_on": {
198
+ "description": "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430 \u0441\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u043b\u0430\u043c\u043f\u0430\u0442\u0430 \u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430.",
199
+ "description_configured": "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430 \u0441\u0435, \u043a\u043e\u0433\u0430\u0442\u043e \u043b\u0430\u043c\u043f\u0430\u0442\u0430 \u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430.",
200
+ "name": "\u041a\u043e\u0433\u0430\u0442\u043e \u043b\u0430\u043c\u043f\u0430\u0442\u0430 \u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430"
201
+ }
190
202
  }
191
203
  }
@@ -43,6 +43,7 @@
43
43
  "conditions": {
44
44
  "is_off": {
45
45
  "description": "Otestuje, zda nesv\u00edt\u00ed sv\u011btlo.",
46
+ "description_configured": "Otestuje, zda nesv\u00edt\u00ed sv\u011btlo.",
46
47
  "fields": {
47
48
  "behavior": {
48
49
  "description": "Jak by se m\u011bl stav shodovat na c\u00edlov\u00fdch sv\u011btlech.",
@@ -53,6 +54,7 @@
53
54
  },
54
55
  "is_on": {
55
56
  "description": "Otestuje, zda sv\u00edt\u00ed sv\u011btlo.",
57
+ "description_configured": "Otestuje, zda sv\u00edt\u00ed sv\u011btlo.",
56
58
  "fields": {
57
59
  "behavior": {
58
60
  "description": "Jak by se m\u011bl stav shodovat na c\u00edlov\u00fdch sv\u011btlech.",
@@ -509,24 +511,26 @@
509
511
  "title": "Sv\u011btlo",
510
512
  "triggers": {
511
513
  "turned_off": {
512
- "description": "Spust\u00ed se po zhasnut\u00ed jednoho nebo v\u00edce sv\u011btel.",
514
+ "description": "Spou\u0161t\u00ed se p\u0159i zhasnut\u00ed sv\u011btla.",
515
+ "description_configured": "Spou\u0161t\u00ed se p\u0159i zhasnut\u00ed sv\u011btla.",
513
516
  "fields": {
514
517
  "behavior": {
515
518
  "description": "Chov\u00e1n\u00ed c\u00edlov\u00fdch sv\u011btel p\u0159i rozsv\u00edcen\u00ed.",
516
519
  "name": "Chov\u00e1n\u00ed"
517
520
  }
518
521
  },
519
- "name": "Sv\u011btlo zhasne"
522
+ "name": "Kdy\u017e zhasne sv\u011btlo"
520
523
  },
521
524
  "turned_on": {
522
- "description": "Spust\u00ed se po rozsv\u00edcen\u00ed jednoho nebo v\u00edce sv\u011btel.",
525
+ "description": "Spou\u0161t\u00ed se p\u0159i rozsv\u00edcen\u00ed sv\u011btla.",
526
+ "description_configured": "Spou\u0161t\u00ed se p\u0159i rozsv\u00edcen\u00ed sv\u011btla.",
523
527
  "fields": {
524
528
  "behavior": {
525
529
  "description": "Chov\u00e1n\u00ed c\u00edlov\u00fdch sv\u011btel p\u0159i rozsv\u00edcen\u00ed.",
526
530
  "name": "Chov\u00e1n\u00ed"
527
531
  }
528
532
  },
529
- "name": "Sv\u011btlo se rozsv\u00edt\u00ed"
533
+ "name": "Kdy\u017e se rozsv\u00edt\u00ed sv\u011btlo"
530
534
  }
531
535
  }
532
536
  }
@@ -43,6 +43,7 @@
43
43
  "conditions": {
44
44
  "is_off": {
45
45
  "description": "Pr\u00fcfe, ob eine Leuchte ausgeschaltet ist.",
46
+ "description_configured": "Pr\u00fcfe, ob eine Leuchte ausgeschaltet ist.",
46
47
  "fields": {
47
48
  "behavior": {
48
49
  "description": "Wie der Zustand zu den ausgew\u00e4hlten Leuchten passen sollte.",
@@ -53,6 +54,7 @@
53
54
  },
54
55
  "is_on": {
55
56
  "description": "Pr\u00fcfe, ob eine Leuchte eingeschaltet ist.",
57
+ "description_configured": "Pr\u00fcfe, ob eine Leuchte eingeschaltet ist.",
56
58
  "fields": {
57
59
  "behavior": {
58
60
  "description": "Wie der Zustand zu den ausgew\u00e4hlten Leuchten passen sollte.",
@@ -509,7 +511,8 @@
509
511
  "title": "Leuchte",
510
512
  "triggers": {
511
513
  "turned_off": {
512
- "description": "Wird ausgel\u00f6st, sobald eine oder mehrere Leuchten ausgeschaltet werden.",
514
+ "description": "Wird ausgel\u00f6st, sobald eine Leuchte ausgeschaltet wird.",
515
+ "description_configured": "Wird ausgel\u00f6st, sobald eine Leuchte ausgeschaltet wird.",
513
516
  "fields": {
514
517
  "behavior": {
515
518
  "description": "Das Verhalten der ausgew\u00e4hlten Leuchten, das als Ausl\u00f6ser dienen soll.",
@@ -519,7 +522,8 @@
519
522
  "name": "Sobald eine Leuchte ausgeschaltet wird"
520
523
  },
521
524
  "turned_on": {
522
- "description": "Wird ausgel\u00f6st, sobald eine oder mehrere Leuchten eingeschaltet werden.",
525
+ "description": "Wird ausgel\u00f6st, sobald eine Leuchte eingeschaltet wird.",
526
+ "description_configured": "Wird ausgel\u00f6st, sobald eine Leuchte eingeschaltet wird.",
523
527
  "fields": {
524
528
  "behavior": {
525
529
  "description": "Das Verhalten der ausgew\u00e4hlten Leuchten, das als Ausl\u00f6ser dienen soll.",
@@ -282,12 +282,6 @@
282
282
  "long": "\u039c\u03b5\u03b3\u03ac\u03bb\u03b7\u03c2 \u03b4\u03b9\u03ac\u03c1\u03ba\u03b5\u03b9\u03b1\u03c2",
283
283
  "short": "\u039c\u03b9\u03ba\u03c1\u03ae\u03c2 \u03b4\u03b9\u03ac\u03c1\u03ba\u03b5\u03b9\u03b1\u03c2"
284
284
  }
285
- },
286
- "state": {
287
- "options": {
288
- "off": "\u0391\u03bd\u03b5\u03bd\u03b5\u03c1\u03b3\u03cc",
289
- "on": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc"
290
- }
291
285
  }
292
286
  },
293
287
  "services": {
@@ -1,7 +1,5 @@
1
1
  {
2
2
  "common": {
3
- "condition_behavior_description": "How the state should match on the targeted lights.",
4
- "condition_behavior_name": "Behaviour",
5
3
  "field_brightness_description": "Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness.",
6
4
  "field_brightness_name": "Brightness value",
7
5
  "field_brightness_pct_description": "Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.",
@@ -36,31 +34,7 @@
36
34
  "field_white_name": "White",
37
35
  "field_xy_color_description": "Colour in XY-format. A list of two decimal numbers between 0 and 1.",
38
36
  "field_xy_color_name": "XY-colour",
39
- "section_advanced_fields_name": "Advanced options",
40
- "trigger_behavior_description": "The behaviour of the targeted lights to trigger on.",
41
- "trigger_behavior_name": "Behaviour"
42
- },
43
- "conditions": {
44
- "is_off": {
45
- "description": "Test if a light is off.",
46
- "fields": {
47
- "behavior": {
48
- "description": "How the state should match on the targeted lights.",
49
- "name": "Behaviour"
50
- }
51
- },
52
- "name": "If a light is off"
53
- },
54
- "is_on": {
55
- "description": "Test if a light is on.",
56
- "fields": {
57
- "behavior": {
58
- "description": "How the state should match on the targeted lights.",
59
- "name": "Behaviour"
60
- }
61
- },
62
- "name": "If a light is on"
63
- }
37
+ "section_advanced_fields_name": "Advanced options"
64
38
  },
65
39
  "device_automation": {
66
40
  "action_type": {
@@ -310,30 +284,11 @@
310
284
  "yellowgreen": "Yellow green"
311
285
  }
312
286
  },
313
- "condition_behavior": {
314
- "options": {
315
- "all": "All",
316
- "any": "Any"
317
- }
318
- },
319
287
  "flash": {
320
288
  "options": {
321
289
  "long": "Long",
322
290
  "short": "Short"
323
291
  }
324
- },
325
- "state": {
326
- "options": {
327
- "off": "Off",
328
- "on": "On"
329
- }
330
- },
331
- "trigger_behavior": {
332
- "options": {
333
- "any": "Any",
334
- "first": "First",
335
- "last": "Last"
336
- }
337
292
  }
338
293
  },
339
294
  "services": {
@@ -506,27 +461,5 @@
506
461
  }
507
462
  }
508
463
  },
509
- "title": "Light",
510
- "triggers": {
511
- "turned_off": {
512
- "description": "Triggers after one or more lights turn off.",
513
- "fields": {
514
- "behavior": {
515
- "description": "The behaviour of the targeted lights to trigger on.",
516
- "name": "Behaviour"
517
- }
518
- },
519
- "name": "Light turned off"
520
- },
521
- "turned_on": {
522
- "description": "Triggers after one or more lights turn on.",
523
- "fields": {
524
- "behavior": {
525
- "description": "The behaviour of the targeted lights to trigger on.",
526
- "name": "Behaviour"
527
- }
528
- },
529
- "name": "Light turned on"
530
- }
531
- }
464
+ "title": "Light"
532
465
  }
@@ -43,6 +43,7 @@
43
43
  "conditions": {
44
44
  "is_off": {
45
45
  "description": "Test if a light is off.",
46
+ "description_configured": "Test if a light is off.",
46
47
  "fields": {
47
48
  "behavior": {
48
49
  "description": "How the state should match on the targeted lights.",
@@ -53,6 +54,7 @@
53
54
  },
54
55
  "is_on": {
55
56
  "description": "Test if a light is on.",
57
+ "description_configured": "Test if a light is on.",
56
58
  "fields": {
57
59
  "behavior": {
58
60
  "description": "How the state should match on the targeted lights.",
@@ -510,24 +512,26 @@
510
512
  "title": "Light",
511
513
  "triggers": {
512
514
  "turned_off": {
513
- "description": "Triggers after one or more lights turn off.",
515
+ "description": "Triggers when a light is turned off.",
516
+ "description_configured": "Triggers when a light is turned off.",
514
517
  "fields": {
515
518
  "behavior": {
516
519
  "description": "The behavior of the targeted lights to trigger on.",
517
520
  "name": "Behavior"
518
521
  }
519
522
  },
520
- "name": "Light turned off"
523
+ "name": "When a light is turned off"
521
524
  },
522
525
  "turned_on": {
523
- "description": "Triggers after one or more lights turn on.",
526
+ "description": "Triggers when a light is turned on.",
527
+ "description_configured": "Triggers when a light is turned on.",
524
528
  "fields": {
525
529
  "behavior": {
526
530
  "description": "The behavior of the targeted lights to trigger on.",
527
531
  "name": "Behavior"
528
532
  }
529
533
  },
530
- "name": "Light turned on"
534
+ "name": "When a light is turned on"
531
535
  }
532
536
  }
533
537
  }
@@ -1,7 +1,5 @@
1
1
  {
2
2
  "common": {
3
- "condition_behavior_description": "C\u00f3mo debe coincidir el estado en las luces objetivo.",
4
- "condition_behavior_name": "Comportamiento",
5
3
  "field_brightness_description": "N\u00famero que indica el brillo, donde 0 apaga la luz, 1 es el brillo m\u00ednimo y 255 es el brillo m\u00e1ximo.",
6
4
  "field_brightness_name": "Valor de brillo",
7
5
  "field_brightness_pct_description": "N\u00famero que indica el porcentaje de brillo total, donde 0 apaga la luz, 1 es el brillo m\u00ednimo y 100 es el brillo m\u00e1ximo.",
@@ -36,30 +34,7 @@
36
34
  "field_white_name": "Blanco",
37
35
  "field_xy_color_description": "Color en formato XY. Una lista de dos n\u00fameros decimales entre 0 y 1.",
38
36
  "field_xy_color_name": "Color XY",
39
- "section_advanced_fields_name": "Opciones avanzadas",
40
- "trigger_behavior_description": "El comportamiento de las luces objetivo para que se dispare.",
41
- "trigger_behavior_name": "Comportamiento"
42
- },
43
- "conditions": {
44
- "is_off": {
45
- "description": "Comprueba si una luz est\u00e1 apagada.",
46
- "fields": {
47
- "behavior": {
48
- "description": "C\u00f3mo debe coincidir el estado en las luces objetivo.",
49
- "name": "Comportamiento"
50
- }
51
- },
52
- "name": "Si una luz est\u00e1 apagada"
53
- },
54
- "is_on": {
55
- "description": "Comprueba si una luz est\u00e1 encendida.",
56
- "fields": {
57
- "behavior": {
58
- "name": "Comportamiento"
59
- }
60
- },
61
- "name": "Si una luz est\u00e1 encendida"
62
- }
37
+ "section_advanced_fields_name": "Opciones avanzadas"
63
38
  },
64
39
  "device_automation": {
65
40
  "action_type": {
@@ -309,30 +284,11 @@
309
284
  "yellowgreen": "Amarillo verde"
310
285
  }
311
286
  },
312
- "condition_behavior": {
313
- "options": {
314
- "all": "Todos",
315
- "any": "Cualquiera"
316
- }
317
- },
318
287
  "flash": {
319
288
  "options": {
320
289
  "long": "Largo",
321
290
  "short": "Corto"
322
291
  }
323
- },
324
- "state": {
325
- "options": {
326
- "off": "Apagado",
327
- "on": "Encendido"
328
- }
329
- },
330
- "trigger_behavior": {
331
- "options": {
332
- "any": "Cualquiera",
333
- "first": "Primero",
334
- "last": "\u00daltimo"
335
- }
336
292
  }
337
293
  },
338
294
  "services": {
@@ -505,27 +461,5 @@
505
461
  }
506
462
  }
507
463
  },
508
- "title": "Luz",
509
- "triggers": {
510
- "turned_off": {
511
- "description": "Se dispara despu\u00e9s de que una o m\u00e1s luces se apagan.",
512
- "fields": {
513
- "behavior": {
514
- "description": "El comportamiento de las luces objetivo para que se dispare.",
515
- "name": "Comportamiento"
516
- }
517
- },
518
- "name": "Luz apagada"
519
- },
520
- "turned_on": {
521
- "description": "Se dispara despu\u00e9s de que una o m\u00e1s luces se encienden.",
522
- "fields": {
523
- "behavior": {
524
- "description": "El comportamiento de las luces objetivo para que se dispare.",
525
- "name": "Comportamiento"
526
- }
527
- },
528
- "name": "Luz encendida"
529
- }
530
- }
464
+ "title": "Luz"
531
465
  }