homeassistant-stubs 2025.1.4__py3-none-any.whl → 2025.2.0__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 (731) hide show
  1. homeassistant-stubs/auth/mfa_modules/__init__.pyi +2 -4
  2. homeassistant-stubs/auth/models.pyi +1 -1
  3. homeassistant-stubs/auth/permissions/__init__.pyi +1 -1
  4. homeassistant-stubs/auth/providers/__init__.pyi +2 -4
  5. homeassistant-stubs/backup_restore.pyi +2 -0
  6. homeassistant-stubs/components/airgradient/button.pyi +4 -1
  7. homeassistant-stubs/components/airgradient/config_flow.pyi +5 -3
  8. homeassistant-stubs/components/airgradient/entity.pyi +5 -0
  9. homeassistant-stubs/components/airgradient/number.pyi +4 -1
  10. homeassistant-stubs/components/airgradient/select.pyi +4 -1
  11. homeassistant-stubs/components/airgradient/sensor.pyi +2 -0
  12. homeassistant-stubs/components/airgradient/switch.pyi +5 -1
  13. homeassistant-stubs/components/airgradient/update.pyi +2 -1
  14. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  15. homeassistant-stubs/components/airzone/__init__.pyi +2 -0
  16. homeassistant-stubs/components/airzone/config_flow.pyi +3 -2
  17. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
  18. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
  19. homeassistant-stubs/components/api/__init__.pyi +1 -1
  20. homeassistant-stubs/components/apple_tv/config_flow.pyi +2 -1
  21. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  22. homeassistant-stubs/components/aranet/sensor.pyi +1 -1
  23. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -2
  24. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  25. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -1
  26. homeassistant-stubs/components/assist_pipeline/select.pyi +2 -2
  27. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  28. homeassistant-stubs/components/assist_satellite/__init__.pyi +1 -1
  29. homeassistant-stubs/components/assist_satellite/const.pyi +1 -0
  30. homeassistant-stubs/components/assist_satellite/entity.pyi +7 -1
  31. homeassistant-stubs/components/assist_satellite/intent.pyi +13 -0
  32. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +0 -2
  33. homeassistant-stubs/components/automation/__init__.pyi +1 -1
  34. homeassistant-stubs/components/awair/config_flow.pyi +3 -2
  35. homeassistant-stubs/components/axis/config_flow.pyi +6 -4
  36. homeassistant-stubs/components/backup/__init__.pyi +8 -3
  37. homeassistant-stubs/components/backup/agent.pyi +6 -5
  38. homeassistant-stubs/components/backup/backup.pyi +6 -4
  39. homeassistant-stubs/components/backup/config.pyi +45 -3
  40. homeassistant-stubs/components/backup/http.pyi +8 -0
  41. homeassistant-stubs/components/backup/manager.pyi +42 -22
  42. homeassistant-stubs/components/backup/models.pyi +18 -3
  43. homeassistant-stubs/components/backup/store.pyi +7 -2
  44. homeassistant-stubs/components/backup/util.pyi +94 -0
  45. homeassistant-stubs/components/backup/websocket.pyi +6 -3
  46. homeassistant-stubs/components/baf/config_flow.pyi +2 -2
  47. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -1
  48. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  49. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -0
  50. homeassistant-stubs/components/bang_olufsen/websocket.pyi +3 -2
  51. homeassistant-stubs/components/binary_sensor/__init__.pyi +1 -1
  52. homeassistant-stubs/components/blueprint/importer.pyi +0 -1
  53. homeassistant-stubs/components/blueprint/models.pyi +0 -1
  54. homeassistant-stubs/components/blueprint/websocket_api.pyi +0 -1
  55. homeassistant-stubs/components/bluesound/__init__.pyi +2 -0
  56. homeassistant-stubs/components/bluesound/config_flow.pyi +2 -3
  57. homeassistant-stubs/components/bluesound/coordinator.pyi +30 -0
  58. homeassistant-stubs/components/bluesound/media_player.pyi +10 -25
  59. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  60. homeassistant-stubs/components/bluetooth/api.pyi +3 -1
  61. homeassistant-stubs/components/bluetooth/config_flow.pyi +10 -3
  62. homeassistant-stubs/components/bluetooth/const.pyi +5 -0
  63. homeassistant-stubs/components/bluetooth/manager.pyi +5 -1
  64. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +1 -4
  65. homeassistant-stubs/components/bluetooth/storage.pyi +2 -0
  66. homeassistant-stubs/components/bluetooth/util.pyi +6 -1
  67. homeassistant-stubs/components/bluetooth/websocket_api.pyi +46 -0
  68. homeassistant-stubs/components/bond/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/braviatv/config_flow.pyi +2 -2
  70. homeassistant-stubs/components/brother/config_flow.pyi +2 -2
  71. homeassistant-stubs/components/button/__init__.pyi +1 -1
  72. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +2 -2
  73. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  74. homeassistant-stubs/components/canary/__init__.pyi +7 -7
  75. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -4
  76. homeassistant-stubs/components/canary/camera.pyi +3 -4
  77. homeassistant-stubs/components/canary/const.pyi +0 -2
  78. homeassistant-stubs/components/canary/coordinator.pyi +3 -1
  79. homeassistant-stubs/components/canary/sensor.pyi +3 -4
  80. homeassistant-stubs/components/climate/__init__.pyi +2 -2
  81. homeassistant-stubs/components/climate/const.pyi +1 -0
  82. homeassistant-stubs/components/climate/intent.pyi +9 -1
  83. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  84. homeassistant-stubs/components/cloud/backup.pyi +3 -9
  85. homeassistant-stubs/components/cloud/const.pyi +0 -1
  86. homeassistant-stubs/components/cloud/http_api.pyi +7 -1
  87. homeassistant-stubs/components/config/core.pyi +1 -1
  88. homeassistant-stubs/components/cookidoo/__init__.pyi +6 -2
  89. homeassistant-stubs/components/cookidoo/button.pyi +27 -0
  90. homeassistant-stubs/components/cookidoo/config_flow.pyi +4 -1
  91. homeassistant-stubs/components/cookidoo/const.pyi +3 -0
  92. homeassistant-stubs/components/cookidoo/coordinator.pyi +3 -1
  93. homeassistant-stubs/components/cookidoo/diagnostics.pyi +10 -0
  94. homeassistant-stubs/components/cookidoo/helpers.pyi +9 -0
  95. homeassistant-stubs/components/cookidoo/sensor.pyi +34 -0
  96. homeassistant-stubs/components/cover/__init__.pyi +1 -1
  97. homeassistant-stubs/components/crownstone/__init__.pyi +6 -5
  98. homeassistant-stubs/components/crownstone/config_flow.pyi +6 -4
  99. homeassistant-stubs/components/crownstone/entry_manager.pyi +6 -6
  100. homeassistant-stubs/components/crownstone/helpers.pyi +2 -1
  101. homeassistant-stubs/components/crownstone/light.pyi +3 -4
  102. homeassistant-stubs/components/date/__init__.pyi +1 -1
  103. homeassistant-stubs/components/datetime/__init__.pyi +1 -1
  104. homeassistant-stubs/components/deconz/__init__.pyi +5 -4
  105. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -2
  106. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -2
  107. homeassistant-stubs/components/deconz/button.pyi +2 -2
  108. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  109. homeassistant-stubs/components/deconz/config_flow.pyi +3 -6
  110. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  111. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  112. homeassistant-stubs/components/deconz/diagnostics.pyi +2 -3
  113. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  114. homeassistant-stubs/components/deconz/hub/api.pyi +2 -2
  115. homeassistant-stubs/components/deconz/hub/config.pyi +3 -3
  116. homeassistant-stubs/components/deconz/hub/hub.pyi +4 -6
  117. homeassistant-stubs/components/deconz/light.pyi +2 -2
  118. homeassistant-stubs/components/deconz/lock.pyi +2 -3
  119. homeassistant-stubs/components/deconz/number.pyi +2 -2
  120. homeassistant-stubs/components/deconz/scene.pyi +2 -3
  121. homeassistant-stubs/components/deconz/select.pyi +2 -3
  122. homeassistant-stubs/components/deconz/sensor.pyi +2 -2
  123. homeassistant-stubs/components/deconz/services.pyi +2 -1
  124. homeassistant-stubs/components/deconz/siren.pyi +2 -3
  125. homeassistant-stubs/components/deconz/switch.pyi +2 -3
  126. homeassistant-stubs/components/deconz/util.pyi +7 -0
  127. homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
  128. homeassistant-stubs/components/device_tracker/legacy.pyi +1 -1
  129. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  130. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +2 -1
  131. homeassistant-stubs/components/dhcp/__init__.pyi +6 -7
  132. homeassistant-stubs/components/discovergy/sensor.pyi +2 -0
  133. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +7 -6
  134. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -1
  135. homeassistant-stubs/components/dlna_dms/config_flow.pyi +5 -4
  136. homeassistant-stubs/components/dlna_dms/dms.pyi +3 -2
  137. homeassistant-stubs/components/doorbird/config_flow.pyi +2 -2
  138. homeassistant-stubs/components/doorbird/device.pyi +1 -1
  139. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +5 -9
  140. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  141. homeassistant-stubs/components/dormakaba_dkey/coordinator.pyi +15 -0
  142. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +4 -5
  143. homeassistant-stubs/components/dormakaba_dkey/lock.pyi +3 -7
  144. homeassistant-stubs/components/dormakaba_dkey/sensor.pyi +3 -7
  145. homeassistant-stubs/components/dunehd/__init__.pyi +4 -3
  146. homeassistant-stubs/components/dunehd/media_player.pyi +2 -2
  147. homeassistant-stubs/components/duotecno/__init__.pyi +4 -3
  148. homeassistant-stubs/components/duotecno/binary_sensor.pyi +2 -4
  149. homeassistant-stubs/components/duotecno/climate.pyi +2 -4
  150. homeassistant-stubs/components/duotecno/cover.pyi +2 -4
  151. homeassistant-stubs/components/duotecno/light.pyi +2 -4
  152. homeassistant-stubs/components/duotecno/switch.pyi +2 -4
  153. homeassistant-stubs/components/eheimdigital/climate.pyi +40 -0
  154. homeassistant-stubs/components/eheimdigital/config_flow.pyi +1 -1
  155. homeassistant-stubs/components/eheimdigital/const.pyi +4 -0
  156. homeassistant-stubs/components/eheimdigital/coordinator.pyi +2 -3
  157. homeassistant-stubs/components/eheimdigital/light.pyi +1 -0
  158. homeassistant-stubs/components/electrasmart/__init__.pyi +6 -4
  159. homeassistant-stubs/components/electrasmart/climate.pyi +2 -2
  160. homeassistant-stubs/components/electric_kiwi/__init__.pyi +3 -5
  161. homeassistant-stubs/components/electric_kiwi/const.pyi +0 -2
  162. homeassistant-stubs/components/electric_kiwi/coordinator.pyi +10 -2
  163. homeassistant-stubs/components/electric_kiwi/select.pyi +3 -4
  164. homeassistant-stubs/components/electric_kiwi/sensor.pyi +3 -4
  165. homeassistant-stubs/components/elevenlabs/const.pyi +1 -0
  166. homeassistant-stubs/components/elevenlabs/tts.pyi +1 -1
  167. homeassistant-stubs/components/elgato/config_flow.pyi +3 -2
  168. homeassistant-stubs/components/elkm1/binary_sensor.pyi +1 -1
  169. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
  170. homeassistant-stubs/components/elkm1/sensor.pyi +5 -5
  171. homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +5 -4
  172. homeassistant-stubs/components/energenie_power_sockets/switch.pyi +2 -2
  173. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -5
  174. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +7 -0
  175. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -2
  176. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -4
  177. homeassistant-stubs/components/esphome/__init__.pyi +1 -0
  178. homeassistant-stubs/components/esphome/bluetooth.pyi +2 -1
  179. homeassistant-stubs/components/esphome/config_flow.pyi +5 -3
  180. homeassistant-stubs/components/esphome/dashboard.pyi +2 -1
  181. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  182. homeassistant-stubs/components/event/__init__.pyi +2 -2
  183. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +3 -5
  184. homeassistant-stubs/components/evil_genius_labs/coordinator.pyi +4 -1
  185. homeassistant-stubs/components/evil_genius_labs/diagnostics.pyi +2 -4
  186. homeassistant-stubs/components/evil_genius_labs/light.pyi +2 -4
  187. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  188. homeassistant-stubs/components/feedreader/__init__.pyi +3 -5
  189. homeassistant-stubs/components/feedreader/coordinator.pyi +5 -3
  190. homeassistant-stubs/components/filter/__init__.pyi +6 -4
  191. homeassistant-stubs/components/filter/config_flow.pyi +28 -0
  192. homeassistant-stubs/components/filter/const.pyi +29 -0
  193. homeassistant-stubs/components/filter/sensor.pyi +3 -24
  194. homeassistant-stubs/components/flux_led/config_flow.pyi +2 -2
  195. homeassistant-stubs/components/fritz/__init__.pyi +9 -7
  196. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -4
  197. homeassistant-stubs/components/fritz/button.pyi +3 -4
  198. homeassistant-stubs/components/fritz/config_flow.pyi +6 -5
  199. homeassistant-stubs/components/fritz/const.pyi +0 -3
  200. homeassistant-stubs/components/fritz/coordinator.pyi +12 -10
  201. homeassistant-stubs/components/fritz/device_tracker.pyi +2 -4
  202. homeassistant-stubs/components/fritz/diagnostics.pyi +2 -4
  203. homeassistant-stubs/components/fritz/image.pyi +2 -4
  204. homeassistant-stubs/components/fritz/sensor.pyi +3 -4
  205. homeassistant-stubs/components/fritz/services.pyi +5 -8
  206. homeassistant-stubs/components/fritz/switch.pyi +3 -4
  207. homeassistant-stubs/components/fritz/update.pyi +2 -4
  208. homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -2
  209. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  210. homeassistant-stubs/components/fronius/config_flow.pyi +1 -1
  211. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  212. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +2 -8
  213. homeassistant-stubs/components/fujitsu_fglair/entity.pyi +15 -0
  214. homeassistant-stubs/components/fujitsu_fglair/sensor.pyi +21 -0
  215. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -1
  216. homeassistant-stubs/components/fyta/binary_sensor.pyi +23 -0
  217. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  218. homeassistant-stubs/components/fyta/image.pyi +18 -0
  219. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -0
  220. homeassistant-stubs/components/geo_location/__init__.pyi +1 -1
  221. homeassistant-stubs/components/goalzero/config_flow.pyi +2 -2
  222. homeassistant-stubs/components/google_drive/__init__.pyi +17 -0
  223. homeassistant-stubs/components/google_drive/api.pyi +35 -0
  224. homeassistant-stubs/components/google_drive/application_credentials.pyi +6 -0
  225. homeassistant-stubs/components/google_drive/backup.pyi +28 -0
  226. homeassistant-stubs/components/google_drive/config_flow.pyi +24 -0
  227. homeassistant-stubs/components/google_drive/const.pyi +1 -0
  228. homeassistant-stubs/components/guardian/config_flow.pyi +4 -3
  229. homeassistant-stubs/components/habitica/__init__.pyi +16 -0
  230. homeassistant-stubs/components/habitica/binary_sensor.pyi +33 -0
  231. homeassistant-stubs/components/habitica/button.pyi +53 -0
  232. homeassistant-stubs/components/habitica/calendar.pyi +56 -0
  233. homeassistant-stubs/components/habitica/config_flow.pyi +27 -0
  234. homeassistant-stubs/components/habitica/const.pyi +44 -0
  235. homeassistant-stubs/components/habitica/coordinator.pyi +29 -0
  236. homeassistant-stubs/components/habitica/diagnostics.pyi +7 -0
  237. homeassistant-stubs/components/habitica/entity.pyi +14 -0
  238. homeassistant-stubs/components/habitica/image.pyi +26 -0
  239. homeassistant-stubs/components/habitica/sensor.pyi +81 -0
  240. homeassistant-stubs/components/habitica/services.pyi +24 -0
  241. homeassistant-stubs/components/habitica/switch.pyi +32 -0
  242. homeassistant-stubs/components/habitica/todo.pyi +43 -0
  243. homeassistant-stubs/components/habitica/types.pyi +10 -0
  244. homeassistant-stubs/components/habitica/util.pyi +15 -0
  245. homeassistant-stubs/components/heos/__init__.pyi +15 -0
  246. homeassistant-stubs/components/heos/config_flow.pyi +32 -0
  247. homeassistant-stubs/components/heos/const.pyi +5 -0
  248. homeassistant-stubs/components/heos/coordinator.pyi +44 -0
  249. homeassistant-stubs/components/heos/diagnostics.pyi +14 -0
  250. homeassistant-stubs/components/heos/media_player.pyi +95 -0
  251. homeassistant-stubs/components/heos/services.pyi +16 -0
  252. homeassistant-stubs/components/holiday/config_flow.pyi +3 -1
  253. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +1 -3
  254. homeassistant-stubs/components/homeassistant_hardware/util.pyi +13 -1
  255. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -2
  256. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -2
  257. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -0
  258. homeassistant-stubs/components/homee/__init__.pyi +14 -0
  259. homeassistant-stubs/components/homee/config_flow.pyi +14 -0
  260. homeassistant-stubs/components/homee/const.pyi +9 -0
  261. homeassistant-stubs/components/homee/cover.pyi +43 -0
  262. homeassistant-stubs/components/homee/entity.pyi +43 -0
  263. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  264. homeassistant-stubs/components/homee/sensor.pyi +49 -0
  265. homeassistant-stubs/components/homekit/util.pyi +1 -1
  266. homeassistant-stubs/components/homekit_controller/config_flow.pyi +3 -2
  267. homeassistant-stubs/components/homewizard/__init__.pyi +5 -0
  268. homeassistant-stubs/components/homewizard/config_flow.pyi +19 -19
  269. homeassistant-stubs/components/homewizard/const.pyi +0 -11
  270. homeassistant-stubs/components/homewizard/coordinator.pyi +6 -12
  271. homeassistant-stubs/components/homewizard/number.pyi +0 -1
  272. homeassistant-stubs/components/homewizard/repairs.pyi +17 -0
  273. homeassistant-stubs/components/homewizard/sensor.pyi +8 -5
  274. homeassistant-stubs/components/homewizard/switch.pyi +4 -4
  275. homeassistant-stubs/components/http/ban.pyi +0 -1
  276. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -2
  277. homeassistant-stubs/components/humidifier/__init__.pyi +1 -1
  278. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +0 -3
  279. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +14 -0
  280. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -1
  281. homeassistant-stubs/components/hydrawise/__init__.pyi +3 -1
  282. homeassistant-stubs/components/hydrawise/config_flow.pyi +13 -5
  283. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -4
  284. homeassistant-stubs/components/hydrawise/switch.pyi +3 -3
  285. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  286. homeassistant-stubs/components/image/__init__.pyi +1 -1
  287. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -1
  288. homeassistant-stubs/components/imgw_pib/sensor.pyi +2 -1
  289. homeassistant-stubs/components/incomfort/__init__.pyi +18 -0
  290. homeassistant-stubs/components/incomfort/binary_sensor.pyi +33 -0
  291. homeassistant-stubs/components/incomfort/climate.pyi +42 -0
  292. homeassistant-stubs/components/incomfort/config_flow.pyi +37 -0
  293. homeassistant-stubs/components/incomfort/const.pyi +2 -0
  294. homeassistant-stubs/components/incomfort/coordinator.pyi +25 -0
  295. homeassistant-stubs/components/incomfort/diagnostics.pyi +12 -0
  296. homeassistant-stubs/components/incomfort/entity.pyi +14 -0
  297. homeassistant-stubs/components/incomfort/errors.pyi +18 -0
  298. homeassistant-stubs/components/incomfort/sensor.pyi +33 -0
  299. homeassistant-stubs/components/incomfort/water_heater.pyi +32 -0
  300. homeassistant-stubs/components/intent/__init__.pyi +1 -1
  301. homeassistant-stubs/components/intent/timers.pyi +1 -2
  302. homeassistant-stubs/components/ipp/config_flow.pyi +2 -2
  303. homeassistant-stubs/components/iron_os/button.pyi +31 -0
  304. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -1
  305. homeassistant-stubs/components/iron_os/diagnostics.pyi +6 -0
  306. homeassistant-stubs/components/iron_os/number.pyi +1 -2
  307. homeassistant-stubs/components/iron_os/select.pyi +2 -4
  308. homeassistant-stubs/components/iron_os/switch.pyi +43 -0
  309. homeassistant-stubs/components/isy994/__init__.pyi +1 -2
  310. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  311. homeassistant-stubs/components/kaleidescape/config_flow.pyi +2 -2
  312. homeassistant-stubs/components/knx/binary_sensor.pyi +18 -10
  313. homeassistant-stubs/components/knx/climate.pyi +10 -2
  314. homeassistant-stubs/components/knx/const.pyi +2 -0
  315. homeassistant-stubs/components/knx/entity.pyi +1 -1
  316. homeassistant-stubs/components/knx/light.pyi +1 -1
  317. homeassistant-stubs/components/knx/schema.pyi +5 -7
  318. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  319. homeassistant-stubs/components/knx/storage/const.pyi +1 -0
  320. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -2
  321. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  322. homeassistant-stubs/components/lametric/config_flow.pyi +2 -2
  323. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
  324. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  325. homeassistant-stubs/components/lcn/climate.pyi +2 -1
  326. homeassistant-stubs/components/lcn/const.pyi +1 -0
  327. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  328. homeassistant-stubs/components/lektrico/config_flow.pyi +1 -1
  329. homeassistant-stubs/components/letpot/__init__.pyi +13 -0
  330. homeassistant-stubs/components/letpot/config_flow.pyi +19 -0
  331. homeassistant-stubs/components/letpot/const.pyi +6 -0
  332. homeassistant-stubs/components/letpot/coordinator.pyi +20 -0
  333. homeassistant-stubs/components/letpot/entity.pyi +10 -0
  334. homeassistant-stubs/components/letpot/time.pyi +33 -0
  335. homeassistant-stubs/components/lifx/config_flow.pyi +3 -3
  336. homeassistant-stubs/components/lifx/coordinator.pyi +1 -1
  337. homeassistant-stubs/components/lifx/manager.pyi +16 -1
  338. homeassistant-stubs/components/light/__init__.pyi +1 -1
  339. homeassistant-stubs/components/linkplay/config_flow.pyi +2 -2
  340. homeassistant-stubs/components/litterrobot/__init__.pyi +2 -6
  341. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +6 -9
  342. homeassistant-stubs/components/litterrobot/button.pyi +6 -10
  343. homeassistant-stubs/components/litterrobot/{hub.pyi → coordinator.pyi} +11 -10
  344. homeassistant-stubs/components/litterrobot/entity.pyi +5 -7
  345. homeassistant-stubs/components/litterrobot/select.pyi +5 -14
  346. homeassistant-stubs/components/litterrobot/sensor.pyi +7 -7
  347. homeassistant-stubs/components/litterrobot/switch.pyi +7 -9
  348. homeassistant-stubs/components/litterrobot/time.pyi +3 -6
  349. homeassistant-stubs/components/litterrobot/update.pyi +1 -1
  350. homeassistant-stubs/components/litterrobot/vacuum.pyi +1 -5
  351. homeassistant-stubs/components/lock/__init__.pyi +1 -1
  352. homeassistant-stubs/components/logbook/models.pyi +1 -1
  353. homeassistant-stubs/components/lookin/config_flow.pyi +2 -2
  354. homeassistant-stubs/components/lovelace/__init__.pyi +39 -0
  355. homeassistant-stubs/components/lovelace/cast.pyi +18 -0
  356. homeassistant-stubs/components/lovelace/const.pyi +33 -0
  357. homeassistant-stubs/components/lovelace/dashboard.pyi +83 -0
  358. homeassistant-stubs/components/lovelace/resources.pyi +42 -0
  359. homeassistant-stubs/components/lovelace/system_health.pyi +9 -0
  360. homeassistant-stubs/components/lovelace/websocket.pyi +26 -0
  361. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -3
  362. homeassistant-stubs/components/mastodon/notify.pyi +1 -3
  363. homeassistant-stubs/components/matter/config_flow.pyi +1 -1
  364. homeassistant-stubs/components/matter/cover.pyi +0 -1
  365. homeassistant-stubs/components/matter/discovery.pyi +2 -2
  366. homeassistant-stubs/components/matter/entity.pyi +11 -4
  367. homeassistant-stubs/components/matter/light.pyi +0 -1
  368. homeassistant-stubs/components/matter/lock.pyi +0 -2
  369. homeassistant-stubs/components/matter/models.pyi +10 -1
  370. homeassistant-stubs/components/matter/number.pyi +1 -1
  371. homeassistant-stubs/components/matter/select.pyi +32 -2
  372. homeassistant-stubs/components/matter/sensor.pyi +24 -0
  373. homeassistant-stubs/components/matter/switch.pyi +15 -2
  374. homeassistant-stubs/components/matter/vacuum.pyi +0 -1
  375. homeassistant-stubs/components/matter/valve.pyi +0 -2
  376. homeassistant-stubs/components/mcp/__init__.pyi +16 -0
  377. homeassistant-stubs/components/mcp/config_flow.pyi +23 -0
  378. homeassistant-stubs/components/mcp/const.pyi +1 -0
  379. homeassistant-stubs/components/mcp/coordinator.pyi +40 -0
  380. homeassistant-stubs/components/mcp/types.pyi +4 -0
  381. homeassistant-stubs/components/mcp_server/__init__.pyi +13 -0
  382. homeassistant-stubs/components/mcp_server/config_flow.pyi +14 -0
  383. homeassistant-stubs/components/mcp_server/const.pyi +4 -0
  384. homeassistant-stubs/components/mcp_server/http.pyi +31 -0
  385. homeassistant-stubs/components/mcp_server/llm_api.pyi +15 -0
  386. homeassistant-stubs/components/mcp_server/server.pyi +13 -0
  387. homeassistant-stubs/components/mcp_server/session.pyi +20 -0
  388. homeassistant-stubs/components/mcp_server/types.pyi +4 -0
  389. homeassistant-stubs/components/media_player/__init__.pyi +1 -1
  390. homeassistant-stubs/components/media_source/__init__.pyi +1 -1
  391. homeassistant-stubs/components/media_source/models.pyi +1 -2
  392. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -1
  393. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  394. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -3
  395. homeassistant-stubs/components/modbus/climate.pyi +4 -3
  396. homeassistant-stubs/components/modbus/const.pyi +4 -0
  397. homeassistant-stubs/components/modbus/cover.pyi +1 -2
  398. homeassistant-stubs/components/modbus/entity.pyi +15 -8
  399. homeassistant-stubs/components/modbus/light.pyi +0 -1
  400. homeassistant-stubs/components/modbus/modbus.pyi +4 -0
  401. homeassistant-stubs/components/modbus/sensor.pyi +1 -2
  402. homeassistant-stubs/components/modbus/switch.pyi +0 -1
  403. homeassistant-stubs/components/modem_callerid/config_flow.pyi +2 -1
  404. homeassistant-stubs/components/motionmount/__init__.pyi +2 -2
  405. homeassistant-stubs/components/motionmount/config_flow.pyi +16 -6
  406. homeassistant-stubs/components/motionmount/entity.pyi +3 -2
  407. homeassistant-stubs/components/motionmount/select.pyi +2 -0
  408. homeassistant-stubs/components/mqtt/__init__.pyi +11 -34
  409. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  410. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -5
  411. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  412. homeassistant-stubs/components/mqtt/diagnostics.pyi +0 -1
  413. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
  414. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -1
  415. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
  416. homeassistant-stubs/components/music_assistant/config_flow.pyi +2 -2
  417. homeassistant-stubs/components/nam/config_flow.pyi +2 -2
  418. homeassistant-stubs/components/nanoleaf/config_flow.pyi +6 -5
  419. homeassistant-stubs/components/nest/__init__.pyi +3 -4
  420. homeassistant-stubs/components/nest/api.pyi +2 -2
  421. homeassistant-stubs/components/nest/climate.pyi +2 -0
  422. homeassistant-stubs/components/nest/config_flow.pyi +6 -2
  423. homeassistant-stubs/components/netatmo/button.pyi +25 -0
  424. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  425. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  426. homeassistant-stubs/components/network/system_health.pyi +11 -0
  427. homeassistant-stubs/components/notify/__init__.pyi +1 -1
  428. homeassistant-stubs/components/number/__init__.pyi +2 -2
  429. homeassistant-stubs/components/nut/config_flow.pyi +2 -2
  430. homeassistant-stubs/components/onboarding/views.pyi +30 -2
  431. homeassistant-stubs/components/onedrive/__init__.pyi +26 -0
  432. homeassistant-stubs/components/onedrive/application_credentials.pyi +5 -0
  433. homeassistant-stubs/components/onedrive/backup.pyi +41 -0
  434. homeassistant-stubs/components/onedrive/config_flow.pyi +18 -0
  435. homeassistant-stubs/components/onedrive/const.pyi +10 -0
  436. homeassistant-stubs/components/onewire/__init__.pyi +4 -4
  437. homeassistant-stubs/components/onewire/binary_sensor.pyi +8 -4
  438. homeassistant-stubs/components/onewire/config_flow.pyi +12 -7
  439. homeassistant-stubs/components/onewire/const.pyi +0 -2
  440. homeassistant-stubs/components/onewire/diagnostics.pyi +1 -1
  441. homeassistant-stubs/components/onewire/onewirehub.pyi +22 -14
  442. homeassistant-stubs/components/onewire/select.pyi +27 -0
  443. homeassistant-stubs/components/onewire/sensor.pyi +7 -4
  444. homeassistant-stubs/components/onewire/switch.pyi +8 -4
  445. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -4
  446. homeassistant-stubs/components/open_meteo/__init__.pyi +4 -8
  447. homeassistant-stubs/components/open_meteo/coordinator.pyi +15 -0
  448. homeassistant-stubs/components/open_meteo/diagnostics.pyi +2 -5
  449. homeassistant-stubs/components/open_meteo/weather.pyi +3 -3
  450. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -6
  451. homeassistant-stubs/components/overkiz/__init__.pyi +1 -1
  452. homeassistant-stubs/components/overkiz/climate/__init__.pyi +1 -0
  453. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +1 -1
  454. homeassistant-stubs/components/overkiz/climate/evo_home_controller.pyi +24 -0
  455. homeassistant-stubs/components/overkiz/config_flow.pyi +4 -3
  456. homeassistant-stubs/components/overkiz/const.pyi +1 -0
  457. homeassistant-stubs/components/overkiz/coordinator.pyi +5 -3
  458. homeassistant-stubs/components/overseerr/__init__.pyi +37 -0
  459. homeassistant-stubs/components/overseerr/config_flow.pyi +14 -0
  460. homeassistant-stubs/components/overseerr/const.pyi +12 -0
  461. homeassistant-stubs/components/overseerr/coordinator.pyi +18 -0
  462. homeassistant-stubs/components/overseerr/diagnostics.pyi +6 -0
  463. homeassistant-stubs/components/overseerr/entity.pyi +11 -0
  464. homeassistant-stubs/components/overseerr/event.pyi +35 -0
  465. homeassistant-stubs/components/overseerr/sensor.pyi +27 -0
  466. homeassistant-stubs/components/overseerr/services.pyi +16 -0
  467. homeassistant-stubs/components/pandora/__init__.pyi +0 -0
  468. homeassistant-stubs/components/pandora/media_player.pyi +51 -0
  469. homeassistant-stubs/components/peblar/config_flow.pyi +3 -3
  470. homeassistant-stubs/components/person/__init__.pyi +103 -0
  471. homeassistant-stubs/components/person/const.pyi +1 -0
  472. homeassistant-stubs/components/person/significant_change.pyi +5 -0
  473. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  474. homeassistant-stubs/components/powerfox/sensor.pyi +3 -2
  475. homeassistant-stubs/components/powerwall/__init__.pyi +8 -3
  476. homeassistant-stubs/components/powerwall/config_flow.pyi +3 -3
  477. homeassistant-stubs/components/powerwall/const.pyi +2 -0
  478. homeassistant-stubs/components/proximity/__init__.pyi +2 -3
  479. homeassistant-stubs/components/proximity/coordinator.pyi +1 -2
  480. homeassistant-stubs/components/pure_energie/config_flow.pyi +2 -2
  481. homeassistant-stubs/components/python_script/__init__.pyi +48 -0
  482. homeassistant-stubs/components/qbus/__init__.pyi +15 -0
  483. homeassistant-stubs/components/qbus/config_flow.pyi +26 -0
  484. homeassistant-stubs/components/qbus/const.pyi +7 -0
  485. homeassistant-stubs/components/qbus/coordinator.pyi +48 -0
  486. homeassistant-stubs/components/qbus/entity.pyi +29 -0
  487. homeassistant-stubs/components/qbus/switch.pyi +21 -0
  488. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +2 -2
  489. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -4
  490. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -1
  491. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +3 -2
  492. homeassistant-stubs/components/rainmachine/config_flow.pyi +4 -4
  493. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +1 -1
  494. homeassistant-stubs/components/recorder/const.pyi +0 -2
  495. homeassistant-stubs/components/recorder/core.pyi +2 -2
  496. homeassistant-stubs/components/recorder/db_schema.pyi +5 -2
  497. homeassistant-stubs/components/recorder/migration.pyi +1 -1
  498. homeassistant-stubs/components/recorder/models/state.pyi +1 -1
  499. homeassistant-stubs/components/recorder/util.pyi +1 -7
  500. homeassistant-stubs/components/remote/__init__.pyi +1 -1
  501. homeassistant-stubs/components/reolink/__init__.pyi +4 -2
  502. homeassistant-stubs/components/reolink/config_flow.pyi +7 -3
  503. homeassistant-stubs/components/reolink/const.pyi +1 -0
  504. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  505. homeassistant-stubs/components/reolink/host.pyi +9 -2
  506. homeassistant-stubs/components/reolink/switch.pyi +5 -1
  507. homeassistant-stubs/components/reolink/util.pyi +6 -5
  508. homeassistant-stubs/components/repairs/__init__.pyi +1 -1
  509. homeassistant-stubs/components/ring/__init__.pyi +4 -15
  510. homeassistant-stubs/components/ring/binary_sensor.pyi +2 -0
  511. homeassistant-stubs/components/ring/button.pyi +1 -0
  512. homeassistant-stubs/components/ring/camera.pyi +1 -0
  513. homeassistant-stubs/components/ring/config_flow.pyi +2 -2
  514. homeassistant-stubs/components/ring/coordinator.pyi +14 -4
  515. homeassistant-stubs/components/ring/entity.pyi +1 -2
  516. homeassistant-stubs/components/ring/event.pyi +2 -0
  517. homeassistant-stubs/components/ring/light.pyi +1 -0
  518. homeassistant-stubs/components/ring/number.pyi +2 -0
  519. homeassistant-stubs/components/ring/sensor.pyi +2 -0
  520. homeassistant-stubs/components/ring/siren.pyi +1 -0
  521. homeassistant-stubs/components/ring/switch.pyi +1 -0
  522. homeassistant-stubs/components/roborock/__init__.pyi +3 -1
  523. homeassistant-stubs/components/roborock/const.pyi +4 -0
  524. homeassistant-stubs/components/roborock/coordinator.pyi +10 -6
  525. homeassistant-stubs/components/roborock/image.pyi +10 -11
  526. homeassistant-stubs/components/roborock/roborock_storage.pyi +23 -0
  527. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  528. homeassistant-stubs/components/roborock/vacuum.pyi +5 -1
  529. homeassistant-stubs/components/roku/config_flow.pyi +4 -3
  530. homeassistant-stubs/components/romy/config_flow.pyi +2 -2
  531. homeassistant-stubs/components/russound_rio/config_flow.pyi +6 -2
  532. homeassistant-stubs/components/russound_rio/const.pyi +0 -2
  533. homeassistant-stubs/components/russound_rio/media_player.pyi +13 -6
  534. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +2 -2
  535. homeassistant-stubs/components/samsungtv/config_flow.pyi +6 -4
  536. homeassistant-stubs/components/scrape/sensor.pyi +2 -0
  537. homeassistant-stubs/components/script/__init__.pyi +1 -1
  538. homeassistant-stubs/components/select/__init__.pyi +2 -2
  539. homeassistant-stubs/components/sensibo/__init__.pyi +3 -3
  540. homeassistant-stubs/components/sensibo/binary_sensor.pyi +1 -0
  541. homeassistant-stubs/components/sensibo/climate.pyi +13 -7
  542. homeassistant-stubs/components/sensibo/config_flow.pyi +1 -1
  543. homeassistant-stubs/components/sensibo/coordinator.pyi +2 -0
  544. homeassistant-stubs/components/sensibo/entity.pyi +5 -1
  545. homeassistant-stubs/components/sensibo/select.pyi +6 -1
  546. homeassistant-stubs/components/sensibo/sensor.pyi +2 -0
  547. homeassistant-stubs/components/sensor/__init__.pyi +2 -2
  548. homeassistant-stubs/components/shelly/__init__.pyi +2 -0
  549. homeassistant-stubs/components/shelly/binary_sensor.pyi +11 -6
  550. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +1 -1
  551. homeassistant-stubs/components/shelly/climate.pyi +25 -2
  552. homeassistant-stubs/components/shelly/config_flow.pyi +1 -1
  553. homeassistant-stubs/components/shelly/const.pyi +3 -0
  554. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  555. homeassistant-stubs/components/shelly/entity.pyi +4 -1
  556. homeassistant-stubs/components/shelly/number.pyi +21 -13
  557. homeassistant-stubs/components/shelly/sensor.pyi +12 -7
  558. homeassistant-stubs/components/shelly/utils.pyi +1 -1
  559. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  560. homeassistant-stubs/components/slack/config_flow.pyi +2 -1
  561. homeassistant-stubs/components/slack/entity.pyi +3 -5
  562. homeassistant-stubs/components/slack/notify.pyi +4 -2
  563. homeassistant-stubs/components/slack/sensor.pyi +2 -2
  564. homeassistant-stubs/components/slack/utils.pyi +6 -0
  565. homeassistant-stubs/components/smhi/config_flow.pyi +1 -1
  566. homeassistant-stubs/components/smhi/weather.pyi +3 -3
  567. homeassistant-stubs/components/smlight/config_flow.pyi +7 -5
  568. homeassistant-stubs/components/spotify/__init__.pyi +1 -1
  569. homeassistant-stubs/components/spotify/browse_media.pyi +1 -1
  570. homeassistant-stubs/components/spotify/coordinator.pyi +2 -0
  571. homeassistant-stubs/components/squeezebox/config_flow.pyi +2 -2
  572. homeassistant-stubs/components/ssdp/__init__.pyi +34 -44
  573. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  574. homeassistant-stubs/components/steamist/config_flow.pyi +2 -2
  575. homeassistant-stubs/components/stream/__init__.pyi +3 -15
  576. homeassistant-stubs/components/stream/const.pyi +9 -1
  577. homeassistant-stubs/components/stream/exceptions.pyi +13 -0
  578. homeassistant-stubs/components/stream/worker.pyi +4 -5
  579. homeassistant-stubs/components/stt/__init__.pyi +1 -1
  580. homeassistant-stubs/components/suez_water/__init__.pyi +4 -0
  581. homeassistant-stubs/components/switch/__init__.pyi +1 -1
  582. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +5 -5
  583. homeassistant-stubs/components/switchbot_cloud/button.pyi +17 -0
  584. homeassistant-stubs/components/switchbot_cloud/entity.pyi +5 -0
  585. homeassistant-stubs/components/switchbot_cloud/lock.pyi +2 -3
  586. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +5 -5
  587. homeassistant-stubs/components/switchbot_cloud/switch.pyi +3 -6
  588. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +1 -2
  589. homeassistant-stubs/components/switcher_kis/switch.pyi +29 -0
  590. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -2
  591. homeassistant-stubs/components/synology_dsm/backup.pyi +36 -0
  592. homeassistant-stubs/components/synology_dsm/common.pyi +5 -2
  593. homeassistant-stubs/components/synology_dsm/config_flow.pyi +11 -4
  594. homeassistant-stubs/components/synology_dsm/const.pyi +6 -0
  595. homeassistant-stubs/components/synology_dsm/coordinator.pyi +1 -1
  596. homeassistant-stubs/components/system_health/__init__.pyi +3 -1
  597. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -3
  598. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -4
  599. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -1
  600. homeassistant-stubs/components/tailwind/config_flow.pyi +3 -3
  601. homeassistant-stubs/components/technove/binary_sensor.pyi +0 -4
  602. homeassistant-stubs/components/technove/config_flow.pyi +3 -2
  603. homeassistant-stubs/components/tedee/coordinator.pyi +1 -1
  604. homeassistant-stubs/components/text/__init__.pyi +1 -1
  605. homeassistant-stubs/components/tile/__init__.pyi +4 -15
  606. homeassistant-stubs/components/tile/binary_sensor.pyi +24 -0
  607. homeassistant-stubs/components/tile/config_flow.pyi +0 -1
  608. homeassistant-stubs/components/tile/coordinator.pyi +18 -0
  609. homeassistant-stubs/components/tile/device_tracker.pyi +6 -20
  610. homeassistant-stubs/components/tile/diagnostics.pyi +2 -4
  611. homeassistant-stubs/components/tile/entity.pyi +13 -0
  612. homeassistant-stubs/components/time/__init__.pyi +1 -1
  613. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  614. homeassistant-stubs/components/tolo/config_flow.pyi +2 -2
  615. homeassistant-stubs/components/tplink/__init__.pyi +3 -6
  616. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -0
  617. homeassistant-stubs/components/tplink/button.pyi +2 -1
  618. homeassistant-stubs/components/tplink/camera.pyi +9 -9
  619. homeassistant-stubs/components/tplink/climate.pyi +18 -12
  620. homeassistant-stubs/components/tplink/config_flow.pyi +3 -2
  621. homeassistant-stubs/components/tplink/const.pyi +1 -1
  622. homeassistant-stubs/components/tplink/coordinator.pyi +20 -4
  623. homeassistant-stubs/components/tplink/deprecate.pyi +5 -3
  624. homeassistant-stubs/components/tplink/entity.pyi +30 -11
  625. homeassistant-stubs/components/tplink/fan.pyi +15 -7
  626. homeassistant-stubs/components/tplink/light.pyi +22 -11
  627. homeassistant-stubs/components/tplink/number.pyi +1 -0
  628. homeassistant-stubs/components/tplink/select.pyi +1 -0
  629. homeassistant-stubs/components/tplink/sensor.pyi +7 -2
  630. homeassistant-stubs/components/tplink/siren.pyi +22 -7
  631. homeassistant-stubs/components/tplink/switch.pyi +1 -0
  632. homeassistant-stubs/components/tplink/vacuum.pyi +43 -0
  633. homeassistant-stubs/components/tradfri/config_flow.pyi +2 -2
  634. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +2 -2
  635. homeassistant-stubs/components/trafikverket_camera/camera.pyi +2 -0
  636. homeassistant-stubs/components/trafikverket_ferry/__init__.pyi +1 -1
  637. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  638. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -0
  639. homeassistant-stubs/components/trafikverket_train/__init__.pyi +6 -3
  640. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +10 -4
  641. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +2 -2
  642. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -0
  643. homeassistant-stubs/components/trafikverket_weatherstation/__init__.pyi +1 -1
  644. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +1 -1
  645. homeassistant-stubs/components/trafikverket_weatherstation/diagnostics.pyi +5 -0
  646. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -0
  647. homeassistant-stubs/components/tts/__init__.pyi +2 -2
  648. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  649. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -1
  650. homeassistant-stubs/components/unifi/switch.pyi +1 -0
  651. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  652. homeassistant-stubs/components/unifiprotect/config_flow.pyi +4 -3
  653. homeassistant-stubs/components/unifiprotect/light.pyi +1 -1
  654. homeassistant-stubs/components/unifiprotect/views.pyi +8 -0
  655. homeassistant-stubs/components/upcloud/__init__.pyi +6 -12
  656. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -4
  657. homeassistant-stubs/components/upcloud/config_flow.pyi +3 -2
  658. homeassistant-stubs/components/upcloud/const.pyi +0 -1
  659. homeassistant-stubs/components/upcloud/coordinator.pyi +3 -2
  660. homeassistant-stubs/components/upcloud/entity.pyi +3 -3
  661. homeassistant-stubs/components/upcloud/switch.pyi +3 -4
  662. homeassistant-stubs/components/update/__init__.pyi +2 -2
  663. homeassistant-stubs/components/usb/__init__.pyi +21 -18
  664. homeassistant-stubs/components/usb/models.pyi +1 -1
  665. homeassistant-stubs/components/vacuum/__init__.pyi +1 -1
  666. homeassistant-stubs/components/velbus/config_flow.pyi +2 -2
  667. homeassistant-stubs/components/velbus/const.pyi +1 -0
  668. homeassistant-stubs/components/velbus/diagnostics.pyi +1 -3
  669. homeassistant-stubs/components/velbus/entity.pyi +4 -0
  670. homeassistant-stubs/components/velbus/services.pyi +5 -1
  671. homeassistant-stubs/components/wake_word/__init__.pyi +1 -1
  672. homeassistant-stubs/components/water_heater/__init__.pyi +7 -3
  673. homeassistant-stubs/components/weather/__init__.pyi +2 -3
  674. homeassistant-stubs/components/webhook/__init__.pyi +0 -1
  675. homeassistant-stubs/components/webostv/__init__.pyi +8 -24
  676. homeassistant-stubs/components/webostv/config_flow.pyi +14 -13
  677. homeassistant-stubs/components/webostv/const.pyi +0 -1
  678. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  679. homeassistant-stubs/components/webostv/diagnostics.pyi +2 -3
  680. homeassistant-stubs/components/webostv/helpers.pyi +11 -4
  681. homeassistant-stubs/components/webostv/media_player.pyi +17 -13
  682. homeassistant-stubs/components/webostv/notify.pyi +6 -4
  683. homeassistant-stubs/components/webostv/trigger.pyi +2 -0
  684. homeassistant-stubs/components/wiz/config_flow.pyi +3 -2
  685. homeassistant-stubs/components/wled/config_flow.pyi +3 -2
  686. homeassistant-stubs/components/worldclock/sensor.pyi +2 -7
  687. homeassistant-stubs/components/zeroconf/__init__.pyi +12 -20
  688. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  689. homeassistant-stubs/components/zwave_js/config_flow.pyi +3 -2
  690. homeassistant-stubs/config_entries.pyi +7 -9
  691. homeassistant-stubs/const.pyi +2 -0
  692. homeassistant-stubs/core.pyi +2 -3
  693. homeassistant-stubs/core_config.pyi +3 -3
  694. homeassistant-stubs/data_entry_flow.pyi +1 -2
  695. homeassistant-stubs/helpers/aiohttp_client.pyi +12 -1
  696. homeassistant-stubs/helpers/area_registry.pyi +11 -4
  697. homeassistant-stubs/helpers/collection.pyi +5 -7
  698. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -3
  699. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
  700. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -2
  701. homeassistant-stubs/helpers/deprecation.pyi +2 -2
  702. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  703. homeassistant-stubs/helpers/entity.pyi +1 -1
  704. homeassistant-stubs/helpers/entity_component.pyi +2 -4
  705. homeassistant-stubs/helpers/entity_registry.pyi +2 -2
  706. homeassistant-stubs/helpers/frame.pyi +1 -1
  707. homeassistant-stubs/helpers/httpx_client.pyi +2 -1
  708. homeassistant-stubs/helpers/intent.pyi +4 -2
  709. homeassistant-stubs/helpers/llm.pyi +23 -8
  710. homeassistant-stubs/helpers/script.pyi +1 -1
  711. homeassistant-stubs/helpers/service_info/dhcp.pyi +8 -0
  712. homeassistant-stubs/helpers/service_info/ssdp.pyi +34 -0
  713. homeassistant-stubs/helpers/service_info/usb.pyi +11 -0
  714. homeassistant-stubs/helpers/service_info/zeroconf.pyi +20 -0
  715. homeassistant-stubs/helpers/singleton.pyi +6 -2
  716. homeassistant-stubs/helpers/storage.pyi +1 -1
  717. homeassistant-stubs/helpers/template.pyi +4 -4
  718. homeassistant-stubs/helpers/update_coordinator.pyi +7 -6
  719. homeassistant-stubs/loader.pyi +1 -1
  720. homeassistant-stubs/scripts/benchmark/__init__.pyi +8 -8
  721. homeassistant-stubs/util/event_type.pyi +1 -2
  722. homeassistant-stubs/util/ulid.pyi +1 -1
  723. homeassistant-stubs/util/yaml/__init__.pyi +1 -1
  724. homeassistant-stubs/util/yaml/loader.pyi +1 -1
  725. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/METADATA +4 -4
  726. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/RECORD +728 -593
  727. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -8
  728. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +0 -27
  729. homeassistant-stubs/components/tplink/models.pyi +0 -10
  730. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/WHEEL +0 -0
  731. {homeassistant_stubs-2025.1.4.dist-info → homeassistant_stubs-2025.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,31 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .server import create_server as create_server
3
+ from .session import Session as Session
4
+ from .types import MCPServerConfigEntry as MCPServerConfigEntry
5
+ from _typeshed import Incomplete
6
+ from aiohttp import web
7
+ from anyio.streams.memory import MemoryObjectReceiveStream as MemoryObjectReceiveStream, MemoryObjectSendStream as MemoryObjectSendStream
8
+ from homeassistant.components import conversation as conversation
9
+ from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS
10
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
11
+ from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API
12
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
+ from homeassistant.helpers import llm as llm
14
+
15
+ _LOGGER: Incomplete
16
+ SSE_API: Incomplete
17
+ MESSAGES_API: Incomplete
18
+
19
+ @callback
20
+ def async_register(hass: HomeAssistant) -> None: ...
21
+ def async_get_config_entry(hass: HomeAssistant) -> MCPServerConfigEntry: ...
22
+
23
+ class ModelContextProtocolSSEView(HomeAssistantView):
24
+ name: Incomplete
25
+ url = SSE_API
26
+ async def get(self, request: web.Request) -> web.StreamResponse: ...
27
+
28
+ class ModelContextProtocolMessagesView(HomeAssistantView):
29
+ name: Incomplete
30
+ url = MESSAGES_API
31
+ async def post(self, request: web.Request, session_id: str) -> web.StreamResponse: ...
@@ -0,0 +1,15 @@
1
+ from .const import LLM_API as LLM_API, LLM_API_NAME as LLM_API_NAME
2
+ from _typeshed import Incomplete
3
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
4
+ from homeassistant.helpers import llm as llm
5
+
6
+ EXPOSED_ENTITY_FIELDS: Incomplete
7
+
8
+ def async_register_api(hass: HomeAssistant) -> None: ...
9
+
10
+ class StatelessAssistAPI(llm.AssistAPI):
11
+ id: Incomplete
12
+ name: Incomplete
13
+ def __init__(self, hass: HomeAssistant) -> None: ...
14
+ @callback
15
+ def _async_get_exposed_entities_prompt(self, llm_context: llm.LLMContext, exposed_entities: dict | None) -> list[str]: ...
@@ -0,0 +1,13 @@
1
+ from _typeshed import Incomplete
2
+ from collections.abc import Callable as Callable
3
+ from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
5
+ from homeassistant.helpers import llm as llm
6
+ from mcp import types
7
+ from mcp.server import Server
8
+ from typing import Any
9
+
10
+ _LOGGER: Incomplete
11
+
12
+ def _format_tool(tool: llm.Tool, custom_serializer: Callable[[Any], Any] | None) -> types.Tool: ...
13
+ async def create_server(hass: HomeAssistant, llm_api_id: str, llm_context: llm.LLMContext) -> Server: ...
@@ -0,0 +1,20 @@
1
+ from _typeshed import Incomplete
2
+ from anyio.streams.memory import MemoryObjectSendStream as MemoryObjectSendStream
3
+ from collections.abc import AsyncGenerator
4
+ from contextlib import asynccontextmanager
5
+ from dataclasses import dataclass
6
+ from mcp import types as types
7
+
8
+ _LOGGER: Incomplete
9
+
10
+ @dataclass
11
+ class Session:
12
+ read_stream_writer: MemoryObjectSendStream[types.JSONRPCMessage | Exception]
13
+
14
+ class SessionManager:
15
+ _sessions: dict[str, Session]
16
+ def __init__(self) -> None: ...
17
+ @asynccontextmanager
18
+ async def create(self, session: Session) -> AsyncGenerator[str]: ...
19
+ def get(self, session_id: str) -> Session | None: ...
20
+ def close(self) -> None: ...
@@ -0,0 +1,4 @@
1
+ from .session import SessionManager as SessionManager
2
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
+
4
+ type MCPServerConfigEntry = ConfigEntry[SessionManager]
@@ -25,7 +25,7 @@ from homeassistant.helpers.network import get_url as get_url
25
25
  from homeassistant.helpers.typing import ConfigType as ConfigType
26
26
  from homeassistant.loader import bind_hass as bind_hass
27
27
  from homeassistant.util.hass_dict import HassKey as HassKey
28
- from propcache import cached_property
28
+ from propcache.api import cached_property
29
29
  from typing import Any, Final, Required, TypedDict, final
30
30
 
31
31
  _LOGGER: Incomplete
@@ -9,7 +9,7 @@ from homeassistant.helpers.typing import UndefinedType
9
9
  from homeassistant.loader import bind_hass
10
10
  from typing import Protocol
11
11
 
12
- __all__ = ['DOMAIN', 'is_media_source_id', 'generate_media_source_id', 'async_browse_media', 'async_resolve_media', 'BrowseMediaSource', 'PlayMedia', 'MediaSourceItem', 'Unresolvable', 'MediaSource', 'MediaSourceError', 'MEDIA_CLASS_MAP', 'MEDIA_MIME_TYPES']
12
+ __all__ = ['DOMAIN', 'MEDIA_CLASS_MAP', 'MEDIA_MIME_TYPES', 'BrowseMediaSource', 'MediaSource', 'MediaSourceError', 'MediaSourceItem', 'PlayMedia', 'Unresolvable', 'async_browse_media', 'async_resolve_media', 'generate_media_source_id', 'is_media_source_id']
13
13
 
14
14
  class MediaSourceProtocol(Protocol):
15
15
  async def async_get_media_source(self, hass: HomeAssistant) -> MediaSource: ...
@@ -1,6 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN, URI_SCHEME as URI_SCHEME, URI_SCHEME_REGEX as URI_SCHEME_REGEX
2
2
  from _typeshed import Incomplete
3
- from abc import ABC
4
3
  from dataclasses import dataclass
5
4
  from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaType as MediaType
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -29,7 +28,7 @@ class MediaSourceItem:
29
28
  @classmethod
30
29
  def from_uri(cls, hass: HomeAssistant, uri: str, target_media_player: str | None) -> MediaSourceItem: ...
31
30
 
32
- class MediaSource(ABC):
31
+ class MediaSource:
33
32
  name: str | None
34
33
  domain: Incomplete
35
34
  def __init__(self, domain: str) -> None: ...
@@ -1,4 +1,3 @@
1
- import homeassistant.helpers.entity_registry as er
2
1
  from .api import MinecraftServer as MinecraftServer, MinecraftServerAddressError as MinecraftServerAddressError, MinecraftServerType as MinecraftServerType
3
2
  from .const import DOMAIN as DOMAIN, KEY_LATENCY as KEY_LATENCY, KEY_MOTD as KEY_MOTD
4
3
  from .coordinator import MinecraftServerCoordinator as MinecraftServerCoordinator
@@ -7,6 +6,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE, Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.helpers import entity_registry as er
10
10
  from typing import Any
11
11
 
12
12
  PLATFORMS: Incomplete
@@ -1,5 +1,5 @@
1
- from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT as CALL_TYPE_REGISTER_INPUT, CALL_TYPE_X_COILS as CALL_TYPE_X_COILS, CALL_TYPE_X_REGISTER_HOLDINGS as CALL_TYPE_X_REGISTER_HOLDINGS, CONF_BAUDRATE as CONF_BAUDRATE, CONF_BYTESIZE as CONF_BYTESIZE, CONF_CLIMATES as CONF_CLIMATES, CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FANS as CONF_FANS, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MAX_VALUE as CONF_MAX_VALUE, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MIN_VALUE as CONF_MIN_VALUE, CONF_MSG_WAIT as CONF_MSG_WAIT, CONF_NAN_VALUE as CONF_NAN_VALUE, CONF_PARITY as CONF_PARITY, CONF_PRECISION as CONF_PRECISION, CONF_SCALE as CONF_SCALE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATUS_REGISTER as CONF_STATUS_REGISTER, CONF_STATUS_REGISTER_TYPE as CONF_STATUS_REGISTER_TYPE, CONF_STEP as CONF_STEP, CONF_STOPBITS as CONF_STOPBITS, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_VERIFY as CONF_VERIFY, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, CONF_WRITE_TYPE as CONF_WRITE_TYPE, CONF_ZERO_SUPPRESS as CONF_ZERO_SUPPRESS, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TEMP_UNIT as DEFAULT_TEMP_UNIT, DataType as DataType, RTUOVERTCP as RTUOVERTCP, SERIAL as SERIAL, TCP as TCP, UDP as UDP
2
- from .modbus import ModbusHub as ModbusHub, async_modbus_setup as async_modbus_setup
1
+ from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT as CALL_TYPE_REGISTER_INPUT, CALL_TYPE_X_COILS as CALL_TYPE_X_COILS, CALL_TYPE_X_REGISTER_HOLDINGS as CALL_TYPE_X_REGISTER_HOLDINGS, CONF_BAUDRATE as CONF_BAUDRATE, CONF_BYTESIZE as CONF_BYTESIZE, CONF_CLIMATES as CONF_CLIMATES, CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FANS as CONF_FANS, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MAX_VALUE as CONF_MAX_VALUE, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MIN_VALUE as CONF_MIN_VALUE, CONF_MSG_WAIT as CONF_MSG_WAIT, CONF_NAN_VALUE as CONF_NAN_VALUE, CONF_PARITY as CONF_PARITY, CONF_PRECISION as CONF_PRECISION, CONF_SCALE as CONF_SCALE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATUS_REGISTER as CONF_STATUS_REGISTER, CONF_STATUS_REGISTER_TYPE as CONF_STATUS_REGISTER_TYPE, CONF_STEP as CONF_STEP, CONF_STOPBITS as CONF_STOPBITS, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_VERIFY as CONF_VERIFY, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, CONF_WRITE_TYPE as CONF_WRITE_TYPE, CONF_ZERO_SUPPRESS as CONF_ZERO_SUPPRESS, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_HVAC_OFF_VALUE as DEFAULT_HVAC_OFF_VALUE, DEFAULT_HVAC_ON_VALUE as DEFAULT_HVAC_ON_VALUE, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TEMP_UNIT as DEFAULT_TEMP_UNIT, DataType as DataType, RTUOVERTCP as RTUOVERTCP, SERIAL as SERIAL, TCP as TCP, UDP as UDP
2
+ from .modbus import DATA_MODBUS_HUBS as DATA_MODBUS_HUBS, ModbusHub as ModbusHub, async_modbus_setup as async_modbus_setup
3
3
  from .validators import duplicate_fan_mode_validator as duplicate_fan_mode_validator, duplicate_swing_mode_validator as duplicate_swing_mode_validator, hvac_fixedsize_reglist_validator as hvac_fixedsize_reglist_validator, nan_validator as nan_validator, register_int_list_validator as register_int_list_validator, struct_validator as struct_validator
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
@@ -3,7 +3,6 @@ from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_
3
3
  from .entity import BasePlatform as BasePlatform
4
4
  from .modbus import ModbusHub as ModbusHub
5
5
  from _typeshed import Incomplete
6
- from datetime import datetime
7
6
  from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity
8
7
  from homeassistant.const import CONF_BINARY_SENSORS as CONF_BINARY_SENSORS, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, STATE_ON as STATE_ON
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -26,9 +25,8 @@ class ModbusBinarySensor(BasePlatform, RestoreEntity, BinarySensorEntity):
26
25
  async def async_setup_slaves(self, hass: HomeAssistant, slave_count: int, entry: dict[str, Any]) -> list[SlaveSensor]: ...
27
26
  _attr_is_on: Incomplete
28
27
  async def async_added_to_hass(self) -> None: ...
29
- _call_active: bool
30
28
  _attr_available: bool
31
- async def async_update(self, now: datetime | None = None) -> None: ...
29
+ async def _async_update(self) -> None: ...
32
30
 
33
31
  class SlaveSensor(CoordinatorEntity[DataUpdateCoordinator[list[int] | None]], RestoreEntity, BinarySensorEntity):
34
32
  _attr_name: Incomplete
@@ -1,9 +1,8 @@
1
1
  from . import get_hub as get_hub
2
- from .const import CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_WRITE_REGISTER as CALL_TYPE_WRITE_REGISTER, CALL_TYPE_WRITE_REGISTERS as CALL_TYPE_WRITE_REGISTERS, CONF_CLIMATES as CONF_CLIMATES, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_STEP as CONF_STEP, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, DataType as DataType
2
+ from .const import CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_WRITE_REGISTER as CALL_TYPE_WRITE_REGISTER, CALL_TYPE_WRITE_REGISTERS as CALL_TYPE_WRITE_REGISTERS, CONF_CLIMATES as CONF_CLIMATES, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_STEP as CONF_STEP, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, DataType as DataType
3
3
  from .entity import BaseStructPlatform as BaseStructPlatform
4
4
  from .modbus import ModbusHub as ModbusHub
5
5
  from _typeshed import Incomplete
6
- from datetime import datetime
7
6
  from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACMode as HVACMode, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
8
7
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_ADDRESS as CONF_ADDRESS, CONF_NAME as CONF_NAME, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -46,6 +45,8 @@ class ModbusThermostat(BaseStructPlatform, RestoreEntity, ClimateEntity):
46
45
  _swing_mode_modbus_mapping: list[tuple[int, str]]
47
46
  _hvac_onoff_register: Incomplete
48
47
  _hvac_onoff_write_registers: Incomplete
48
+ _hvac_on_value: Incomplete
49
+ _hvac_off_value: Incomplete
49
50
  def __init__(self, hass: HomeAssistant, hub: ModbusHub, config: dict[str, Any]) -> None: ...
50
51
  async def async_added_to_hass(self) -> None: ...
51
52
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
@@ -53,6 +54,6 @@ class ModbusThermostat(BaseStructPlatform, RestoreEntity, ClimateEntity):
53
54
  async def async_set_swing_mode(self, swing_mode: str) -> None: ...
54
55
  _attr_available: Incomplete
55
56
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
56
- async def async_update(self, now: datetime | None = None) -> None: ...
57
+ async def _async_update(self) -> None: ...
57
58
  _value: Incomplete
58
59
  async def _async_read_register(self, register_type: str, register: int, raw: bool | None = False) -> float | None: ...
@@ -49,6 +49,8 @@ CONF_FAN_MODE_DIFFUSE: str
49
49
  CONF_FAN_MODE_VALUES: str
50
50
  CONF_HVAC_MODE_REGISTER: str
51
51
  CONF_HVAC_ONOFF_REGISTER: str
52
+ CONF_HVAC_ON_VALUE: str
53
+ CONF_HVAC_OFF_VALUE: str
52
54
  CONF_HVAC_MODE_OFF: str
53
55
  CONF_HVAC_MODE_HEAT: str
54
56
  CONF_HVAC_MODE_COOL: str
@@ -113,6 +115,8 @@ DEFAULT_SCAN_INTERVAL: int
113
115
  DEFAULT_SLAVE: int
114
116
  DEFAULT_STRUCTURE_PREFIX: str
115
117
  DEFAULT_TEMP_UNIT: str
118
+ DEFAULT_HVAC_ON_VALUE: int
119
+ DEFAULT_HVAC_OFF_VALUE: int
116
120
  MODBUS_DOMAIN: str
117
121
  ACTIVE_SCAN_INTERVAL: int
118
122
  PLATFORMS: Incomplete
@@ -3,7 +3,6 @@ from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_WRITE_COIL as CAL
3
3
  from .entity import BasePlatform as BasePlatform
4
4
  from .modbus import ModbusHub as ModbusHub
5
5
  from _typeshed import Incomplete
6
- from datetime import datetime
7
6
  from homeassistant.components.cover import CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature, CoverState as CoverState
8
7
  from homeassistant.const import CONF_COVERS as CONF_COVERS, CONF_NAME as CONF_NAME, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -37,4 +36,4 @@ class ModbusCover(BasePlatform, CoverEntity, RestoreEntity):
37
36
  _attr_available: Incomplete
38
37
  async def async_open_cover(self, **kwargs: Any) -> None: ...
39
38
  async def async_close_cover(self, **kwargs: Any) -> None: ...
40
- async def async_update(self, now: datetime | None = None) -> None: ...
39
+ async def _async_update(self) -> None: ...
@@ -16,32 +16,40 @@ from typing import Any
16
16
  _LOGGER: Incomplete
17
17
 
18
18
  class BasePlatform(Entity, metaclass=abc.ABCMeta):
19
+ _value: str | None
20
+ _attr_should_poll: bool
21
+ _attr_available: bool
22
+ _attr_unit_of_measurement: Incomplete
19
23
  _hub: Incomplete
20
24
  _slave: Incomplete
21
25
  _address: Incomplete
22
26
  _input_type: Incomplete
23
- _value: str | None
24
27
  _scan_interval: Incomplete
25
- _call_active: bool
26
28
  _cancel_timer: Callable[[], None] | None
27
29
  _cancel_call: Callable[[], None] | None
28
30
  _attr_unique_id: Incomplete
29
31
  _attr_name: Incomplete
30
- _attr_should_poll: bool
31
32
  _attr_device_class: Incomplete
32
- _attr_available: bool
33
- _attr_unit_of_measurement: Incomplete
34
33
  _min_value: Incomplete
35
34
  _max_value: Incomplete
36
35
  _nan_value: Incomplete
37
36
  _zero_suppress: Incomplete
37
+ _update_lock: Incomplete
38
38
  def __init__(self, hass: HomeAssistant, hub: ModbusHub, entry: dict[str, Any]) -> None: ...
39
39
  @abstractmethod
40
+ async def _async_update(self) -> None: ...
40
41
  async def async_update(self, now: datetime | None = None) -> None: ...
42
+ async def _async_update_write_state(self) -> None: ...
43
+ async def _async_update_if_not_in_progress(self, now: datetime | None = None) -> None: ...
41
44
  @callback
42
45
  def async_run(self) -> None: ...
43
46
  @callback
44
- def async_hold(self, update: bool = True) -> None: ...
47
+ def _async_schedule_future_update(self, delay: float) -> None: ...
48
+ @callback
49
+ def _async_cancel_future_pending_update(self) -> None: ...
50
+ def _async_cancel_update_polling(self) -> None: ...
51
+ @callback
52
+ def async_hold(self) -> None: ...
45
53
  async def async_base_added_to_hass(self) -> None: ...
46
54
 
47
55
  class BaseStructPlatform(BasePlatform, RestoreEntity, metaclass=abc.ABCMeta):
@@ -75,5 +83,4 @@ class BaseSwitch(BasePlatform, ToggleEntity, RestoreEntity):
75
83
  _attr_available: bool
76
84
  async def async_turn(self, command: int) -> None: ...
77
85
  async def async_turn_off(self, **kwargs: Any) -> None: ...
78
- _call_active: bool
79
- async def async_update(self, now: datetime | None = None) -> None: ...
86
+ async def _async_update(self) -> None: ...
@@ -1,6 +1,5 @@
1
1
  from . import get_hub as get_hub
2
2
  from .entity import BaseSwitch as BaseSwitch
3
- from .modbus import ModbusHub as ModbusHub
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
6
5
  from homeassistant.const import CONF_LIGHTS as CONF_LIGHTS, CONF_NAME as CONF_NAME
@@ -8,20 +8,24 @@ from homeassistant.helpers.discovery import async_load_platform as async_load_pl
8
8
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
9
9
  from homeassistant.helpers.event import async_call_later as async_call_later
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
+ from homeassistant.util.hass_dict import HassKey as HassKey
11
12
  from pymodbus.client import AsyncModbusSerialClient, AsyncModbusTcpClient, AsyncModbusUdpClient
12
13
  from pymodbus.pdu import ModbusPDU as ModbusPDU
13
14
  from typing import Any, NamedTuple
14
15
 
15
16
  _LOGGER: Incomplete
17
+ DATA_MODBUS_HUBS: HassKey[dict[str, ModbusHub]]
16
18
 
17
19
  class ConfEntry(NamedTuple):
18
20
  call_type: Incomplete
19
21
  attr: Incomplete
20
22
  func_name: Incomplete
23
+ value_attr_name: Incomplete
21
24
 
22
25
  class RunEntry(NamedTuple):
23
26
  attr: Incomplete
24
27
  func: Incomplete
28
+ value_attr_name: Incomplete
25
29
 
26
30
  PB_CALL: Incomplete
27
31
 
@@ -3,7 +3,6 @@ from .const import CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_VIRTUAL_COUNT as C
3
3
  from .entity import BaseStructPlatform as BaseStructPlatform
4
4
  from .modbus import ModbusHub as ModbusHub
5
5
  from _typeshed import Incomplete
6
- from datetime import datetime
7
6
  from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, RestoreSensor as RestoreSensor, SensorEntity as SensorEntity
8
7
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_SENSORS as CONF_SENSORS, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -29,7 +28,7 @@ class ModbusRegisterSensor(BaseStructPlatform, RestoreSensor, SensorEntity):
29
28
  async def async_added_to_hass(self) -> None: ...
30
29
  _cancel_call: Incomplete
31
30
  _attr_available: bool
32
- async def async_update(self, now: datetime | None = None) -> None: ...
31
+ async def _async_update(self) -> None: ...
33
32
 
34
33
  class SlaveSensor(CoordinatorEntity[DataUpdateCoordinator[list[float] | None]], RestoreSensor, SensorEntity):
35
34
  _idx: Incomplete
@@ -1,6 +1,5 @@
1
1
  from . import get_hub as get_hub
2
2
  from .entity import BaseSwitch as BaseSwitch
3
- from .modbus import ModbusHub as ModbusHub
4
3
  from homeassistant.components.switch import SwitchEntity as SwitchEntity
5
4
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_SWITCHES as CONF_SWITCHES
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -3,6 +3,7 @@ from _typeshed import Incomplete
3
3
  from homeassistant.components import usb as usb
4
4
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
5
  from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_NAME as CONF_NAME
6
+ from homeassistant.helpers.service_info.usb import UsbServiceInfo as UsbServiceInfo
6
7
  from serial.tools.list_ports_common import ListPortInfo as ListPortInfo
7
8
  from typing import Any
8
9
 
@@ -13,7 +14,7 @@ def _generate_unique_id(port: ListPortInfo) -> str: ...
13
14
  class PhoneModemFlowHandler(ConfigFlow, domain=DOMAIN):
14
15
  _device: str | None
15
16
  def __init__(self) -> None: ...
16
- async def async_step_usb(self, discovery_info: usb.UsbServiceInfo) -> ConfigFlowResult: ...
17
+ async def async_step_usb(self, discovery_info: UsbServiceInfo) -> ConfigFlowResult: ...
17
18
  async def async_step_usb_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
19
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
20
  async def validate_device_errors(self, dev_path: str, unique_id: str) -> dict[str, str] | None: ...
@@ -1,8 +1,8 @@
1
1
  from .const import DOMAIN as DOMAIN, EMPTY_MAC as EMPTY_MAC
2
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, Platform as Platform
3
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PIN as CONF_PIN, CONF_PORT as CONF_PORT, Platform as Platform
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
- from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
5
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
6
6
  from homeassistant.helpers.device_registry import format_mac as format_mac
7
7
 
8
8
  PLATFORMS: list[Platform]
@@ -1,19 +1,29 @@
1
+ import asyncio
1
2
  from .const import DOMAIN as DOMAIN, EMPTY_MAC as EMPTY_MAC
2
3
  from _typeshed import Incomplete
3
- from homeassistant.components import zeroconf as zeroconf
4
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, DEFAULT_DISCOVERY_UNIQUE_ID as DEFAULT_DISCOVERY_UNIQUE_ID
5
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT, CONF_UUID as CONF_UUID
4
+ from collections.abc import Mapping
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, DEFAULT_DISCOVERY_UNIQUE_ID as DEFAULT_DISCOVERY_UNIQUE_ID, SOURCE_REAUTH as SOURCE_REAUTH
6
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PIN as CONF_PIN, CONF_PORT as CONF_PORT, CONF_UUID as CONF_UUID
6
7
  from homeassistant.helpers.device_registry import format_mac as format_mac
8
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
7
9
  from typing import Any
8
10
 
9
11
  _LOGGER: Incomplete
10
12
 
11
13
  class MotionMountFlowHandler(ConfigFlow, domain=DOMAIN):
12
14
  VERSION: int
13
- discovery_info: dict[str, Any]
15
+ connection_data: dict[str, Any]
16
+ backoff_task: asyncio.Task | None
17
+ backoff_time: int
14
18
  def __init__(self) -> None: ...
15
19
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
16
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
20
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
17
21
  async def async_step_zeroconf_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
- async def _validate_input(self, data: dict) -> dict[str, Any]: ...
22
+ async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
23
+ async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
+ async def async_step_backoff(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
+ def _create_or_update_entry(self) -> ConfigFlowResult: ...
26
+ async def _validate_input_connect(self, data: dict) -> dict[str, Any]: ...
27
+ async def _validate_input_pin(self, data: dict) -> bool | int: ...
19
28
  def _show_setup_form(self, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
29
+ async def _backoff(self, time: int) -> None: ...
@@ -2,7 +2,7 @@ import motionmount
2
2
  from .const import DOMAIN as DOMAIN, EMPTY_MAC as EMPTY_MAC
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
- from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS, ATTR_IDENTIFIERS as ATTR_IDENTIFIERS
5
+ from homeassistant.const import ATTR_CONNECTIONS as ATTR_CONNECTIONS, ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, CONF_PIN as CONF_PIN
6
6
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo, format_mac as format_mac
7
7
  from homeassistant.helpers.entity import Entity as Entity
8
8
 
@@ -12,6 +12,8 @@ class MotionMountEntity(Entity):
12
12
  _attr_should_poll: bool
13
13
  _attr_has_entity_name: bool
14
14
  mm: Incomplete
15
+ config_entry: Incomplete
16
+ pin: Incomplete
15
17
  _base_unique_id: Incomplete
16
18
  _attr_device_info: Incomplete
17
19
  def __init__(self, mm: motionmount.MotionMount, config_entry: ConfigEntry) -> None: ...
@@ -20,4 +22,3 @@ class MotionMountEntity(Entity):
20
22
  def update_name(self) -> None: ...
21
23
  async def async_added_to_hass(self) -> None: ...
22
24
  async def async_will_remove_from_hass(self) -> None: ...
23
- async def _ensure_connected(self) -> bool: ...
@@ -21,6 +21,8 @@ class MotionMountPresets(MotionMountEntity, SelectEntity):
21
21
  def __init__(self, mm: motionmount.MotionMount, config_entry: ConfigEntry) -> None: ...
22
22
  _attr_options: Incomplete
23
23
  def _update_options(self, presets: list[motionmount.Preset]) -> None: ...
24
+ pin: Incomplete
25
+ async def _ensure_connected(self) -> bool: ...
24
26
  async def async_update(self) -> None: ...
25
27
  _attr_current_option: Incomplete
26
28
  @property
@@ -1,48 +1,25 @@
1
- from . import debug_info as debug_info, discovery as discovery
2
- from .client import MQTT as MQTT, async_publish as async_publish, async_subscribe as async_subscribe, async_subscribe_internal as async_subscribe_internal, publish as publish, subscribe as subscribe
1
+ from .client import MQTT as MQTT, async_publish as async_publish, async_subscribe as async_subscribe, publish as publish, subscribe as subscribe
3
2
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA, MQTT_RO_SCHEMA as MQTT_RO_SCHEMA, MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
4
- from .config_integration import CONFIG_SCHEMA_BASE as CONFIG_SCHEMA_BASE
5
- from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TOPIC as CONF_TOPIC, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_RETAIN as DEFAULT_RETAIN, DOMAIN as DOMAIN, ENTITY_PLATFORMS as ENTITY_PLATFORMS, MQTT_CONNECTION_STATE as MQTT_CONNECTION_STATE, TEMPLATE_ERRORS as TEMPLATE_ERRORS
3
+ from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONFIG_ENTRY_MINOR_VERSION as CONFIG_ENTRY_MINOR_VERSION, CONFIG_ENTRY_VERSION as CONFIG_ENTRY_VERSION, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TOPIC as CONF_TOPIC, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_RETAIN as DEFAULT_RETAIN, DOMAIN as DOMAIN, ENTITY_PLATFORMS as ENTITY_PLATFORMS, ENTRY_OPTION_FIELDS as ENTRY_OPTION_FIELDS, MQTT_CONNECTION_STATE as MQTT_CONNECTION_STATE, TEMPLATE_ERRORS as TEMPLATE_ERRORS
6
4
  from .models import DATA_MQTT as DATA_MQTT, DATA_MQTT_AVAILABLE as DATA_MQTT_AVAILABLE, MqttCommandTemplate as MqttCommandTemplate, MqttData as MqttData, MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, convert_outgoing_mqtt_payload as convert_outgoing_mqtt_payload
7
5
  from .subscription import EntitySubscription as EntitySubscription, async_prepare_subscribe_topics as async_prepare_subscribe_topics, async_subscribe_topics as async_subscribe_topics, async_unsubscribe_topics as async_unsubscribe_topics
8
6
  from .util import async_create_certificate_temp_files as async_create_certificate_temp_files, async_forward_entry_setup_and_setup_discovery as async_forward_entry_setup_and_setup_discovery, async_wait_for_mqtt_client as async_wait_for_mqtt_client, mqtt_config_entry_enabled as mqtt_config_entry_enabled, platforms_from_config as platforms_from_config, valid_publish_topic as valid_publish_topic, valid_qos_schema as valid_qos_schema, valid_subscribe_topic as valid_subscribe_topic
9
- from _typeshed import Incomplete
10
7
  from collections.abc import Callable
11
- from homeassistant.components import websocket_api as websocket_api
12
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
- from homeassistant.const import CONF_DISCOVERY as CONF_DISCOVERY, CONF_PAYLOAD as CONF_PAYLOAD, SERVICE_RELOAD as SERVICE_RELOAD
14
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
15
- from homeassistant.exceptions import ConfigValidationError as ConfigValidationError, ServiceValidationError as ServiceValidationError, Unauthorized as Unauthorized
16
- from homeassistant.helpers import template as template
17
- from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
18
- from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
19
- from homeassistant.helpers.entity_platform import async_get_platforms as async_get_platforms
20
- from homeassistant.helpers.reload import async_integration_yaml_config as async_integration_yaml_config
21
- from homeassistant.helpers.service import async_register_admin_service as async_register_admin_service
22
- from homeassistant.helpers.typing import ConfigType as ConfigType
23
- from homeassistant.loader import async_get_integration as async_get_integration, async_get_loaded_integration as async_get_loaded_integration
24
- from homeassistant.setup import SetupPhases as SetupPhases, async_pause_setup as async_pause_setup
8
+ from homeassistant.components import websocket_api
9
+ from homeassistant.config_entries import ConfigEntry
10
+ from homeassistant.const import SERVICE_RELOAD as SERVICE_RELOAD
11
+ from homeassistant.core import HomeAssistant, callback
12
+ from homeassistant.helpers.device_registry import DeviceEntry
13
+ from homeassistant.helpers.typing import ConfigType
14
+ from homeassistant.setup import SetupPhases as SetupPhases
25
15
  from homeassistant.util.async_ import create_eager_task as create_eager_task
26
16
  from typing import Any
27
17
 
28
- _LOGGER: Incomplete
29
- SERVICE_PUBLISH: str
30
- SERVICE_DUMP: str
31
- ATTR_TOPIC_TEMPLATE: str
32
- ATTR_PAYLOAD_TEMPLATE: str
33
- ATTR_EVALUATE_PAYLOAD: str
34
- MAX_RECONNECT_WAIT: int
35
- CONNECTION_SUCCESS: str
36
- CONNECTION_FAILED: str
37
- CONNECTION_FAILED_RECOVERABLE: str
38
- CONFIG_SCHEMA: Incomplete
39
- MQTT_PUBLISH_SCHEMA: Incomplete
18
+ __all__ = ['ATTR_PAYLOAD', 'ATTR_QOS', 'ATTR_RETAIN', 'ATTR_TOPIC', 'CONFIG_ENTRY_MINOR_VERSION', 'CONFIG_ENTRY_VERSION', 'CONF_BIRTH_MESSAGE', 'CONF_BROKER', 'CONF_CERTIFICATE', 'CONF_CLIENT_CERT', 'CONF_CLIENT_KEY', 'CONF_COMMAND_TOPIC', 'CONF_DISCOVERY_PREFIX', 'CONF_KEEPALIVE', 'CONF_QOS', 'CONF_STATE_TOPIC', 'CONF_TLS_INSECURE', 'CONF_TOPIC', 'CONF_TRANSPORT', 'CONF_WILL_MESSAGE', 'CONF_WS_HEADERS', 'CONF_WS_PATH', 'DATA_MQTT', 'DATA_MQTT_AVAILABLE', 'DEFAULT_DISCOVERY', 'DEFAULT_ENCODING', 'DEFAULT_PREFIX', 'DEFAULT_QOS', 'DEFAULT_RETAIN', 'DOMAIN', 'ENTITY_PLATFORMS', 'ENTRY_OPTION_FIELDS', 'MQTT', 'MQTT_BASE_SCHEMA', 'MQTT_CONNECTION_STATE', 'MQTT_RO_SCHEMA', 'MQTT_RW_SCHEMA', 'SERVICE_RELOAD', 'TEMPLATE_ERRORS', 'EntitySubscription', 'MqttCommandTemplate', 'MqttData', 'MqttValueTemplate', 'PayloadSentinel', 'PublishPayloadType', 'ReceiveMessage', 'SetupPhases', 'async_check_config_schema', 'async_create_certificate_temp_files', 'async_forward_entry_setup_and_setup_discovery', 'async_migrate_entry', 'async_prepare_subscribe_topics', 'async_publish', 'async_remove_config_entry_device', 'async_setup', 'async_setup_entry', 'async_subscribe', 'async_subscribe_connection_status', 'async_subscribe_topics', 'async_unload_entry', 'async_unsubscribe_topics', 'async_wait_for_mqtt_client', 'convert_outgoing_mqtt_payload', 'create_eager_task', 'is_connected', 'mqtt_config_entry_enabled', 'platforms_from_config', 'publish', 'subscribe', 'valid_publish_topic', 'valid_qos_schema', 'valid_subscribe_topic', 'websocket_mqtt_info', 'websocket_subscribe']
40
19
 
41
- async def _async_config_entry_updated(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
42
- @callback
43
- def _async_remove_mqtt_issues(hass: HomeAssistant, mqtt_data: MqttData) -> None: ...
44
20
  async def async_check_config_schema(hass: HomeAssistant, config_yaml: ConfigType) -> None: ...
45
21
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
22
+ async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
46
23
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
47
24
  @callback
48
25
  def websocket_mqtt_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,4 +1,3 @@
1
- import homeassistant.components.alarm_control_panel as alarm
2
1
  import voluptuous as vol
3
2
  from . import subscription as subscription
4
3
  from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
@@ -8,6 +7,7 @@ from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplat
8
7
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
9
8
  from .util import valid_publish_topic as valid_publish_topic, valid_subscribe_topic as valid_subscribe_topic
10
9
  from _typeshed import Incomplete
10
+ from homeassistant.components import alarm_control_panel as alarm
11
11
  from homeassistant.components.alarm_control_panel import AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, AlarmControlPanelState as AlarmControlPanelState
12
12
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
13
  from homeassistant.const import CONF_CODE as CONF_CODE, CONF_NAME as CONF_NAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  from .addon import get_addon_manager as get_addon_manager
3
3
  from .client import MqttClientSetup as MqttClientSetup
4
- from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DEFAULT_BIRTH as DEFAULT_BIRTH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_KEEPALIVE as DEFAULT_KEEPALIVE, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_PROTOCOL as DEFAULT_PROTOCOL, DEFAULT_TRANSPORT as DEFAULT_TRANSPORT, DEFAULT_WILL as DEFAULT_WILL, DEFAULT_WS_PATH as DEFAULT_WS_PATH, DOMAIN as DOMAIN, SUPPORTED_PROTOCOLS as SUPPORTED_PROTOCOLS, TRANSPORT_TCP as TRANSPORT_TCP, TRANSPORT_WEBSOCKETS as TRANSPORT_WEBSOCKETS
4
+ from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONFIG_ENTRY_MINOR_VERSION as CONFIG_ENTRY_MINOR_VERSION, CONFIG_ENTRY_VERSION as CONFIG_ENTRY_VERSION, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DEFAULT_BIRTH as DEFAULT_BIRTH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_KEEPALIVE as DEFAULT_KEEPALIVE, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_PROTOCOL as DEFAULT_PROTOCOL, DEFAULT_TRANSPORT as DEFAULT_TRANSPORT, DEFAULT_WILL as DEFAULT_WILL, DEFAULT_WS_PATH as DEFAULT_WS_PATH, DOMAIN as DOMAIN, SUPPORTED_PROTOCOLS as SUPPORTED_PROTOCOLS, TRANSPORT_TCP as TRANSPORT_TCP, TRANSPORT_WEBSOCKETS as TRANSPORT_WEBSOCKETS
5
5
  from .util import async_create_certificate_temp_files as async_create_certificate_temp_files, get_file_path as get_file_path, valid_birth_will as valid_birth_will, valid_publish_topic as valid_publish_topic
6
6
  from _typeshed import Incomplete
7
7
  from collections import OrderedDict
@@ -50,7 +50,8 @@ PWD_NOT_CHANGED: str
50
50
  def update_password_from_user_input(entry_password: str | None, user_input: dict[str, Any]) -> dict[str, Any]: ...
51
51
 
52
52
  class FlowHandler(ConfigFlow, domain=DOMAIN):
53
- VERSION: int
53
+ VERSION = CONFIG_ENTRY_VERSION
54
+ MINOR_VERSION = CONFIG_ENTRY_MINOR_VERSION
54
55
  _hassio_discovery: dict[str, Any] | None
55
56
  _addon_manager: AddonManager
56
57
  install_task: asyncio.Task | None
@@ -77,10 +78,7 @@ class FlowHandler(ConfigFlow, domain=DOMAIN):
77
78
  async def async_step_hassio_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
78
79
 
79
80
  class MQTTOptionsFlowHandler(OptionsFlow):
80
- broker_config: dict[str, Any]
81
- def __init__(self) -> None: ...
82
81
  async def async_step_init(self, user_input: None = None) -> ConfigFlowResult: ...
83
- async def async_step_broker(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
84
82
  async def async_step_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
85
83
 
86
84
  async def _get_uploaded_file(hass: HomeAssistant, id: str) -> str: ...
@@ -1,5 +1,5 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.const import CONF_PAYLOAD as CONF_PAYLOAD, Platform as Platform
2
+ from homeassistant.const import CONF_DISCOVERY as CONF_DISCOVERY, CONF_PAYLOAD as CONF_PAYLOAD, Platform as Platform
3
3
  from homeassistant.exceptions import TemplateError as TemplateError
4
4
 
5
5
  ATTR_DISCOVERY_HASH: str
@@ -45,12 +45,15 @@ CONF_PAYLOAD_RESET: str
45
45
  CONF_SUPPORTED_FEATURES: str
46
46
  CONF_ACTION_TEMPLATE: str
47
47
  CONF_ACTION_TOPIC: str
48
+ CONF_COLOR_TEMP_KELVIN: str
48
49
  CONF_CURRENT_HUMIDITY_TEMPLATE: str
49
50
  CONF_CURRENT_HUMIDITY_TOPIC: str
50
51
  CONF_CURRENT_TEMP_TEMPLATE: str
51
52
  CONF_CURRENT_TEMP_TOPIC: str
52
53
  CONF_ENABLED_BY_DEFAULT: str
53
54
  CONF_ENTITY_PICTURE: str
55
+ CONF_MAX_KELVIN: str
56
+ CONF_MIN_KELVIN: str
54
57
  CONF_MODE_COMMAND_TEMPLATE: str
55
58
  CONF_MODE_COMMAND_TOPIC: str
56
59
  CONF_MODE_LIST: str
@@ -124,6 +127,9 @@ LOGGER: Incomplete
124
127
  MQTT_CONNECTION_STATE: str
125
128
  PAYLOAD_EMPTY_JSON: str
126
129
  PAYLOAD_NONE: str
130
+ CONFIG_ENTRY_VERSION: int
131
+ CONFIG_ENTRY_MINOR_VERSION: int
132
+ ENTRY_OPTION_FIELDS: Incomplete
127
133
  ENTITY_PLATFORMS: Incomplete
128
134
  TEMPLATE_ERRORS: Incomplete
129
135
  SUPPORTED_COMPONENTS: Incomplete
@@ -1,5 +1,4 @@
1
1
  from . import debug_info as debug_info, is_connected as is_connected
2
- from .models import DATA_MQTT as DATA_MQTT
3
2
  from _typeshed import Incomplete
4
3
  from homeassistant.components import device_tracker as device_tracker
5
4
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data