homeassistant-stubs 2024.9.2__py3-none-any.whl → 2024.10.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 (867) hide show
  1. homeassistant-stubs/components/__init__.pyi +0 -8
  2. homeassistant-stubs/components/abode/binary_sensor.pyi +1 -1
  3. homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
  4. homeassistant-stubs/components/acmeda/__init__.pyi +1 -0
  5. homeassistant-stubs/components/acmeda/cover.pyi +2 -2
  6. homeassistant-stubs/components/acmeda/{base.pyi → entity.pyi} +1 -1
  7. homeassistant-stubs/components/acmeda/sensor.pyi +2 -2
  8. homeassistant-stubs/components/actiontec/device_tracker.pyi +1 -1
  9. homeassistant-stubs/components/air_quality/__init__.pyi +2 -0
  10. homeassistant-stubs/components/airgradient/__init__.pyi +2 -10
  11. homeassistant-stubs/components/airgradient/button.pyi +4 -4
  12. homeassistant-stubs/components/airgradient/coordinator.pyi +13 -11
  13. homeassistant-stubs/components/airgradient/diagnostics.pyi +5 -0
  14. homeassistant-stubs/components/airgradient/number.pyi +2 -3
  15. homeassistant-stubs/components/airgradient/select.pyi +2 -3
  16. homeassistant-stubs/components/airgradient/sensor.pyi +9 -9
  17. homeassistant-stubs/components/airgradient/switch.pyi +2 -3
  18. homeassistant-stubs/components/airgradient/update.pyi +2 -3
  19. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  20. homeassistant-stubs/components/airnow/const.pyi +4 -1
  21. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  22. homeassistant-stubs/components/airnow/sensor.pyi +2 -1
  23. homeassistant-stubs/components/airvisual/__init__.pyi +6 -14
  24. homeassistant-stubs/components/airvisual/diagnostics.pyi +3 -4
  25. homeassistant-stubs/components/airvisual/entity.pyi +13 -0
  26. homeassistant-stubs/components/airvisual/sensor.pyi +4 -3
  27. homeassistant-stubs/components/airvisual_pro/__init__.pyi +2 -11
  28. homeassistant-stubs/components/airvisual_pro/entity.pyi +12 -0
  29. homeassistant-stubs/components/airvisual_pro/sensor.pyi +2 -1
  30. homeassistant-stubs/components/airzone/diagnostics.pyi +1 -1
  31. homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +1 -1
  32. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  33. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -0
  34. homeassistant-stubs/components/alert/__init__.pyi +3 -43
  35. homeassistant-stubs/components/alert/entity.pyi +45 -0
  36. homeassistant-stubs/components/alexa/capabilities.pyi +2 -1
  37. homeassistant-stubs/components/alexa/config.pyi +1 -1
  38. homeassistant-stubs/components/alexa/smart_home.pyi +1 -1
  39. homeassistant-stubs/components/amazon_polly/tts.pyi +3 -1
  40. homeassistant-stubs/components/amberelectric/__init__.pyi +5 -3
  41. homeassistant-stubs/components/amberelectric/binary_sensor.pyi +3 -3
  42. homeassistant-stubs/components/amberelectric/sensor.pyi +3 -3
  43. homeassistant-stubs/components/ambient_network/__init__.pyi +3 -3
  44. homeassistant-stubs/components/ambient_network/sensor.pyi +2 -3
  45. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -2
  46. homeassistant-stubs/components/anova/__init__.pyi +3 -5
  47. homeassistant-stubs/components/anova/models.pyi +3 -0
  48. homeassistant-stubs/components/anova/sensor.pyi +2 -4
  49. homeassistant-stubs/components/anthemav/__init__.pyi +4 -3
  50. homeassistant-stubs/components/anthemav/media_player.pyi +2 -3
  51. homeassistant-stubs/components/apcupsd/__init__.pyi +3 -4
  52. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +2 -4
  53. homeassistant-stubs/components/apcupsd/diagnostics.pyi +2 -4
  54. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -3
  55. homeassistant-stubs/components/apple_tv/__init__.pyi +2 -19
  56. homeassistant-stubs/components/apple_tv/const.pyi +2 -0
  57. homeassistant-stubs/components/apple_tv/entity.pyi +21 -0
  58. homeassistant-stubs/components/apple_tv/media_player.pyi +2 -1
  59. homeassistant-stubs/components/apple_tv/remote.pyi +2 -1
  60. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -2
  61. homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +1 -1
  62. homeassistant-stubs/components/aruba/device_tracker.pyi +1 -1
  63. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +1 -2
  64. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +5 -8
  65. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +0 -1
  66. homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +6 -5
  67. homeassistant-stubs/components/aseko_pool_live/entity.pyi +8 -3
  68. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +16 -14
  69. homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -3
  70. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  71. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  72. homeassistant-stubs/components/assist_pipeline/repair_flows.pyi +11 -0
  73. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -3
  74. homeassistant-stubs/components/assist_satellite/__init__.pyi +5 -0
  75. homeassistant-stubs/components/assist_satellite/connection_test.pyi +15 -0
  76. homeassistant-stubs/components/assist_satellite/const.pyi +12 -0
  77. homeassistant-stubs/components/assist_satellite/entity.pyi +88 -0
  78. homeassistant-stubs/components/assist_satellite/errors.pyi +4 -0
  79. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +16 -0
  80. homeassistant-stubs/components/asuswrt/bridge.pyi +8 -1
  81. homeassistant-stubs/components/asuswrt/const.pyi +3 -0
  82. homeassistant-stubs/components/asuswrt/device_tracker.pyi +1 -3
  83. homeassistant-stubs/components/asuswrt/sensor.pyi +3 -2
  84. homeassistant-stubs/components/autarco/coordinator.pyi +6 -4
  85. homeassistant-stubs/components/autarco/sensor.pyi +18 -2
  86. homeassistant-stubs/components/automation/__init__.pyi +5 -3
  87. homeassistant-stubs/components/automation/config.pyi +6 -2
  88. homeassistant-stubs/components/automation/const.pyi +2 -0
  89. homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
  90. homeassistant-stubs/components/axis/hub/event_source.pyi +1 -1
  91. homeassistant-stubs/components/bang_olufsen/__init__.pyi +1 -0
  92. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +2 -0
  93. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  94. homeassistant-stubs/components/bang_olufsen/media_player.pyi +21 -4
  95. homeassistant-stubs/components/bang_olufsen/util.pyi +1 -0
  96. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -1
  97. homeassistant-stubs/components/bayesian/binary_sensor.pyi +9 -4
  98. homeassistant-stubs/components/bayesian/const.pyi +1 -0
  99. homeassistant-stubs/components/bayesian/helpers.pyi +2 -1
  100. homeassistant-stubs/components/binary_sensor/__init__.pyi +2 -0
  101. homeassistant-stubs/components/blueprint/__init__.pyi +1 -1
  102. homeassistant-stubs/components/blueprint/importer.pyi +1 -1
  103. homeassistant-stubs/components/blueprint/models.pyi +4 -3
  104. homeassistant-stubs/components/blueprint/websocket_api.pyi +1 -0
  105. homeassistant-stubs/components/bluesound/__init__.pyi +25 -0
  106. homeassistant-stubs/components/bluesound/config_flow.pyi +24 -0
  107. homeassistant-stubs/components/bluesound/const.pyi +8 -0
  108. homeassistant-stubs/components/bluesound/media_player.pyi +136 -0
  109. homeassistant-stubs/components/bluesound/utils.pyi +3 -0
  110. homeassistant-stubs/components/bluetooth/manager.pyi +3 -0
  111. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -3
  112. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -1
  113. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  114. homeassistant-stubs/components/braviatv/media_player.pyi +1 -2
  115. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +3 -1
  116. homeassistant-stubs/components/bthome/device_trigger.pyi +4 -3
  117. homeassistant-stubs/components/button/__init__.pyi +2 -0
  118. homeassistant-stubs/components/calendar/__init__.pyi +7 -5
  119. homeassistant-stubs/components/calendar/const.pyi +5 -0
  120. homeassistant-stubs/components/calendar/trigger.pyi +2 -1
  121. homeassistant-stubs/components/camera/__init__.pyi +4 -4
  122. homeassistant-stubs/components/camera/const.pyi +12 -2
  123. homeassistant-stubs/components/camera/media_source.pyi +2 -4
  124. homeassistant-stubs/components/cert_expiry/entity.pyi +8 -0
  125. homeassistant-stubs/components/cert_expiry/sensor.pyi +3 -8
  126. homeassistant-stubs/components/climate/__init__.pyi +6 -2
  127. homeassistant-stubs/components/climate/const.pyi +1 -0
  128. homeassistant-stubs/components/climate/intent.pyi +1 -3
  129. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  130. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  131. homeassistant-stubs/components/co2signal/__init__.pyi +0 -1
  132. homeassistant-stubs/components/co2signal/config_flow.pyi +2 -1
  133. homeassistant-stubs/components/config/automation.pyi +1 -1
  134. homeassistant-stubs/components/config/category_registry.pyi +1 -1
  135. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  136. homeassistant-stubs/components/config/entity_registry.pyi +1 -2
  137. homeassistant-stubs/components/config/floor_registry.pyi +1 -1
  138. homeassistant-stubs/components/config/label_registry.pyi +1 -1
  139. homeassistant-stubs/components/config/scene.pyi +1 -1
  140. homeassistant-stubs/components/config/script.pyi +0 -1
  141. homeassistant-stubs/components/cover/__init__.pyi +3 -1
  142. homeassistant-stubs/components/cover/const.pyi +2 -0
  143. homeassistant-stubs/components/cover/intent.pyi +1 -4
  144. homeassistant-stubs/components/crownstone/{devices.pyi → entity.pyi} +1 -1
  145. homeassistant-stubs/components/crownstone/light.pyi +2 -2
  146. homeassistant-stubs/components/deako/__init__.pyi +14 -0
  147. homeassistant-stubs/components/deako/config_flow.pyi +6 -0
  148. homeassistant-stubs/components/deako/const.pyi +2 -0
  149. homeassistant-stubs/components/deako/light.pyi +32 -0
  150. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
  151. homeassistant-stubs/components/deconz/binary_sensor.pyi +3 -3
  152. homeassistant-stubs/components/deconz/button.pyi +4 -4
  153. homeassistant-stubs/components/deconz/climate.pyi +3 -3
  154. homeassistant-stubs/components/deconz/cover.pyi +3 -3
  155. homeassistant-stubs/components/deconz/deconz_event.pyi +1 -1
  156. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  157. homeassistant-stubs/components/deconz/fan.pyi +3 -3
  158. homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
  159. homeassistant-stubs/components/deconz/light.pyi +3 -3
  160. homeassistant-stubs/components/deconz/lock.pyi +3 -3
  161. homeassistant-stubs/components/deconz/number.pyi +3 -3
  162. homeassistant-stubs/components/deconz/scene.pyi +3 -3
  163. homeassistant-stubs/components/deconz/select.pyi +6 -6
  164. homeassistant-stubs/components/deconz/sensor.pyi +6 -5
  165. homeassistant-stubs/components/deconz/siren.pyi +3 -3
  166. homeassistant-stubs/components/deconz/switch.pyi +3 -3
  167. homeassistant-stubs/components/demo/lock.pyi +1 -2
  168. homeassistant-stubs/components/demo/notify.pyi +1 -1
  169. homeassistant-stubs/components/derivative/sensor.pyi +1 -1
  170. homeassistant-stubs/components/device_automation/__init__.pyi +1 -1
  171. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -1
  172. homeassistant-stubs/components/device_tracker/config_entry.pyi +30 -4
  173. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  174. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +1 -1
  175. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  176. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  177. homeassistant-stubs/components/devolo_home_network/__init__.pyi +1 -1
  178. homeassistant-stubs/components/devolo_home_network/const.pyi +1 -0
  179. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -6
  180. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  181. homeassistant-stubs/components/devolo_home_network/sensor.pyi +19 -14
  182. homeassistant-stubs/components/dhcp/__init__.pyi +7 -1
  183. homeassistant-stubs/components/discovergy/config_flow.pyi +1 -0
  184. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
  185. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -2
  186. homeassistant-stubs/components/dlna_dms/media_source.pyi +1 -2
  187. homeassistant-stubs/components/downloader/__init__.pyi +1 -9
  188. homeassistant-stubs/components/downloader/config_flow.pyi +0 -1
  189. homeassistant-stubs/components/dsmr/const.pyi +1 -0
  190. homeassistant-stubs/components/dsmr/sensor.pyi +4 -2
  191. homeassistant-stubs/components/efergy/__init__.pyi +0 -9
  192. homeassistant-stubs/components/efergy/entity.pyi +11 -0
  193. homeassistant-stubs/components/efergy/sensor.pyi +2 -1
  194. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  195. homeassistant-stubs/components/elevenlabs/config_flow.pyi +8 -2
  196. homeassistant-stubs/components/elevenlabs/const.pyi +11 -0
  197. homeassistant-stubs/components/elevenlabs/tts.pyi +7 -3
  198. homeassistant-stubs/components/elkm1/__init__.pyi +1 -34
  199. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
  200. homeassistant-stubs/components/elkm1/binary_sensor.pyi +2 -1
  201. homeassistant-stubs/components/elkm1/climate.pyi +4 -1
  202. homeassistant-stubs/components/elkm1/entity.pyi +43 -0
  203. homeassistant-stubs/components/elkm1/light.pyi +2 -1
  204. homeassistant-stubs/components/elkm1/scene.pyi +2 -1
  205. homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
  206. homeassistant-stubs/components/elkm1/switch.pyi +19 -1
  207. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
  208. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -0
  209. homeassistant-stubs/components/enphase_envoy/sensor.pyi +13 -1
  210. homeassistant-stubs/components/enphase_envoy/switch.pyi +1 -1
  211. homeassistant-stubs/components/esphome/__init__.pyi +3 -2
  212. homeassistant-stubs/components/esphome/assist_satellite.pyi +75 -0
  213. homeassistant-stubs/components/esphome/binary_sensor.pyi +3 -0
  214. homeassistant-stubs/components/esphome/const.pyi +1 -0
  215. homeassistant-stubs/components/esphome/entry_data.pyi +3 -2
  216. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +49 -0
  217. homeassistant-stubs/components/esphome/manager.pyi +2 -9
  218. homeassistant-stubs/components/esphome/media_player.pyi +7 -1
  219. homeassistant-stubs/components/esphome/repairs.pyi +5 -0
  220. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +0 -7
  221. homeassistant-stubs/components/evil_genius_labs/entity.pyi +9 -0
  222. homeassistant-stubs/components/evil_genius_labs/light.pyi +1 -1
  223. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  224. homeassistant-stubs/components/evohome/const.pyi +5 -5
  225. homeassistant-stubs/components/fan/__init__.pyi +2 -0
  226. homeassistant-stubs/components/forecast_solar/coordinator.pyi +1 -1
  227. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -3
  228. homeassistant-stubs/components/fritz/switch.pyi +1 -1
  229. homeassistant-stubs/components/fritzbox/__init__.pyi +1 -27
  230. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +1 -1
  231. homeassistant-stubs/components/fritzbox/button.pyi +1 -1
  232. homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
  233. homeassistant-stubs/components/fritzbox/cover.pyi +1 -1
  234. homeassistant-stubs/components/fritzbox/entity.pyi +29 -0
  235. homeassistant-stubs/components/fritzbox/light.pyi +2 -2
  236. homeassistant-stubs/components/fritzbox/sensor.pyi +5 -3
  237. homeassistant-stubs/components/fritzbox/switch.pyi +1 -1
  238. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  239. homeassistant-stubs/components/frontend/storage.pyi +1 -1
  240. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +2 -1
  241. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +3 -1
  242. homeassistant-stubs/components/fujitsu_fglair/const.pyi +3 -1
  243. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +1 -1
  244. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +6 -6
  245. homeassistant-stubs/components/geo_location/__init__.pyi +2 -0
  246. homeassistant-stubs/components/google/calendar.pyi +20 -6
  247. homeassistant-stubs/components/google_cloud/__init__.pyi +10 -0
  248. homeassistant-stubs/components/google_cloud/config_flow.pyi +27 -0
  249. homeassistant-stubs/components/google_cloud/const.pyi +19 -0
  250. homeassistant-stubs/components/google_cloud/helpers.pyi +14 -0
  251. homeassistant-stubs/components/google_cloud/stt.pyi +34 -0
  252. homeassistant-stubs/components/google_cloud/tts.pyi +47 -0
  253. homeassistant-stubs/components/google_photos/__init__.pyi +3 -0
  254. homeassistant-stubs/components/google_photos/api.pyi +15 -0
  255. homeassistant-stubs/components/google_photos/application_credentials.pyi +6 -0
  256. homeassistant-stubs/components/google_photos/config_flow.pyi +19 -0
  257. homeassistant-stubs/components/google_photos/const.pyi +8 -0
  258. homeassistant-stubs/components/google_photos/coordinator.pyi +17 -0
  259. homeassistant-stubs/components/google_photos/media_source.pyi +54 -0
  260. homeassistant-stubs/components/google_photos/services.pyi +15 -0
  261. homeassistant-stubs/components/google_photos/types.pyi +4 -0
  262. homeassistant-stubs/components/group/__init__.pyi +1 -3
  263. homeassistant-stubs/components/group/button.pyi +1 -1
  264. homeassistant-stubs/components/group/const.pyi +7 -3
  265. homeassistant-stubs/components/group/cover.pyi +1 -1
  266. homeassistant-stubs/components/group/entity.pyi +1 -1
  267. homeassistant-stubs/components/group/event.pyi +1 -1
  268. homeassistant-stubs/components/group/fan.pyi +1 -1
  269. homeassistant-stubs/components/group/lock.pyi +2 -2
  270. homeassistant-stubs/components/group/media_player.pyi +1 -1
  271. homeassistant-stubs/components/group/notify.pyi +1 -1
  272. homeassistant-stubs/components/group/registry.pyi +2 -1
  273. homeassistant-stubs/components/group/sensor.pyi +1 -1
  274. homeassistant-stubs/components/group/switch.pyi +1 -1
  275. homeassistant-stubs/components/guardian/__init__.pyi +0 -24
  276. homeassistant-stubs/components/guardian/binary_sensor.pyi +2 -1
  277. homeassistant-stubs/components/guardian/button.pyi +2 -1
  278. homeassistant-stubs/components/guardian/entity.pyi +29 -0
  279. homeassistant-stubs/components/guardian/sensor.pyi +2 -1
  280. homeassistant-stubs/components/guardian/switch.pyi +2 -1
  281. homeassistant-stubs/components/guardian/util.pyi +1 -1
  282. homeassistant-stubs/components/guardian/valve.pyi +2 -1
  283. homeassistant-stubs/components/history/websocket_api.pyi +1 -2
  284. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
  285. homeassistant-stubs/components/homeassistant/triggers/time.pyi +9 -1
  286. homeassistant-stubs/components/homekit/config_flow.pyi +3 -3
  287. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  288. homeassistant-stubs/components/homekit/type_fans.pyi +1 -1
  289. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  290. homeassistant-stubs/components/homekit/type_lights.pyi +1 -1
  291. homeassistant-stubs/components/homekit/type_locks.pyi +1 -1
  292. homeassistant-stubs/components/homekit/type_media_players.pyi +1 -1
  293. homeassistant-stubs/components/homekit/type_security_systems.pyi +1 -1
  294. homeassistant-stubs/components/homekit/type_switches.pyi +0 -1
  295. homeassistant-stubs/components/homekit/util.pyi +1 -0
  296. homeassistant-stubs/components/homekit_controller/config_flow.pyi +0 -1
  297. homeassistant-stubs/components/homekit_controller/lock.pyi +3 -3
  298. homeassistant-stubs/components/homeworks/__init__.pyi +0 -15
  299. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -1
  300. homeassistant-stubs/components/homeworks/button.pyi +2 -1
  301. homeassistant-stubs/components/homeworks/config_flow.pyi +6 -2
  302. homeassistant-stubs/components/homeworks/entity.pyi +16 -0
  303. homeassistant-stubs/components/homeworks/light.pyi +2 -1
  304. homeassistant-stubs/components/homeworks/util.pyi +1 -0
  305. homeassistant-stubs/components/http/__init__.pyi +1 -1
  306. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -24
  307. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +1 -1
  308. homeassistant-stubs/components/huawei_lte/button.pyi +1 -1
  309. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +3 -4
  310. homeassistant-stubs/components/huawei_lte/entity.pyi +31 -0
  311. homeassistant-stubs/components/huawei_lte/select.pyi +2 -1
  312. homeassistant-stubs/components/huawei_lte/sensor.pyi +2 -1
  313. homeassistant-stubs/components/huawei_lte/switch.pyi +1 -1
  314. homeassistant-stubs/components/humidifier/__init__.pyi +7 -2
  315. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  316. homeassistant-stubs/components/husqvarna_automower/button.pyi +20 -6
  317. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +21 -0
  318. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  319. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +1 -3
  320. homeassistant-stubs/components/husqvarna_automower/entity.pyi +16 -2
  321. homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -10
  322. homeassistant-stubs/components/husqvarna_automower/switch.pyi +12 -1
  323. homeassistant-stubs/components/image/__init__.pyi +1 -1
  324. homeassistant-stubs/components/image/const.pyi +4 -0
  325. homeassistant-stubs/components/image/media_source.pyi +2 -5
  326. homeassistant-stubs/components/ios/__init__.pyi +1 -15
  327. homeassistant-stubs/components/ios/const.pyi +16 -0
  328. homeassistant-stubs/components/ios/notify.pyi +1 -1
  329. homeassistant-stubs/components/ios/sensor.pyi +2 -2
  330. homeassistant-stubs/components/iotty/cover.pyi +36 -0
  331. homeassistant-stubs/components/iotty/entity.pyi +19 -0
  332. homeassistant-stubs/components/iotty/switch.pyi +2 -11
  333. homeassistant-stubs/components/iqvia/__init__.pyi +2 -15
  334. homeassistant-stubs/components/iqvia/entity.pyi +18 -0
  335. homeassistant-stubs/components/iqvia/sensor.pyi +1 -1
  336. homeassistant-stubs/components/isy994/const.pyi +2 -1
  337. homeassistant-stubs/components/jellyfin/browse_media.pyi +1 -2
  338. homeassistant-stubs/components/jellyfin/media_player.pyi +1 -2
  339. homeassistant-stubs/components/jellyfin/media_source.pyi +1 -1
  340. homeassistant-stubs/components/jellyfin/sensor.pyi +1 -0
  341. homeassistant-stubs/components/jvc_projector/coordinator.pyi +2 -1
  342. homeassistant-stubs/components/knx/__init__.pyi +4 -2
  343. homeassistant-stubs/components/knx/binary_sensor.pyi +2 -2
  344. homeassistant-stubs/components/knx/button.pyi +2 -2
  345. homeassistant-stubs/components/knx/climate.pyi +9 -3
  346. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  347. homeassistant-stubs/components/knx/const.pyi +9 -3
  348. homeassistant-stubs/components/knx/cover.pyi +2 -2
  349. homeassistant-stubs/components/knx/date.pyi +2 -2
  350. homeassistant-stubs/components/knx/datetime.pyi +2 -2
  351. homeassistant-stubs/components/knx/device_trigger.pyi +3 -5
  352. homeassistant-stubs/components/knx/diagnostics.pyi +1 -1
  353. homeassistant-stubs/components/knx/{knx_entity.pyi → entity.pyi} +10 -5
  354. homeassistant-stubs/components/knx/fan.pyi +2 -2
  355. homeassistant-stubs/components/knx/light.pyi +3 -9
  356. homeassistant-stubs/components/knx/notify.pyi +2 -2
  357. homeassistant-stubs/components/knx/number.pyi +2 -2
  358. homeassistant-stubs/components/knx/scene.pyi +2 -2
  359. homeassistant-stubs/components/knx/schema.pyi +8 -2
  360. homeassistant-stubs/components/knx/select.pyi +2 -2
  361. homeassistant-stubs/components/knx/sensor.pyi +2 -2
  362. homeassistant-stubs/components/knx/services.pyi +1 -1
  363. homeassistant-stubs/components/knx/switch.pyi +3 -9
  364. homeassistant-stubs/components/knx/text.pyi +2 -2
  365. homeassistant-stubs/components/knx/time.pyi +2 -2
  366. homeassistant-stubs/components/knx/weather.pyi +2 -2
  367. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  368. homeassistant-stubs/components/lamarzocco/config_flow.pyi +5 -1
  369. homeassistant-stubs/components/laundrify/__init__.pyi +2 -0
  370. homeassistant-stubs/components/laundrify/binary_sensor.pyi +0 -1
  371. homeassistant-stubs/components/laundrify/config_flow.pyi +1 -0
  372. homeassistant-stubs/components/laundrify/sensor.pyi +41 -0
  373. homeassistant-stubs/components/lawn_mower/__init__.pyi +2 -0
  374. homeassistant-stubs/components/lcn/__init__.pyi +8 -30
  375. homeassistant-stubs/components/lcn/binary_sensor.pyi +7 -7
  376. homeassistant-stubs/components/lcn/climate.pyi +5 -5
  377. homeassistant-stubs/components/lcn/config_flow.pyi +8 -3
  378. homeassistant-stubs/components/lcn/const.pyi +1 -0
  379. homeassistant-stubs/components/lcn/cover.pyi +6 -6
  380. homeassistant-stubs/components/lcn/entity.pyi +28 -0
  381. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  382. homeassistant-stubs/components/lcn/light.pyi +6 -6
  383. homeassistant-stubs/components/lcn/scene.pyi +4 -5
  384. homeassistant-stubs/components/lcn/sensor.pyi +6 -6
  385. homeassistant-stubs/components/lcn/services.pyi +16 -0
  386. homeassistant-stubs/components/lcn/switch.pyi +6 -6
  387. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  388. homeassistant-stubs/components/lektrico/__init__.pyi +12 -0
  389. homeassistant-stubs/components/lektrico/button.pyi +27 -0
  390. homeassistant-stubs/components/lektrico/config_flow.pyi +24 -0
  391. homeassistant-stubs/components/lektrico/const.pyi +4 -0
  392. homeassistant-stubs/components/lektrico/coordinator.pyi +19 -0
  393. homeassistant-stubs/components/lektrico/entity.pyi +10 -0
  394. homeassistant-stubs/components/lektrico/number.pyi +29 -0
  395. homeassistant-stubs/components/lektrico/select.pyi +30 -0
  396. homeassistant-stubs/components/lektrico/sensor.pyi +34 -0
  397. homeassistant-stubs/components/lidarr/__init__.pyi +2 -11
  398. homeassistant-stubs/components/lidarr/entity.pyi +13 -0
  399. homeassistant-stubs/components/lidarr/sensor.pyi +2 -1
  400. homeassistant-stubs/components/light/__init__.pyi +4 -2
  401. homeassistant-stubs/components/linkplay/const.pyi +1 -1
  402. homeassistant-stubs/components/linkplay/media_player.pyi +9 -3
  403. homeassistant-stubs/components/linkplay/utils.pyi +1 -1
  404. homeassistant-stubs/components/local_todo/todo.pyi +1 -0
  405. homeassistant-stubs/components/lock/__init__.pyi +4 -2
  406. homeassistant-stubs/components/lock/const.pyi +11 -0
  407. homeassistant-stubs/components/lock/device_condition.pyi +2 -2
  408. homeassistant-stubs/components/lock/device_trigger.pyi +2 -2
  409. homeassistant-stubs/components/lock/reproduce_state.pyi +2 -2
  410. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -2
  411. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  412. homeassistant-stubs/components/madvr/__init__.pyi +1 -1
  413. homeassistant-stubs/components/madvr/config_flow.pyi +2 -1
  414. homeassistant-stubs/components/madvr/diagnostics.pyi +10 -0
  415. homeassistant-stubs/components/matter/button.pyi +25 -0
  416. homeassistant-stubs/components/matter/entity.pyi +1 -4
  417. homeassistant-stubs/components/matter/light.pyi +0 -1
  418. homeassistant-stubs/components/matter/models.pyi +5 -3
  419. homeassistant-stubs/components/matter/number.pyi +2 -2
  420. homeassistant-stubs/components/matter/sensor.pyi +9 -0
  421. homeassistant-stubs/components/matter/valve.pyi +33 -0
  422. homeassistant-stubs/components/media_player/__init__.pyi +11 -4
  423. homeassistant-stubs/components/media_player/const.pyi +67 -63
  424. homeassistant-stubs/components/mikrotik/device_tracker.pyi +1 -3
  425. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -0
  426. homeassistant-stubs/components/minecraft_server/diagnostics.pyi +1 -1
  427. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -1
  428. homeassistant-stubs/components/modbus/climate.pyi +1 -1
  429. homeassistant-stubs/components/modbus/cover.pyi +1 -1
  430. homeassistant-stubs/components/modbus/fan.pyi +1 -1
  431. homeassistant-stubs/components/modbus/light.pyi +1 -1
  432. homeassistant-stubs/components/modbus/sensor.pyi +1 -1
  433. homeassistant-stubs/components/modbus/switch.pyi +1 -1
  434. homeassistant-stubs/components/mold_indicator/__init__.pyi +10 -0
  435. homeassistant-stubs/components/mold_indicator/config_flow.pyi +20 -0
  436. homeassistant-stubs/components/mold_indicator/const.pyi +6 -0
  437. homeassistant-stubs/components/mold_indicator/sensor.pyi +60 -0
  438. homeassistant-stubs/components/mopeka/__init__.pyi +1 -1
  439. homeassistant-stubs/components/motionmount/entity.pyi +3 -0
  440. homeassistant-stubs/components/motionmount/number.pyi +1 -0
  441. homeassistant-stubs/components/motionmount/select.pyi +5 -0
  442. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  443. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -1
  444. homeassistant-stubs/components/mqtt/button.pyi +1 -1
  445. homeassistant-stubs/components/mqtt/camera.pyi +1 -1
  446. homeassistant-stubs/components/mqtt/climate.pyi +1 -6
  447. homeassistant-stubs/components/mqtt/config_flow.pyi +1 -2
  448. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  449. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  450. homeassistant-stubs/components/mqtt/device_tracker.pyi +3 -3
  451. homeassistant-stubs/components/mqtt/device_trigger.pyi +1 -1
  452. homeassistant-stubs/components/mqtt/discovery.pyi +1 -1
  453. homeassistant-stubs/components/mqtt/{mixins.pyi → entity.pyi} +0 -3
  454. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  455. homeassistant-stubs/components/mqtt/fan.pyi +1 -1
  456. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
  457. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  458. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -1
  459. homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
  460. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -1
  461. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -1
  462. homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -1
  463. homeassistant-stubs/components/mqtt/lock.pyi +1 -1
  464. homeassistant-stubs/components/mqtt/notify.pyi +1 -1
  465. homeassistant-stubs/components/mqtt/number.pyi +1 -1
  466. homeassistant-stubs/components/mqtt/scene.pyi +1 -1
  467. homeassistant-stubs/components/mqtt/select.pyi +1 -1
  468. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  469. homeassistant-stubs/components/mqtt/siren.pyi +1 -1
  470. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  471. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  472. homeassistant-stubs/components/mqtt/text.pyi +1 -1
  473. homeassistant-stubs/components/mqtt/trigger.pyi +3 -2
  474. homeassistant-stubs/components/mqtt/update.pyi +1 -1
  475. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -1
  476. homeassistant-stubs/components/mqtt/valve.pyi +3 -3
  477. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -1
  478. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  479. homeassistant-stubs/components/mysensors/binary_sensor.pyi +3 -2
  480. homeassistant-stubs/components/mysensors/climate.pyi +3 -2
  481. homeassistant-stubs/components/mysensors/cover.pyi +3 -2
  482. homeassistant-stubs/components/mysensors/device_tracker.pyi +5 -10
  483. homeassistant-stubs/components/mysensors/handler.pyi +1 -1
  484. homeassistant-stubs/components/mysensors/light.pyi +3 -3
  485. homeassistant-stubs/components/mysensors/remote.pyi +1 -1
  486. homeassistant-stubs/components/mysensors/sensor.pyi +4 -3
  487. homeassistant-stubs/components/mysensors/switch.pyi +1 -1
  488. homeassistant-stubs/components/mysensors/text.pyi +2 -2
  489. homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -2
  490. homeassistant-stubs/components/nest/device_trigger.pyi +1 -2
  491. homeassistant-stubs/components/nest/media_source.pyi +1 -2
  492. homeassistant-stubs/components/netatmo/device_trigger.pyi +1 -2
  493. homeassistant-stubs/components/netatmo/media_source.pyi +1 -2
  494. homeassistant-stubs/components/network/websocket.pyi +1 -1
  495. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  496. homeassistant-stubs/components/nextdns/config_flow.pyi +11 -1
  497. homeassistant-stubs/components/nextdns/coordinator.pyi +1 -0
  498. homeassistant-stubs/components/nissan_leaf/__init__.pyi +3 -14
  499. homeassistant-stubs/components/nissan_leaf/binary_sensor.pyi +2 -1
  500. homeassistant-stubs/components/nissan_leaf/button.pyi +2 -1
  501. homeassistant-stubs/components/nissan_leaf/const.pyi +1 -0
  502. homeassistant-stubs/components/nissan_leaf/entity.pyi +18 -0
  503. homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -1
  504. homeassistant-stubs/components/nissan_leaf/switch.pyi +2 -1
  505. homeassistant-stubs/components/notify/__init__.pyi +3 -2
  506. homeassistant-stubs/components/notify/legacy.pyi +5 -6
  507. homeassistant-stubs/components/notify/repairs.pyi +1 -2
  508. homeassistant-stubs/components/notion/__init__.pyi +1 -23
  509. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -2
  510. homeassistant-stubs/components/notion/entity.pyi +33 -0
  511. homeassistant-stubs/components/notion/sensor.pyi +1 -2
  512. homeassistant-stubs/components/onewire/binary_sensor.pyi +1 -1
  513. homeassistant-stubs/components/onewire/sensor.pyi +1 -1
  514. homeassistant-stubs/components/onewire/switch.pyi +1 -1
  515. homeassistant-stubs/components/onkyo/media_player.pyi +84 -0
  516. homeassistant-stubs/components/onkyo/receiver.pyi +19 -0
  517. homeassistant-stubs/components/openuv/__init__.pyi +0 -11
  518. homeassistant-stubs/components/openuv/binary_sensor.pyi +1 -1
  519. homeassistant-stubs/components/openuv/entity.pyi +14 -0
  520. homeassistant-stubs/components/openuv/sensor.pyi +1 -1
  521. homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
  522. homeassistant-stubs/components/overkiz/{climate_entities → climate}/__init__.pyi +9 -0
  523. homeassistant-stubs/components/overkiz/{water_heater.pyi → cover/__init__.pyi} +5 -4
  524. homeassistant-stubs/components/overkiz/executor.pyi +1 -1
  525. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +17 -0
  526. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -10
  527. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +2 -1
  528. homeassistant-stubs/components/pi_hole/entity.pyi +13 -0
  529. homeassistant-stubs/components/pi_hole/sensor.pyi +2 -1
  530. homeassistant-stubs/components/pi_hole/switch.pyi +2 -1
  531. homeassistant-stubs/components/pi_hole/update.pyi +2 -1
  532. homeassistant-stubs/components/ping/binary_sensor.pyi +0 -8
  533. homeassistant-stubs/components/ping/device_tracker.pyi +1 -3
  534. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -1
  535. homeassistant-stubs/components/prusalink/__init__.pyi +1 -8
  536. homeassistant-stubs/components/prusalink/binary_sensor.pyi +1 -1
  537. homeassistant-stubs/components/prusalink/button.pyi +1 -1
  538. homeassistant-stubs/components/prusalink/camera.pyi +1 -1
  539. homeassistant-stubs/components/prusalink/entity.pyi +9 -0
  540. homeassistant-stubs/components/prusalink/sensor.pyi +1 -1
  541. homeassistant-stubs/components/purpleair/__init__.pyi +1 -17
  542. homeassistant-stubs/components/purpleair/entity.pyi +21 -0
  543. homeassistant-stubs/components/purpleair/sensor.pyi +1 -1
  544. homeassistant-stubs/components/qnap_qsw/diagnostics.pyi +1 -1
  545. homeassistant-stubs/components/radarr/__init__.pyi +2 -15
  546. homeassistant-stubs/components/radarr/binary_sensor.pyi +2 -1
  547. homeassistant-stubs/components/radarr/calendar.pyi +2 -1
  548. homeassistant-stubs/components/radarr/entity.pyi +16 -0
  549. homeassistant-stubs/components/radarr/sensor.pyi +2 -1
  550. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -18
  551. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +2 -2
  552. homeassistant-stubs/components/rainmachine/button.pyi +2 -2
  553. homeassistant-stubs/components/rainmachine/entity.pyi +30 -0
  554. homeassistant-stubs/components/rainmachine/select.pyi +2 -2
  555. homeassistant-stubs/components/rainmachine/sensor.pyi +2 -2
  556. homeassistant-stubs/components/rainmachine/switch.pyi +2 -2
  557. homeassistant-stubs/components/rainmachine/update.pyi +2 -2
  558. homeassistant-stubs/components/recorder/const.pyi +2 -2
  559. homeassistant-stubs/components/recorder/core.pyi +3 -7
  560. homeassistant-stubs/components/recorder/history/legacy.pyi +9 -10
  561. homeassistant-stubs/components/recorder/history/modern.pyi +1 -1
  562. homeassistant-stubs/components/recorder/migration.pyi +28 -25
  563. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  564. homeassistant-stubs/components/recorder/models/legacy.pyi +1 -37
  565. homeassistant-stubs/components/recorder/models/time.pyi +0 -1
  566. homeassistant-stubs/components/recorder/statistics.pyi +2 -1
  567. homeassistant-stubs/components/recorder/tasks.pyi +4 -17
  568. homeassistant-stubs/components/recorder/util.pyi +6 -2
  569. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -3
  570. homeassistant-stubs/components/remote/__init__.pyi +2 -0
  571. homeassistant-stubs/components/renault/device_tracker.pyi +8 -4
  572. homeassistant-stubs/components/renault/renault_hub.pyi +1 -1
  573. homeassistant-stubs/components/renault/renault_vehicle.pyi +2 -0
  574. homeassistant-stubs/components/renault/services.pyi +4 -0
  575. homeassistant-stubs/components/rfxtrx/__init__.pyi +2 -27
  576. homeassistant-stubs/components/rfxtrx/binary_sensor.pyi +2 -1
  577. homeassistant-stubs/components/rfxtrx/const.pyi +1 -0
  578. homeassistant-stubs/components/rfxtrx/cover.pyi +2 -1
  579. homeassistant-stubs/components/rfxtrx/device_action.pyi +1 -1
  580. homeassistant-stubs/components/rfxtrx/device_trigger.pyi +1 -2
  581. homeassistant-stubs/components/rfxtrx/entity.pyi +33 -0
  582. homeassistant-stubs/components/rfxtrx/event.pyi +2 -1
  583. homeassistant-stubs/components/rfxtrx/light.pyi +2 -1
  584. homeassistant-stubs/components/rfxtrx/sensor.pyi +2 -1
  585. homeassistant-stubs/components/rfxtrx/siren.pyi +2 -1
  586. homeassistant-stubs/components/rfxtrx/switch.pyi +3 -2
  587. homeassistant-stubs/components/ring/__init__.pyi +10 -9
  588. homeassistant-stubs/components/ring/binary_sensor.pyi +24 -20
  589. homeassistant-stubs/components/ring/button.pyi +2 -4
  590. homeassistant-stubs/components/ring/camera.pyi +2 -4
  591. homeassistant-stubs/components/ring/config_flow.pyi +2 -1
  592. homeassistant-stubs/components/ring/const.pyi +1 -1
  593. homeassistant-stubs/components/ring/coordinator.pyi +22 -7
  594. homeassistant-stubs/components/ring/diagnostics.pyi +2 -4
  595. homeassistant-stubs/components/ring/entity.pyi +27 -7
  596. homeassistant-stubs/components/ring/event.pyi +30 -0
  597. homeassistant-stubs/components/ring/light.pyi +2 -4
  598. homeassistant-stubs/components/ring/number.pyi +33 -0
  599. homeassistant-stubs/components/ring/sensor.pyi +6 -8
  600. homeassistant-stubs/components/ring/siren.pyi +30 -14
  601. homeassistant-stubs/components/ring/switch.pyi +25 -17
  602. homeassistant-stubs/components/roborock/binary_sensor.pyi +1 -1
  603. homeassistant-stubs/components/roborock/button.pyi +1 -1
  604. homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
  605. homeassistant-stubs/components/roborock/image.pyi +1 -1
  606. homeassistant-stubs/components/roborock/number.pyi +3 -2
  607. homeassistant-stubs/components/roborock/select.pyi +2 -1
  608. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  609. homeassistant-stubs/components/roborock/switch.pyi +3 -2
  610. homeassistant-stubs/components/roborock/time.pyi +3 -2
  611. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  612. homeassistant-stubs/components/samsungtv/device_trigger.pyi +1 -2
  613. homeassistant-stubs/components/scene/__init__.pyi +2 -0
  614. homeassistant-stubs/components/schedule/__init__.pyi +5 -1
  615. homeassistant-stubs/components/schedule/const.pyi +1 -0
  616. homeassistant-stubs/components/script/helpers.pyi +1 -1
  617. homeassistant-stubs/components/sensibo/diagnostics.pyi +1 -1
  618. homeassistant-stubs/components/sensor/device_condition.pyi +1 -2
  619. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -2
  620. homeassistant-stubs/components/sensor/recorder.pyi +10 -6
  621. homeassistant-stubs/components/sensoterra/__init__.pyi +10 -0
  622. homeassistant-stubs/components/sensoterra/config_flow.pyi +11 -0
  623. homeassistant-stubs/components/sensoterra/const.pyi +9 -0
  624. homeassistant-stubs/components/sensoterra/coordinator.pyi +15 -0
  625. homeassistant-stubs/components/sensoterra/sensor.pyi +39 -0
  626. homeassistant-stubs/components/shelly/cover.pyi +7 -1
  627. homeassistant-stubs/components/shelly/device_trigger.pyi +1 -2
  628. homeassistant-stubs/components/shelly/update.pyi +1 -0
  629. homeassistant-stubs/components/simplisafe/__init__.pyi +4 -38
  630. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -1
  631. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +2 -1
  632. homeassistant-stubs/components/simplisafe/button.pyi +2 -1
  633. homeassistant-stubs/components/simplisafe/const.pyi +6 -0
  634. homeassistant-stubs/components/simplisafe/entity.pyi +38 -0
  635. homeassistant-stubs/components/simplisafe/lock.pyi +2 -1
  636. homeassistant-stubs/components/simplisafe/sensor.pyi +2 -1
  637. homeassistant-stubs/components/siren/__init__.pyi +2 -0
  638. homeassistant-stubs/components/slack/__init__.pyi +1 -13
  639. homeassistant-stubs/components/slack/entity.pyi +15 -0
  640. homeassistant-stubs/components/slack/sensor.pyi +1 -1
  641. homeassistant-stubs/components/smlight/__init__.pyi +18 -0
  642. homeassistant-stubs/components/smlight/binary_sensor.pyi +46 -0
  643. homeassistant-stubs/components/smlight/button.pyi +32 -0
  644. homeassistant-stubs/components/smlight/config_flow.pyi +27 -0
  645. homeassistant-stubs/components/smlight/const.pyi +11 -0
  646. homeassistant-stubs/components/smlight/coordinator.pyi +49 -0
  647. homeassistant-stubs/components/smlight/diagnostics.pyi +5 -0
  648. homeassistant-stubs/components/smlight/entity.pyi +10 -0
  649. homeassistant-stubs/components/smlight/sensor.pyi +56 -0
  650. homeassistant-stubs/components/smlight/switch.pyi +39 -0
  651. homeassistant-stubs/components/smlight/update.pyi +48 -0
  652. homeassistant-stubs/components/solarlog/__init__.pyi +14 -0
  653. homeassistant-stubs/components/solarlog/config_flow.pyi +27 -0
  654. homeassistant-stubs/components/solarlog/const.pyi +4 -0
  655. homeassistant-stubs/components/solarlog/coordinator.pyi +19 -0
  656. homeassistant-stubs/components/solarlog/diagnostics.pyi +10 -0
  657. homeassistant-stubs/components/solarlog/entity.pyi +23 -0
  658. homeassistant-stubs/components/solarlog/sensor.pyi +36 -0
  659. homeassistant-stubs/components/squeezebox/__init__.pyi +24 -0
  660. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +17 -0
  661. homeassistant-stubs/components/squeezebox/browse_media.pyi +18 -0
  662. homeassistant-stubs/components/squeezebox/config_flow.pyi +27 -0
  663. homeassistant-stubs/components/squeezebox/const.pyi +29 -0
  664. homeassistant-stubs/components/squeezebox/coordinator.pyi +14 -0
  665. homeassistant-stubs/components/squeezebox/entity.pyi +14 -0
  666. homeassistant-stubs/components/squeezebox/media_player.pyi +111 -0
  667. homeassistant-stubs/components/squeezebox/sensor.pyi +18 -0
  668. homeassistant-stubs/components/ssdp/__init__.pyi +3 -1
  669. homeassistant-stubs/components/starlink/device_tracker.pyi +2 -5
  670. homeassistant-stubs/components/starlink/diagnostics.pyi +1 -1
  671. homeassistant-stubs/components/stt/const.pyi +6 -2
  672. homeassistant-stubs/components/surepetcare/config_flow.pyi +2 -6
  673. homeassistant-stubs/components/surepetcare/lock.pyi +3 -4
  674. homeassistant-stubs/components/switch/__init__.pyi +2 -0
  675. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  676. homeassistant-stubs/components/switchbot_cloud/const.pyi +4 -0
  677. homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
  678. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +32 -0
  679. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
  680. homeassistant-stubs/components/switcher_kis/config_flow.pyi +23 -2
  681. homeassistant-stubs/components/switcher_kis/coordinator.pyi +2 -0
  682. homeassistant-stubs/components/switcher_kis/cover.pyi +2 -1
  683. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  684. homeassistant-stubs/components/tailscale/__init__.pyi +0 -13
  685. homeassistant-stubs/components/tailscale/binary_sensor.pyi +1 -1
  686. homeassistant-stubs/components/tailscale/config_flow.pyi +2 -0
  687. homeassistant-stubs/components/tailscale/entity.pyi +15 -0
  688. homeassistant-stubs/components/tailscale/sensor.pyi +1 -1
  689. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  690. homeassistant-stubs/components/tami4/button.pyi +14 -1
  691. homeassistant-stubs/components/tautulli/__init__.pyi +0 -13
  692. homeassistant-stubs/components/tautulli/entity.pyi +15 -0
  693. homeassistant-stubs/components/tautulli/sensor.pyi +2 -1
  694. homeassistant-stubs/components/tcp/binary_sensor.pyi +2 -1
  695. homeassistant-stubs/components/tcp/common.pyi +0 -17
  696. homeassistant-stubs/components/tcp/entity.pyi +21 -0
  697. homeassistant-stubs/components/tcp/sensor.pyi +2 -1
  698. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -17
  699. homeassistant-stubs/components/threshold/const.pyi +20 -5
  700. homeassistant-stubs/components/tibber/services.pyi +2 -2
  701. homeassistant-stubs/components/tile/device_tracker.pyi +1 -3
  702. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  703. homeassistant-stubs/components/todo/const.pyi +4 -0
  704. homeassistant-stubs/components/todo/intent.pyi +2 -2
  705. homeassistant-stubs/components/tolo/__init__.pyi +3 -22
  706. homeassistant-stubs/components/tolo/binary_sensor.pyi +2 -1
  707. homeassistant-stubs/components/tolo/button.pyi +2 -1
  708. homeassistant-stubs/components/tolo/climate.pyi +2 -1
  709. homeassistant-stubs/components/tolo/coordinator.pyi +20 -0
  710. homeassistant-stubs/components/tolo/entity.pyi +11 -0
  711. homeassistant-stubs/components/tolo/fan.pyi +2 -1
  712. homeassistant-stubs/components/tolo/light.pyi +2 -1
  713. homeassistant-stubs/components/tolo/number.pyi +2 -1
  714. homeassistant-stubs/components/tolo/select.pyi +2 -1
  715. homeassistant-stubs/components/tolo/sensor.pyi +2 -1
  716. homeassistant-stubs/components/tolo/switch.pyi +2 -1
  717. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -1
  718. homeassistant-stubs/components/tplink/button.pyi +2 -1
  719. homeassistant-stubs/components/tplink/deprecate.pyi +18 -0
  720. homeassistant-stubs/components/tplink/entity.pyi +8 -4
  721. homeassistant-stubs/components/tplink/number.pyi +3 -1
  722. homeassistant-stubs/components/tplink/select.pyi +1 -1
  723. homeassistant-stubs/components/tplink/sensor.pyi +2 -1
  724. homeassistant-stubs/components/tplink/siren.pyi +22 -0
  725. homeassistant-stubs/components/tplink/switch.pyi +1 -1
  726. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -0
  727. homeassistant-stubs/components/tplink_omada/controller.pyi +10 -5
  728. homeassistant-stubs/components/tplink_omada/coordinator.pyi +7 -2
  729. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +1 -3
  730. homeassistant-stubs/components/tplink_omada/entity.pyi +0 -1
  731. homeassistant-stubs/components/tplink_omada/update.pyi +8 -7
  732. homeassistant-stubs/components/trace/__init__.pyi +1 -2
  733. homeassistant-stubs/components/trace/const.pyi +7 -3
  734. homeassistant-stubs/components/tractive/device_tracker.pyi +3 -9
  735. homeassistant-stubs/components/tradfri/cover.pyi +1 -1
  736. homeassistant-stubs/components/tradfri/fan.pyi +1 -1
  737. homeassistant-stubs/components/tradfri/light.pyi +1 -1
  738. homeassistant-stubs/components/tradfri/sensor.pyi +1 -1
  739. homeassistant-stubs/components/tradfri/switch.pyi +1 -1
  740. homeassistant-stubs/components/tts/__init__.pyi +2 -1
  741. homeassistant-stubs/components/tts/const.pyi +6 -1
  742. homeassistant-stubs/components/tts/helper.pyi +2 -3
  743. homeassistant-stubs/components/tts/legacy.pyi +0 -1
  744. homeassistant-stubs/components/tts/media_source.pyi +3 -3
  745. homeassistant-stubs/components/unifi/device_tracker.pyi +2 -4
  746. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  747. homeassistant-stubs/components/unifi/switch.pyi +1 -1
  748. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -2
  749. homeassistant-stubs/components/unifiprotect/button.pyi +1 -2
  750. homeassistant-stubs/components/unifiprotect/entity.pyi +40 -3
  751. homeassistant-stubs/components/unifiprotect/event.pyi +1 -2
  752. homeassistant-stubs/components/unifiprotect/media_source.pyi +1 -1
  753. homeassistant-stubs/components/unifiprotect/number.pyi +1 -2
  754. homeassistant-stubs/components/unifiprotect/select.pyi +1 -2
  755. homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -2
  756. homeassistant-stubs/components/unifiprotect/switch.pyi +1 -2
  757. homeassistant-stubs/components/unifiprotect/text.pyi +1 -2
  758. homeassistant-stubs/components/upcloud/__init__.pyi +2 -37
  759. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -1
  760. homeassistant-stubs/components/upcloud/const.pyi +1 -0
  761. homeassistant-stubs/components/upcloud/entity.pyi +38 -0
  762. homeassistant-stubs/components/upcloud/switch.pyi +4 -1
  763. homeassistant-stubs/components/update/__init__.pyi +1 -0
  764. homeassistant-stubs/components/uvc/__init__.pyi +0 -0
  765. homeassistant-stubs/components/uvc/camera.pyi +54 -0
  766. homeassistant-stubs/components/vacuum/__init__.pyi +21 -14
  767. homeassistant-stubs/components/vallox/__init__.pyi +6 -9
  768. homeassistant-stubs/components/vallox/binary_sensor.pyi +1 -1
  769. homeassistant-stubs/components/vallox/config_flow.pyi +5 -2
  770. homeassistant-stubs/components/vallox/const.pyi +3 -3
  771. homeassistant-stubs/components/vallox/date.pyi +1 -1
  772. homeassistant-stubs/components/vallox/entity.pyi +12 -0
  773. homeassistant-stubs/components/vallox/fan.pyi +2 -2
  774. homeassistant-stubs/components/vallox/number.pyi +1 -1
  775. homeassistant-stubs/components/vallox/sensor.pyi +2 -2
  776. homeassistant-stubs/components/vallox/switch.pyi +1 -1
  777. homeassistant-stubs/components/valve/__init__.pyi +3 -1
  778. homeassistant-stubs/components/valve/const.pyi +9 -0
  779. homeassistant-stubs/components/velbus/climate.pyi +4 -1
  780. homeassistant-stubs/components/wallbox/const.pyi +4 -0
  781. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -1
  782. homeassistant-stubs/components/wallbox/number.pyi +1 -1
  783. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  784. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  785. homeassistant-stubs/components/weather/__init__.pyi +1 -1
  786. homeassistant-stubs/components/weather/const.pyi +5 -0
  787. homeassistant-stubs/components/weather/intent.pyi +1 -3
  788. homeassistant-stubs/components/weather/websocket_api.pyi +1 -2
  789. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  790. homeassistant-stubs/components/withings/config_flow.pyi +1 -1
  791. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +1 -0
  792. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +9 -1
  793. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +10 -6
  794. homeassistant-stubs/components/yale_smart_alarm/switch.pyi +20 -0
  795. homeassistant-stubs/components/youtube/const.pyi +1 -0
  796. homeassistant-stubs/components/youtube/coordinator.pyi +1 -1
  797. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  798. homeassistant-stubs/components/zeroconf/__init__.pyi +4 -0
  799. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  800. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  801. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  802. homeassistant-stubs/components/zwave_js/cover.pyi +5 -0
  803. homeassistant-stubs/components/zwave_js/device_condition.pyi +1 -1
  804. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -2
  805. homeassistant-stubs/components/zwave_js/diagnostics.pyi +1 -2
  806. homeassistant-stubs/components/zwave_js/entity.pyi +1 -2
  807. homeassistant-stubs/components/zwave_js/lock.pyi +2 -3
  808. homeassistant-stubs/components/zwave_js/migrate.pyi +8 -7
  809. homeassistant-stubs/components/zwave_js/sensor.pyi +8 -4
  810. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +1 -1
  811. homeassistant-stubs/config_entries.pyi +9 -4
  812. homeassistant-stubs/const.pyi +19 -8
  813. homeassistant-stubs/helpers/aiohttp_client.pyi +8 -7
  814. homeassistant-stubs/helpers/condition.pyi +2 -0
  815. homeassistant-stubs/helpers/config_validation.pyi +5 -1
  816. homeassistant-stubs/helpers/discovery.pyi +1 -1
  817. homeassistant-stubs/helpers/discovery_flow.pyi +12 -2
  818. homeassistant-stubs/helpers/frame.pyi +1 -1
  819. homeassistant-stubs/helpers/llm.pyi +5 -5
  820. homeassistant-stubs/helpers/script.pyi +1 -1
  821. homeassistant-stubs/helpers/state.pyi +2 -1
  822. homeassistant-stubs/helpers/template.pyi +5 -1
  823. homeassistant-stubs/util/aiohttp.pyi +10 -0
  824. homeassistant-stubs/util/package.pyi +3 -0
  825. homeassistant-stubs/util/ssl.pyi +8 -4
  826. homeassistant-stubs/util/unit_conversion.pyi +2 -0
  827. homeassistant-stubs/util/unit_system.pyi +1 -0
  828. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info}/METADATA +14 -16
  829. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info}/RECORD +904 -779
  830. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info}/WHEEL +1 -1
  831. homeassistant-stubs/components/esphome/voice_assistant.pyi +0 -66
  832. homeassistant-stubs/components/notion/model.pyi +0 -7
  833. homeassistant-stubs/components/overkiz/climate.pyi +0 -10
  834. homeassistant-stubs/components/overkiz/cover.pyi +0 -11
  835. homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +0 -8
  836. homeassistant-stubs/components/rainmachine/model.pyi +0 -7
  837. homeassistant-stubs/components/recorder/history/common.pyi +0 -4
  838. homeassistant-stubs/components/unifiprotect/models.pyi +0 -44
  839. /homeassistant-stubs/components/deconz/{deconz_device.pyi → entity.pyi} +0 -0
  840. /homeassistant-stubs/components/devolo_home_control/{devolo_device.pyi → entity.pyi} +0 -0
  841. /homeassistant-stubs/components/modbus/{base_platform.pyi → entity.pyi} +0 -0
  842. /homeassistant-stubs/components/mysensors/{device.pyi → entity.pyi} +0 -0
  843. /homeassistant-stubs/components/onewire/{onewire_entities.pyi → entity.pyi} +0 -0
  844. /homeassistant-stubs/components/{overkiz/cover_entities → onkyo}/__init__.pyi +0 -0
  845. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater.pyi +0 -0
  846. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -0
  847. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_towel_dryer.pyi +0 -0
  848. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_heat_recovery_ventilation.pyi +0 -0
  849. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heat_pump_main_component.pyi +0 -0
  850. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heating_zone.pyi +0 -0
  851. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control.pyi +0 -0
  852. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control_zone.pyi +0 -0
  853. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -0
  854. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_ovp.pyi +0 -0
  855. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_heating_temperature_interface.pyi +0 -0
  856. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_thermostat.pyi +0 -0
  857. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/valve_heating_temperature_interface.pyi +0 -0
  858. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/awning.pyi +0 -0
  859. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/generic_cover.pyi +0 -0
  860. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/vertical_cover.pyi +0 -0
  861. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_domestic_hot_water_production_mlb_component.pyi +0 -0
  862. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_pass_apc_dhw.pyi +0 -0
  863. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/domestic_hot_water_production.pyi +0 -0
  864. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/hitachi_dhw.pyi +0 -0
  865. /homeassistant-stubs/components/roborock/{device.pyi → entity.pyi} +0 -0
  866. /homeassistant-stubs/components/tradfri/{base_class.pyi → entity.pyi} +0 -0
  867. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info/licenses}/LICENSE +0 -0
