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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. homeassistant/components/accuweather/translations/it.json +31 -6
  2. homeassistant/components/accuweather/translations/nl.json +4 -2
  3. homeassistant/components/ai_task/translations/nl.json +11 -1
  4. homeassistant/components/airgradient/translations/it.json +11 -1
  5. homeassistant/components/airzone/translations/it.json +1 -1
  6. homeassistant/components/airzone_cloud/translations/it.json +7 -0
  7. homeassistant/components/alexa_devices/translations/id.json +14 -0
  8. homeassistant/components/alexa_devices/translations/it.json +53 -0
  9. homeassistant/components/alexa_devices/translations/nl.json +23 -0
  10. homeassistant/components/altruist/translations/id.json +7 -0
  11. homeassistant/components/altruist/translations/it.json +51 -0
  12. homeassistant/components/anthropic/__init__.py +30 -0
  13. homeassistant/components/anthropic/config_flow.py +1 -0
  14. homeassistant/components/anthropic/translations/nl.json +1 -0
  15. homeassistant/components/aprilaire/translations/it.json +14 -14
  16. homeassistant/components/aquacell/translations/it.json +6 -1
  17. homeassistant/components/aranet/translations/it.json +9 -0
  18. homeassistant/components/assist_satellite/translations/es.json +1 -1
  19. homeassistant/components/assist_satellite/translations/it.json +30 -0
  20. homeassistant/components/automation/translations/it.json +2 -2
  21. homeassistant/components/baf/translations/it.json +11 -0
  22. homeassistant/components/balboa/translations/it.json +5 -1
  23. homeassistant/components/binary_sensor/translations/es.json +3 -3
  24. homeassistant/components/binary_sensor/translations/it.json +13 -6
  25. homeassistant/components/blue_current/translations/it.json +16 -0
  26. homeassistant/components/bmw_connected_drive/translations/it.json +7 -0
  27. homeassistant/components/bmw_connected_drive/translations/nl.json +57 -1
  28. homeassistant/components/calendar/translations/it.json +2 -2
  29. homeassistant/components/cambridge_audio/translations/it.json +2 -2
  30. homeassistant/components/camera/translations/it.json +2 -2
  31. homeassistant/components/climate/translations/it.json +20 -9
  32. homeassistant/components/comelit/translations/it.json +13 -0
  33. homeassistant/components/cover/translations/it.json +3 -1
  34. homeassistant/components/demo/translations/it.json +6 -3
  35. homeassistant/components/drop_connect/sensor.py +1 -1
  36. homeassistant/components/drop_connect/translations/it.json +12 -0
  37. homeassistant/components/drop_connect/translations/nl.json +5 -0
  38. homeassistant/components/dsmr/translations/it.json +5 -1
  39. homeassistant/components/dsmr_reader/translations/it.json +5 -1
  40. homeassistant/components/ecoforest/translations/it.json +2 -2
  41. homeassistant/components/ecovacs/translations/it.json +14 -0
  42. homeassistant/components/ecovacs/translations/nl.json +4 -0
  43. homeassistant/components/enphase_envoy/translations/bg.json +0 -1
  44. homeassistant/components/enphase_envoy/translations/cs.json +0 -1
  45. homeassistant/components/enphase_envoy/translations/el.json +0 -1
  46. homeassistant/components/enphase_envoy/translations/et.json +0 -1
  47. homeassistant/components/enphase_envoy/translations/hu.json +0 -1
  48. homeassistant/components/enphase_envoy/translations/it.json +3 -0
  49. homeassistant/components/enphase_envoy/translations/ja.json +0 -1
  50. homeassistant/components/enphase_envoy/translations/lt.json +0 -1
  51. homeassistant/components/enphase_envoy/translations/pt-BR.json +0 -1
  52. homeassistant/components/enphase_envoy/translations/pt.json +0 -1
  53. homeassistant/components/enphase_envoy/translations/ru.json +0 -1
  54. homeassistant/components/enphase_envoy/translations/sv.json +0 -1
  55. homeassistant/components/enphase_envoy/translations/tr.json +0 -1
  56. homeassistant/components/esphome/entity.py +1 -1
  57. homeassistant/components/esphome/sensor.py +3 -2
  58. homeassistant/components/ezviz/translations/nl.json +10 -0
  59. homeassistant/components/fan/translations/it.json +2 -2
  60. homeassistant/components/fan/translations/sv.json +1 -1
  61. homeassistant/components/flipr/translations/it.json +8 -0
  62. homeassistant/components/fronius/translations/it.json +4 -0
  63. homeassistant/components/frontend/manifest.json +1 -1
  64. homeassistant/components/fyta/translations/it.json +8 -0
  65. homeassistant/components/google_generative_ai_conversation/__init__.py +46 -0
  66. homeassistant/components/google_generative_ai_conversation/config_flow.py +1 -0
  67. homeassistant/components/google_generative_ai_conversation/translations/nl.json +3 -0
  68. homeassistant/components/google_mail/translations/it.json +7 -1
  69. homeassistant/components/google_photos/translations/it.json +6 -0
  70. homeassistant/components/google_sheets/translations/it.json +6 -0
  71. homeassistant/components/google_tasks/translations/it.json +3 -0
  72. homeassistant/components/group/translations/it.json +2 -2
  73. homeassistant/components/hive/translations/it.json +4 -3
  74. homeassistant/components/home_connect/translations/it.json +125 -30
  75. homeassistant/components/homeassistant/translations/it.json +3 -0
  76. homeassistant/components/homeassistant/translations/nl.json +1 -0
  77. homeassistant/components/homeassistant_hardware/translations/es.json +1 -0
  78. homeassistant/components/homeassistant_hardware/translations/it.json +2 -1
  79. homeassistant/components/homeassistant_hardware/translations/nl.json +4 -0
  80. homeassistant/components/homeassistant_hardware/translations/sk.json +1 -0
  81. homeassistant/components/homeassistant_hardware/translations/sv.json +1 -0
  82. homeassistant/components/homeassistant_hardware/translations/zh-Hans.json +1 -0
  83. homeassistant/components/homeassistant_hardware/translations/zh-Hant.json +1 -0
  84. homeassistant/components/homeassistant_sky_connect/translations/es.json +2 -0
  85. homeassistant/components/homeassistant_sky_connect/translations/it.json +2 -0
  86. homeassistant/components/homeassistant_sky_connect/translations/nl.json +4 -0
  87. homeassistant/components/homeassistant_sky_connect/translations/sk.json +2 -0
  88. homeassistant/components/homeassistant_sky_connect/translations/sv.json +2 -0
  89. homeassistant/components/homeassistant_sky_connect/translations/zh-Hans.json +2 -0
  90. homeassistant/components/homeassistant_sky_connect/translations/zh-Hant.json +2 -0
  91. homeassistant/components/homeassistant_yellow/translations/es.json +1 -0
  92. homeassistant/components/homeassistant_yellow/translations/it.json +1 -0
  93. homeassistant/components/homeassistant_yellow/translations/nl.json +2 -0
  94. homeassistant/components/homeassistant_yellow/translations/sk.json +1 -0
  95. homeassistant/components/homeassistant_yellow/translations/sv.json +1 -0
  96. homeassistant/components/homeassistant_yellow/translations/zh-Hans.json +1 -0
  97. homeassistant/components/homeassistant_yellow/translations/zh-Hant.json +1 -0
  98. homeassistant/components/homee/translations/it.json +54 -1
  99. homeassistant/components/homekit_controller/translations/it.json +4 -2
  100. homeassistant/components/homewizard/translations/it.json +15 -0
  101. homeassistant/components/huawei_lte/translations/it.json +5 -1
  102. homeassistant/components/humidifier/translations/it.json +6 -3
  103. homeassistant/components/husqvarna_automower/const.py +12 -0
  104. homeassistant/components/husqvarna_automower/lawn_mower.py +15 -5
  105. homeassistant/components/husqvarna_automower/sensor.py +2 -16
  106. homeassistant/components/husqvarna_automower/translations/it.json +3 -1
  107. homeassistant/components/husqvarna_automower/translations/nl.json +122 -2
  108. homeassistant/components/husqvarna_automower_ble/translations/nl.json +12 -0
  109. homeassistant/components/immich/translations/id.json +6 -0
  110. homeassistant/components/incomfort/translations/it.json +2 -1
  111. homeassistant/components/input_boolean/translations/it.json +2 -2
  112. homeassistant/components/iotty/translations/it.json +6 -0
  113. homeassistant/components/ipp/translations/it.json +2 -1
  114. homeassistant/components/iron_os/translations/it.json +12 -6
  115. homeassistant/components/jvc_projector/translations/it.json +2 -1
  116. homeassistant/components/knx/translations/it.json +3 -1
  117. homeassistant/components/lamarzocco/translations/it.json +5 -0
  118. homeassistant/components/lametric/translations/it.json +11 -1
  119. homeassistant/components/lawn_mower/translations/it.json +1 -0
  120. homeassistant/components/lektrico/translations/it.json +5 -1
  121. homeassistant/components/lg_thinq/translations/bg.json +1 -5
  122. homeassistant/components/lg_thinq/translations/cs.json +1 -3
  123. homeassistant/components/lg_thinq/translations/et.json +1 -3
  124. homeassistant/components/lg_thinq/translations/hu.json +1 -3
  125. homeassistant/components/lg_thinq/translations/it.json +77 -21
  126. homeassistant/components/lg_thinq/translations/ja.json +1 -5
  127. homeassistant/components/lg_thinq/translations/ko.json +1 -5
  128. homeassistant/components/lg_thinq/translations/lt.json +1 -3
  129. homeassistant/components/lg_thinq/translations/nl.json +1 -3
  130. homeassistant/components/lg_thinq/translations/pt-BR.json +1 -5
  131. homeassistant/components/lg_thinq/translations/pt.json +1 -3
  132. homeassistant/components/lg_thinq/translations/ru.json +1 -3
  133. homeassistant/components/lg_thinq/translations/sk.json +1 -1
  134. homeassistant/components/lg_thinq/translations/sv.json +1 -3
  135. homeassistant/components/lg_thinq/translations/tr.json +1 -5
  136. homeassistant/components/light/translations/it.json +6 -3
  137. homeassistant/components/litterrobot/translations/cs.json +0 -1
  138. homeassistant/components/litterrobot/translations/en-GB.json +0 -1
  139. homeassistant/components/litterrobot/translations/et.json +0 -1
  140. homeassistant/components/litterrobot/translations/ga.json +0 -1
  141. homeassistant/components/litterrobot/translations/hu.json +0 -1
  142. homeassistant/components/litterrobot/translations/it.json +14 -3
  143. homeassistant/components/litterrobot/translations/lt.json +0 -1
  144. homeassistant/components/litterrobot/translations/nl.json +0 -1
  145. homeassistant/components/litterrobot/translations/pt-BR.json +0 -1
  146. homeassistant/components/litterrobot/translations/pt.json +0 -1
  147. homeassistant/components/litterrobot/translations/ru.json +0 -1
  148. homeassistant/components/litterrobot/translations/sensor.it.json +1 -1
  149. homeassistant/components/litterrobot/translations/sk.json +0 -1
  150. homeassistant/components/litterrobot/translations/sv.json +0 -1
  151. homeassistant/components/litterrobot/translations/tr.json +0 -1
  152. homeassistant/components/litterrobot/translations/zh-Hans.json +0 -1
  153. homeassistant/components/lutron_caseta/translations/it.json +2 -2
  154. homeassistant/components/lyric/translations/it.json +9 -0
  155. homeassistant/components/matter/translations/id.json +5 -0
  156. homeassistant/components/matter/translations/it.json +69 -5
  157. homeassistant/components/meater/translations/it.json +12 -1
  158. homeassistant/components/media_player/translations/it.json +6 -5
  159. homeassistant/components/meteo_france/weather.py +9 -3
  160. homeassistant/components/metoffice/sensor.py +8 -7
  161. homeassistant/components/microbees/translations/it.json +6 -0
  162. homeassistant/components/miele/translations/it.json +9 -3
  163. homeassistant/components/monzo/translations/it.json +6 -0
  164. homeassistant/components/motionblinds_ble/translations/it.json +14 -1
  165. homeassistant/components/mqtt/config_flow.py +4 -5
  166. homeassistant/components/mqtt/translations/it.json +2 -1
  167. homeassistant/components/music_assistant/entity.py +1 -1
  168. homeassistant/components/music_assistant/manifest.json +1 -1
  169. homeassistant/components/music_assistant/media_browser.py +1 -7
  170. homeassistant/components/music_assistant/media_player.py +6 -6
  171. homeassistant/components/music_assistant/translations/it.json +7 -0
  172. homeassistant/components/myuplink/translations/it.json +6 -0
  173. homeassistant/components/nam/__init__.py +0 -9
  174. homeassistant/components/nam/config_flow.py +22 -43
  175. homeassistant/components/nam/manifest.json +1 -1
  176. homeassistant/components/nam/translations/it.json +57 -3
  177. homeassistant/components/nam/translations/nl.json +21 -1
  178. homeassistant/components/neato/translations/it.json +6 -0
  179. homeassistant/components/nest/translations/it.json +6 -0
  180. homeassistant/components/netatmo/translations/it.json +7 -0
  181. homeassistant/components/nextdns/translations/it.json +8 -0
  182. homeassistant/components/ntfy/translations/id.json +2 -1
  183. homeassistant/components/ntfy/translations/it.json +15 -1
  184. homeassistant/components/ntfy/translations/nl.json +2 -1
  185. homeassistant/components/nuki/translations/it.json +14 -0
  186. homeassistant/components/nut/translations/it.json +4 -3
  187. homeassistant/components/ohme/translations/it.json +6 -0
  188. homeassistant/components/ollama/__init__.py +30 -0
  189. homeassistant/components/ollama/config_flow.py +1 -0
  190. homeassistant/components/ollama/translations/nl.json +12 -1
  191. homeassistant/components/ondilo_ico/translations/it.json +6 -0
  192. homeassistant/components/onedrive/translations/it.json +15 -0
  193. homeassistant/components/openai_conversation/__init__.py +30 -0
  194. homeassistant/components/openai_conversation/config_flow.py +1 -0
  195. homeassistant/components/openai_conversation/translations/it.json +16 -0
  196. homeassistant/components/openai_conversation/translations/nl.json +2 -1
  197. homeassistant/components/opentherm_gw/translations/es.json +3 -0
  198. homeassistant/components/opentherm_gw/translations/it.json +5 -0
  199. homeassistant/components/opentherm_gw/translations/nl.json +5 -0
  200. homeassistant/components/opentherm_gw/translations/sk.json +3 -0
  201. homeassistant/components/opentherm_gw/translations/sv.json +3 -0
  202. homeassistant/components/opentherm_gw/translations/zh-Hans.json +3 -0
  203. homeassistant/components/opentherm_gw/translations/zh-Hant.json +3 -0
  204. homeassistant/components/openuv/translations/it.json +4 -1
  205. homeassistant/components/osoenergy/translations/it.json +14 -0
  206. homeassistant/components/overkiz/translations/ca.json +0 -5
  207. homeassistant/components/overkiz/translations/cs.json +0 -1
  208. homeassistant/components/overkiz/translations/el.json +0 -1
  209. homeassistant/components/overkiz/translations/et.json +0 -1
  210. homeassistant/components/overkiz/translations/fi.json +0 -5
  211. homeassistant/components/overkiz/translations/fr.json +0 -1
  212. homeassistant/components/overkiz/translations/hu.json +0 -1
  213. homeassistant/components/overkiz/translations/id.json +0 -1
  214. homeassistant/components/overkiz/translations/it.json +11 -2
  215. homeassistant/components/overkiz/translations/ja.json +0 -5
  216. homeassistant/components/overkiz/translations/ko.json +0 -5
  217. homeassistant/components/overkiz/translations/lt.json +0 -1
  218. homeassistant/components/overkiz/translations/lv.json +0 -5
  219. homeassistant/components/overkiz/translations/nb.json +0 -5
  220. homeassistant/components/overkiz/translations/nl.json +0 -1
  221. homeassistant/components/overkiz/translations/pl.json +0 -5
  222. homeassistant/components/overkiz/translations/pt-BR.json +0 -5
  223. homeassistant/components/overkiz/translations/pt.json +0 -1
  224. homeassistant/components/overkiz/translations/ro.json +0 -5
  225. homeassistant/components/overkiz/translations/ru.json +0 -1
  226. homeassistant/components/overkiz/translations/sv.json +0 -1
  227. homeassistant/components/overkiz/translations/tr.json +0 -5
  228. homeassistant/components/overkiz/translations/uk.json +0 -5
  229. homeassistant/components/overkiz/translations/zh-Hans.json +0 -1
  230. homeassistant/components/palazzetti/translations/it.json +4 -0
  231. homeassistant/components/paperless_ngx/translations/it.json +50 -0
  232. homeassistant/components/peblar/translations/it.json +3 -1
  233. homeassistant/components/playstation_network/manifest.json +15 -0
  234. homeassistant/components/playstation_network/translations/nl.json +29 -0
  235. homeassistant/components/plugwise/translations/it.json +12 -3
  236. homeassistant/components/point/translations/it.json +6 -0
  237. homeassistant/components/prusalink/translations/it.json +3 -1
  238. homeassistant/components/qbittorrent/translations/it.json +6 -0
  239. homeassistant/components/qbus/translations/nl.json +17 -0
  240. homeassistant/components/remote/translations/it.json +2 -2
  241. homeassistant/components/renault/translations/it.json +1 -0
  242. homeassistant/components/renson/translations/it.json +4 -4
  243. homeassistant/components/renson/translations/nl.json +85 -18
  244. homeassistant/components/reolink/translations/it.json +28 -13
  245. homeassistant/components/rfxtrx/translations/it.json +4 -1
  246. homeassistant/components/roborock/translations/it.json +11 -2
  247. homeassistant/components/romy/translations/it.json +13 -0
  248. homeassistant/components/russound_rio/translations/it.json +21 -0
  249. homeassistant/components/samsungtv/translations/nl.json +24 -1
  250. homeassistant/components/schedule/translations/it.json +2 -2
  251. homeassistant/components/schlage/translations/it.json +1 -0
  252. homeassistant/components/script/translations/it.json +2 -2
  253. homeassistant/components/sensibo/translations/it.json +43 -28
  254. homeassistant/components/sensor/translations/it.json +2 -2
  255. homeassistant/components/senz/translations/it.json +6 -0
  256. homeassistant/components/shelly/translations/it.json +5 -2
  257. homeassistant/components/siren/translations/it.json +2 -2
  258. homeassistant/components/sleepiq/translations/it.json +12 -0
  259. homeassistant/components/smappee/translations/it.json +6 -0
  260. homeassistant/components/smartthings/translations/it.json +40 -11
  261. homeassistant/components/snoo/translations/it.json +16 -0
  262. homeassistant/components/solaredge/translations/nl.json +42 -0
  263. homeassistant/components/spotify/translations/it.json +6 -0
  264. homeassistant/components/sun/translations/nl.json +6 -0
  265. homeassistant/components/switch/translations/it.json +6 -6
  266. homeassistant/components/switch/translations/sv.json +1 -1
  267. homeassistant/components/switchbot/translations/cs.json +0 -1
  268. homeassistant/components/switchbot/translations/es.json +1 -1
  269. homeassistant/components/switchbot/translations/et.json +0 -1
  270. homeassistant/components/switchbot/translations/hu.json +0 -1
  271. homeassistant/components/switchbot/translations/it.json +10 -1
  272. homeassistant/components/switchbot/translations/ja.json +1 -4
  273. homeassistant/components/switchbot/translations/mk.json +1 -4
  274. homeassistant/components/switchbot/translations/nl.json +25 -2
  275. homeassistant/components/switchbot/translations/pt.json +0 -1
  276. homeassistant/components/switchbot/translations/ru.json +0 -1
  277. homeassistant/components/switchbot/translations/sk.json +0 -1
  278. homeassistant/components/switchbot/translations/sv.json +0 -1
  279. homeassistant/components/switchbot/translations/zh-Hant.json +0 -1
  280. homeassistant/components/tado/translations/it.json +11 -0
  281. homeassistant/components/telegram_bot/config_flow.py +4 -7
  282. homeassistant/components/telegram_bot/translations/it.json +28 -1
  283. homeassistant/components/telegram_bot/translations/nl.json +30 -0
  284. homeassistant/components/tesla_fleet/translations/ca.json +0 -3
  285. homeassistant/components/tesla_fleet/translations/cs.json +0 -3
  286. homeassistant/components/tesla_fleet/translations/el.json +0 -3
  287. homeassistant/components/tesla_fleet/translations/en-GB.json +0 -3
  288. homeassistant/components/tesla_fleet/translations/en.json +1 -1
  289. homeassistant/components/tesla_fleet/translations/es.json +1 -1
  290. homeassistant/components/tesla_fleet/translations/et.json +0 -3
  291. homeassistant/components/tesla_fleet/translations/fy.json +0 -3
  292. homeassistant/components/tesla_fleet/translations/hu.json +0 -3
  293. homeassistant/components/tesla_fleet/translations/it.json +78 -12
  294. homeassistant/components/tesla_fleet/translations/ja.json +0 -3
  295. homeassistant/components/tesla_fleet/translations/lt.json +0 -3
  296. homeassistant/components/tesla_fleet/translations/pt.json +0 -3
  297. homeassistant/components/tesla_fleet/translations/ru.json +0 -3
  298. homeassistant/components/tesla_fleet/translations/sk.json +1 -1
  299. homeassistant/components/tesla_fleet/translations/sv.json +0 -3
  300. homeassistant/components/tesla_fleet/translations/tr.json +0 -3
  301. homeassistant/components/tesla_fleet/translations/zh-Hans.json +0 -3
  302. homeassistant/components/tesla_wall_connector/translations/it.json +2 -1
  303. homeassistant/components/teslemetry/translations/it.json +149 -11
  304. homeassistant/components/teslemetry/translations/nl.json +6 -3
  305. homeassistant/components/tessie/translations/it.json +49 -11
  306. homeassistant/components/tilt_pi/translations/id.json +10 -0
  307. homeassistant/components/tilt_pi/translations/it.json +31 -0
  308. homeassistant/components/tolo/translations/it.json +2 -1
  309. homeassistant/components/tomorrowio/translations/it.json +22 -4
  310. homeassistant/components/toon/translations/it.json +6 -0
  311. homeassistant/components/tplink_omada/translations/it.json +1 -0
  312. homeassistant/components/traccar_server/translations/it.json +1 -0
  313. homeassistant/components/tuya/translations/it.json +17 -9
  314. homeassistant/components/tuya/translations/select.it.json +5 -5
  315. homeassistant/components/twinkly/translations/it.json +1 -1
  316. homeassistant/components/unifi/translations/nl.json +3 -1
  317. homeassistant/components/unifiprotect/translations/nl.json +284 -1
  318. homeassistant/components/vacuum/translations/it.json +3 -2
  319. homeassistant/components/vacuum/translations/sv.json +1 -1
  320. homeassistant/components/vallox/translations/it.json +3 -1
  321. homeassistant/components/valve/translations/it.json +2 -1
  322. homeassistant/components/vegehub/translations/nl.json +3 -0
  323. homeassistant/components/venstar/translations/it.json +5 -0
  324. homeassistant/components/vesync/translations/it.json +19 -0
  325. homeassistant/components/vicare/translations/it.json +21 -2
  326. homeassistant/components/voip/manifest.json +1 -1
  327. homeassistant/components/wallbox/translations/it.json +12 -0
  328. homeassistant/components/water_heater/translations/it.json +3 -3
  329. homeassistant/components/webdav/config_flow.py +7 -1
  330. homeassistant/components/webdav/strings.json +1 -3
  331. homeassistant/components/webdav/translations/cs.json +0 -3
  332. homeassistant/components/webdav/translations/de.json +1 -3
  333. homeassistant/components/webdav/translations/en-GB.json +0 -3
  334. homeassistant/components/webdav/translations/en.json +1 -3
  335. homeassistant/components/webdav/translations/es.json +1 -3
  336. homeassistant/components/webdav/translations/et.json +0 -3
  337. homeassistant/components/webdav/translations/fr.json +0 -3
  338. homeassistant/components/webdav/translations/ga.json +0 -3
  339. homeassistant/components/webdav/translations/hu.json +0 -3
  340. homeassistant/components/webdav/translations/it.json +1 -0
  341. homeassistant/components/webdav/translations/ja.json +0 -3
  342. homeassistant/components/webdav/translations/lt.json +0 -3
  343. homeassistant/components/webdav/translations/nl.json +0 -3
  344. homeassistant/components/webdav/translations/pt-BR.json +0 -3
  345. homeassistant/components/webdav/translations/pt.json +0 -3
  346. homeassistant/components/webdav/translations/ru.json +0 -3
  347. homeassistant/components/webdav/translations/sk.json +1 -3
  348. homeassistant/components/webdav/translations/sl.json +0 -5
  349. homeassistant/components/webdav/translations/sv.json +0 -3
  350. homeassistant/components/webdav/translations/tr.json +0 -3
  351. homeassistant/components/webdav/translations/zh-Hans.json +0 -3
  352. homeassistant/components/webdav/translations/zh-Hant.json +1 -3
  353. homeassistant/components/weheat/translations/it.json +6 -0
  354. homeassistant/components/whirlpool/translations/ca.json +0 -1
  355. homeassistant/components/whirlpool/translations/cs.json +0 -1
  356. homeassistant/components/whirlpool/translations/el.json +0 -1
  357. homeassistant/components/whirlpool/translations/et.json +0 -1
  358. homeassistant/components/whirlpool/translations/fi.json +0 -1
  359. homeassistant/components/whirlpool/translations/fr.json +0 -1
  360. homeassistant/components/whirlpool/translations/hu.json +0 -1
  361. homeassistant/components/whirlpool/translations/id.json +0 -1
  362. homeassistant/components/whirlpool/translations/it.json +1 -1
  363. homeassistant/components/whirlpool/translations/ja.json +0 -1
  364. homeassistant/components/whirlpool/translations/ko.json +0 -1
  365. homeassistant/components/whirlpool/translations/lt.json +0 -1
  366. homeassistant/components/whirlpool/translations/lv.json +0 -1
  367. homeassistant/components/whirlpool/translations/nb.json +0 -1
  368. homeassistant/components/whirlpool/translations/nl.json +0 -1
  369. homeassistant/components/whirlpool/translations/pl.json +0 -1
  370. homeassistant/components/whirlpool/translations/pt-BR.json +0 -1
  371. homeassistant/components/whirlpool/translations/pt.json +0 -1
  372. homeassistant/components/whirlpool/translations/ro.json +0 -1
  373. homeassistant/components/whirlpool/translations/ru.json +0 -1
  374. homeassistant/components/whirlpool/translations/sv.json +0 -1
  375. homeassistant/components/whirlpool/translations/tr.json +0 -1
  376. homeassistant/components/whirlpool/translations/uk.json +0 -1
  377. homeassistant/components/whirlpool/translations/zh-Hans.json +0 -1
  378. homeassistant/components/whirlpool/translations/zh-Hant.json +1 -1
  379. homeassistant/components/withings/translations/it.json +15 -1
  380. homeassistant/components/wled/translations/it.json +2 -2
  381. homeassistant/components/wolflink/translations/it.json +5 -0
  382. homeassistant/components/wyoming/translations/it.json +1 -1
  383. homeassistant/components/xbox/translations/it.json +6 -0
  384. homeassistant/components/xiaomi_miio/translations/it.json +11 -2
  385. homeassistant/components/yale/translations/it.json +6 -0
  386. homeassistant/components/yale_smart_alarm/translations/it.json +3 -1
  387. homeassistant/components/yamaha/translations/it.json +1 -1
  388. homeassistant/components/yamaha_musiccast/__init__.py +3 -2
  389. homeassistant/components/yamaha_musiccast/config_flow.py +5 -4
  390. homeassistant/components/yamaha_musiccast/translations/it.json +13 -3
  391. homeassistant/components/yeelight/translations/it.json +2 -1
  392. homeassistant/components/yolink/translations/it.json +16 -4
  393. homeassistant/components/zha/translations/it.json +18 -1
  394. homeassistant/components/zha/translations/nl.json +34 -0
  395. homeassistant/components/zwave_js/translations/nl.json +28 -1
  396. homeassistant/const.py +1 -1
  397. homeassistant/generated/dhcp.py +20 -0
  398. homeassistant/package_constraints.txt +1 -1
  399. {homeassistant-2025.7.0b5.dist-info → homeassistant-2025.7.0b7.dist-info}/METADATA +1 -1
  400. {homeassistant-2025.7.0b5.dist-info → homeassistant-2025.7.0b7.dist-info}/RECORD +405 -401
  401. {homeassistant-2025.7.0b5.dist-info → homeassistant-2025.7.0b7.dist-info}/WHEEL +0 -0
  402. {homeassistant-2025.7.0b5.dist-info → homeassistant-2025.7.0b7.dist-info}/entry_points.txt +0 -0
  403. {homeassistant-2025.7.0b5.dist-info → homeassistant-2025.7.0b7.dist-info}/licenses/LICENSE.md +0 -0
  404. {homeassistant-2025.7.0b5.dist-info → homeassistant-2025.7.0b7.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
  405. {homeassistant-2025.7.0b5.dist-info → homeassistant-2025.7.0b7.dist-info}/top_level.txt +0 -0
@@ -3,7 +3,6 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from collections.abc import Mapping
6
- from dataclasses import dataclass
7
6
  import logging
8
7
  from typing import Any
9
8
 
@@ -26,15 +25,6 @@ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo
26
25
 
27
26
  from .const import DOMAIN
28
27
 
29
-
30
- @dataclass
31
- class NamConfig:
32
- """NAM device configuration class."""
33
-
34
- mac_address: str
35
- auth_enabled: bool
36
-
37
-
38
28
  _LOGGER = logging.getLogger(__name__)
39
29
 
40
30
  AUTH_SCHEMA = vol.Schema(
@@ -42,29 +32,14 @@ AUTH_SCHEMA = vol.Schema(
42
32
  )
43
33
 
44
34
 
45
- async def async_get_config(hass: HomeAssistant, host: str) -> NamConfig:
46
- """Get device MAC address and auth_enabled property."""
47
- websession = async_get_clientsession(hass)
48
-
49
- options = ConnectionOptions(host)
50
- nam = await NettigoAirMonitor.create(websession, options)
51
-
52
- mac = await nam.async_get_mac_address()
53
-
54
- return NamConfig(mac, nam.auth_enabled)
55
-
56
-
57
- async def async_check_credentials(
35
+ async def async_get_nam(
58
36
  hass: HomeAssistant, host: str, data: dict[str, Any]
59
- ) -> None:
60
- """Check if credentials are valid."""
37
+ ) -> NettigoAirMonitor:
38
+ """Get NAM client."""
61
39
  websession = async_get_clientsession(hass)
62
-
63
40
  options = ConnectionOptions(host, data.get(CONF_USERNAME), data.get(CONF_PASSWORD))
64
41
 
65
- nam = await NettigoAirMonitor.create(websession, options)
66
-
67
- await nam.async_check_credentials()
42
+ return await NettigoAirMonitor.create(websession, options)
68
43
 
69
44
 
70
45
  class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
@@ -72,8 +47,8 @@ class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
72
47
 
73
48
  VERSION = 1
74
49
 
75
- _config: NamConfig
76
50
  host: str
51
+ auth_enabled: bool = False
77
52
 
78
53
  async def async_step_user(
79
54
  self, user_input: dict[str, Any] | None = None
@@ -85,21 +60,20 @@ class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
85
60
  self.host = user_input[CONF_HOST]
86
61
 
87
62
  try:
88
- config = await async_get_config(self.hass, self.host)
63
+ nam = await async_get_nam(self.hass, self.host, {})
89
64
  except (ApiError, ClientConnectorError, TimeoutError):
90
65
  errors["base"] = "cannot_connect"
91
66
  except CannotGetMacError:
92
67
  return self.async_abort(reason="device_unsupported")
68
+ except AuthFailedError:
69
+ return await self.async_step_credentials()
93
70
  except Exception:
94
71
  _LOGGER.exception("Unexpected exception")
95
72
  errors["base"] = "unknown"
96
73
  else:
97
- await self.async_set_unique_id(format_mac(config.mac_address))
74
+ await self.async_set_unique_id(format_mac(nam.mac))
98
75
  self._abort_if_unique_id_configured({CONF_HOST: self.host})
99
76
 
100
- if config.auth_enabled is True:
101
- return await self.async_step_credentials()
102
-
103
77
  return self.async_create_entry(
104
78
  title=self.host,
105
79
  data=user_input,
@@ -119,7 +93,7 @@ class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
119
93
 
120
94
  if user_input is not None:
121
95
  try:
122
- await async_check_credentials(self.hass, self.host, user_input)
96
+ nam = await async_get_nam(self.hass, self.host, user_input)
123
97
  except AuthFailedError:
124
98
  errors["base"] = "invalid_auth"
125
99
  except (ApiError, ClientConnectorError, TimeoutError):
@@ -128,6 +102,9 @@ class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
128
102
  _LOGGER.exception("Unexpected exception")
129
103
  errors["base"] = "unknown"
130
104
  else:
105
+ await self.async_set_unique_id(format_mac(nam.mac))
106
+ self._abort_if_unique_id_configured({CONF_HOST: self.host})
107
+
131
108
  return self.async_create_entry(
132
109
  title=self.host,
133
110
  data={**user_input, CONF_HOST: self.host},
@@ -148,14 +125,16 @@ class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
148
125
  self._async_abort_entries_match({CONF_HOST: self.host})
149
126
 
150
127
  try:
151
- self._config = await async_get_config(self.hass, self.host)
128
+ nam = await async_get_nam(self.hass, self.host, {})
152
129
  except (ApiError, ClientConnectorError, TimeoutError):
153
130
  return self.async_abort(reason="cannot_connect")
154
131
  except CannotGetMacError:
155
132
  return self.async_abort(reason="device_unsupported")
133
+ except AuthFailedError:
134
+ self.auth_enabled = True
135
+ return await self.async_step_confirm_discovery()
156
136
 
157
- await self.async_set_unique_id(format_mac(self._config.mac_address))
158
- self._abort_if_unique_id_configured({CONF_HOST: self.host})
137
+ await self.async_set_unique_id(format_mac(nam.mac))
159
138
 
160
139
  return await self.async_step_confirm_discovery()
161
140
 
@@ -171,7 +150,7 @@ class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
171
150
  data={CONF_HOST: self.host},
172
151
  )
173
152
 
174
- if self._config.auth_enabled is True:
153
+ if self.auth_enabled is True:
175
154
  return await self.async_step_credentials()
176
155
 
177
156
  self._set_confirm_only()
@@ -198,7 +177,7 @@ class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
198
177
 
199
178
  if user_input is not None:
200
179
  try:
201
- await async_check_credentials(self.hass, self.host, user_input)
180
+ await async_get_nam(self.hass, self.host, user_input)
202
181
  except (
203
182
  ApiError,
204
183
  AuthFailedError,
@@ -228,11 +207,11 @@ class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
228
207
 
229
208
  if user_input is not None:
230
209
  try:
231
- config = await async_get_config(self.hass, user_input[CONF_HOST])
210
+ nam = await async_get_nam(self.hass, user_input[CONF_HOST], {})
232
211
  except (ApiError, ClientConnectorError, TimeoutError):
233
212
  errors["base"] = "cannot_connect"
234
213
  else:
235
- await self.async_set_unique_id(format_mac(config.mac_address))
214
+ await self.async_set_unique_id(format_mac(nam.mac))
236
215
  self._abort_if_unique_id_mismatch(reason="another_device")
237
216
 
238
217
  return self.async_update_reload_and_abort(
@@ -7,7 +7,7 @@
7
7
  "integration_type": "device",
8
8
  "iot_class": "local_polling",
9
9
  "loggers": ["nettigo_air_monitor"],
10
- "requirements": ["nettigo-air-monitor==4.1.0"],
10
+ "requirements": ["nettigo-air-monitor==5.0.0"],
11
11
  "zeroconf": [
12
12
  {
13
13
  "type": "_http._tcp.local.",
@@ -96,7 +96,25 @@
96
96
  "name": "PMSx003 indice comune di qualit\u00e0 dell'aria"
97
97
  },
98
98
  "pmsx003_caqi_level": {
99
- "name": "PMSx003 livello comune dell'indice di qualit\u00e0 dell'aria"
99
+ "name": "PMSx003 livello comune dell'indice di qualit\u00e0 dell'aria",
100
+ "state": {
101
+ "high": "Alto/a",
102
+ "low": "Basso/a",
103
+ "medium": "Medio/a",
104
+ "very_high": "Molto alto/a",
105
+ "very_low": "Molto basso/a"
106
+ },
107
+ "state_attributes": {
108
+ "options": {
109
+ "state": {
110
+ "high": "Alto/a",
111
+ "low": "Basso/a",
112
+ "medium": "Medio/a",
113
+ "very_high": "Molto alto/a",
114
+ "very_low": "Molto basso/a"
115
+ }
116
+ }
117
+ }
100
118
  },
101
119
  "pmsx003_pm1": {
102
120
  "name": "PMSx003 PM1"
@@ -111,7 +129,25 @@
111
129
  "name": "SDS011 indice di qualit\u00e0 dell'aria comune"
112
130
  },
113
131
  "sds011_caqi_level": {
114
- "name": "SDS011 livello dell'indice di qualit\u00e0 dell'aria comune"
132
+ "name": "SDS011 livello dell'indice di qualit\u00e0 dell'aria comune",
133
+ "state": {
134
+ "high": "Alto/a",
135
+ "low": "Basso/a",
136
+ "medium": "Medio/a",
137
+ "very_high": "Molto alto/a",
138
+ "very_low": "Molto basso/a"
139
+ },
140
+ "state_attributes": {
141
+ "options": {
142
+ "state": {
143
+ "high": "Alto/a",
144
+ "low": "Basso/a",
145
+ "medium": "Medio/a",
146
+ "very_high": "Molto alto/a",
147
+ "very_low": "Molto basso/a"
148
+ }
149
+ }
150
+ }
115
151
  },
116
152
  "sds011_pm10": {
117
153
  "name": "SDS011 PM10"
@@ -129,7 +165,25 @@
129
165
  "name": "Indice comune di qualit\u00e0 dell'aria SPS30"
130
166
  },
131
167
  "sps30_caqi_level": {
132
- "name": "Livello comune dell'indice di qualit\u00e0 dell'aria SPS30"
168
+ "name": "Livello comune dell'indice di qualit\u00e0 dell'aria SPS30",
169
+ "state": {
170
+ "high": "Alto/a",
171
+ "low": "Basso/a",
172
+ "medium": "Medio/a",
173
+ "very_high": "Molto alto/a",
174
+ "very_low": "Molto basso/a"
175
+ },
176
+ "state_attributes": {
177
+ "options": {
178
+ "state": {
179
+ "high": "Alto/a",
180
+ "low": "Basso/a",
181
+ "medium": "Medio/a",
182
+ "very_high": "Molto alto/a",
183
+ "very_low": "Molto basso/a"
184
+ }
185
+ }
186
+ }
133
187
  },
134
188
  "sps30_pm1": {
135
189
  "name": "SPS30 PM1"
@@ -106,6 +106,15 @@
106
106
  "medium": "Gemiddeld",
107
107
  "very_high": "Zeer hoog",
108
108
  "very_low": "Zeer laag"
109
+ },
110
+ "state_attributes": {
111
+ "options": {
112
+ "state": {
113
+ "high": "Hoog",
114
+ "low": "Laag",
115
+ "medium": "Gemiddeld"
116
+ }
117
+ }
109
118
  }
110
119
  },
111
120
  "pmsx003_pm1": {
@@ -139,7 +148,18 @@
139
148
  "name": "SPS30 algemene luchtkwaliteitsindex"
140
149
  },
141
150
  "sps30_caqi_level": {
142
- "name": "SPS30 algemene luchtkwaliteitsindex niveau"
151
+ "name": "SPS30 algemene luchtkwaliteitsindex niveau",
152
+ "state_attributes": {
153
+ "options": {
154
+ "state": {
155
+ "high": "Hoog",
156
+ "low": "Laag",
157
+ "medium": "Gemiddeld",
158
+ "very_high": "Zeer hoog",
159
+ "very_low": "Zeer laag"
160
+ }
161
+ }
162
+ }
143
163
  },
144
164
  "sps30_pm1": {
145
165
  "name": "SPS30 PM1"
@@ -16,6 +16,12 @@
16
16
  },
17
17
  "step": {
18
18
  "pick_implementation": {
19
+ "data": {
20
+ "implementation": "Credenziali dell'applicazione"
21
+ },
22
+ "data_description": {
23
+ "implementation": "Le credenziali che desideri utilizzare per l'autenticazione."
24
+ },
19
25
  "title": "Scegli il metodo di autenticazione"
20
26
  },
21
27
  "reauth_confirm": {
@@ -44,6 +44,12 @@
44
44
  "title": "Nest: crea un progetto di accesso al dispositivo"
45
45
  },
46
46
  "pick_implementation": {
47
+ "data": {
48
+ "implementation": "Credenziali dell'applicazione"
49
+ },
50
+ "data_description": {
51
+ "implementation": "Le credenziali che desideri utilizzare per l'autenticazione."
52
+ },
47
53
  "title": "Scegli il metodo di autenticazione"
48
54
  },
49
55
  "pubsub_topic_confirm": {
@@ -16,6 +16,12 @@
16
16
  },
17
17
  "step": {
18
18
  "pick_implementation": {
19
+ "data": {
20
+ "implementation": "Credenziali dell'applicazione"
21
+ },
22
+ "data_description": {
23
+ "implementation": "Le credenziali che desideri utilizzare per l'autenticazione."
24
+ },
19
25
  "title": "Scegli il metodo di autenticazione"
20
26
  },
21
27
  "reauth_confirm": {
@@ -53,6 +59,7 @@
53
59
  "preset_mode": {
54
60
  "state": {
55
61
  "frost_guard": "Protezione antigelo",
62
+ "manual": "Manuale",
56
63
  "schedule": "Pianificazione"
57
64
  }
58
65
  }
@@ -10,6 +10,14 @@
10
10
  "unknown": "Errore imprevisto"
11
11
  },
12
12
  "step": {
13
+ "profiles": {
14
+ "data": {
15
+ "profile_name": "Profilo"
16
+ },
17
+ "data_description": {
18
+ "profile_name": "Il profilo di configurazione NextDNS che si desidera integrare"
19
+ }
20
+ },
13
21
  "reauth_confirm": {
14
22
  "data": {
15
23
  "api_key": "Chiave API"
@@ -2,7 +2,8 @@
2
2
  "config": {
3
3
  "abort": {
4
4
  "already_configured": "Layanan sudah dikonfigurasi",
5
- "reauth_successful": "Autentikasi ulang berhasil"
5
+ "reauth_successful": "Autentikasi ulang berhasil",
6
+ "reconfigure_successful": "Konfigurasi ulang berhasil"
6
7
  },
7
8
  "error": {
8
9
  "cannot_connect": "Gagal terhubung",
@@ -5,7 +5,8 @@
5
5
  },
6
6
  "config": {
7
7
  "abort": {
8
- "already_configured": "Il servizio \u00e8 gi\u00e0 configurato"
8
+ "already_configured": "Il servizio \u00e8 gi\u00e0 configurato",
9
+ "reconfigure_successful": "La riconfigurazione \u00e8 stata completata con successo"
9
10
  },
10
11
  "error": {
11
12
  "cannot_connect": "Impossibile connettersi",
@@ -13,6 +14,19 @@
13
14
  "unknown": "Errore imprevisto"
14
15
  },
15
16
  "step": {
17
+ "reconfigure": {
18
+ "data": {
19
+ "password": "Password",
20
+ "token": "Token di accesso",
21
+ "username": "Nome utente"
22
+ }
23
+ },
24
+ "reconfigure_user": {
25
+ "data": {
26
+ "password": "Password",
27
+ "token": "Token di accesso"
28
+ }
29
+ },
16
30
  "user": {
17
31
  "sections": {
18
32
  "auth": {
@@ -20,7 +20,8 @@
20
20
  "token": "Toegangscode"
21
21
  },
22
22
  "data_description": {
23
- "password": "Voer het wachtwoord in dat overeenkomt met de bovengenoemde gebruikersnaam om automatisch een toegangstoken aan te maken"
23
+ "password": "Voer het wachtwoord in dat overeenkomt met de bovengenoemde gebruikersnaam om automatisch een toegangstoken aan te maken",
24
+ "token": "Voer een nieuw toegangstoken in. Om een nieuw toegangstoken aan te maken navigeer je naar Account \u2192 Toegangstokens en klik je op Toegangstoken aanmaken"
24
25
  },
25
26
  "description": "Het toegangstoken voor **{username}** is ongeldig. Om opnieuw te authenticeren bij de ntfy service, kan je inloggen met je wachtwoord (een nieuw toegangstoken zal dan automatisch worden aangemaakt) of je kan direct een geldig toegangstoken opgeven",
26
27
  "title": "Opnieuw authenticeren met ntfy ({name})"
@@ -31,6 +31,20 @@
31
31
  }
32
32
  }
33
33
  },
34
+ "entity": {
35
+ "lock": {
36
+ "nuki_lock": {
37
+ "state_attributes": {
38
+ "battery_critical": {
39
+ "state": {
40
+ "off": "Normale",
41
+ "on": "Basso/a"
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ },
34
48
  "issues": {
35
49
  "https_webhook": {
36
50
  "description": "Il bridge Nuki non pu\u00f2 inviare eventi a un indirizzo HTTPS (SSL), per favore configura un indirizzo HTTP (locale) in \"Home Assistant URL\" nelle [impostazioni di rete]({network_link}). L'indirizzo (locale) corrente \u00e8: `{base_url}`, un indirizzo valido potrebbe essere, ad esempio, `http://192.168.1.10:8123` dove `192.168.1.10` \u00e8 l'IP del dispositivo Home Assistant",
@@ -118,9 +118,10 @@
118
118
  "name": "Stato di carica",
119
119
  "state": {
120
120
  "charging": "In carica",
121
- "disabled": "Disabilitato",
121
+ "disabled": "Disabilitato/a",
122
122
  "discharging": "In scaricamento",
123
123
  "floating": "Galleggiante",
124
+ "off": "Spento/a",
124
125
  "resting": "In riposo",
125
126
  "unknown": "Sconosciuto"
126
127
  }
@@ -347,8 +348,8 @@
347
348
  "ups_beeper_status": {
348
349
  "name": "Stato del segnalatore acustico",
349
350
  "state": {
350
- "disabled": "Disabilitato",
351
- "enabled": "Abilitato",
351
+ "disabled": "Disabilitato/a",
352
+ "enabled": "Abilitato/a",
352
353
  "muted": "Silenziato"
353
354
  }
354
355
  },
@@ -26,6 +26,11 @@
26
26
  },
27
27
  "entity": {
28
28
  "select": {
29
+ "charge_mode": {
30
+ "state": {
31
+ "paused": "In pausa"
32
+ }
33
+ },
29
34
  "vehicle": {
30
35
  "name": "Veicolo"
31
36
  }
@@ -34,6 +39,7 @@
34
39
  "status": {
35
40
  "name": "Stato",
36
41
  "state": {
42
+ "charging": "In carica",
37
43
  "paused": "In pausa",
38
44
  "pending_approval": "In attesa di approvazione"
39
45
  }
@@ -148,4 +148,34 @@ async def async_migrate_integration(hass: HomeAssistant) -> None:
148
148
  title=DEFAULT_NAME,
149
149
  options={},
150
150
  version=2,
151
+ minor_version=2,
151
152
  )
153
+
154
+
155
+ async def async_migrate_entry(hass: HomeAssistant, entry: OllamaConfigEntry) -> bool:
156
+ """Migrate entry."""
157
+ _LOGGER.debug("Migrating from version %s:%s", entry.version, entry.minor_version)
158
+
159
+ if entry.version > 2:
160
+ # This means the user has downgraded from a future version
161
+ return False
162
+
163
+ if entry.version == 2 and entry.minor_version == 1:
164
+ # Correct broken device migration in Home Assistant Core 2025.7.0b0-2025.7.0b1
165
+ device_registry = dr.async_get(hass)
166
+ for device in dr.async_entries_for_config_entry(
167
+ device_registry, entry.entry_id
168
+ ):
169
+ device_registry.async_update_device(
170
+ device.id,
171
+ remove_config_entry_id=entry.entry_id,
172
+ remove_config_subentry_id=None,
173
+ )
174
+
175
+ hass.config_entries.async_update_entry(entry, minor_version=2)
176
+
177
+ _LOGGER.debug(
178
+ "Migration to version %s:%s successful", entry.version, entry.minor_version
179
+ )
180
+
181
+ return True
@@ -73,6 +73,7 @@ class OllamaConfigFlow(ConfigFlow, domain=DOMAIN):
73
73
  """Handle a config flow for Ollama."""
74
74
 
75
75
  VERSION = 2
76
+ MINOR_VERSION = 2
76
77
 
77
78
  def __init__(self) -> None:
78
79
  """Initialize config flow."""
@@ -23,8 +23,19 @@
23
23
  "step": {
24
24
  "set_options": {
25
25
  "data": {
26
+ "keep_alive": "Behouden",
26
27
  "llm_hass_api": "Beheer Home Assistant",
27
- "name": "Naam"
28
+ "max_history": "Maximum geschiedenisberichten",
29
+ "name": "Naam",
30
+ "num_ctx": "Grootte van het contextvenster",
31
+ "prompt": "Instructies",
32
+ "think": "Denk na vooraleer te reageren"
33
+ },
34
+ "data_description": {
35
+ "keep_alive": "Duur in seconden waarin Ollama het model in het geheugen houdt. -1 = onbepaald, 0 = nooit.",
36
+ "num_ctx": "Maximaal aantal teksttokens dat het model kan verwerken. Verlagen om het Ollama RAM-geheugen te verminderen, of verhogen voor een groot aantal blootgestelde entiteiten.",
37
+ "prompt": "Geef aan hoe de LLM moet reageren. Dit kan een sjabloon zijn.",
38
+ "think": "Als deze optie is ingeschakeld, zal de LLM nadenken voordat hij reageert. Dit kan de reactiekwaliteit verbeteren, maar kan de latentie verhogen."
28
39
  }
29
40
  }
30
41
  }
@@ -13,6 +13,12 @@
13
13
  },
14
14
  "step": {
15
15
  "pick_implementation": {
16
+ "data": {
17
+ "implementation": "Credenziali dell'applicazione"
18
+ },
19
+ "data_description": {
20
+ "implementation": "Le credenziali che desideri utilizzare per l'autenticazione."
21
+ },
16
22
  "title": "Scegli il metodo di autenticazione"
17
23
  }
18
24
  }
@@ -13,6 +13,12 @@
13
13
  },
14
14
  "step": {
15
15
  "pick_implementation": {
16
+ "data": {
17
+ "implementation": "Credenziali dell'applicazione"
18
+ },
19
+ "data_description": {
20
+ "implementation": "Le credenziali che desideri utilizzare per l'autenticazione."
21
+ },
16
22
  "title": "Scegli il metodo di autenticazione"
17
23
  },
18
24
  "reauth_confirm": {
@@ -20,6 +26,15 @@
20
26
  }
21
27
  }
22
28
  },
29
+ "entity": {
30
+ "sensor": {
31
+ "drive_state": {
32
+ "state": {
33
+ "normal": "Normale"
34
+ }
35
+ }
36
+ }
37
+ },
23
38
  "exceptions": {
24
39
  "create_folder_error": {
25
40
  "message": "Impossibile creare la cartella: {message}"
@@ -361,4 +361,34 @@ async def async_migrate_integration(hass: HomeAssistant) -> None:
361
361
  title=DEFAULT_NAME,
362
362
  options={},
363
363
  version=2,
364
+ minor_version=2,
364
365
  )
366
+
367
+
368
+ async def async_migrate_entry(hass: HomeAssistant, entry: OpenAIConfigEntry) -> bool:
369
+ """Migrate entry."""
370
+ LOGGER.debug("Migrating from version %s:%s", entry.version, entry.minor_version)
371
+
372
+ if entry.version > 2:
373
+ # This means the user has downgraded from a future version
374
+ return False
375
+
376
+ if entry.version == 2 and entry.minor_version == 1:
377
+ # Correct broken device migration in Home Assistant Core 2025.7.0b0-2025.7.0b1
378
+ device_registry = dr.async_get(hass)
379
+ for device in dr.async_entries_for_config_entry(
380
+ device_registry, entry.entry_id
381
+ ):
382
+ device_registry.async_update_device(
383
+ device.id,
384
+ remove_config_entry_id=entry.entry_id,
385
+ remove_config_subentry_id=None,
386
+ )
387
+
388
+ hass.config_entries.async_update_entry(entry, minor_version=2)
389
+
390
+ LOGGER.debug(
391
+ "Migration to version %s:%s successful", entry.version, entry.minor_version
392
+ )
393
+
394
+ return True
@@ -99,6 +99,7 @@ class OpenAIConfigFlow(ConfigFlow, domain=DOMAIN):
99
99
  """Handle a config flow for OpenAI Conversation."""
100
100
 
101
101
  VERSION = 2
102
+ MINOR_VERSION = 2
102
103
 
103
104
  async def async_step_user(
104
105
  self, user_input: dict[str, Any] | None = None
@@ -74,6 +74,22 @@
74
74
  "message": "Configurazione fornita non valida. Ricevuta {config_entry}"
75
75
  }
76
76
  },
77
+ "selector": {
78
+ "reasoning_effort": {
79
+ "options": {
80
+ "high": "Alto/a",
81
+ "low": "Basso/a",
82
+ "medium": "Medio/a"
83
+ }
84
+ },
85
+ "search_context_size": {
86
+ "options": {
87
+ "high": "Alto/a",
88
+ "low": "Basso/a",
89
+ "medium": "Medio/a"
90
+ }
91
+ }
92
+ },
77
93
  "services": {
78
94
  "generate_image": {
79
95
  "fields": {
@@ -24,7 +24,8 @@
24
24
  "step": {
25
25
  "advanced": {
26
26
  "data": {
27
- "chat_model": "Model"
27
+ "chat_model": "Model",
28
+ "temperature": "Temperatuur"
28
29
  }
29
30
  },
30
31
  "init": {