homeassistant 2025.7.0b0__py3-none-any.whl → 2025.7.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 (312) hide show
  1. homeassistant/components/aemet/sensor.py +1 -1
  2. homeassistant/components/airq/coordinator.py +2 -2
  3. homeassistant/components/alexa_devices/__init__.py +5 -2
  4. homeassistant/components/alexa_devices/notify.py +2 -0
  5. homeassistant/components/alexa_devices/quality_scale.yaml +1 -1
  6. homeassistant/components/alexa_devices/strings.json +11 -4
  7. homeassistant/components/alexa_devices/switch.py +2 -0
  8. homeassistant/components/alexa_devices/translations/bg.json +6 -4
  9. homeassistant/components/alexa_devices/translations/cs.json +12 -5
  10. homeassistant/components/alexa_devices/translations/de.json +14 -7
  11. homeassistant/components/alexa_devices/translations/el.json +12 -5
  12. homeassistant/components/alexa_devices/translations/en.json +12 -5
  13. homeassistant/components/alexa_devices/translations/es.json +12 -5
  14. homeassistant/components/alexa_devices/translations/et.json +12 -5
  15. homeassistant/components/alexa_devices/translations/ga.json +0 -6
  16. homeassistant/components/alexa_devices/translations/he.json +0 -4
  17. homeassistant/components/alexa_devices/translations/hu.json +0 -4
  18. homeassistant/components/alexa_devices/translations/id.json +1 -0
  19. homeassistant/components/alexa_devices/translations/lt.json +0 -4
  20. homeassistant/components/alexa_devices/translations/mk.json +12 -0
  21. homeassistant/components/alexa_devices/translations/nl.json +0 -4
  22. homeassistant/components/alexa_devices/translations/pl.json +0 -4
  23. homeassistant/components/alexa_devices/translations/pt.json +0 -4
  24. homeassistant/components/alexa_devices/translations/ru.json +4 -5
  25. homeassistant/components/alexa_devices/translations/sk.json +12 -5
  26. homeassistant/components/alexa_devices/translations/sv.json +17 -5
  27. homeassistant/components/alexa_devices/translations/tr.json +0 -4
  28. homeassistant/components/alexa_devices/translations/zh-Hans.json +27 -5
  29. homeassistant/components/alexa_devices/translations/zh-Hant.json +12 -5
  30. homeassistant/components/alexa_devices/utils.py +40 -0
  31. homeassistant/components/altruist/translations/id.json +11 -0
  32. homeassistant/components/anthropic/__init__.py +14 -1
  33. homeassistant/components/anthropic/translations/bg.json +21 -0
  34. homeassistant/components/anthropic/translations/ga.json +32 -1
  35. homeassistant/components/anthropic/translations/id.json +19 -0
  36. homeassistant/components/anthropic/translations/ru.json +30 -0
  37. homeassistant/components/backup/translations/de.json +1 -1
  38. homeassistant/components/buienradar/sensor.py +0 -1
  39. homeassistant/components/cambridge_audio/translations/sv.json +1 -1
  40. homeassistant/components/comelit/translations/de.json +1 -1
  41. homeassistant/components/counter/translations/sv.json +2 -2
  42. homeassistant/components/demo/translations/select.sv.json +2 -2
  43. homeassistant/components/derivative/translations/ga.json +20 -0
  44. homeassistant/components/derivative/translations/ru.json +3 -0
  45. homeassistant/components/devolo_home_control/translations/bg.json +6 -0
  46. homeassistant/components/devolo_home_control/translations/id.json +5 -0
  47. homeassistant/components/devolo_home_control/translations/sv.json +10 -0
  48. homeassistant/components/devolo_home_control/translations/zh-Hans.json +10 -0
  49. homeassistant/components/dlink/manifest.json +1 -1
  50. homeassistant/components/ecovacs/translations/sv.json +1 -1
  51. homeassistant/components/enphase_envoy/translations/sv.json +5 -2
  52. homeassistant/components/ezviz/translations/bg.json +6 -0
  53. homeassistant/components/ezviz/translations/mk.json +13 -0
  54. homeassistant/components/ezviz/translations/sv.json +10 -0
  55. homeassistant/components/ezviz/translations/zh-Hans.json +10 -0
  56. homeassistant/components/fronius/translations/sv.json +2 -2
  57. homeassistant/components/frontend/manifest.json +1 -1
  58. homeassistant/components/goodwe/translations/sv.json +5 -5
  59. homeassistant/components/google_generative_ai_conversation/__init__.py +21 -0
  60. homeassistant/components/google_generative_ai_conversation/config_flow.py +72 -36
  61. homeassistant/components/google_generative_ai_conversation/const.py +15 -2
  62. homeassistant/components/google_generative_ai_conversation/diagnostics.py +1 -0
  63. homeassistant/components/google_generative_ai_conversation/entity.py +7 -2
  64. homeassistant/components/google_generative_ai_conversation/helpers.py +73 -0
  65. homeassistant/components/google_generative_ai_conversation/strings.json +28 -1
  66. homeassistant/components/google_generative_ai_conversation/translations/bg.json +19 -0
  67. homeassistant/components/google_generative_ai_conversation/translations/cs.json +28 -0
  68. homeassistant/components/google_generative_ai_conversation/translations/de.json +28 -0
  69. homeassistant/components/google_generative_ai_conversation/translations/el.json +28 -0
  70. homeassistant/components/google_generative_ai_conversation/translations/en.json +28 -0
  71. homeassistant/components/google_generative_ai_conversation/translations/es.json +28 -0
  72. homeassistant/components/google_generative_ai_conversation/translations/et.json +28 -0
  73. homeassistant/components/google_generative_ai_conversation/translations/ga.json +9 -0
  74. homeassistant/components/google_generative_ai_conversation/translations/id.json +30 -0
  75. homeassistant/components/google_generative_ai_conversation/translations/mk.json +11 -0
  76. homeassistant/components/google_generative_ai_conversation/translations/ru.json +67 -0
  77. homeassistant/components/google_generative_ai_conversation/translations/sk.json +28 -0
  78. homeassistant/components/google_generative_ai_conversation/translations/sv.json +23 -0
  79. homeassistant/components/google_generative_ai_conversation/translations/zh-Hans.json +28 -0
  80. homeassistant/components/google_generative_ai_conversation/translations/zh-Hant.json +28 -0
  81. homeassistant/components/google_generative_ai_conversation/tts.py +48 -106
  82. homeassistant/components/group/translations/el.json +18 -18
  83. homeassistant/components/habitica/const.py +1 -1
  84. homeassistant/components/harmony/translations/select.sv.json +1 -1
  85. homeassistant/components/harmony/translations/sv.json +1 -1
  86. homeassistant/components/homeassistant_hardware/firmware_config_flow.py +89 -7
  87. homeassistant/components/homeassistant_hardware/strings.json +2 -1
  88. homeassistant/components/homeassistant_hardware/translations/de.json +1 -0
  89. homeassistant/components/homeassistant_hardware/translations/en-GB.json +1 -0
  90. homeassistant/components/homeassistant_hardware/translations/en.json +1 -0
  91. homeassistant/components/homeassistant_hardware/translations/ga.json +9 -0
  92. homeassistant/components/homeassistant_hardware/translations/mk.json +9 -0
  93. homeassistant/components/homeassistant_sky_connect/config_flow.py +1 -1
  94. homeassistant/components/homeassistant_sky_connect/strings.json +4 -2
  95. homeassistant/components/homeassistant_sky_connect/translations/de.json +2 -0
  96. homeassistant/components/homeassistant_sky_connect/translations/en-GB.json +2 -0
  97. homeassistant/components/homeassistant_sky_connect/translations/en.json +2 -0
  98. homeassistant/components/homeassistant_sky_connect/translations/ga.json +10 -0
  99. homeassistant/components/homeassistant_sky_connect/translations/mk.json +7 -0
  100. homeassistant/components/homeassistant_yellow/strings.json +2 -1
  101. homeassistant/components/homeassistant_yellow/translations/bg.json +0 -1
  102. homeassistant/components/homeassistant_yellow/translations/cs.json +0 -1
  103. homeassistant/components/homeassistant_yellow/translations/de.json +1 -0
  104. homeassistant/components/homeassistant_yellow/translations/el.json +0 -1
  105. homeassistant/components/homeassistant_yellow/translations/en-GB.json +2 -1
  106. homeassistant/components/homeassistant_yellow/translations/en.json +2 -1
  107. homeassistant/components/homeassistant_yellow/translations/es.json +0 -1
  108. homeassistant/components/homeassistant_yellow/translations/et.json +0 -1
  109. homeassistant/components/homeassistant_yellow/translations/fr.json +0 -1
  110. homeassistant/components/homeassistant_yellow/translations/ga.json +5 -0
  111. homeassistant/components/homeassistant_yellow/translations/he.json +0 -1
  112. homeassistant/components/homeassistant_yellow/translations/hu.json +0 -1
  113. homeassistant/components/homeassistant_yellow/translations/id.json +0 -1
  114. homeassistant/components/homeassistant_yellow/translations/it.json +0 -1
  115. homeassistant/components/homeassistant_yellow/translations/ja.json +0 -1
  116. homeassistant/components/homeassistant_yellow/translations/lt.json +0 -1
  117. homeassistant/components/homeassistant_yellow/translations/pt.json +0 -1
  118. homeassistant/components/homeassistant_yellow/translations/ru.json +0 -1
  119. homeassistant/components/homeassistant_yellow/translations/sk.json +0 -1
  120. homeassistant/components/homeassistant_yellow/translations/sv.json +0 -1
  121. homeassistant/components/homeassistant_yellow/translations/tr.json +0 -1
  122. homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +0 -1
  123. homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +0 -1
  124. homeassistant/components/homewizard/translations/sv.json +3 -1
  125. homeassistant/components/http/auth.py +1 -1
  126. homeassistant/components/image/__init__.py +34 -3
  127. homeassistant/components/input_number/translations/sv.json +2 -2
  128. homeassistant/components/input_select/translations/sv.json +6 -6
  129. homeassistant/components/input_text/translations/sv.json +1 -1
  130. homeassistant/components/iron_os/manifest.json +1 -1
  131. homeassistant/components/iron_os/translations/sv.json +1 -1
  132. homeassistant/components/keenetic_ndms2/translations/id.json +3 -0
  133. homeassistant/components/lamarzocco/entity.py +19 -1
  134. homeassistant/components/lamarzocco/number.py +0 -4
  135. homeassistant/components/lamarzocco/sensor.py +2 -4
  136. homeassistant/components/lamarzocco/translations/sv.json +3 -3
  137. homeassistant/components/lametric/translations/sv.json +2 -2
  138. homeassistant/components/lametric/update.py +1 -1
  139. homeassistant/components/lg_thinq/translations/sv.json +5 -5
  140. homeassistant/components/litterrobot/translations/bg.json +4 -0
  141. homeassistant/components/litterrobot/translations/ga.json +3 -0
  142. homeassistant/components/matter/translations/id.json +5 -0
  143. homeassistant/components/matter/vacuum.py +38 -26
  144. homeassistant/components/meater/__init__.py +5 -1
  145. homeassistant/components/meater/coordinator.py +4 -2
  146. homeassistant/components/media_source/local_source.py +21 -4
  147. homeassistant/components/minecraft_server/translations/sv.json +1 -1
  148. homeassistant/components/motioneye/translations/sv.json +1 -1
  149. homeassistant/components/mqtt/translations/bg.json +10 -0
  150. homeassistant/components/mqtt/translations/cs.json +19 -0
  151. homeassistant/components/mqtt/translations/el.json +21 -0
  152. homeassistant/components/mqtt/translations/fi.json +3 -0
  153. homeassistant/components/mqtt/translations/ga.json +25 -0
  154. homeassistant/components/mqtt/translations/mk.json +23 -0
  155. homeassistant/components/mqtt/translations/ru.json +1 -0
  156. homeassistant/components/mqtt/translations/sv.json +24 -0
  157. homeassistant/components/mqtt/translations/zh-Hans.json +26 -0
  158. homeassistant/components/mqtt/translations/zh-Hant.json +19 -0
  159. homeassistant/components/music_assistant/button.py +0 -6
  160. homeassistant/components/ntfy/translations/id.json +13 -0
  161. homeassistant/components/ntfy/translations/sv.json +1 -0
  162. homeassistant/components/number/translations/sv.json +2 -2
  163. homeassistant/components/nut/config_flow.py +4 -2
  164. homeassistant/components/ohme/translations/sv.json +1 -1
  165. homeassistant/components/ollama/__init__.py +8 -0
  166. homeassistant/components/ollama/const.py +2 -0
  167. homeassistant/components/ollama/translations/bg.json +19 -0
  168. homeassistant/components/ollama/translations/ga.json +31 -1
  169. homeassistant/components/ollama/translations/id.json +18 -0
  170. homeassistant/components/ollama/translations/mk.json +13 -1
  171. homeassistant/components/ollama/translations/sv.json +1 -0
  172. homeassistant/components/onewire/translations/sv.json +4 -4
  173. homeassistant/components/openai_conversation/__init__.py +8 -0
  174. homeassistant/components/openai_conversation/const.py +1 -1
  175. homeassistant/components/openai_conversation/conversation.py +1 -1
  176. homeassistant/components/openai_conversation/translations/bg.json +26 -0
  177. homeassistant/components/openai_conversation/translations/id.json +23 -0
  178. homeassistant/components/openai_conversation/translations/mk.json +44 -0
  179. homeassistant/components/openai_conversation/translations/sv.json +4 -0
  180. homeassistant/components/playstation_network/diagnostics.py +55 -0
  181. homeassistant/components/playstation_network/quality_scale.yaml +1 -1
  182. homeassistant/components/playstation_network/translations/bg.json +25 -1
  183. homeassistant/components/playstation_network/translations/es.json +1 -1
  184. homeassistant/components/playstation_network/translations/ga.json +31 -0
  185. homeassistant/components/playstation_network/translations/id.json +14 -0
  186. homeassistant/components/playstation_network/translations/mk.json +18 -0
  187. homeassistant/components/playstation_network/translations/pl.json +73 -0
  188. homeassistant/components/playstation_network/translations/sv.json +29 -0
  189. homeassistant/components/playstation_network/translations/zh-Hans.json +29 -0
  190. homeassistant/components/plugwise/translations/sv.json +2 -2
  191. homeassistant/components/qnap/translations/sv.json +1 -1
  192. homeassistant/components/random/translations/sv.json +4 -4
  193. homeassistant/components/remote_calendar/translations/fi.json +34 -0
  194. homeassistant/components/select/translations/sv.json +10 -10
  195. homeassistant/components/smarla/__init__.py +2 -2
  196. homeassistant/components/sonos/translations/bg.json +5 -0
  197. homeassistant/components/sonos/translations/cs.json +6 -0
  198. homeassistant/components/sonos/translations/el.json +6 -0
  199. homeassistant/components/sonos/translations/ga.json +8 -0
  200. homeassistant/components/sonos/translations/mk.json +10 -0
  201. homeassistant/components/sonos/translations/ru.json +6 -0
  202. homeassistant/components/sonos/translations/sv.json +6 -0
  203. homeassistant/components/sonos/translations/zh-Hans.json +9 -0
  204. homeassistant/components/sonos/translations/zh-Hant.json +6 -0
  205. homeassistant/components/subaru/strings.json +2 -2
  206. homeassistant/components/subaru/translations/ca.json +0 -1
  207. homeassistant/components/subaru/translations/cs.json +0 -2
  208. homeassistant/components/subaru/translations/de.json +2 -2
  209. homeassistant/components/subaru/translations/el.json +0 -2
  210. homeassistant/components/subaru/translations/en-GB.json +0 -2
  211. homeassistant/components/subaru/translations/en.json +2 -2
  212. homeassistant/components/subaru/translations/es.json +0 -2
  213. homeassistant/components/subaru/translations/et.json +0 -2
  214. homeassistant/components/subaru/translations/fi.json +0 -1
  215. homeassistant/components/subaru/translations/hu.json +0 -2
  216. homeassistant/components/subaru/translations/it.json +0 -1
  217. homeassistant/components/subaru/translations/ja.json +0 -1
  218. homeassistant/components/subaru/translations/ko.json +0 -1
  219. homeassistant/components/subaru/translations/lt.json +0 -2
  220. homeassistant/components/subaru/translations/pt-BR.json +0 -1
  221. homeassistant/components/subaru/translations/pt.json +0 -2
  222. homeassistant/components/subaru/translations/ru.json +0 -2
  223. homeassistant/components/subaru/translations/sk.json +0 -2
  224. homeassistant/components/subaru/translations/sv.json +0 -2
  225. homeassistant/components/subaru/translations/tr.json +0 -2
  226. homeassistant/components/subaru/translations/zh-Hans.json +0 -2
  227. homeassistant/components/subaru/translations/zh-Hant.json +0 -2
  228. homeassistant/components/switchbot/translations/bg.json +26 -0
  229. homeassistant/components/switchbot/translations/ga.json +33 -0
  230. homeassistant/components/switchbot/translations/id.json +19 -0
  231. homeassistant/components/switchbot/translations/mk.json +49 -0
  232. homeassistant/components/switchbot/translations/sv.json +54 -0
  233. homeassistant/components/switchbot/translations/zh-Hans.json +53 -0
  234. homeassistant/components/telegram_bot/__init__.py +20 -4
  235. homeassistant/components/telegram_bot/bot.py +33 -29
  236. homeassistant/components/telegram_bot/config_flow.py +66 -20
  237. homeassistant/components/telegram_bot/const.py +1 -1
  238. homeassistant/components/telegram_bot/strings.json +33 -10
  239. homeassistant/components/telegram_bot/translations/bg.json +0 -1
  240. homeassistant/components/telegram_bot/translations/cs.json +35 -12
  241. homeassistant/components/telegram_bot/translations/de.json +35 -12
  242. homeassistant/components/telegram_bot/translations/el.json +35 -12
  243. homeassistant/components/telegram_bot/translations/en-GB.json +6 -11
  244. homeassistant/components/telegram_bot/translations/en.json +35 -12
  245. homeassistant/components/telegram_bot/translations/es.json +35 -12
  246. homeassistant/components/telegram_bot/translations/et.json +34 -11
  247. homeassistant/components/telegram_bot/translations/fr.json +5 -12
  248. homeassistant/components/telegram_bot/translations/ga.json +5 -11
  249. homeassistant/components/telegram_bot/translations/he.json +3 -8
  250. homeassistant/components/telegram_bot/translations/hu.json +5 -12
  251. homeassistant/components/telegram_bot/translations/id.json +0 -5
  252. homeassistant/components/telegram_bot/translations/it.json +2 -5
  253. homeassistant/components/telegram_bot/translations/lt.json +5 -12
  254. homeassistant/components/telegram_bot/translations/mk.json +7 -5
  255. homeassistant/components/telegram_bot/translations/nl.json +5 -12
  256. homeassistant/components/telegram_bot/translations/pt.json +5 -12
  257. homeassistant/components/telegram_bot/translations/ru.json +12 -11
  258. homeassistant/components/telegram_bot/translations/sk.json +35 -12
  259. homeassistant/components/telegram_bot/translations/sv.json +28 -12
  260. homeassistant/components/telegram_bot/translations/tr.json +5 -12
  261. homeassistant/components/telegram_bot/translations/zh-Hans.json +35 -12
  262. homeassistant/components/telegram_bot/translations/zh-Hant.json +35 -12
  263. homeassistant/components/template/translations/sv.json +5 -5
  264. homeassistant/components/text/translations/sv.json +1 -1
  265. homeassistant/components/tilt_pi/translations/id.json +11 -0
  266. homeassistant/components/tts/__init__.py +15 -0
  267. homeassistant/components/unifiprotect/translations/zh-Hans.json +3 -3
  268. homeassistant/components/utility_meter/translations/sv.json +9 -9
  269. homeassistant/components/vegehub/translations/bg.json +2 -0
  270. homeassistant/components/vegehub/translations/id.json +11 -0
  271. homeassistant/components/vegehub/translations/sv.json +2 -1
  272. homeassistant/components/vicare/translations/sv.json +2 -2
  273. homeassistant/components/whirlpool/translations/sv.json +12 -12
  274. homeassistant/components/wyoming/translations/sv.json +2 -2
  275. homeassistant/components/zha/translations/bg.json +23 -0
  276. homeassistant/components/zha/translations/el.json +10 -0
  277. homeassistant/components/zha/translations/ga.json +20 -0
  278. homeassistant/components/zha/translations/id.json +6 -0
  279. homeassistant/components/zha/translations/sv.json +23 -0
  280. homeassistant/components/zha/translations/zh-Hans.json +50 -0
  281. homeassistant/components/zwave_js/api.py +1 -1
  282. homeassistant/components/zwave_js/config_flow.py +15 -68
  283. homeassistant/components/zwave_js/manifest.json +1 -1
  284. homeassistant/components/zwave_js/strings.json +1 -5
  285. homeassistant/components/zwave_js/translations/bg.json +0 -3
  286. homeassistant/components/zwave_js/translations/cs.json +0 -5
  287. homeassistant/components/zwave_js/translations/de.json +1 -5
  288. homeassistant/components/zwave_js/translations/el.json +0 -5
  289. homeassistant/components/zwave_js/translations/en-GB.json +1 -5
  290. homeassistant/components/zwave_js/translations/en.json +1 -5
  291. homeassistant/components/zwave_js/translations/es.json +1 -5
  292. homeassistant/components/zwave_js/translations/et.json +0 -5
  293. homeassistant/components/zwave_js/translations/ga.json +0 -5
  294. homeassistant/components/zwave_js/translations/hu.json +0 -5
  295. homeassistant/components/zwave_js/translations/lt.json +0 -5
  296. homeassistant/components/zwave_js/translations/mk.json +0 -5
  297. homeassistant/components/zwave_js/translations/pt.json +0 -5
  298. homeassistant/components/zwave_js/translations/ru.json +0 -5
  299. homeassistant/components/zwave_js/translations/sk.json +0 -5
  300. homeassistant/components/zwave_js/translations/sv.json +0 -5
  301. homeassistant/components/zwave_js/translations/zh-Hans.json +0 -5
  302. homeassistant/components/zwave_js/translations/zh-Hant.json +1 -5
  303. homeassistant/config_entries.py +6 -0
  304. homeassistant/const.py +1 -1
  305. homeassistant/package_constraints.txt +1 -1
  306. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/METADATA +1 -1
  307. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/RECORD +312 -294
  308. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/WHEEL +0 -0
  309. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/entry_points.txt +0 -0
  310. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/licenses/LICENSE.md +0 -0
  311. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  312. {homeassistant-2025.7.0b0.dist-info → homeassistant-2025.7.0b2.dist-info}/top_level.txt +0 -0