@@ -1,13 +1,13 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
3
- from .helpers import get_unique_id as get_unique_id
3
+ from .helpers import get_unique_id as get_unique_id, get_valueless_base_unique_id as get_valueless_base_unique_id
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
6
- from homeassistant.const import STATE_UNAVAILABLE as STATE_UNAVAILABLE
6
+ from homeassistant.const import Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
- from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
9
- from homeassistant.helpers.entity_registry import EntityRegistry as EntityRegistry, RegistryEntry as RegistryEntry, async_entries_for_device as async_entries_for_device
8
+ from homeassistant.helpers import device_registry as dr, entity_registry as er
10
9
  from zwave_js_server.model.driver import Driver as Driver
10
+ from zwave_js_server.model.node import Node as Node
11
11
  from zwave_js_server.model.value import Value as ZwaveValue
12
12
 
13
13
  _LOGGER: Incomplete
@@ -25,7 +25,8 @@ class ValueID:
25
25
  def is_same_value_different_endpoints(self, other: ValueID) -> bool: ...
26
26
  def __init__(self, command_class, endpoint, property_, property_key=...) -> None: ...
27
27
 
28
- def async_migrate_old_entity(hass: HomeAssistant, ent_reg: EntityRegistry, registered_unique_ids: set[str], platform: str, device: DeviceEntry, unique_id: str) -> None: ...
29
- def async_migrate_unique_id(ent_reg: EntityRegistry, platform: str, old_unique_id: str, new_unique_id: str) -> None: ...
30
- def async_migrate_discovered_value(hass: HomeAssistant, ent_reg: EntityRegistry, registered_unique_ids: set[str], device: DeviceEntry, driver: Driver, disc_info: ZwaveDiscoveryInfo) -> None: ...
28
+ def async_migrate_old_entity(hass: HomeAssistant, ent_reg: er.EntityRegistry, registered_unique_ids: set[str], platform: Platform, device: dr.DeviceEntry, unique_id: str) -> None: ...
29
+ def async_migrate_unique_id(ent_reg: er.EntityRegistry, platform: Platform, old_unique_id: str, new_unique_id: str) -> None: ...
30
+ def async_migrate_discovered_value(hass: HomeAssistant, ent_reg: er.EntityRegistry, registered_unique_ids: set[str], device: dr.DeviceEntry, driver: Driver, disc_info: ZwaveDiscoveryInfo) -> None: ...
31
+ def async_migrate_statistics_sensors(hass: HomeAssistant, driver: Driver, node: Node, key_map: dict[str, str]) -> None: ...
31
32
  def get_old_value_ids(value: ZwaveValue) -> list[str]: ...
@@ -1,8 +1,10 @@
1
+ from .binary_sensor import is_valid_notification_binary_sensor as is_valid_notification_binary_sensor
1
2
  from .const import ATTR_METER_TYPE as ATTR_METER_TYPE, ATTR_METER_TYPE_NAME as ATTR_METER_TYPE_NAME, ATTR_VALUE as ATTR_VALUE, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, ENTITY_DESC_KEY_BATTERY as ENTITY_DESC_KEY_BATTERY, ENTITY_DESC_KEY_CO as ENTITY_DESC_KEY_CO, ENTITY_DESC_KEY_CO2 as ENTITY_DESC_KEY_CO2, ENTITY_DESC_KEY_CURRENT as ENTITY_DESC_KEY_CURRENT, ENTITY_DESC_KEY_ENERGY_MEASUREMENT as ENTITY_DESC_KEY_ENERGY_MEASUREMENT, ENTITY_DESC_KEY_ENERGY_PRODUCTION_POWER as ENTITY_DESC_KEY_ENERGY_PRODUCTION_POWER, ENTITY_DESC_KEY_ENERGY_PRODUCTION_TIME as ENTITY_DESC_KEY_ENERGY_PRODUCTION_TIME, ENTITY_DESC_KEY_ENERGY_PRODUCTION_TODAY as ENTITY_DESC_KEY_ENERGY_PRODUCTION_TODAY, ENTITY_DESC_KEY_ENERGY_PRODUCTION_TOTAL as ENTITY_DESC_KEY_ENERGY_PRODUCTION_TOTAL, ENTITY_DESC_KEY_ENERGY_TOTAL_INCREASING as ENTITY_DESC_KEY_ENERGY_TOTAL_INCREASING, ENTITY_DESC_KEY_HUMIDITY as ENTITY_DESC_KEY_HUMIDITY, ENTITY_DESC_KEY_ILLUMINANCE as ENTITY_DESC_KEY_ILLUMINANCE, ENTITY_DESC_KEY_MEASUREMENT as ENTITY_DESC_KEY_MEASUREMENT, ENTITY_DESC_KEY_POWER as ENTITY_DESC_KEY_POWER, ENTITY_DESC_KEY_POWER_FACTOR as ENTITY_DESC_KEY_POWER_FACTOR, ENTITY_DESC_KEY_PRESSURE as ENTITY_DESC_KEY_PRESSURE, ENTITY_DESC_KEY_SIGNAL_STRENGTH as ENTITY_DESC_KEY_SIGNAL_STRENGTH, ENTITY_DESC_KEY_TARGET_TEMPERATURE as ENTITY_DESC_KEY_TARGET_TEMPERATURE, ENTITY_DESC_KEY_TEMPERATURE as ENTITY_DESC_KEY_TEMPERATURE, ENTITY_DESC_KEY_TOTAL_INCREASING as ENTITY_DESC_KEY_TOTAL_INCREASING, ENTITY_DESC_KEY_UV_INDEX as ENTITY_DESC_KEY_UV_INDEX, ENTITY_DESC_KEY_VOLTAGE as ENTITY_DESC_KEY_VOLTAGE, LOGGER as LOGGER, SERVICE_RESET_METER as SERVICE_RESET_METER