@@ -57,10 +57,6 @@ ENTITIES: tuple[LaMarzoccoSensorEntityDescription, ...] = (
57
57
  ).ready_start_time
58
58
  ),
59
59
  entity_category=EntityCategory.DIAGNOSTIC,
60
- available_fn=(
61
- lambda coordinator: WidgetType.CM_COFFEE_BOILER
62
- in coordinator.device.dashboard.config
63
- ),
64
60
  ),
65
61
  LaMarzoccoSensorEntityDescription(
66
62
  key="steam_boiler_ready_time",
@@ -188,6 +184,8 @@ class LaMarzoccoSensorEntity(LaMarzoccoEntity, SensorEntity):
188
184
  class LaMarzoccoStatisticSensorEntity(LaMarzoccoSensorEntity):
189
185
  """Sensor for La Marzocco statistics."""
190
186
 
187
+ _unavailable_when_machine_off = False
188
+
191
189
  @property
192
190
  def native_value(self) -> StateType | datetime | None:
193
191
  """Return the value of the sensor."""
@@ -105,7 +105,7 @@
105
105
  },
106
106
  "select": {
107
107
  "prebrew_infusion_select": {
108
- "name": "F\u00f6rbryggning/-infusionsl\u00e4ge",
108
+ "name": "F\u00f6rbryggnings-/f\u00f6rinfusionsl\u00e4ge",
109
109
  "state": {
110
110
  "disabled": "Inaktiverad",
111
111
  "prebrew": "F\u00f6rbryggning",
@@ -113,14 +113,14 @@
113
113
  }
114
114
  },
115
115
  "smart_standby_mode": {
116
- "name": "Smart standby-l\u00e4ge",
116
+ "name": "Smart vilol\u00e4ge",
117
117
  "state": {
118
118
  "last_brewing": "Senaste bryggning",
119
119
  "power_on": "Str\u00f6m p\u00e5"
120
120
  }
121
121
  },
122
122
  "steam_temp_select": {
123
- "name": "\u00c5nga niv\u00e5",
123
+ "name": "\u00c5ngniv\u00e5",
124
124
  "state": {
125
125
  "1": "1",
126
126
  "2": "2",
@@ -172,7 +172,7 @@
172
172
  "description": "Visar ett diagram p\u00e5 en LaMetric-enhet.",
173
173
  "fields": {
174
174
  "cycles": {
175
- "description": "Antalet g\u00e5nger meddelandet ska visas. Om v\u00e4rdet s\u00e4tts till 0 visas meddelandet tills det avvisas.",
175
+ "description": "Antalet g\u00e5nger meddelandet ska visas. Om satt till 0 s\u00e5 visas meddelandet tills det avvisas.",
176
176
  "name": "Cykler"
177
177
  },
178
178
  "data": {
@@ -202,7 +202,7 @@
202
202
  "description": "Visar ett meddelande med en valfri ikon p\u00e5 en LaMetric-enhet.",
203
203
  "fields": {
204
204
  "cycles": {
205
- "description": "Antalet g\u00e5nger meddelandet ska visas. Om v\u00e4rdet s\u00e4tts till 0 visas meddelandet tills det avvisas.",
205
+ "description": "Antalet g\u00e5nger meddelandet ska visas. Om satt till 0 s\u00e5 visas meddelandet tills det avvisas.",
206
206
  "name": "Cykler"
207
207
  },
208
208
  "device_id": {
@@ -42,5 +42,5 @@ class LaMetricUpdate(LaMetricEntity, UpdateEntity):
42
42
  def latest_version(self) -> str | None:
43
43
  """Return the latest version of the entity."""
44
44
  if not self.coordinator.data.update:
45
- return None
45
+ return self.coordinator.data.os_version
46
46
  return self.coordinator.data.update.version
@@ -163,7 +163,7 @@
163
163
  "event_type": {
164
164
  "state": {
165
165
  "charging_is_complete": "Laddningen \u00e4r klar",
166
- "cleaning_is_complete": "Cykeln \u00e4r klar",
166
+ "cleaning_is_complete": "Cykel \u00e4r avslutad",
167
167
  "cleaning_is_completed": "Reng\u00f6ring \u00e4r slutf\u00f6rd",
168
168
  "cleaning_is_failed": "Reng\u00f6ring har misslyckats",
169
169
  "cooking_is_complete": "Avst\u00e4ngd",
@@ -263,9 +263,9 @@
263
263
  "state": {
264
264
  "bake": "Gr\u00e4dda",
265
265
  "convection_bake": "Konvektion gr\u00e4dda",
266
- "convection_roast": "Konvektion rosta",
266
+ "convection_roast": "Konvektion ugnssteka",
267
267
  "crisp_convection": "Krispig konvektion",
268
- "roast": "Steka"
268
+ "roast": "Ugnssteka"
269
269
  }
270
270
  },
271
271
  "cook_mode_for_location": {
@@ -273,9 +273,9 @@
273
273
  "state": {
274
274
  "bake": "Gr\u00e4dda",
275
275
  "convection_bake": "Konvektion gr\u00e4dda",
276
- "convection_roast": "Konvektion rosta",
276
+ "convection_roast": "Konvektion ugnssteka",
277
277
  "crisp_convection": "Krispig konvektion",
278
- "roast": "Steka"
278
+ "roast": "Ugnssteka"
279
279
  }
280
280
  },
281
281
  "current_job_mode": {
@@ -60,6 +60,10 @@
60
60
  "offline": "\u0418\u0437\u0432\u044a\u043d \u043b\u0438\u043d\u0438\u044f",
61
61
  "p": "\u0412 \u043f\u0430\u0443\u0437\u0430"
62
62
  }
63
+ },
64
+ "total_cycles": {
65
+ "name": "\u041e\u0431\u0449\u043e \u0446\u0438\u043a\u043b\u0438",
66
+ "unit_of_measurement": "\u0446\u0438\u043a\u043b\u0438"
63
67
  }
64
68
  }
65
69
  },
@@ -34,6 +34,9 @@
34
34
  "motor_fault_short": "Gearrghearrth\u00f3g m\u00f3tair",
35
35
  "motor_ot_amps": "R\u00f3-chasmh\u00f3iminte m\u00f3tair"
36
36
  }
37
+ },
38
+ "total_cycles": {
39
+ "name": "Timthriallta ioml\u00e1na"
37
40
  }
38
41
  }
39
42
  }
@@ -185,6 +185,11 @@
185
185
  "normal": "Normal"
186
186
  }