2
3
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo
3
4
  from .discovery_data_template import NumericSensorDataTemplate as NumericSensorDataTemplate, NumericSensorDataTemplateData as NumericSensorDataTemplateData
4
5
  from .entity import ZWaveBaseEntity as ZWaveBaseEntity
5
6
  from .helpers import get_device_info as get_device_info, get_valueless_base_unique_id as get_valueless_base_unique_id
7
+ from .migrate import async_migrate_statistics_sensors as async_migrate_statistics_sensors
6
8
  from _typeshed import Incomplete
7
9
  from collections.abc import Callable as Callable, Mapping
8
10
  from dataclasses import dataclass
@@ -17,25 +19,27 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
17
19
  from homeassistant.helpers.typing import StateType as StateType, UNDEFINED as UNDEFINED
18
20
  from typing import Any
19
21
  from zwave_js_server.model.controller import Controller
20
- from zwave_js_server.model.controller.statistics import ControllerStatisticsDataType as ControllerStatisticsDataType
22
+ from zwave_js_server.model.controller.statistics import ControllerStatistics as ControllerStatistics
21
23
  from zwave_js_server.model.driver import Driver as Driver
22
24
  from zwave_js_server.model.node import Node as ZwaveNode
23
- from zwave_js_server.model.node.statistics import NodeStatisticsDataType as NodeStatisticsDataType
25
+ from zwave_js_server.model.node.statistics import NodeStatistics as NodeStatistics
24
26
 