187
187
  },
188
+ "esa_opt_out_state": {
189
+ "state": {
190
+ "no_opt_out": "Mati"
191
+ }
192
+ },
188
193
  "esa_state": {
189
194
  "state": {
190
195
  "fault": "Macet",
@@ -62,14 +62,25 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
62
62
 
63
63
  _last_accepted_commands: list[int] | None = None
64
64
  _supported_run_modes: (
65
- dict[int, clusters.RvcCleanMode.Structs.ModeOptionStruct] | None
65
+ dict[int, clusters.RvcRunMode.Structs.ModeOptionStruct] | None
66
66
  ) = None
67
67
  entity_description: StateVacuumEntityDescription
68
68
  _platform_translation_key = "vacuum"
69
69
 
70
70
  async def async_stop(self, **kwargs: Any) -> None:
71
71
  """Stop the vacuum cleaner."""
72
- await self.send_device_command(clusters.OperationalState.Commands.Stop())
72
+ # We simply set the RvcRunMode to the first runmode
73
+ # that has the idle tag to stop the vacuum cleaner.
74
+ # this is compatible with both Matter 1.2 and 1.3+ devices.
75
+ supported_run_modes = self._supported_run_modes or {}
76
+ for mode in supported_run_modes.values():
77
+ for tag in mode.modeTags:
78
+ if tag.value == ModeTag.IDLE:
79
+ # stop the vacuum by changing the run mode to idle
80
+ await self.send_device_command(
81
+ clusters.RvcRunMode.Commands.ChangeToMode(newMode=mode.mode)
82
+ )
83
+ return
73
84
 
74
85
  async def async_return_to_base(self, **kwargs: Any) -> None:
75
86
  """Set the vacuum cleaner to return to the dock."""
@@ -83,15 +94,30 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
83
94
  """Start or resume the cleaning task."""
84
95
  if TYPE_CHECKING:
85
96
  assert self._last_accepted_commands is not None
97
+
98
+ accepted_operational_commands = self._last_accepted_commands
86
99
  if (
87
100
  clusters.RvcOperationalState.Commands.Resume.command_id
88
- in self._last_accepted_commands
101
+ in accepted_operational_commands
102
+ and self.state == VacuumActivity.PAUSED
89
103
  ):
104
+ # vacuum is paused and supports resume command
90
105
  await self.send_device_command(
91
106
  clusters.RvcOperationalState.Commands.Resume()
92
107
  )
93
- else:
94
- await self.send_device_command(clusters.OperationalState.Commands.Start())
108
+ return
109
+
110
+ # We simply set the RvcRunMode to the first runmode
111
+ # that has the cleaning tag to start the vacuum cleaner.
112
+ # this is compatible with both Matter 1.2 and 1.3+ devices.
113
+ supported_run_modes = self._supported_run_modes or {}
114
+ for mode in supported_run_modes.values():
115
+ for tag in mode.modeTags:
116
+ if tag.value == ModeTag.CLEANING:
117
+ await self.send_device_command(
118
+ clusters.RvcRunMode.Commands.ChangeToMode(newMode=mode.mode)
119
+ )
120
+ return
95
121
 
96
122
  async def async_pause(self) -> None:
97
123
  """Pause the cleaning task."""
@@ -130,6 +156,8 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
130
156
  state = VacuumActivity.CLEANING
131
157
  elif ModeTag.IDLE in tags:
132
158
  state = VacuumActivity.IDLE
159
+ elif ModeTag.MAPPING in tags:
160
+ state = VacuumActivity.CLEANING
133
161
  self._attr_activity = state
134
162
 
135
163
  @callback
@@ -143,7 +171,10 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
143
171
  return
144
172
  self._last_accepted_commands = accepted_operational_commands
145
173
  supported_features: VacuumEntityFeature = VacuumEntityFeature(0)
174
+ supported_features |= VacuumEntityFeature.START
146
175
  supported_features |= VacuumEntityFeature.STATE
176
+ supported_features |= VacuumEntityFeature.STOP
177
+
147
178
  # optional battery attribute = battery feature
148
179
  if self.get_matter_attribute_value(
149
180
  clusters.PowerSource.Attributes.BatPercentRemaining
@@ -153,7 +184,7 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
153
184
  if self.get_matter_attribute_value(clusters.Identify.Attributes.IdentifyType):
154
185
  supported_features |= VacuumEntityFeature.LOCATE
155
186
  # create a map of supported run modes
156
- run_modes: list[clusters.RvcCleanMode.Structs.ModeOptionStruct] = (
187
+ run_modes: list[clusters.RvcRunMode.Structs.ModeOptionStruct] = (
157
188
  self.get_matter_attribute_value(
158
189
  clusters.RvcRunMode.Attributes.SupportedModes
159
190
  )
@@ -165,22 +196,6 @@ class MatterVacuum(MatterEntity, StateVacuumEntity):
165
196
  in accepted_operational_commands
166
197
  ):
167
198
  supported_features |= VacuumEntityFeature.PAUSE
168
- if (
169
- clusters.OperationalState.Commands.Stop.command_id
170
- in accepted_operational_commands
171
- ):
172
- supported_features |= VacuumEntityFeature.STOP
173
- if (
174
- clusters.OperationalState.Commands.Start.command_id
175
- in accepted_operational_commands
176
- ):
177
- # note that start has been replaced by resume in rev2 of the spec
178
- supported_features |= VacuumEntityFeature.START
179
- if (
180
- clusters.RvcOperationalState.Commands.Resume.command_id
181
- in accepted_operational_commands
182
- ):
183
- supported_features |= VacuumEntityFeature.START
184
199
  if (
185
200
  clusters.RvcOperationalState.Commands.GoHome.command_id
186
201
  in accepted_operational_commands
@@ -202,10 +217,7 @@ DISCOVERY_SCHEMAS = [
202
217
  clusters.RvcRunMode.Attributes.CurrentMode,
203
218
  clusters.RvcOperationalState.Attributes.OperationalState,
204
219
  ),
205
- optional_attributes=(
206
- clusters.RvcCleanMode.Attributes.CurrentMode,
207
- clusters.PowerSource.Attributes.BatPercentRemaining,
208
- ),
220
+ optional_attributes=(clusters.PowerSource.Attributes.BatPercentRemaining,),
209
221
  device_type=(device_types.RoboticVacuumCleaner,),
210
222
  allow_none_value=True,
211
223
  ),
@@ -25,4 +25,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: MeaterConfigEntry) -> bo
25
25
 
26
26
  async def async_unload_entry(hass: HomeAssistant, entry: MeaterConfigEntry) -> bool:
27
27
  """Unload a config entry."""
28
- return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
28
+ if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
29
+ hass.data[MEATER_DATA] = (
30
+ hass.data[MEATER_DATA] - entry.runtime_data.found_probes
31
+ )
32
+ return unload_ok
@@ -44,6 +44,7 @@ class MeaterCoordinator(DataUpdateCoordinator[dict[str, MeaterProbe]]):
44
44
  )
45
45
  session = async_get_clientsession(hass)
46
46
  self.client = MeaterApi(session)
47
+ self.found_probes: set[str] = set()
47
48
 
48
49
  async def _async_setup(self) -> None:
49
50
  """Set up the Meater Coordinator."""
@@ -73,5 +74,6 @@ class MeaterCoordinator(DataUpdateCoordinator[dict[str, MeaterProbe]]):
73
74
  raise UpdateFailed(
74
75
  "Too many requests have been made to the API, rate limiting is in place"
75
76
  ) from err
76
-
77
- return {device.id: device for device in devices}
77
+ res = {device.id: device for device in devices}
78
+ self.found_probes.update(set(res.keys()))
79
+ return res
@@ -210,10 +210,8 @@ class LocalMediaView(http.HomeAssistantView):
210
210
  self.hass = hass
211
211
  self.source = source
212
212
 
213
- async def get(
214
- self, request: web.Request, source_dir_id: str, location: str
215
- ) -> web.FileResponse:
216
- """Start a GET request."""
213
+ async def _validate_media_path(self, source_dir_id: str, location: str) -> Path:
214
+ """Validate media path and return it if valid."""
217
215
  try:
218
216
  raise_if_invalid_path(location)
219
217
  except ValueError as err:
@@ -233,6 +231,25 @@ class LocalMediaView(http.HomeAssistantView):
233
231
  if not mime_type or mime_type.split("/")[0] not in MEDIA_MIME_TYPES:
234
232
  raise web.HTTPNotFound
235
233
 
234
+ return media_path
235
+
236
+ async def head(
237
+ self, request: web.Request, source_dir_id: str, location: str
238
+ ) -> None:
239
+ """Handle a HEAD request.
240
+
241
+ This is sent by some DLNA renderers, like Samsung ones, prior to sending
242
+ the GET request.
243
+
244
+ Check whether the location exists or not.
245
+ """
246
+ await self._validate_media_path(source_dir_id, location)
247
+
248
+ async def get(
249
+ self, request: web.Request, source_dir_id: str, location: str
250
+ ) -> web.FileResponse:
251
+ """Handle a GET request."""
252
+ media_path = await self._validate_media_path(source_dir_id, location)
236
253
  return web.FileResponse(media_path)
237
254
 
238
255
 
@@ -48,7 +48,7 @@
48
48
  "name": "Spelare online"
49
49
  },
50
50
  "protocol_version": {
51
- "name": "Protokoll version"
51
+ "name": "Protokollversion"
52
52
  },
53
53
  "version": {
54
54
  "name": "Version"
@@ -18,7 +18,7 @@
18
18
  "user": {
19
19
  "data": {
20
20
  "admin_password": "Administrat\u00f6rsl\u00f6senord",
21
- "admin_username": "Admin Anv\u00e4ndarnamn",
21
+ "admin_username": "Administrat\u00f6rsanv\u00e4ndarnamn",
22
22
  "surveillance_password": "L\u00f6senord f\u00f6r \u00f6vervakning",
23
23
  "surveillance_username": "Anv\u00e4ndarnamn f\u00f6r \u00f6vervakning",
24
24
  "url": "URL"
@@ -340,5 +340,15 @@
340
340
  "reload": {
341
341
  "name": "\u041f\u0440\u0435\u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435"
342
342
  }
343
+ },
344
+ "triggers": {
345
+ "mqtt": {
346
+ "fields": {
347
+ "topic": {
348
+ "name": "\u0422\u0435\u043c\u0430"
349
+ }
350
+ },
351
+ "name": "MQTT"
352
+ }
343
353
  }
344
354
  }
@@ -221,6 +221,8 @@
221
221
  "unit_of_measurement": "M\u011brn\u00e1 jednotka"
222
222
  },
223
223
  "data_description": {
224
+ "device_class": "T\u0159\u00edda za\u0159\u00edzen\u00ed entity {platform}. [Dal\u0161\u00ed informace.]({url}#device_class)",
225
+ "entity_category": "Povol\u00ed ozna\u010den\u00ed entity jako nastaven\u00ed za\u0159\u00edzen\u00ed nebo diagnostika. Entita s kategori\u00ed nebude vystavena cloudov\u00fdm komponent\u00e1m, komponent\u00e1m Alexy ani Google Assistantovi, ani nebude zahrnuta do nep\u0159\u00edm\u00fdch vol\u00e1n\u00ed akc\u00ed pro za\u0159\u00edzen\u00ed nebo oblasti. Entit\u00e1m senzor\u016f nelze p\u0159i\u0159adit t\u0159\u00eddu nastaven\u00ed za\u0159\u00edzen\u00ed. [V\u00edce informac\u00ed.](https://developers.home-assistant.io/docs/core/entity/#registry-properties)",
224
226
  "fan_feature_direction": "Ventil\u00e1tor podporuje sm\u011br.",
225
227
  "fan_feature_oscillation": "Ventil\u00e1tor podporuje kmit\u00e1n\u00ed.",
226
228
  "fan_feature_preset_modes": "Ventil\u00e1tor podporuje p\u0159edvolby.",
@@ -1021,5 +1023,22 @@
1021
1023
  "description": "Znovu na\u010dte entity MQTT z nastaven\u00ed YAML.",
1022
1024
  "name": "Znovu na\u010d\u00edst"
1023
1025
  }
1026
+ },
1027
+ "triggers": {
1028
+ "mqtt": {
1029
+ "description": "Kdy\u017e je p\u0159ijata konkr\u00e9tn\u00ed zpr\u00e1va na dan\u00e9 t\u00e9ma MQTT.",
1030
+ "description_configured": "Kdy\u017e byla p\u0159ijata zpr\u00e1va MQTT",
1031
+ "fields": {
1032
+ "payload": {
1033
+ "description": "Datov\u00e1 \u010d\u00e1st, kter\u00e1 se m\u00e1 spustit.",
1034
+ "name": "Datov\u00e1 \u010d\u00e1st"
1035
+ },
1036
+ "topic": {
1037
+ "description": "T\u00e9ma MQTT k poslechu.",
1038
+ "name": "T\u00e9ma"
1039
+ }
1040
+ },
1041
+ "name": "MQTT"
1042
+ }
1024
1043
  }
1025
1044
  }
@@ -123,6 +123,10 @@
123
123
  "entity_platform_config": {
124
124
  "data": {
125
125
  "entity_category": "\u039a\u03b1\u03c4\u03b7\u03b3\u03bf\u03c1\u03af\u03b1 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2"
126
+ },
127
+ "data_description": {
128
+ "device_class": "\u0397 \u03ba\u03bb\u03ac\u03c3\u03b7 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ae\u03c2 \u03c4\u03b7\u03c2 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2 {platform}. [\u039c\u03ac\u03b8\u03b5\u03c4\u03b5 \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b1.]({url}#device_class)",
129
+ "entity_category": "\u0395\u03c0\u03b9\u03c4\u03c1\u03ad\u03c0\u03b5\u03b9 \u03c4\u03b7\u03bd \u03b5\u03c0\u03b9\u03c3\u03ae\u03bc\u03b1\u03bd\u03c3\u03b7 \u03bc\u03b9\u03b1\u03c2 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2 \u03c9\u03c2 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ae\u03c2 \u03ae \u03b4\u03b9\u03b1\u03b3\u03bd\u03c9\u03c3\u03c4\u03b9\u03ba\u03bf\u03cd. \u039c\u03b9\u03b1 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1 \u03bc\u03b5 \u03bc\u03b9\u03b1 \u03ba\u03b1\u03c4\u03b7\u03b3\u03bf\u03c1\u03af\u03b1 \u03b4\u03b5\u03bd \u03b8\u03b1 \u03b5\u03ba\u03c4\u03af\u03b8\u03b5\u03c4\u03b1\u03b9 \u03c3\u03b5 \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03b1 cloud, Alexa \u03ae Google Assistant, \u03bf\u03cd\u03c4\u03b5 \u03b8\u03b1 \u03c0\u03b5\u03c1\u03b9\u03bb\u03b1\u03bc\u03b2\u03ac\u03bd\u03b5\u03c4\u03b1\u03b9 \u03c3\u03b5 \u03ba\u03bb\u03ae\u03c3\u03b5\u03b9\u03c2 \u03ad\u03bc\u03bc\u03b5\u03c3\u03c9\u03bd \u03b5\u03bd\u03b5\u03c1\u03b3\u03b5\u03b9\u03ce\u03bd \u03c3\u03b5 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ad\u03c2 \u03ae \u03c0\u03b5\u03c1\u03b9\u03bf\u03c7\u03ad\u03c2. \u03a3\u03c4\u03b9\u03c2 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 \u03b1\u03b9\u03c3\u03b8\u03b7\u03c4\u03ae\u03c1\u03c9\u03bd \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03b1\u03bd\u03b1\u03c4\u03b5\u03b8\u03b5\u03af \u03ba\u03bb\u03ac\u03c3\u03b7 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7\u03c2 \u03c3\u03c5\u03c3\u03ba\u03b5\u03c5\u03ae\u03c2. [\u039c\u03ac\u03b8\u03b5\u03c4\u03b5 \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b1.](https://developers.home-assistant.io/docs/core/entity/#registry-properties)"
126
130
  }
127
131
  },