25
27
  PARALLEL_UPDATES: int
26
28
  ENTITY_DESCRIPTION_KEY_DEVICE_CLASS_MAP: dict[tuple[str, str], SensorEntityDescription]
27
29
  ENTITY_DESCRIPTION_KEY_MAP: Incomplete
28
30
 
29
- def convert_dict_of_dicts(statistics: ControllerStatisticsDataType | NodeStatisticsDataType, key: str) -> Any: ...
31
+ def convert_nested_attr(statistics: ControllerStatistics | NodeStatistics, key: str) -> Any: ...
30
32
 
31
33
  @dataclass(frozen=True, kw_only=True)
32
34
  class ZWaveJSStatisticsSensorEntityDescription(SensorEntityDescription):
33
- convert: Callable[[ControllerStatisticsDataType | NodeStatisticsDataType, str], Any] = ...
35
+ convert: Callable[[ControllerStatistics | NodeStatistics, str], Any] = ...
34
36
  entity_registry_enabled_default: bool = ...
35
37
  def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., convert=...) -> None: ...
36
38
 
37
39
  ENTITY_DESCRIPTION_CONTROLLER_STATISTICS_LIST: Incomplete
40
+ CONTROLLER_STATISTICS_KEY_MAP: dict[str, str]
38
41
  ENTITY_DESCRIPTION_NODE_STATISTICS_LIST: Incomplete