128
132
  "mqtt_platform_config": {
@@ -501,5 +505,22 @@
501
505
  "description": "\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03c4\u03ce\u03bd\u03b5\u03b9 \u03bf\u03bd\u03c4\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 MQTT \u03b1\u03c0\u03cc \u03c4\u03b7 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 YAML.",
502
506
  "name": "\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7"
503
507
  }
508
+ },
509
+ "triggers": {
510
+ "mqtt": {
511
+ "description": "\u039f\u03c4\u03b1\u03bd \u03bb\u03b1\u03bc\u03b2\u03ac\u03bd\u03b5\u03c4\u03b1\u03b9 \u03ad\u03bd\u03b1 \u03c3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03bf \u03bc\u03ae\u03bd\u03c5\u03bc\u03b1 \u03c3\u03b5 \u03ad\u03bd\u03b1 \u03c3\u03c5\u03b3\u03ba\u03b5\u03ba\u03c1\u03b9\u03bc\u03ad\u03bd\u03bf \u03b8\u03ad\u03bc\u03b1 MQTT.",
512
+ "description_configured": "\u039f\u03c4\u03b1\u03bd \u03ad\u03c7\u03b5\u03b9 \u03bb\u03b7\u03c6\u03b8\u03b5\u03af \u03ad\u03bd\u03b1 \u03bc\u03ae\u03bd\u03c5\u03bc\u03b1 MQTT",
513
+ "fields": {
514
+ "payload": {
515
+ "description": "\u03a4\u03bf \u03c9\u03c6\u03ad\u03bb\u03b9\u03bc\u03bf \u03c6\u03bf\u03c1\u03c4\u03af\u03bf \u03b3\u03b9\u03b1 \u03c0\u03c5\u03c1\u03bf\u03b4\u03cc\u03c4\u03b7\u03c3\u03b7.",
516
+ "name": "\u03a9\u03c6\u03ad\u03bb\u03b9\u03bc\u03bf \u03c6\u03bf\u03c1\u03c4\u03af\u03bf"
517
+ },
518
+ "topic": {
519
+ "description": "\u0398\u03ad\u03bc\u03b1 MQTT \u03b3\u03b9\u03b1 \u03b1\u03ba\u03c1\u03cc\u03b1\u03c3\u03b7.",
520
+ "name": "\u0398\u03ad\u03bc\u03b1"
521
+ }
522
+ },
523
+ "name": "MQTT"
524
+ }
504
525
  }
505
526
  }
@@ -68,6 +68,9 @@
68
68
  },
69
69
  "config_subentries": {
70
70
  "device": {
71
+ "initiate_flow": {
72
+ "user": "Lis\u00e4\u00e4 MQTT-laite"
73
+ },
71
74
  "step": {
72
75
  "mqtt_platform_config": {
73
76
  "data": {
@@ -118,6 +118,7 @@
118
118
  "entity_platform_config": {
119
119
  "data": {
120
120
  "device_class": "Aicme gl\u00e9as",
121
+ "entity_category": "Catag\u00f3ir eintitis",
121
122
  "fan_feature_direction": "Taca\u00edocht treorach",
122
123
  "fan_feature_oscillation": "Taca\u00edocht luaineachta",
123
124
  "fan_feature_preset_modes": "Taca\u00edocht do mhodhanna r\u00e9amhshocraithe",
@@ -129,6 +130,7 @@
129
130
  "unit_of_measurement": "Aonad tomhais"
130
131
  },
131
132
  "data_description": {
133
+ "entity_category": "Ceada\u00edonn s\u00e9 seo eintiteas a mharc\u00e1il mar chumra\u00edocht n\u00f3 diagn\u00f3isic gl\u00e9is. N\u00ed bheidh eintiteas a bhfuil catag\u00f3ir aige nochtaithe do chomhph\u00e1irteanna scamall, Alexa, n\u00e1 C\u00fant\u00f3ir Google, n\u00e1 n\u00ed bheidh s\u00e9 san \u00e1ireamh i nglaonna gn\u00edomha\u00edochta ind\u00edreacha chuig gl\u00e9asanna n\u00f3 limist\u00e9ir. N\u00ed f\u00e9idir rang cumra\u00edochta gl\u00e9is a shannadh d'eintitis braiteora. [Tuilleadh eolais.](https://developers.home-assistant.io/docs/core/entity/#registry-properties)",
132
134
  "fan_feature_direction": "Taca\u00edonn an lucht lean\u00fana le treo.",
133
135
  "fan_feature_oscillation": "Taca\u00edonn an lucht lean\u00fana le luascadh.",
134
136
  "fan_feature_preset_modes": "Taca\u00edonn an lucht lean\u00fana le modhanna r\u00e9amhshocraithe.",
@@ -556,6 +558,12 @@
556
558
  "wind_direction": "Treo na gaoithe"
557
559
  }
558
560
  },
561
+ "entity_category": {
562
+ "options": {
563
+ "config": "Cumra\u00edocht",
564
+ "diagnostic": "Diagn\u00f3iseach"
565
+ }
566
+ },
559
567
  "light_schema": {
560
568
  "options": {
561
569
  "basic": "Sc\u00e9im r\u00e9amhshocraithe",
@@ -575,5 +583,22 @@
575
583
  "measurement_angle": "Uillinn tomhais"
576
584
  }
577
585
  }
586
+ },
587
+ "triggers": {
588
+ "mqtt": {
589
+ "description": "Nuair a fhaightear teachtaireacht shonrach ar thopaic MQTT ar leith.",
590
+ "description_configured": "Nuair a fhaightear teachtaireacht MQTT",
591
+ "fields": {
592
+ "payload": {
593
+ "description": "An t-ualach le spreagadh air.",
594
+ "name": "Ualach"
595
+ },
596
+ "topic": {
597
+ "description": "Topaic MQTT le h\u00e9isteacht leis.",
598
+ "name": "Topaic"
599
+ }
600
+ },
601
+ "name": "MQTT"
602
+ }
578
603
  }
579
604
  }
@@ -43,6 +43,13 @@
43
43
  "title": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u0458\u0442\u0435 \u0433\u043e MQTT-\u0443\u0440\u0435\u0434\u043e\u0442 \u201e {mqtt_device} \u201c"
44
44
  },
45
45
  "entity_platform_config": {
46
+ "data": {
47
+ "entity_category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0430 \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442"
48
+ },
49
+ "data_description": {
50
+ "device_class": "\u041a\u043b\u0430\u0441\u0430\u0442\u0430 \u043d\u0430 \u0443\u0440\u0435\u0434 \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442\u043e\u0442 {platform}. [\u0414\u043e\u0437\u043d\u0430\u0458\u0442\u0435 \u043f\u043e\u0432\u0435\u045c\u0435.]( {url} #device_class)",
51
+ "entity_category": "\u041e\u0432\u043e\u0437\u043c\u043e\u0436\u0443\u0432\u0430 \u043e\u0437\u043d\u0430\u0447\u0443\u0432\u0430\u045a\u0435 \u043d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442 \u043a\u0430\u043a\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0458\u0430 \u043d\u0430 \u0443\u0440\u0435\u0434 \u0438\u043b\u0438 \u0434\u0438\u0458\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430. \u0415\u043d\u0442\u0438\u0442\u0435\u0442 \u0441\u043e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0430 \u043d\u0435\u043c\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0438\u0437\u043b\u043e\u0436\u0435\u043d \u043d\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0438 \u043e\u0434 \u043e\u0431\u043b\u0430\u043a\u043e\u0442, \u0410\u043b\u0435\u043a\u0441\u0430 \u0438\u043b\u0438 Google Assistant, \u043d\u0438\u0442\u0443 \u045c\u0435 \u0431\u0438\u0434\u0435 \u0432\u043a\u043b\u0443\u0447\u0435\u043d \u0432\u043e \u043f\u043e\u0432\u0438\u0446\u0438 \u0441\u043e \u0438\u043d\u0434\u0438\u0440\u0435\u043a\u0442\u043d\u043e \u0434\u0435\u0458\u0441\u0442\u0432\u043e \u0434\u043e \u0443\u0440\u0435\u0434\u0438 \u0438\u043b\u0438 \u043e\u0431\u043b\u0430\u0441\u0442\u0438. \u041d\u0430 \u0435\u043d\u0442\u0438\u0442\u0435\u0442\u0438\u0442\u0435 \u043d\u0430 \u0441\u0435\u043d\u0437\u043e\u0440\u0438\u0442\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0438\u043c \u0441\u0435 \u0434\u043e\u0434\u0435\u043b\u0438 \u043a\u043b\u0430\u0441\u0430 \u0437\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0458\u0430 \u043d\u0430 \u0443\u0440\u0435\u0434. [\u0414\u043e\u0437\u043d\u0430\u0458\u0442\u0435 \u043f\u043e\u0432\u0435\u045c\u0435.](https://developers.home-assistant.io/docs/core/entity/#registry-properties)"
52
+ },
46
53
  "sections": {
47
54
  "advanced_settings": {
48
55
  "name": "\u041d\u0430\u043f\u0440\u0435\u0434\u043d\u0438 \u043e\u043f\u0446\u0438\u0438"
@@ -128,10 +135,26 @@
128
135
  }
129
136
  },
130
137
  "selector": {
138
+ "entity_category": {
139
+ "options": {
140
+ "diagnostic": "\u0414\u0438\u0458\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u043a\u0438"
141
+ }
142
+ },
131
143
  "on_command_type": {
132
144
  "options": {
133
145
  "brightness": "\u041e\u0441\u0432\u0435\u0442\u043b\u0435\u043d\u043e\u0441\u0442"
134
146
  }
135
147
  }
148
+ },
149
+ "triggers": {
150
+ "mqtt": {
151
+ "fields": {
152
+ "topic": {
153
+ "description": "MQTT \u0442\u0435\u043c\u0430 \u0437\u0430 \u0441\u043b\u0443\u0448\u0430\u045a\u0435.",
154
+ "name": "\u0422\u0435\u043c\u0430"
155
+ }
156
+ },
157
+ "name": "MQTT"
158
+ }
136
159
  }
137
160
  }
@@ -213,6 +213,7 @@
213
213
  "unit_of_measurement": "\u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f"
214
214
  },
215
215
  "data_description": {
216
+ "device_class": "\u041a\u043b\u0430\u0441\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 {platform}. [\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435.]({url}#device_class)",
216
217
  "fan_feature_direction": "\u0412\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435.",
217
218
  "fan_feature_oscillation": "\u0412\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u044f.",
218
219
  "fan_feature_preset_modes": "\u0412\u0435\u043d\u0442\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0436\u0438\u043c\u044b.",
@@ -208,6 +208,7 @@
208
208
  "entity_platform_config": {
209
209
  "data": {
210
210
  "device_class": "Enhetsklass",
211
+ "entity_category": "Entitetskategori",
211
212
  "fan_feature_direction": "St\u00f6d f\u00f6r riktning",
212
213
  "fan_feature_oscillation": "St\u00f6d f\u00f6r oscillation",
213
214
  "fan_feature_preset_modes": "St\u00f6d f\u00f6r f\u00f6rinst\u00e4llningsl\u00e4gen",
@@ -802,6 +803,12 @@
802
803
  "switch": "Brytare"
803
804
  }
804
805
  },
806
+ "entity_category": {
807
+ "options": {
808
+ "config": "Konfiguration",
809
+ "diagnostic": "Diagnostisk"
810
+ }
811
+ },
805
812
  "light_schema": {
806
813
  "options": {
807
814
  "basic": "Standardschema",
@@ -902,5 +909,22 @@
902
909
  "description": "Laddar om MQTT-entiteter fr\u00e5n YAML-konfigurationen.",
903
910
  "name": "Ladda om"
904
911
  }
912
+ },
913
+ "triggers": {
914
+ "mqtt": {
915
+ "description": "N\u00e4r ett specifikt meddelande tas emot p\u00e5 ett visst MQTT-\u00e4mne.",
916
+ "description_configured": "N\u00e4r ett MQTT-meddelande har mottagits",
917
+ "fields": {
918
+ "payload": {
919
+ "description": "Nyttolasten att utl\u00f6sa p\u00e5.",
920
+ "name": "Nyttolast"
921
+ },
922
+ "topic": {
923
+ "description": "MQTT-\u00e4mne att lyssna p\u00e5.",
924
+ "name": "\u00c4mne"
925
+ }
926
+ },
927
+ "name": "MQTT"
928
+ }
905
929
  }
906
930
  }