42
+ NODE_STATISTICS_KEY_MAP: dict[str, str]
39
43
 
40
44
  def get_entity_description(data: NumericSensorDataTemplateData) -> SensorEntityDescription: ...
41
45
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from ..config_validation import VALUE_SCHEMA as VALUE_SCHEMA
2
- from ..const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_CURRENT_VALUE as ATTR_CURRENT_VALUE, ATTR_CURRENT_VALUE_RAW as ATTR_CURRENT_VALUE_RAW, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PREVIOUS_VALUE as ATTR_PREVIOUS_VALUE, ATTR_PREVIOUS_VALUE_RAW as ATTR_PREVIOUS_VALUE_RAW, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, DOMAIN as DOMAIN
2
+ from ..const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_CURRENT_VALUE as ATTR_CURRENT_VALUE, ATTR_CURRENT_VALUE_RAW as ATTR_CURRENT_VALUE_RAW, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PREVIOUS_VALUE as ATTR_PREVIOUS_VALUE, ATTR_PREVIOUS_VALUE_RAW as ATTR_PREVIOUS_VALUE_RAW, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, DOMAIN as DOMAIN, EVENT_VALUE_UPDATED as EVENT_VALUE_UPDATED
3
3
  from ..helpers import async_get_nodes_from_targets as async_get_nodes_from_targets, get_device_id as get_device_id
4
4
  from .trigger_helpers import async_bypass_dynamic_config_validation as async_bypass_dynamic_config_validation
5
5
  from _typeshed import Incomplete
@@ -13,6 +13,7 @@ from .data_entry_flow import FLOW_NOT_COMPLETE_STEPS as FLOW_NOT_COMPLETE_STEPS,
13
13
  from .exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
14
14
  from .helpers import device_registry as device_registry, entity_registry as entity_registry, storage as storage
15
15
  from .helpers.debounce import Debouncer as Debouncer
16
+ from .helpers.discovery_flow import DiscoveryKey as DiscoveryKey
16
17
  from .helpers.dispatcher import SignalType as SignalType, async_dispatcher_send_internal as async_dispatcher_send_internal
17
18
  from .helpers.event import RANDOM_MICROSECOND_MAX as RANDOM_MICROSECOND_MAX, RANDOM_MICROSECOND_MIN as RANDOM_MICROSECOND_MIN, async_call_later as async_call_later
18
19
  from .helpers.frame import report as report
@@ -52,7 +53,6 @@ SOURCE_USB: str
52
53
  SOURCE_USER: str
53
54
  SOURCE_ZEROCONF: str
54
55
  SOURCE_IGNORE: str
55
- SOURCE_UNIGNORE: str
56
56
  SOURCE_REAUTH: str
57
57
  SOURCE_RECONFIGURE: str
58
58
  HANDLERS: Registry[str, type[ConfigFlow]]
@@ -82,6 +82,9 @@ DISCOVERY_SOURCES: Incomplete
82
82
  RECONFIGURE_NOTIFICATION_ID: str
83
83
  EVENT_FLOW_DISCOVERED: str
84
84
  SIGNAL_CONFIG_ENTRY_CHANGED: Incomplete
85
+
86
+ def signal_discovered_config_entry_removed(discovery_domain: str) -> SignalType[ConfigEntry]: ...
87
+
85
88
  NO_RESET_TRIES_STATES: Incomplete
86
89
 
87
90
  class ConfigEntryChange(StrEnum):
@@ -113,6 +116,8 @@ class ConfigFlowResult(FlowResult, total=False):
113
116
  options: Mapping[str, Any]
114
117
  version: int
115
118
 
119
+ def _validate_item(*, disabled_by: ConfigEntryDisabler | Any | None = None) -> None: ...
120
+
116
121
  class ConfigEntry(Generic[_DataT]):
117
122
  entry_id: str
118
123
  domain: str
@@ -147,7 +152,8 @@ class ConfigEntry(Generic[_DataT]):
147
152
  _tries: int
148
153
  created_at: datetime
149
154
  modified_at: datetime
150
- def __init__(self, *, created_at: datetime | None = None, data: Mapping[str, Any], disabled_by: ConfigEntryDisabler | None = None, domain: str, entry_id: str | None = None, minor_version: int, modified_at: datetime | None = None, options: Mapping[str, Any] | None, pref_disable_new_entities: bool | None = None, pref_disable_polling: bool | None = None, source: str, state: ConfigEntryState = ..., title: str, unique_id: str | None, version: int) -> None: ...
155
+ discovery_keys: MappingProxyType[str, tuple[DiscoveryKey, ...]]
156
+ def __init__(self, *, created_at: datetime | None = None, data: Mapping[str, Any], disabled_by: ConfigEntryDisabler | None = None, discovery_keys: MappingProxyType[str, tuple[DiscoveryKey, ...]], domain: str, entry_id: str | None = None, minor_version: int, modified_at: datetime | None = None, options: Mapping[str, Any] | None, pref_disable_new_entities: bool | None = None, pref_disable_polling: bool | None = None, source: str, state: ConfigEntryState = ..., title: str, unique_id: str | None, version: int) -> None: ...
151
157
  def __repr__(self) -> str: ...
152
158
  def __setattr__(self, key: str, value: Any) -> None: ...
153
159
  @property
@@ -245,7 +251,7 @@ class ConfigEntries:
245
251
  def async_schedule_reload(self, entry_id: str) -> None: ...
246
252
  async def async_reload(self, entry_id: str) -> bool: ...
247
253
  async def async_set_disabled_by(self, entry_id: str, disabled_by: ConfigEntryDisabler | None) -> bool: ...
248
- def async_update_entry(self, entry: ConfigEntry, *, data: Mapping[str, Any] | UndefinedType = ..., minor_version: int | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., pref_disable_new_entities: bool | UndefinedType = ..., pref_disable_polling: bool | UndefinedType = ..., title: str | UndefinedType = ..., unique_id: str | None | UndefinedType = ..., version: int | UndefinedType = ...) -> bool: ...
254
+ def async_update_entry(self, entry: ConfigEntry, *, data: Mapping[str, Any] | UndefinedType = ..., discovery_keys: MappingProxyType[str, tuple[DiscoveryKey, ...]] | UndefinedType = ..., minor_version: int | UndefinedType = ..., options: Mapping[str, Any] | UndefinedType = ..., pref_disable_new_entities: bool | UndefinedType = ..., pref_disable_polling: bool | UndefinedType = ..., title: str | UndefinedType = ..., unique_id: str | None | UndefinedType = ..., version: int | UndefinedType = ...) -> bool: ...
249
255
  def _async_dispatch(self, change_type: ConfigEntryChange, entry: ConfigEntry) -> None: ...
250
256
  async def async_forward_entry_setups(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> None: ...
251
257
  async def _async_forward_entry_setups_locked(self, entry: ConfigEntry, platforms: Iterable[Platform | str]) -> None: ...
@@ -278,7 +284,6 @@ class ConfigFlow(ConfigEntryBaseFlow):
278
284
  def _async_current_ids(self, include_ignore: bool = True) -> set[str | None]: ...
279
285
  def _async_in_progress(self, include_uninitialized: bool = False, match_context: dict[str, Any] | None = None) -> list[ConfigFlowResult]: ...
280
286
  async def async_step_ignore(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
281
- async def async_step_unignore(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
282
287
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
283
288
  async def _async_handle_discovery_without_unique_id(self) -> None: ...
284
289
  async def _async_step_discovery_without_unique_id(self) -> ConfigFlowResult: ...
@@ -22,6 +22,7 @@ PLATFORM_FORMAT: Final[str]
22
22
  class Platform(StrEnum):
23
23
  AIR_QUALITY = 'air_quality'
24
24
  ALARM_CONTROL_PANEL = 'alarm_control_panel'
25
+ ASSIST_SATELLITE = 'assist_satellite'
25
26
  BINARY_SENSOR = 'binary_sensor'
26
27
  BUTTON = 'button'
27
28
  CALENDAR = 'calendar'
@@ -55,9 +56,9 @@ class Platform(StrEnum):
55
56
  TIME = 'time'
56
57
  TODO = 'todo'
57
58
  TTS = 'tts'
59
+ UPDATE = 'update'
58
60
  VACUUM = 'vacuum'
59
61
  VALVE = 'valve'
60
- UPDATE = 'update'
61
62
  WAKE_WORD = 'wake_word'
62
63
  WATER_HEATER = 'water_heater'
63
64
  WEATHER = 'weather'
@@ -247,6 +248,8 @@ CONF_THEN: Final[str]
247
248
  CONF_TIMEOUT: Final[str]
248
249
  CONF_TIME_ZONE: Final[str]
249
250
  CONF_TOKEN: Final[str]
251
+ CONF_TRIGGER: Final[str]
252
+ CONF_TRIGGERS: Final[str]
250
253
  CONF_TRIGGER_TIME: Final[str]
251
254
  CONF_TTL: Final[str]
252
255
  CONF_TYPE: Final[str]
@@ -343,14 +346,14 @@ STATE_ALARM_PENDING: Final[str]
343
346
  STATE_ALARM_ARMING: Final[str]
344
347
  STATE_ALARM_DISARMING: Final[str]
345
348
  STATE_ALARM_TRIGGERED: Final[str]
346
- STATE_LOCKED: Final[str]
347
- STATE_UNLOCKED: Final[str]
348
- STATE_LOCKING: Final[str]
349
- STATE_UNLOCKING: Final[str]
350
- STATE_JAMMED: Final[str]
351
349
  STATE_UNAVAILABLE: Final[str]
352
350
  STATE_OK: Final[str]
353
351
  STATE_PROBLEM: Final[str]
352
+ _DEPRECATED_STATE_LOCKED: Final[Incomplete]
353
+ _DEPRECATED_STATE_UNLOCKED: Final[Incomplete]
354
+ _DEPRECATED_STATE_LOCKING: Final[Incomplete]
355
+ _DEPRECATED_STATE_UNLOCKING: Final[Incomplete]
356
+ _DEPRECATED_STATE_JAMMED: Final[Incomplete]
354
357
  ATTR_ATTRIBUTION: Final[str]
355
358
  ATTR_CREDENTIALS: Final[str]
356
359
  ATTR_NOW: Final[str]
@@ -433,11 +436,17 @@ class UnitOfReactivePower(StrEnum):
433
436
  _DEPRECATED_POWER_VOLT_AMPERE_REACTIVE: Final[Incomplete]
434
437
 
435
438
  class UnitOfEnergy(StrEnum):
439
+ JOULE = 'J'
440
+ KILO_JOULE = 'kJ'
441
+ MEGA_JOULE = 'MJ'
436
442
  GIGA_JOULE = 'GJ'
443
+ WATT_HOUR = 'Wh'
437
444
  KILO_WATT_HOUR = 'kWh'
438
- MEGA_JOULE = 'MJ'
439
445
  MEGA_WATT_HOUR = 'MWh'
440
- WATT_HOUR = 'Wh'
446
+ CALORIE = 'cal'
447
+ KILO_CALORIE = 'kcal'
448
+ MEGA_CALORIE = 'Mcal'
449
+ GIGA_CALORIE = 'Gcal'
441
450
 
442
451
  _DEPRECATED_ENERGY_KILO_WATT_HOUR: Final[Incomplete]
443
452
  _DEPRECATED_ENERGY_MEGA_WATT_HOUR: Final[Incomplete]
@@ -634,10 +643,12 @@ CONCENTRATION_PARTS_PER_BILLION: Final[str]
634
643
  class UnitOfSpeed(StrEnum):
635
644
  BEAUFORT = 'Beaufort'
636
645
  FEET_PER_SECOND = 'ft/s'
646
+ INCHES_PER_SECOND = 'in/s'
637
647
  METERS_PER_SECOND = 'm/s'
638
648
  KILOMETERS_PER_HOUR = 'km/h'
639
649
  KNOTS = 'kn'
640
650
  MILES_PER_HOUR = 'mph'
651
+ MILLIMETERS_PER_SECOND = 'mm/s'
641
652
 
642
653
  _DEPRECATED_SPEED_FEET_PER_SECOND: Final[Incomplete]
643
654
  _DEPRECATED_SPEED_METERS_PER_SECOND: Final[Incomplete]
@@ -10,12 +10,13 @@ from homeassistant import config_entries as config_entries
10
10
  from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, __version__ as __version__
11
11
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.loader import bind_hass as bind_hass
13
+ from homeassistant.util import ssl as ssl_util
13
14
  from homeassistant.util.hass_dict import HassKey as HassKey
14
15
  from homeassistant.util.json import json_loads as json_loads
15
16
  from typing import Any
16
17
 
17
- DATA_CONNECTOR: HassKey[dict[tuple[bool, int], aiohttp.BaseConnector]]
18
- DATA_CLIENTSESSION: HassKey[dict[tuple[bool, int], aiohttp.ClientSession]]
18
+ DATA_CONNECTOR: HassKey[dict[tuple[bool, int, str], aiohttp.BaseConnector]]
19
+ DATA_CLIENTSESSION: HassKey[dict[tuple[bool, int, str], aiohttp.ClientSession]]
19
20
  SERVER_SOFTWARE: Incomplete
20
21
  ENABLE_CLEANUP_CLOSED: Incomplete
21
22
  WARN_CLOSE_MSG: str
@@ -25,16 +26,16 @@ MAXIMUM_CONNECTIONS_PER_HOST: int
25
26
  class HassClientResponse(aiohttp.ClientResponse):
26
27
  async def json(self, *args: Any, loads: JSONDecoder = ..., **kwargs: Any) -> Any: ...
27
28
 
28
- def async_get_clientsession(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ...) -> aiohttp.ClientSession: ...
29
- def async_create_clientsession(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup: bool = True, family: socket.AddressFamily = ..., **kwargs: Any) -> aiohttp.ClientSession: ...
30
- def _async_create_clientsession(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup_method: Callable[[HomeAssistant, aiohttp.ClientSession], None] | None = None, family: socket.AddressFamily = ..., **kwargs: Any) -> aiohttp.ClientSession: ...
29
+ def async_get_clientsession(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ...) -> aiohttp.ClientSession: ...
30
+ def async_create_clientsession(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ..., **kwargs: Any) -> aiohttp.ClientSession: ...
31
+ def _async_create_clientsession(hass: HomeAssistant, verify_ssl: bool = True, auto_cleanup_method: Callable[[HomeAssistant, aiohttp.ClientSession], None] | None = None, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ..., **kwargs: Any) -> aiohttp.ClientSession: ...
31
32
  async def async_aiohttp_proxy_web(hass: HomeAssistant, request: web.BaseRequest, web_coro: Awaitable[aiohttp.ClientResponse], buffer_size: int = 102400, timeout: int = 10) -> web.StreamResponse | None: ...
32
33
  async def async_aiohttp_proxy_stream(hass: HomeAssistant, request: web.BaseRequest, stream: aiohttp.StreamReader, content_type: str | None, buffer_size: int = 102400, timeout: int = 10) -> web.StreamResponse: ...
33
34
  def _async_register_clientsession_shutdown(hass: HomeAssistant, clientsession: aiohttp.ClientSession) -> None: ...
34
35
  def _async_register_default_clientsession_shutdown(hass: HomeAssistant, clientsession: aiohttp.ClientSession) -> None: ...
35
- def _make_key(verify_ssl: bool = True, family: socket.AddressFamily = ...) -> tuple[bool, socket.AddressFamily]: ...
36
+ def _make_key(verify_ssl: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ...) -> tuple[bool, socket.AddressFamily, ssl_util.SSLCipherList]: ...
36
37
 
37
38
  class HomeAssistantTCPConnector(aiohttp.TCPConnector):
38
39
  _cleanup_closed_period: float
39
40
 
40
- def _async_get_connector(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ...) -> aiohttp.BaseConnector: ...
41
+ def _async_get_connector(hass: HomeAssistant, verify_ssl: bool = True, family: socket.AddressFamily = ..., ssl_cipher: ssl_util.SSLCipherList = ...) -> aiohttp.BaseConnector: ...
@@ -1,3 +1,4 @@
1
+ import logging
1
2
  import voluptuous as vol
2
3
  from .sun import get_astral_event_date as get_astral_event_date
3
4
  from .template import Template as Template, render_complex as render_complex
@@ -55,5 +56,6 @@ def numeric_state_validate_config(hass: HomeAssistant, config: ConfigType) -> Co
55
56
  def state_validate_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
56
57
  async def async_validate_condition_config(hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
57
58
  async def async_validate_conditions_config(hass: HomeAssistant, conditions: list[ConfigType]) -> list[ConfigType | Template]: ...
59
+ async def async_conditions_from_config(hass: HomeAssistant, condition_configs: list[ConfigType], logger: logging.Logger, name: str) -> Callable[[TemplateVarsType], bool]: ...
58
60
  def async_extract_entities(config: ConfigType | Template) -> set[str]: ...
59
61
  def async_extract_devices(config: ConfigType | Template) -> set[str]: ...
@@ -9,7 +9,7 @@ from collections.abc import Callable as Callable, Hashable
9
9
  from contextvars import ContextVar
10
10
  from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
11
11
  from enum import Enum, StrEnum
12
- from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ABOVE as CONF_ABOVE, CONF_ACTION as CONF_ACTION, CONF_ALIAS as CONF_ALIAS, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BELOW as CONF_BELOW, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR as CONF_FOR, CONF_FOR_EACH as CONF_FOR_EACH, CONF_ID as CONF_ID, CONF_IF as CONF_IF, CONF_MATCH as CONF_MATCH, CONF_PARALLEL as CONF_PARALLEL, CONF_PLATFORM as CONF_PLATFORM, CONF_REPEAT as CONF_REPEAT, CONF_RESPONSE_VARIABLE as CONF_RESPONSE_VARIABLE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_SET_CONVERSATION_RESPONSE as CONF_SET_CONVERSATION_RESPONSE, CONF_STATE as CONF_STATE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_UNTIL as CONF_UNTIL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, UnitOfTemperature as UnitOfTemperature, WEEKDAYS as WEEKDAYS
12
+ from homeassistant.const import ATTR_AREA_ID as ATTR_AREA_ID, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FLOOR_ID as ATTR_FLOOR_ID, ATTR_LABEL_ID as ATTR_LABEL_ID, CONF_ABOVE as CONF_ABOVE, CONF_ACTION as CONF_ACTION, CONF_ALIAS as CONF_ALIAS, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BELOW as CONF_BELOW, CONF_CHOOSE as CONF_CHOOSE, CONF_CONDITION as CONF_CONDITION, CONF_CONDITIONS as CONF_CONDITIONS, CONF_CONTINUE_ON_ERROR as CONF_CONTINUE_ON_ERROR, CONF_CONTINUE_ON_TIMEOUT as CONF_CONTINUE_ON_TIMEOUT, CONF_COUNT as CONF_COUNT, CONF_DEFAULT as CONF_DEFAULT, CONF_DELAY as CONF_DELAY, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ELSE as CONF_ELSE, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_ENTITY_NAMESPACE as CONF_ENTITY_NAMESPACE, CONF_ERROR as CONF_ERROR, CONF_EVENT as CONF_EVENT, CONF_EVENT_DATA as CONF_EVENT_DATA, CONF_EVENT_DATA_TEMPLATE as CONF_EVENT_DATA_TEMPLATE, CONF_FOR as CONF_FOR, CONF_FOR_EACH as CONF_FOR_EACH, CONF_ID as CONF_ID, CONF_IF as CONF_IF, CONF_MATCH as CONF_MATCH, CONF_PARALLEL as CONF_PARALLEL, CONF_PLATFORM as CONF_PLATFORM, CONF_REPEAT as CONF_REPEAT, CONF_RESPONSE_VARIABLE as CONF_RESPONSE_VARIABLE, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SCENE as CONF_SCENE, CONF_SEQUENCE as CONF_SEQUENCE, CONF_SERVICE as CONF_SERVICE, CONF_SERVICE_DATA as CONF_SERVICE_DATA, CONF_SERVICE_DATA_TEMPLATE as CONF_SERVICE_DATA_TEMPLATE, CONF_SERVICE_TEMPLATE as CONF_SERVICE_TEMPLATE, CONF_SET_CONVERSATION_RESPONSE as CONF_SET_CONVERSATION_RESPONSE, CONF_STATE as CONF_STATE, CONF_STOP as CONF_STOP, CONF_TARGET as CONF_TARGET, CONF_THEN as CONF_THEN, CONF_TIMEOUT as CONF_TIMEOUT, CONF_TRIGGER as CONF_TRIGGER, CONF_TRIGGERS as CONF_TRIGGERS, CONF_UNTIL as CONF_UNTIL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_VARIABLES as CONF_VARIABLES, CONF_WAIT_FOR_TRIGGER as CONF_WAIT_FOR_TRIGGER, CONF_WAIT_TEMPLATE as CONF_WAIT_TEMPLATE, CONF_WHILE as CONF_WHILE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, UnitOfTemperature as UnitOfTemperature, WEEKDAYS as WEEKDAYS
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as async_get_hass, async_get_hass_or_none as async_get_hass_or_none, split_entity_id as split_entity_id, valid_entity_id as valid_entity_id
14
14
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, TemplateError as TemplateError
15
15
  from homeassistant.generated import currencies as currencies
@@ -204,9 +204,13 @@ CONDITION_SHORTHAND_SCHEMA: Incomplete
204
204
  CONDITION_SCHEMA: vol.Schema
205
205
  CONDITIONS_SCHEMA: Incomplete
206
206
  CONDITION_ACTION_SCHEMA: vol.Schema
207
+
208
+ def _trigger_pre_validator(value: Any | None) -> Any: ...
209
+
207
210
  TRIGGER_BASE_SCHEMA: Incomplete
208
211
  _base_trigger_validator_schema: Incomplete
209
212
 
213
+ def _base_trigger_list_flatten(triggers: list[Any]) -> list[Any]: ...
210
214
  def _base_trigger_validator(value: Any) -> Any: ...
211
215
 
212
216
  TRIGGER_SCHEMA: Incomplete
@@ -1,10 +1,10 @@
1
- from ..util.signal_type import SignalTypeFormat as SignalTypeFormat
2
1
  from .dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send_internal as async_dispatcher_send_internal
3
2
  from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
4
3
  from collections.abc import Callable as Callable, Coroutine
5
4
  from homeassistant import core as core, setup as setup
6
5
  from homeassistant.const import Platform as Platform
7
6
  from homeassistant.loader import bind_hass as bind_hass
7
+ from homeassistant.util.signal_type import SignalTypeFormat as SignalTypeFormat
8
8
  from typing import Any, TypedDict
9
9
 
10
10
  SIGNAL_PLATFORM_DISCOVERED: SignalTypeFormat[DiscoveryDict]
@@ -1,3 +1,4 @@
1
+ import dataclasses
1
2
  from _typeshed import Incomplete
2
3
  from collections.abc import Coroutine
3
4
  from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult
@@ -6,12 +7,21 @@ from homeassistant.core import CoreState as CoreState, Event as Event, HomeAssis
6
7
  from homeassistant.loader import bind_hass as bind_hass
7
8
  from homeassistant.util.async_ import gather_with_limited_concurrency as gather_with_limited_concurrency
8
9
  from homeassistant.util.hass_dict import HassKey as HassKey
9
- from typing import Any, NamedTuple
10
+ from typing import Any, NamedTuple, Self
10
11
 
11
12
  FLOW_INIT_LIMIT: int
12
13
  DISCOVERY_FLOW_DISPATCHER: HassKey[FlowDispatcher]
13
14
 
14
- def async_create_flow(hass: HomeAssistant, domain: str, context: dict[str, Any], data: Any) -> None: ...
15
+ @dataclasses.dataclass(kw_only=True, slots=True)
16
+ class DiscoveryKey:
17
+ domain: str
18
+ key: str | tuple[str, ...]
19
+ version: int
20
+ @classmethod
21
+ def from_json_dict(cls, json_dict: dict[str, Any]) -> Self: ...
22
+ def __init__(self, *, domain, key, version) -> None: ...
23
+
24
+ def async_create_flow(hass: HomeAssistant, domain: str, context: dict[str, Any], data: Any, *, discovery_key: DiscoveryKey | None = None) -> None: ...
15
25
  def _async_init_flow(hass: HomeAssistant, domain: str, context: dict[str, Any], data: Any) -> Coroutine[None, None, ConfigFlowResult] | None: ...
16
26
 
17
27
  class PendingFlowKey(NamedTuple):
@@ -32,7 +32,7 @@ def get_integration_frame(exclude_integrations: set | None = None) -> Integratio
32
32
 
33
33
  class MissingIntegrationFrame(HomeAssistantError): ...
34
34
 
35
- def report(what: str, exclude_integrations: set | None = None, error_if_core: bool = True, level: int = ..., log_custom_component_only: bool = False, error_if_integration: bool = False) -> None: ...
35
+ def report(what: str, *, exclude_integrations: set[str] | None = None, error_if_core: bool = True, error_if_integration: bool = False, level: int = ..., log_custom_component_only: bool = False) -> None: ...
36
36
  def _report_integration(what: str, integration_frame: IntegrationFrame, level: int = ..., error: bool = False) -> None: ...
37
37
  def warn_use(func: _CallableT, what: str) -> _CallableT: ...
38
38
  def report_non_thread_safe_operation(what: str) -> None: ...
@@ -6,13 +6,13 @@ from _typeshed import Incomplete
6
6
  from abc import ABC, abstractmethod
7
7
  from collections.abc import Callable as Callable
8
8
  from dataclasses import dataclass
9
- from homeassistant.components.climate.intent import INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE
10
- from homeassistant.components.conversation.trace import ConversationTraceEventType as ConversationTraceEventType, async_conversation_trace_append as async_conversation_trace_append
11
- from homeassistant.components.cover.intent import INTENT_CLOSE_COVER as INTENT_CLOSE_COVER, INTENT_OPEN_COVER as INTENT_OPEN_COVER
12
- from homeassistant.components.homeassistant.exposed_entities import async_should_expose as async_should_expose
9
+ from homeassistant.components.climate import INTENT_GET_TEMPERATURE as INTENT_GET_TEMPERATURE
10
+ from homeassistant.components.conversation import ConversationTraceEventType as ConversationTraceEventType, async_conversation_trace_append as async_conversation_trace_append
11
+ from homeassistant.components.cover import INTENT_CLOSE_COVER as INTENT_CLOSE_COVER, INTENT_OPEN_COVER as INTENT_OPEN_COVER
12
+ from homeassistant.components.homeassistant import async_should_expose as async_should_expose
13
13
  from homeassistant.components.intent import async_device_supports_timers as async_device_supports_timers
14
14
  from homeassistant.components.script import ATTR_VARIABLES as ATTR_VARIABLES
15
- from homeassistant.components.weather.intent import INTENT_GET_WEATHER as INTENT_GET_WEATHER
15
+ from homeassistant.components.weather import INTENT_GET_WEATHER as INTENT_GET_WEATHER
16
16
  from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SERVICE as ATTR_SERVICE, EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE, EVENT_SERVICE_REMOVED as EVENT_SERVICE_REMOVED, SERVICE_TURN_ON as SERVICE_TURN_ON
17
17
  from homeassistant.core import Context as Context, Event as Event, HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id
18
18
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -143,7 +143,7 @@ class _QueuedScriptRun(_ScriptRun):
143
143
  def _schedule_stop_scripts_after_shutdown(hass: HomeAssistant) -> None: ...
144
144
  async def _async_stop_scripts_after_shutdown(hass: HomeAssistant, point_in_time: datetime) -> None: ...
145
145
  async def _async_stop_scripts_at_shutdown(hass: HomeAssistant, event: Event) -> None: ...
146
- _VarsType = dict[str, Any] | MappingProxyType[str, Any]
146
+ _VarsType = dict[str, Any] | Mapping[str, Any] | MappingProxyType[str, Any]
147
147
 
148
148
  def _referenced_extract_ids(data: Any, key: str, found: set[str]) -> None: ...
149
149
 
@@ -1,7 +1,8 @@
1
1
  from _typeshed import Incomplete
2
2
  from collections.abc import Iterable
3
+ from homeassistant.components.lock import LockState as LockState
3
4
  from homeassistant.components.sun import STATE_ABOVE_HORIZON as STATE_ABOVE_HORIZON, STATE_BELOW_HORIZON as STATE_BELOW_HORIZON
4
- from homeassistant.const import STATE_CLOSED as STATE_CLOSED, STATE_HOME as STATE_HOME, STATE_LOCKED as STATE_LOCKED, STATE_NOT_HOME as STATE_NOT_HOME, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_OPEN as STATE_OPEN, STATE_UNKNOWN as STATE_UNKNOWN, STATE_UNLOCKED as STATE_UNLOCKED
5
+ from homeassistant.const import STATE_CLOSED as STATE_CLOSED, STATE_HOME as STATE_HOME, STATE_NOT_HOME as STATE_NOT_HOME, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_OPEN as STATE_OPEN, STATE_UNKNOWN as STATE_UNKNOWN
5
6
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, State as State
6
7
  from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration, bind_hass as bind_hass
7
8
  from typing import Any
@@ -1,5 +1,6 @@
1
1
  import jinja2
2
2
  from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry, issue_registry as issue_registry, label_registry as label_registry
3
+ from .deprecation import deprecated_function as deprecated_function
3
4
  from .singleton import singleton as singleton
4
5
  from .translation import async_translate_state as async_translate_state
5
6
  from .typing import TemplateVarsType as TemplateVarsType
@@ -10,7 +11,7 @@ from contextvars import ContextVar
10
11
  from datetime import datetime, timedelta
11
12
  from functools import cached_property as cached_property
12
13
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, ATTR_PERSONS as ATTR_PERSONS, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfLength as UnitOfLength
13
- from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id, valid_domain as valid_domain, valid_entity_id as valid_entity_id
14
+ from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, State as State, callback as callback, split_entity_id as split_entity_id, valid_domain as valid_domain, valid_entity_id as valid_entity_id
14
15
  from homeassistant.exceptions import TemplateError as TemplateError
15
16
  from homeassistant.loader import bind_hass as bind_hass
16
17
  from homeassistant.util import convert as convert
@@ -41,6 +42,7 @@ template_cv: ContextVar[tuple[str, str] | None]
41
42
  CACHED_TEMPLATE_STATES: int
42
43
  EVAL_CACHE_SIZE: int
43
44
  MAX_CUSTOM_TEMPLATE_SIZE: Incomplete
45
+ MAX_TEMPLATE_OUTPUT: Incomplete
44
46
  CACHED_TEMPLATE_LRU: LRU[State, TemplateState]
45
47
  CACHED_TEMPLATE_NO_COLLECT_LRU: LRU[State, TemplateState]
46
48
  ENTITY_COUNT_GROWTH_FACTOR: float
@@ -50,6 +52,7 @@ def _template_state_no_collect(hass: HomeAssistant, state: State) -> TemplateSta
50
52
  def _template_state(hass: HomeAssistant, state: State) -> TemplateState: ...
51
53
  def async_setup(hass: HomeAssistant) -> bool: ...
52
54
  def attach(hass: HomeAssistant, obj: Any) -> None: ...
55
+ def _attach(hass: HomeAssistant, obj: Any) -> None: ...
53
56
  def render_complex(value: Any, variables: TemplateVarsType = None, limited: bool = False, parse_result: bool = True) -> Any: ...
54
57
  def is_complex(value: Any) -> bool: ...
55
58
  def is_template_string(maybe_template: str) -> bool: ...
@@ -283,6 +286,7 @@ def timestamp_utc(value, default=...): ...
283
286
  def forgiving_as_timestamp(value, default=...): ...
284
287
  def as_datetime(value: Any, default: Any = ...) -> Any: ...
285
288
  def as_timedelta(value: str) -> timedelta | None: ...
289
+ def merge_response(value: ServiceResponse) -> list[Any]: ...
286
290
  def strptime(string, fmt, default=...): ...
287
291
  def fail_when_undefined(value): ...
288
292
  def min_max_from_filter(builtin_filter: Any, name: str) -> Any: ...
@@ -10,6 +10,12 @@ class MockStreamReader:
10
10
  def __init__(self, content: bytes) -> None: ...
11
11
  async def read(self, byte_count: int = -1) -> bytes: ...
12
12
 
13
+ class MockPayloadWriter:
14
+ def enable_chunking(self) -> None: ...
15
+ async def write_headers(self, *args: Any, **kwargs: Any) -> None: ...
16
+
17
+ _MOCK_PAYLOAD_WRITER: Incomplete
18
+
13
19
  class MockRequest:
14
20
  mock_source: str | None
15
21
  method: Incomplete
@@ -17,8 +23,12 @@ class MockRequest:
17
23
  status: Incomplete
18
24
  headers: Incomplete
19
25
  query_string: Incomplete
26
+ keep_alive: bool
27
+ version: Incomplete
20
28
  _content: Incomplete
29
+ _payload_writer: Incomplete
21
30
  def __init__(self, content: bytes, mock_source: str, method: str = 'GET', status: int = ..., headers: dict[str, str] | None = None, query_string: str | None = None, url: str = '') -> None: ...
31
+ async def _prepare_hook(self, response: Any) -> None: ...
22
32
  @property
23
33
  def query(self) -> MultiDict[str]: ...
24
34
  @property
@@ -6,5 +6,8 @@ def is_virtual_env() -> bool: ...
6
6
  def is_docker_env() -> bool: ...
7
7
  def get_installed_versions(specifiers: set[str]) -> set[str]: ...
8
8
  def is_installed(requirement_str: str) -> bool: ...
9
+
10
+ _UV_ENV_PYTHON_VARS: Incomplete
11
+
9
12
  def install_package(package: str, upgrade: bool = True, target: str | None = None, constraints: str | None = None, timeout: int | None = None) -> bool: ...
10
13
  async def async_get_user_site(deps_dir: str) -> str: ...
@@ -6,18 +6,22 @@ class SSLCipherList(StrEnum):
6
6
  PYTHON_DEFAULT = 'python_default'
7
7
  INTERMEDIATE = 'intermediate'
8
8
  MODERN = 'modern'
9
+ INSECURE = 'insecure'
9
10
 
10
11
  SSL_CIPHER_LISTS: Incomplete
11
12
 
12
- def _create_no_verify_ssl_context(ssl_cipher_list: SSLCipherList) -> ssl.SSLContext: ...
13
- def create_no_verify_ssl_context(ssl_cipher_list: SSLCipherList = ...) -> ssl.SSLContext: ...
14
- def _client_context(ssl_cipher_list: SSLCipherList) -> ssl.SSLContext: ...
15
- def client_context(ssl_cipher_list: SSLCipherList = ...) -> ssl.SSLContext: ...
13
+ def _client_context_no_verify(ssl_cipher_list: SSLCipherList) -> ssl.SSLContext: ...
14
+ def _client_context(ssl_cipher_list: SSLCipherList = ...) -> ssl.SSLContext: ...
16
15
 
17
16
  _DEFAULT_SSL_CONTEXT: Incomplete
18
17
  _DEFAULT_NO_VERIFY_SSL_CONTEXT: Incomplete
18
+ _NO_VERIFY_SSL_CONTEXTS: Incomplete
19
+ _SSL_CONTEXTS: Incomplete
19
20
 
20
21
  def get_default_context() -> ssl.SSLContext: ...
21
22
  def get_default_no_verify_context() -> ssl.SSLContext: ...
23
+ def client_context_no_verify(ssl_cipher_list: SSLCipherList = ...) -> ssl.SSLContext: ...
24
+ def client_context(ssl_cipher_list: SSLCipherList = ...) -> ssl.SSLContext: ...
25
+ def create_no_verify_ssl_context(ssl_cipher_list: SSLCipherList = ...) -> ssl.SSLContext: ...
22
26
  def server_context_modern() -> ssl.SSLContext: ...
23
27
  def server_context_intermediate() -> ssl.SSLContext: ...
@@ -15,6 +15,8 @@ _MIN_TO_SEC: int
15
15
  _HRS_TO_MINUTES: int
16
16
  _HRS_TO_SECS: Incomplete
17
17
  _DAYS_TO_SECS: Incomplete
18
+ _WH_TO_J: int
19
+ _WH_TO_CAL: Incomplete
18
20
  _POUND_TO_G: float
19
21
  _OUNCE_TO_G: Incomplete
20
22
  _STONE_TO_G: Incomplete
@@ -13,6 +13,7 @@ PRESSURE_UNITS: Incomplete
13
13
  VOLUME_UNITS: Incomplete
14
14
  WIND_SPEED_UNITS: Incomplete
15
15
  TEMPERATURE_UNITS: set[str]
16
+ _VALID_BY_TYPE: dict[str, set[str] | set[str | None]]
16
17
 
17
18
  def _is_valid_unit(unit: str, unit_type: str) -> bool: ...
18
19
 
@@ -1,25 +1,24 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: homeassistant-stubs
3
- Version: 2024.9.2
3
+ Version: 2024.10.0
4
4
  Summary: PEP 484 typing stubs for Home Assistant Core
5
- Home-page: https://github.com/KapJI/homeassistant-stubs
5
+ Project-URL: Homepage, https://github.com/KapJI/homeassistant-stubs
6
+ Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
7
+ Project-URL: Release Notes, https://github.com/KapJI/homeassistant-stubs/releases
8
+ Author-email: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
6
9
  License: MIT
7
- Keywords: homeassistant,typing,pep484
8
- Author: Ruslan Sayfutdinov
9
- Author-email: ruslan@sayfutdinov.com
10
- Requires-Python: >=3.12,<3.13
11
- Classifier: Development Status :: 3 - Alpha
10
+ License-File: LICENSE
11
+ Keywords: homeassistant,pep484,typing
12
+ Classifier: Development Status :: 5 - Production/Stable
12
13
  Classifier: Intended Audience :: Developers
13
14
  Classifier: License :: OSI Approved :: MIT License
14
15
  Classifier: Operating System :: OS Independent
15
- Classifier: Programming Language :: Python :: 3
16
16
  Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Home Automation
17
18
  Classifier: Topic :: Software Development
18
19
  Classifier: Typing :: Typed
19
- Requires-Dist: homeassistant (==2024.9.2)
20
- Project-URL: Bug Tracker, https://github.com/KapJI/homeassistant-stubs/issues
21
- Project-URL: Repository, https://github.com/KapJI/homeassistant-stubs
22
- Project-URL: Release Notes, https://github.com/KapJI/homeassistant-stubs/releases
20
+ Requires-Python: <3.13,>=3.12
21
+ Requires-Dist: homeassistant==2024.10.0
23
22
  Description-Content-Type: text/markdown
24
23
 
25
24
  [![CI](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml/badge.svg)](https://github.com/KapJI/homeassistant-stubs/actions/workflows/ci.yaml)
@@ -33,10 +32,10 @@ You can use it to enable type checks against Home Assistant code in your custom
33
32
  ## How to use
34
33
 
35
34
  Add it to dev dependencies of your project.
36
- I recommend to use [Poetry](https://python-poetry.org/) for managing dependencies:
35
+ I recommend to use [uv](https://docs.astral.sh/uv/) for managing dependencies:
37
36
 
38
37
  ```shell
39
- poetry add --group dev homeassistant-stubs
38
+ uv add --dev homeassistant-stubs
40
39
  ```
41
40
 
42
41
  Please note that only stubs from strictly typed modules are added in this package.
@@ -61,4 +60,3 @@ But many of the Home Assistant components are currently not type checked.
61
60
  - `update_stubs.py` script extracts list of strictly typed modules from Home Assistant configs.
62
61
  - Then it runs `stubgen` which is shipped with `mypy` to generate typing stubs.
63
62
  - New versions are generated and published automatically every 12 hours.
64
-