homeassistant-stubs 2024.6.3__py3-none-any.whl → 2024.7.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 (620) hide show
  1. homeassistant-stubs/auth/__init__.pyi +2 -0
  2. homeassistant-stubs/auth/auth_store.pyi +1 -0
  3. homeassistant-stubs/auth/providers/homeassistant.pyi +10 -2
  4. homeassistant-stubs/block_async_io.pyi +23 -0
  5. homeassistant-stubs/bootstrap.pyi +4 -3
  6. homeassistant-stubs/components/accuweather/sensor.pyi +5 -9
  7. homeassistant-stubs/components/accuweather/weather.pyi +1 -1
  8. homeassistant-stubs/components/acer_projector/switch.pyi +2 -1
  9. homeassistant-stubs/components/air_quality/__init__.pyi +4 -3
  10. homeassistant-stubs/components/airgradient/__init__.pyi +8 -0
  11. homeassistant-stubs/components/airgradient/button.pyi +28 -0
  12. homeassistant-stubs/components/airgradient/const.pyi +2 -0
  13. homeassistant-stubs/components/airgradient/coordinator.pyi +2 -2
  14. homeassistant-stubs/components/airgradient/number.pyi +32 -0
  15. homeassistant-stubs/components/airgradient/select.pyi +14 -12
  16. homeassistant-stubs/components/airgradient/sensor.pyi +28 -10
  17. homeassistant-stubs/components/airgradient/switch.pyi +33 -0
  18. homeassistant-stubs/components/airnow/const.pyi +1 -0
  19. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  20. homeassistant-stubs/components/airnow/sensor.pyi +1 -2
  21. homeassistant-stubs/components/airzone/__init__.pyi +4 -4
  22. homeassistant-stubs/components/airzone/binary_sensor.pyi +2 -2
  23. homeassistant-stubs/components/airzone/climate.pyi +3 -2
  24. homeassistant-stubs/components/airzone/diagnostics.pyi +2 -4
  25. homeassistant-stubs/components/airzone/entity.pyi +2 -1
  26. homeassistant-stubs/components/airzone/select.pyi +2 -2
  27. homeassistant-stubs/components/airzone/sensor.pyi +3 -2
  28. homeassistant-stubs/components/airzone/water_heater.pyi +3 -2
  29. homeassistant-stubs/components/airzone_cloud/__init__.pyi +3 -3
  30. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -3
  31. homeassistant-stubs/components/airzone_cloud/climate.pyi +8 -10
  32. homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +2 -4
  33. homeassistant-stubs/components/airzone_cloud/select.pyi +2 -3
  34. homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -3
  35. homeassistant-stubs/components/airzone_cloud/water_heater.pyi +2 -3
  36. homeassistant-stubs/components/aladdin_connect/__init__.pyi +4 -13
  37. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +3 -16
  38. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +3 -3
  39. homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
  40. homeassistant-stubs/components/alexa/entities.pyi +25 -24
  41. homeassistant-stubs/components/alpha_vantage/sensor.pyi +2 -1
  42. homeassistant-stubs/components/ambient_network/coordinator.pyi +2 -0
  43. homeassistant-stubs/components/ambient_network/sensor.pyi +1 -0
  44. homeassistant-stubs/components/androidtv/entity.pyi +1 -0
  45. homeassistant-stubs/components/androidtv/remote.pyi +21 -0
  46. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +11 -1
  47. homeassistant-stubs/components/androidtv_remote/const.pyi +3 -0
  48. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -1
  49. homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -1
  50. homeassistant-stubs/components/androidtv_remote/remote.pyi +3 -0
  51. homeassistant-stubs/components/anel_pwrctrl/switch.pyi +2 -1
  52. homeassistant-stubs/components/apprise/notify.pyi +2 -1
  53. homeassistant-stubs/components/apsystems/__init__.pyi +9 -2
  54. homeassistant-stubs/components/apsystems/entity.pyi +10 -0
  55. homeassistant-stubs/components/apsystems/number.pyi +25 -0
  56. homeassistant-stubs/components/apsystems/sensor.pyi +6 -7
  57. homeassistant-stubs/components/aqualogic/sensor.pyi +2 -1
  58. homeassistant-stubs/components/aqualogic/switch.pyi +2 -1
  59. homeassistant-stubs/components/aquostv/media_player.pyi +2 -1
  60. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +8 -7
  61. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
  62. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -0
  63. homeassistant-stubs/components/automation/__init__.pyi +10 -5
  64. homeassistant-stubs/components/automation/config.pyi +11 -1
  65. homeassistant-stubs/components/automation/trace.pyi +2 -2
  66. homeassistant-stubs/components/axis/config_flow.pyi +1 -0
  67. homeassistant-stubs/components/baf/binary_sensor.pyi +2 -4
  68. homeassistant-stubs/components/baf/entity.pyi +6 -1
  69. homeassistant-stubs/components/baf/number.pyi +2 -4
  70. homeassistant-stubs/components/baf/sensor.pyi +2 -4
  71. homeassistant-stubs/components/baf/switch.pyi +2 -4
  72. homeassistant-stubs/components/bang_olufsen/const.pyi +2 -0
  73. homeassistant-stubs/components/bang_olufsen/media_player.pyi +3 -2
  74. homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -1
  75. homeassistant-stubs/components/binary_sensor/__init__.pyi +3 -2
  76. homeassistant-stubs/components/bitcoin/sensor.pyi +2 -1
  77. homeassistant-stubs/components/blockchain/sensor.pyi +2 -1
  78. homeassistant-stubs/components/blueprint/errors.pyi +1 -1
  79. homeassistant-stubs/components/blueprint/websocket_api.pyi +6 -3
  80. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -3
  81. homeassistant-stubs/components/bmw_connected_drive/const.pyi +0 -1
  82. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  83. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -1
  84. homeassistant-stubs/components/brother/config_flow.pyi +9 -1
  85. homeassistant-stubs/components/button/__init__.pyi +4 -3
  86. homeassistant-stubs/components/calendar/__init__.pyi +2 -4
  87. homeassistant-stubs/components/camera/__init__.pyi +8 -7
  88. homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -1
  89. homeassistant-stubs/components/clickatell/notify.pyi +2 -1
  90. homeassistant-stubs/components/clicksend/notify.pyi +2 -1
  91. homeassistant-stubs/components/climate/__init__.pyi +5 -4
  92. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  93. homeassistant-stubs/components/cloud/account_link.pyi +1 -1
  94. homeassistant-stubs/components/cloud/binary_sensor.pyi +1 -1
  95. homeassistant-stubs/components/cloud/const.pyi +6 -1
  96. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  97. homeassistant-stubs/components/cloud/repairs.pyi +1 -3
  98. homeassistant-stubs/components/cloud/stt.pyi +1 -1
  99. homeassistant-stubs/components/cloud/system_health.pyi +1 -3
  100. homeassistant-stubs/components/cloud/tts.pyi +1 -1
  101. homeassistant-stubs/components/config/auth_provider_homeassistant.pyi +1 -0
  102. homeassistant-stubs/components/config/scene.pyi +3 -1
  103. homeassistant-stubs/components/counter/__init__.pyi +2 -2
  104. homeassistant-stubs/components/cover/__init__.pyi +3 -2
  105. homeassistant-stubs/components/demo/tts.pyi +2 -1
  106. homeassistant-stubs/components/derivative/__init__.pyi +2 -1
  107. homeassistant-stubs/components/derivative/config_flow.pyi +11 -4
  108. homeassistant-stubs/components/derivative/sensor.pyi +3 -1
  109. homeassistant-stubs/components/device_automation/__init__.pyi +2 -2
  110. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
  111. homeassistant-stubs/components/dnsip/__init__.pyi +4 -2
  112. homeassistant-stubs/components/dnsip/config_flow.pyi +4 -3
  113. homeassistant-stubs/components/dnsip/const.pyi +2 -0
  114. homeassistant-stubs/components/dnsip/sensor.pyi +4 -3
  115. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +3 -3
  116. homeassistant-stubs/components/ecovacs/button.pyi +5 -5
  117. homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -0
  118. homeassistant-stubs/components/ecovacs/controller.pyi +4 -4
  119. homeassistant-stubs/components/ecovacs/entity.pyi +8 -10
  120. homeassistant-stubs/components/ecovacs/event.pyi +3 -3
  121. homeassistant-stubs/components/ecovacs/image.pyi +2 -2
  122. homeassistant-stubs/components/ecovacs/lawn_mower.pyi +3 -3
  123. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  124. homeassistant-stubs/components/ecovacs/select.pyi +3 -3
  125. homeassistant-stubs/components/ecovacs/sensor.pyi +6 -6
  126. homeassistant-stubs/components/ecovacs/switch.pyi +4 -4
  127. homeassistant-stubs/components/ecovacs/vacuum.pyi +9 -5
  128. homeassistant-stubs/components/ecowitt/binary_sensor.pyi +1 -0
  129. homeassistant-stubs/components/efergy/__init__.pyi +3 -2
  130. homeassistant-stubs/components/efergy/sensor.pyi +3 -4
  131. homeassistant-stubs/components/electrasmart/__init__.pyi +12 -0
  132. homeassistant-stubs/components/electrasmart/climate.pyi +64 -0
  133. homeassistant-stubs/components/electrasmart/config_flow.pyi +24 -0
  134. homeassistant-stubs/components/electrasmart/const.pyi +10 -0
  135. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
  136. homeassistant-stubs/components/elkm1/const.pyi +2 -1
  137. homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
  138. homeassistant-stubs/components/energy/websocket_api.pyi +5 -5
  139. homeassistant-stubs/components/enigma2/__init__.pyi +3 -2
  140. homeassistant-stubs/components/enigma2/config_flow.pyi +10 -1
  141. homeassistant-stubs/components/enigma2/media_player.pyi +3 -2
  142. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +8 -2
  143. homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
  144. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -1
  145. homeassistant-stubs/components/esphome/__init__.pyi +5 -5
  146. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +3 -5
  147. homeassistant-stubs/components/esphome/binary_sensor.pyi +2 -3
  148. homeassistant-stubs/components/esphome/button.pyi +3 -5
  149. homeassistant-stubs/components/esphome/camera.pyi +3 -5
  150. homeassistant-stubs/components/esphome/climate.pyi +3 -6
  151. homeassistant-stubs/components/esphome/cover.pyi +3 -5
  152. homeassistant-stubs/components/esphome/date.pyi +3 -5
  153. homeassistant-stubs/components/esphome/datetime.pyi +3 -5
  154. homeassistant-stubs/components/esphome/diagnostics.pyi +3 -3
  155. homeassistant-stubs/components/esphome/domain_data.pyi +4 -8
  156. homeassistant-stubs/components/esphome/entity.pyi +2 -4
  157. homeassistant-stubs/components/esphome/entry_data.pyi +4 -3
  158. homeassistant-stubs/components/esphome/event.pyi +3 -5
  159. homeassistant-stubs/components/esphome/fan.pyi +3 -6
  160. homeassistant-stubs/components/esphome/light.pyi +3 -6
  161. homeassistant-stubs/components/esphome/lock.pyi +3 -5
  162. homeassistant-stubs/components/esphome/manager.pyi +4 -5
  163. homeassistant-stubs/components/esphome/media_player.pyi +3 -5
  164. homeassistant-stubs/components/esphome/number.pyi +3 -5
  165. homeassistant-stubs/components/esphome/select.pyi +2 -4
  166. homeassistant-stubs/components/esphome/switch.pyi +3 -5
  167. homeassistant-stubs/components/esphome/text.pyi +3 -5
  168. homeassistant-stubs/components/esphome/time.pyi +3 -5
  169. homeassistant-stubs/components/esphome/update.pyi +23 -2
  170. homeassistant-stubs/components/esphome/valve.pyi +3 -5
  171. homeassistant-stubs/components/event/__init__.pyi +3 -1
  172. homeassistant-stubs/components/evohome/__init__.pyi +8 -49
  173. homeassistant-stubs/components/evohome/climate.pyi +2 -2
  174. homeassistant-stubs/components/evohome/const.pyi +39 -16
  175. homeassistant-stubs/components/evohome/coordinator.pyi +33 -0
  176. homeassistant-stubs/components/evohome/helpers.pyi +13 -0
  177. homeassistant-stubs/components/fan/__init__.pyi +3 -2
  178. homeassistant-stubs/components/fastdotcom/__init__.pyi +2 -7
  179. homeassistant-stubs/components/fastdotcom/config_flow.pyi +0 -2
  180. homeassistant-stubs/components/feedreader/__init__.pyi +10 -5
  181. homeassistant-stubs/components/feedreader/config_flow.pyi +30 -0
  182. homeassistant-stubs/components/feedreader/const.pyi +5 -0
  183. homeassistant-stubs/components/feedreader/coordinator.pyi +4 -4
  184. homeassistant-stubs/components/filter/sensor.pyi +2 -1
  185. homeassistant-stubs/components/flux_led/light.pyi +4 -3
  186. homeassistant-stubs/components/fritz/switch.pyi +1 -1
  187. homeassistant-stubs/components/fritzbox/climate.pyi +14 -9
  188. homeassistant-stubs/components/fritzbox/switch.pyi +3 -0
  189. homeassistant-stubs/components/fronius/config_flow.pyi +3 -2
  190. homeassistant-stubs/components/frontend/__init__.pyi +9 -4
  191. homeassistant-stubs/components/fully_kiosk/camera.pyi +21 -0
  192. homeassistant-stubs/components/fully_kiosk/image.pyi +30 -0
  193. homeassistant-stubs/components/fully_kiosk/media_player.pyi +2 -0
  194. homeassistant-stubs/components/fully_kiosk/notify.pyi +25 -0
  195. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -0
  196. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +19 -0
  197. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +7 -2
  198. homeassistant-stubs/components/generic_thermostat/__init__.pyi +6 -0
  199. homeassistant-stubs/components/generic_thermostat/climate.pyi +7 -1
  200. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +19 -0
  201. homeassistant-stubs/components/geo_location/__init__.pyi +4 -3
  202. homeassistant-stubs/components/glances/__init__.pyi +3 -2
  203. homeassistant-stubs/components/glances/sensor.pyi +2 -3
  204. homeassistant-stubs/components/goalzero/__init__.pyi +3 -5
  205. homeassistant-stubs/components/goalzero/binary_sensor.pyi +2 -3
  206. homeassistant-stubs/components/goalzero/coordinator.pyi +3 -1
  207. homeassistant-stubs/components/goalzero/sensor.pyi +2 -3
  208. homeassistant-stubs/components/goalzero/switch.pyi +2 -3
  209. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +2 -2
  210. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +9 -0
  211. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -0
  212. homeassistant-stubs/components/google_sheets/__init__.pyi +4 -3
  213. homeassistant-stubs/components/google_sheets/config_flow.pyi +3 -2
  214. homeassistant-stubs/components/gpsd/sensor.pyi +2 -1
  215. homeassistant-stubs/components/group/binary_sensor.pyi +2 -1
  216. homeassistant-stubs/components/group/cover.pyi +2 -1
  217. homeassistant-stubs/components/group/entity.pyi +2 -2
  218. homeassistant-stubs/components/group/event.pyi +2 -1
  219. homeassistant-stubs/components/group/fan.pyi +2 -1
  220. homeassistant-stubs/components/group/light.pyi +2 -1
  221. homeassistant-stubs/components/group/lock.pyi +2 -1
  222. homeassistant-stubs/components/group/media_player.pyi +2 -1
  223. homeassistant-stubs/components/group/notify.pyi +2 -1
  224. homeassistant-stubs/components/group/registry.pyi +8 -2
  225. homeassistant-stubs/components/group/switch.pyi +2 -1
  226. homeassistant-stubs/components/history_stats/sensor.pyi +4 -1
  227. homeassistant-stubs/components/homeassistant/const.pyi +3 -1
  228. homeassistant-stubs/components/homekit/aidmanager.pyi +2 -2
  229. homeassistant-stubs/components/homekit_controller/config_flow.pyi +1 -0
  230. homeassistant-stubs/components/homeworks/__init__.pyi +2 -5
  231. homeassistant-stubs/components/homeworks/config_flow.pyi +1 -6
  232. homeassistant-stubs/components/http/__init__.pyi +20 -3
  233. homeassistant-stubs/components/http/cors.pyi +1 -1
  234. homeassistant-stubs/components/http/data_validator.pyi +2 -1
  235. homeassistant-stubs/components/humidifier/__init__.pyi +3 -2
  236. homeassistant-stubs/components/humidifier/device_action.pyi +1 -1
  237. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +3 -3
  238. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +2 -3
  239. homeassistant-stubs/components/husqvarna_automower/button.pyi +22 -0
  240. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -3
  241. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +2 -2
  242. homeassistant-stubs/components/husqvarna_automower/entity.pyi +7 -1
  243. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +14 -5
  244. homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -5
  245. homeassistant-stubs/components/husqvarna_automower/select.pyi +2 -3
  246. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +10 -5
  247. homeassistant-stubs/components/husqvarna_automower/switch.pyi +4 -8
  248. homeassistant-stubs/components/hydrawise/coordinator.pyi +3 -3
  249. homeassistant-stubs/components/hydrawise/sensor.pyi +6 -1
  250. homeassistant-stubs/components/ibeacon/config_flow.pyi +1 -0
  251. homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -5
  252. homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -0
  253. homeassistant-stubs/components/image/__init__.pyi +3 -2
  254. homeassistant-stubs/components/image_upload/__init__.pyi +7 -3
  255. homeassistant-stubs/components/imap/__init__.pyi +5 -4
  256. homeassistant-stubs/components/imap/diagnostics.pyi +3 -5
  257. homeassistant-stubs/components/imap/sensor.pyi +5 -5
  258. homeassistant-stubs/components/input_button/__init__.pyi +3 -4
  259. homeassistant-stubs/components/input_select/__init__.pyi +2 -2
  260. homeassistant-stubs/components/input_text/__init__.pyi +3 -4
  261. homeassistant-stubs/components/integration/__init__.pyi +2 -0
  262. homeassistant-stubs/components/integration/config_flow.pyi +1 -1
  263. homeassistant-stubs/components/integration/const.pyi +1 -0
  264. homeassistant-stubs/components/integration/sensor.pyi +33 -12
  265. homeassistant-stubs/components/intent/timers.pyi +7 -3
  266. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +4 -3
  267. homeassistant-stubs/components/islamic_prayer_times/sensor.pyi +3 -3
  268. homeassistant-stubs/components/isy994/services.pyi +3 -2
  269. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +6 -12
  270. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -0
  271. homeassistant-stubs/components/jewish_calendar/sensor.pyi +8 -13
  272. homeassistant-stubs/components/knocki/__init__.pyi +12 -0
  273. homeassistant-stubs/components/knocki/config_flow.pyi +12 -0
  274. homeassistant-stubs/components/knocki/const.pyi +4 -0
  275. homeassistant-stubs/components/knocki/coordinator.pyi +13 -0
  276. homeassistant-stubs/components/knocki/event.pyi +26 -0
  277. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  278. homeassistant-stubs/components/knx/device_trigger.pyi +1 -1
  279. homeassistant-stubs/components/knx/trigger.pyi +2 -3
  280. homeassistant-stubs/components/knx/websocket.pyi +1 -0
  281. homeassistant-stubs/components/lacrosse/sensor.pyi +2 -1
  282. homeassistant-stubs/components/lamarzocco/__init__.pyi +8 -3
  283. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +4 -5
  284. homeassistant-stubs/components/lamarzocco/button.pyi +4 -5
  285. homeassistant-stubs/components/lamarzocco/calendar.pyi +9 -3
  286. homeassistant-stubs/components/lamarzocco/config_flow.pyi +7 -3
  287. homeassistant-stubs/components/lamarzocco/const.pyi +1 -2
  288. homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -11
  289. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +10 -5
  290. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -3
  291. homeassistant-stubs/components/lamarzocco/number.pyi +9 -13
  292. homeassistant-stubs/components/lamarzocco/select.pyi +13 -7
  293. homeassistant-stubs/components/lamarzocco/sensor.pyi +4 -5
  294. homeassistant-stubs/components/lamarzocco/switch.pyi +21 -6
  295. homeassistant-stubs/components/lamarzocco/update.pyi +5 -10
  296. homeassistant-stubs/components/lawn_mower/__init__.pyi +3 -2
  297. homeassistant-stubs/components/lidarr/__init__.pyi +12 -2
  298. homeassistant-stubs/components/lidarr/config_flow.pyi +2 -1
  299. homeassistant-stubs/components/lidarr/coordinator.pyi +0 -1
  300. homeassistant-stubs/components/lidarr/sensor.pyi +3 -4
  301. homeassistant-stubs/components/lifx/light.pyi +3 -2
  302. homeassistant-stubs/components/light/__init__.pyi +8 -6
  303. homeassistant-stubs/components/light/device_action.pyi +1 -1
  304. homeassistant-stubs/components/litterrobot/__init__.pyi +4 -3
  305. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +2 -4
  306. homeassistant-stubs/components/litterrobot/button.pyi +2 -4
  307. homeassistant-stubs/components/litterrobot/select.pyi +2 -3
  308. homeassistant-stubs/components/litterrobot/sensor.pyi +2 -4
  309. homeassistant-stubs/components/litterrobot/switch.pyi +2 -4
  310. homeassistant-stubs/components/litterrobot/time.pyi +2 -4
  311. homeassistant-stubs/components/litterrobot/update.pyi +3 -4
  312. homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -4
  313. homeassistant-stubs/components/lock/__init__.pyi +4 -3
  314. homeassistant-stubs/components/logbook/processor.pyi +4 -3
  315. homeassistant-stubs/components/london_underground/sensor.pyi +2 -1
  316. homeassistant-stubs/components/mastodon/notify.pyi +2 -1
  317. homeassistant-stubs/components/matrix/notify.pyi +2 -1
  318. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  319. homeassistant-stubs/components/matter/discovery.pyi +3 -3
  320. homeassistant-stubs/components/matter/entity.pyi +8 -1
  321. homeassistant-stubs/components/matter/event.pyi +0 -2
  322. homeassistant-stubs/components/matter/fan.pyi +2 -2
  323. homeassistant-stubs/components/matter/lock.pyi +1 -0
  324. homeassistant-stubs/components/matter/models.pyi +1 -2
  325. homeassistant-stubs/components/matter/number.pyi +24 -0
  326. homeassistant-stubs/components/matter/sensor.pyi +1 -1
  327. homeassistant-stubs/components/media_player/__init__.pyi +3 -2
  328. homeassistant-stubs/components/media_player/intent.pyi +2 -1
  329. homeassistant-stubs/components/mikrotik/__init__.pyi +2 -1
  330. homeassistant-stubs/components/mikrotik/device_tracker.pyi +2 -3
  331. homeassistant-stubs/components/min_max/sensor.pyi +2 -1
  332. homeassistant-stubs/components/modbus/sensor.pyi +2 -2
  333. homeassistant-stubs/components/monzo/config_flow.pyi +5 -1
  334. homeassistant-stubs/components/monzo/coordinator.pyi +1 -0
  335. homeassistant-stubs/components/motionmount/select.pyi +5 -2
  336. homeassistant-stubs/components/mqtt/async_client.pyi +22 -0
  337. homeassistant-stubs/components/mqtt/client.pyi +13 -28
  338. homeassistant-stubs/components/mqtt/climate.pyi +2 -3
  339. homeassistant-stubs/components/mqtt/cover.pyi +2 -3
  340. homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -3
  341. homeassistant-stubs/components/mqtt/event.pyi +2 -3
  342. homeassistant-stubs/components/mqtt/fan.pyi +2 -3
  343. homeassistant-stubs/components/mqtt/humidifier.pyi +2 -3
  344. homeassistant-stubs/components/mqtt/image.pyi +2 -3
  345. homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -3
  346. homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
  347. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -3
  348. homeassistant-stubs/components/mqtt/light/schema_json.pyi +2 -3
  349. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -3
  350. homeassistant-stubs/components/mqtt/mixins.pyi +4 -4
  351. homeassistant-stubs/components/mqtt/models.pyi +2 -3
  352. homeassistant-stubs/components/mqtt/number.pyi +2 -3
  353. homeassistant-stubs/components/mqtt/select.pyi +2 -3
  354. homeassistant-stubs/components/mqtt/sensor.pyi +2 -3
  355. homeassistant-stubs/components/mqtt/siren.pyi +2 -3
  356. homeassistant-stubs/components/mqtt/text.pyi +2 -3
  357. homeassistant-stubs/components/mqtt/update.pyi +2 -3
  358. homeassistant-stubs/components/mqtt/util.pyi +23 -2
  359. homeassistant-stubs/components/mqtt/vacuum.pyi +2 -3
  360. homeassistant-stubs/components/mqtt/valve.pyi +2 -3
  361. homeassistant-stubs/components/mqtt/water_heater.pyi +2 -3
  362. homeassistant-stubs/components/mysensors/config_flow.pyi +1 -0
  363. homeassistant-stubs/components/mysensors/sensor.pyi +1 -1
  364. homeassistant-stubs/components/myuplink/__init__.pyi +4 -1
  365. homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -4
  366. homeassistant-stubs/components/myuplink/diagnostics.pyi +2 -4
  367. homeassistant-stubs/components/myuplink/number.pyi +2 -4
  368. homeassistant-stubs/components/myuplink/sensor.pyi +3 -5
  369. homeassistant-stubs/components/myuplink/switch.pyi +2 -4
  370. homeassistant-stubs/components/myuplink/update.pyi +2 -4
  371. homeassistant-stubs/components/nam/const.pyi +1 -0
  372. homeassistant-stubs/components/nam/sensor.pyi +1 -1
  373. homeassistant-stubs/components/nanoleaf/__init__.pyi +6 -14
  374. homeassistant-stubs/components/nanoleaf/button.pyi +4 -7
  375. homeassistant-stubs/components/nanoleaf/coordinator.pyi +12 -0
  376. homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -0
  377. homeassistant-stubs/components/nanoleaf/diagnostics.pyi +2 -4
  378. homeassistant-stubs/components/nanoleaf/entity.pyi +4 -4
  379. homeassistant-stubs/components/nanoleaf/event.pyi +18 -0
  380. homeassistant-stubs/components/nanoleaf/light.pyi +4 -7
  381. homeassistant-stubs/components/number/__init__.pyi +3 -1
  382. homeassistant-stubs/components/number/const.pyi +2 -1
  383. homeassistant-stubs/components/overkiz/water_heater.pyi +2 -1
  384. homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +2 -0
  385. homeassistant-stubs/components/overkiz/water_heater_entities/atlantic_domestic_hot_water_production_mlb_component.pyi +32 -0
  386. homeassistant-stubs/components/ping/binary_sensor.pyi +2 -8
  387. homeassistant-stubs/components/ping/config_flow.pyi +2 -4
  388. homeassistant-stubs/components/ping/device_tracker.pyi +4 -14
  389. homeassistant-stubs/components/plugwise/button.pyi +20 -0
  390. homeassistant-stubs/components/plugwise/const.pyi +3 -0
  391. homeassistant-stubs/components/plugwise/coordinator.pyi +5 -3
  392. homeassistant-stubs/components/plugwise/number.pyi +2 -4
  393. homeassistant-stubs/components/plugwise/select.pyi +3 -5
  394. homeassistant-stubs/components/prometheus/__init__.pyi +1 -1
  395. homeassistant-stubs/components/proximity/config_flow.pyi +2 -1
  396. homeassistant-stubs/components/radarr/__init__.pyi +14 -2
  397. homeassistant-stubs/components/radarr/binary_sensor.pyi +3 -4
  398. homeassistant-stubs/components/radarr/calendar.pyi +2 -4
  399. homeassistant-stubs/components/radarr/config_flow.pyi +3 -4
  400. homeassistant-stubs/components/radarr/coordinator.pyi +2 -2
  401. homeassistant-stubs/components/radarr/sensor.pyi +2 -4
  402. homeassistant-stubs/components/rainmachine/switch.pyi +1 -0
  403. homeassistant-stubs/components/recorder/const.pyi +3 -1
  404. homeassistant-stubs/components/recorder/core.pyi +2 -2
  405. homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
  406. homeassistant-stubs/components/recorder/purge.pyi +1 -1
  407. homeassistant-stubs/components/recorder/statistics.pyi +7 -4
  408. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +3 -3
  409. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +1 -1
  410. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
  411. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +1 -1
  412. homeassistant-stubs/components/recorder/util.pyi +4 -3
  413. homeassistant-stubs/components/remote/__init__.pyi +5 -4
  414. homeassistant-stubs/components/rest/binary_sensor.pyi +2 -1
  415. homeassistant-stubs/components/rest/notify.pyi +2 -1
  416. homeassistant-stubs/components/rest/sensor.pyi +2 -1
  417. homeassistant-stubs/components/rest/switch.pyi +2 -1
  418. homeassistant-stubs/components/rfxtrx/config_flow.pyi +1 -0
  419. homeassistant-stubs/components/roborock/__init__.pyi +30 -0
  420. homeassistant-stubs/components/roborock/binary_sensor.pyi +29 -0
  421. homeassistant-stubs/components/roborock/button.pyi +28 -0
  422. homeassistant-stubs/components/roborock/config_flow.pyi +30 -0
  423. homeassistant-stubs/components/roborock/const.pyi +13 -0
  424. homeassistant-stubs/components/roborock/coordinator.pyi +47 -0
  425. homeassistant-stubs/components/roborock/device.pyi +53 -0
  426. homeassistant-stubs/components/roborock/diagnostics.pyi +13 -0
  427. homeassistant-stubs/components/roborock/image.pyi +37 -0
  428. homeassistant-stubs/components/roborock/models.pyi +27 -0
  429. homeassistant-stubs/components/roborock/number.pyi +35 -0
  430. homeassistant-stubs/components/roborock/select.pyi +37 -0
  431. homeassistant-stubs/components/roborock/sensor.pyi +47 -0
  432. homeassistant-stubs/components/roborock/switch.pyi +37 -0
  433. homeassistant-stubs/components/roborock/time.pyi +38 -0
  434. homeassistant-stubs/components/roborock/vacuum.pyi +39 -0
  435. homeassistant-stubs/components/roku/media_player.pyi +2 -1
  436. homeassistant-stubs/components/schedule/__init__.pyi +5 -5
  437. homeassistant-stubs/components/select/__init__.pyi +3 -1
  438. homeassistant-stubs/components/sensor/__init__.pyi +3 -1
  439. homeassistant-stubs/components/sensor/const.pyi +3 -2
  440. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  441. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  442. homeassistant-stubs/components/shelly/__init__.pyi +1 -2
  443. homeassistant-stubs/components/shelly/climate.pyi +3 -0
  444. homeassistant-stubs/components/shelly/const.pyi +0 -1
  445. homeassistant-stubs/components/shelly/coordinator.pyi +3 -2
  446. homeassistant-stubs/components/shelly/switch.pyi +2 -18
  447. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  448. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +4 -5
  449. homeassistant-stubs/components/siren/__init__.pyi +4 -3
  450. homeassistant-stubs/components/sql/sensor.pyi +2 -1
  451. homeassistant-stubs/components/starlink/const.pyi +1 -0
  452. homeassistant-stubs/components/starlink/device_tracker.pyi +6 -2
  453. homeassistant-stubs/components/statistics/__init__.pyi +8 -1
  454. homeassistant-stubs/components/statistics/config_flow.pyi +23 -0
  455. homeassistant-stubs/components/statistics/sensor.pyi +7 -2
  456. homeassistant-stubs/components/stream/fmp4utils.pyi +2 -2
  457. homeassistant-stubs/components/stream/worker.pyi +3 -2
  458. homeassistant-stubs/components/streamlabswater/__init__.pyi +1 -6
  459. homeassistant-stubs/components/streamlabswater/config_flow.pyi +0 -1
  460. homeassistant-stubs/components/suez_water/config_flow.pyi +0 -1
  461. homeassistant-stubs/components/suez_water/sensor.pyi +3 -8
  462. homeassistant-stubs/components/switch/__init__.pyi +4 -3
  463. homeassistant-stubs/components/switch/light.pyi +2 -1
  464. homeassistant-stubs/components/switcher_kis/__init__.pyi +3 -0
  465. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -2
  466. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  467. homeassistant-stubs/components/synology_dsm/const.pyi +1 -0
  468. homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -1
  469. homeassistant-stubs/components/systemmonitor/config_flow.pyi +0 -2
  470. homeassistant-stubs/components/systemmonitor/sensor.pyi +4 -7
  471. homeassistant-stubs/components/tag/__init__.pyi +4 -5
  472. homeassistant-stubs/components/tami4/__init__.pyi +1 -1
  473. homeassistant-stubs/components/tami4/coordinator.pyi +3 -5
  474. homeassistant-stubs/components/tami4/sensor.pyi +3 -3
  475. homeassistant-stubs/components/tautulli/__init__.pyi +3 -2
  476. homeassistant-stubs/components/tautulli/coordinator.pyi +2 -2
  477. homeassistant-stubs/components/tautulli/sensor.pyi +3 -3
  478. homeassistant-stubs/components/threshold/__init__.pyi +2 -1
  479. homeassistant-stubs/components/threshold/binary_sensor.pyi +11 -3
  480. homeassistant-stubs/components/threshold/config_flow.pyi +8 -0
  481. homeassistant-stubs/components/tibber/__init__.pyi +1 -0
  482. homeassistant-stubs/components/tibber/sensor.pyi +12 -6
  483. homeassistant-stubs/components/tibber/services.pyi +15 -0
  484. homeassistant-stubs/components/time_date/sensor.pyi +3 -3
  485. homeassistant-stubs/components/timer/__init__.pyi +2 -2
  486. homeassistant-stubs/components/todo/__init__.pyi +3 -2
  487. homeassistant-stubs/components/tplink/__init__.pyi +14 -8
  488. homeassistant-stubs/components/tplink/binary_sensor.pyi +22 -0
  489. homeassistant-stubs/components/tplink/button.pyi +22 -0
  490. homeassistant-stubs/components/tplink/climate.pyi +42 -0
  491. homeassistant-stubs/components/tplink/config_flow.pyi +5 -5
  492. homeassistant-stubs/components/tplink/const.pyi +5 -1
  493. homeassistant-stubs/components/tplink/coordinator.pyi +2 -2
  494. homeassistant-stubs/components/tplink/diagnostics.pyi +2 -4
  495. homeassistant-stubs/components/tplink/entity.pyi +49 -7
  496. homeassistant-stubs/components/tplink/fan.pyi +31 -0
  497. homeassistant-stubs/components/tplink/light.pyi +20 -19
  498. homeassistant-stubs/components/tplink/number.pyi +27 -0
  499. homeassistant-stubs/components/tplink/select.pyi +26 -0
  500. homeassistant-stubs/components/tplink/sensor.pyi +12 -23
  501. homeassistant-stubs/components/tplink/switch.pyi +12 -35
  502. homeassistant-stubs/components/tplink_omada/controller.pyi +4 -15
  503. homeassistant-stubs/components/tplink_omada/coordinator.pyi +20 -1
  504. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +36 -0
  505. homeassistant-stubs/components/transmission/__init__.pyi +9 -3
  506. homeassistant-stubs/components/transmission/sensor.pyi +2 -2
  507. homeassistant-stubs/components/transmission/switch.pyi +2 -4
  508. homeassistant-stubs/components/trend/__init__.pyi +2 -1
  509. homeassistant-stubs/components/trend/binary_sensor.pyi +6 -2
  510. homeassistant-stubs/components/tts/notify.pyi +2 -1
  511. homeassistant-stubs/components/unifi/config_flow.pyi +1 -1
  512. homeassistant-stubs/components/unifi/sensor.pyi +2 -1
  513. homeassistant-stubs/components/unifi/services.pyi +1 -0
  514. homeassistant-stubs/components/unifiprotect/__init__.pyi +8 -9
  515. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +29 -21
  516. homeassistant-stubs/components/unifiprotect/button.pyi +8 -9
  517. homeassistant-stubs/components/unifiprotect/camera.pyi +10 -10
  518. homeassistant-stubs/components/unifiprotect/const.pyi +0 -1
  519. homeassistant-stubs/components/unifiprotect/data.pyi +27 -14
  520. homeassistant-stubs/components/unifiprotect/diagnostics.pyi +2 -4
  521. homeassistant-stubs/components/unifiprotect/entity.pyi +27 -17
  522. homeassistant-stubs/components/unifiprotect/light.pyi +3 -6
  523. homeassistant-stubs/components/unifiprotect/lock.pyi +3 -8
  524. homeassistant-stubs/components/unifiprotect/media_player.pyi +4 -8
  525. homeassistant-stubs/components/unifiprotect/media_source.pyi +2 -3
  526. homeassistant-stubs/components/unifiprotect/migrate.pyi +5 -5
  527. homeassistant-stubs/components/unifiprotect/models.pyi +16 -17
  528. homeassistant-stubs/components/unifiprotect/number.pyi +8 -12
  529. homeassistant-stubs/components/unifiprotect/repairs.pyi +5 -3
  530. homeassistant-stubs/components/unifiprotect/select.pyi +9 -11
  531. homeassistant-stubs/components/unifiprotect/sensor.pyi +25 -23
  532. homeassistant-stubs/components/unifiprotect/services.pyi +0 -4
  533. homeassistant-stubs/components/unifiprotect/switch.pyi +15 -24
  534. homeassistant-stubs/components/unifiprotect/text.pyi +8 -11
  535. homeassistant-stubs/components/unifiprotect/utils.pyi +6 -11
  536. homeassistant-stubs/components/unifiprotect/views.pyi +2 -4
  537. homeassistant-stubs/components/update/__init__.pyi +3 -1
  538. homeassistant-stubs/components/vacuum/__init__.pyi +2 -1
  539. homeassistant-stubs/components/vallox/sensor.pyi +5 -1
  540. homeassistant-stubs/components/valve/__init__.pyi +3 -2
  541. homeassistant-stubs/components/water_heater/__init__.pyi +4 -3
  542. homeassistant-stubs/components/weather/__init__.pyi +4 -5
  543. homeassistant-stubs/components/webhook/__init__.pyi +1 -1
  544. homeassistant-stubs/components/webostv/__init__.pyi +7 -0
  545. homeassistant-stubs/components/websocket_api/__init__.pyi +3 -4
  546. homeassistant-stubs/components/websocket_api/decorators.pyi +2 -1
  547. homeassistant-stubs/components/wemo/entity.pyi +2 -2
  548. homeassistant-stubs/components/wemo/fan.pyi +2 -1
  549. homeassistant-stubs/components/withings/coordinator.pyi +3 -3
  550. homeassistant-stubs/components/withings/sensor.pyi +6 -2
  551. homeassistant-stubs/components/worldclock/sensor.pyi +2 -1
  552. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +1 -1
  553. homeassistant-stubs/components/zone/__init__.pyi +3 -3
  554. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  555. homeassistant-stubs/components/zwave_js/api.pyi +1 -5
  556. homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -1
  557. homeassistant-stubs/components/zwave_js/const.pyi +5 -0
  558. homeassistant-stubs/components/zwave_js/discovery.pyi +4 -4
  559. homeassistant-stubs/components/zwave_js/helpers.pyi +2 -2
  560. homeassistant-stubs/components/zwave_js/sensor.pyi +2 -0
  561. homeassistant-stubs/components/zwave_js/services.pyi +3 -2
  562. homeassistant-stubs/config.pyi +4 -5
  563. homeassistant-stubs/config_entries.pyi +6 -3
  564. homeassistant-stubs/const.pyi +9 -3
  565. homeassistant-stubs/core.pyi +15 -10
  566. homeassistant-stubs/data_entry_flow.pyi +12 -2
  567. homeassistant-stubs/exceptions.pyi +6 -5
  568. homeassistant-stubs/helpers/__init__.pyi +0 -5
  569. homeassistant-stubs/helpers/collection.pyi +14 -11
  570. homeassistant-stubs/helpers/condition.pyi +3 -2
  571. homeassistant-stubs/helpers/config_validation.pyi +5 -4
  572. homeassistant-stubs/helpers/deprecation.pyi +10 -0
  573. homeassistant-stubs/helpers/device.pyi +8 -0
  574. homeassistant-stubs/helpers/device_registry.pyi +14 -2
  575. homeassistant-stubs/helpers/entity.pyi +3 -2
  576. homeassistant-stubs/helpers/entity_component.pyi +3 -4
  577. homeassistant-stubs/helpers/entity_platform.pyi +2 -3
  578. homeassistant-stubs/helpers/event.pyi +10 -4
  579. homeassistant-stubs/helpers/frame.pyi +1 -0
  580. homeassistant-stubs/helpers/http.pyi +1 -1
  581. homeassistant-stubs/helpers/intent.pyi +6 -4
  582. homeassistant-stubs/helpers/llm.pyi +17 -3
  583. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
  584. homeassistant-stubs/helpers/script.pyi +3 -2
  585. homeassistant-stubs/helpers/selector.pyi +10 -8
  586. homeassistant-stubs/helpers/service.pyi +6 -3
  587. homeassistant-stubs/helpers/template.pyi +8 -6
  588. homeassistant-stubs/helpers/trace.pyi +3 -2
  589. homeassistant-stubs/helpers/typing.pyi +6 -1
  590. homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
  591. homeassistant-stubs/loader.pyi +1 -2
  592. homeassistant-stubs/requirements.pyi +0 -3
  593. homeassistant-stubs/setup.pyi +4 -3
  594. homeassistant-stubs/util/loop.pyi +5 -1
  595. homeassistant-stubs/util/unit_conversion.pyi +7 -1
  596. {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/METADATA +2 -2
  597. {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/RECORD +599 -562
  598. homeassistant-stubs/auth/providers/legacy_api_password.pyi +0 -30
  599. homeassistant-stubs/components/air_quality/group.pyi +0 -5
  600. homeassistant-stubs/components/aladdin_connect/api.pyi +0 -12
  601. homeassistant-stubs/components/aladdin_connect/application_credentials.pyi +0 -5
  602. homeassistant-stubs/components/aladdin_connect/const.pyi +0 -3
  603. homeassistant-stubs/components/aladdin_connect/coordinator.pyi +0 -15
  604. homeassistant-stubs/components/aladdin_connect/cover.pyi +0 -25
  605. homeassistant-stubs/components/aladdin_connect/entity.pyi +0 -12
  606. homeassistant-stubs/components/aladdin_connect/sensor.pyi +0 -27
  607. homeassistant-stubs/components/alarm_control_panel/group.pyi +0 -6
  608. homeassistant-stubs/components/climate/group.pyi +0 -6
  609. homeassistant-stubs/components/cover/group.pyi +0 -6
  610. homeassistant-stubs/components/device_tracker/group.pyi +0 -6
  611. homeassistant-stubs/components/fastdotcom/services.pyi +0 -7
  612. homeassistant-stubs/components/lock/group.pyi +0 -6
  613. homeassistant-stubs/components/media_player/group.pyi +0 -6
  614. homeassistant-stubs/components/sensor/group.pyi +0 -5
  615. homeassistant-stubs/components/vacuum/group.pyi +0 -6
  616. homeassistant-stubs/components/water_heater/group.pyi +0 -6
  617. homeassistant-stubs/components/weather/group.pyi +0 -5
  618. homeassistant-stubs/components/wled/binary_sensor.pyi +0 -20
  619. {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/LICENSE +0 -0
  620. {homeassistant_stubs-2024.6.3.dist-info → homeassistant_stubs-2024.7.0.dist-info}/WHEEL +0 -0
@@ -13,6 +13,7 @@ from .helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnu
13
13
  from .helpers.entity import StateInfo as StateInfo
14
14
  from .helpers.json import json_bytes as json_bytes, json_fragment as json_fragment
15
15
  from .helpers.storage import Store as Store
16
+ from .helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType, VolSchemaType as VolSchemaType
16
17
  from .util import location as location
17
18
  from .util.async_ import cancelling as cancelling, create_eager_task as create_eager_task, run_callback_threadsafe as run_callback_threadsafe, shutdown_run_callback_threadsafe as shutdown_run_callback_threadsafe
18
19
  from .util.event_type import EventType as EventType
@@ -35,7 +36,6 @@ STOPPING_STAGE_SHUTDOWN_TIMEOUT: int
35
36
  STOP_STAGE_SHUTDOWN_TIMEOUT: int
36
37
  FINAL_WRITE_STAGE_SHUTDOWN_TIMEOUT: int
37
38
  CLOSE_STAGE_SHUTDOWN_TIMEOUT: int
38
- _UNDEF: dict[Any, Any]
39
39
  _SENTINEL: Incomplete
40
40
  _DataT = TypeVar('_DataT', bound=Mapping[str, Any], default=Mapping[str, Any])
41
41
  CALLBACK_TYPE = Callable[[], None]
@@ -53,11 +53,16 @@ class ConfigSource(enum.StrEnum):
53
53
  STORAGE: str
54
54
  YAML: str
55
55
 
56
- class EventStateChangedData(TypedDict):
56
+ class EventStateEventData(TypedDict):
57
57
  entity_id: str
58
- old_state: State | None
59
58
  new_state: State | None
60
59
 
60
+ class EventStateChangedData(EventStateEventData):
61
+ old_state: State | None
62
+
63
+ class EventStateReportedData(EventStateEventData):
64
+ old_last_reported: datetime.datetime
65
+
61
66
  _DEPRECATED_SOURCE_DISCOVERED: Incomplete
62
67
  _DEPRECATED_SOURCE_STORAGE: Incomplete
63
68
  _DEPRECATED_SOURCE_YAML: Incomplete
@@ -151,7 +156,7 @@ class HomeAssistant:
151
156
  _stop_future: Incomplete
152
157
  _shutdown_jobs: Incomplete
153
158
  import_executor: Incomplete
154
- _loop_thread_id: Incomplete
159
+ loop_thread_id: Incomplete
155
160
  def __init__(self, config_dir: str) -> None: ...
156
161
  def verify_event_loop_thread(self, what: str) -> None: ...
157
162
  @property
@@ -280,7 +285,6 @@ class EventBus:
280
285
  def async_fire_internal(self, event_type: EventType[_DataT] | str, event_data: _DataT | None = None, origin: EventOrigin = ..., context: Context | None = None, time_fired: float | None = None) -> None: ...
281
286
  def listen(self, event_type: EventType[_DataT] | str, listener: Callable[[Event[_DataT]], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
282
287
  def async_listen(self, event_type: EventType[_DataT] | str, listener: Callable[[Event[_DataT]], Coroutine[Any, Any, None] | None], event_filter: Callable[[_DataT], bool] | None = None, run_immediately: bool | object = ...) -> CALLBACK_TYPE: ...
283
- def _async_remove_multiple_listeners(self, keys: Iterable[EventType[_DataT] | str], filterable_job: _FilterableJobType[Any]) -> None: ...
284
288
  def _async_listen_filterable_job(self, event_type: EventType[_DataT] | str, filterable_job: _FilterableJobType[_DataT]) -> CALLBACK_TYPE: ...
285
289
  def listen_once(self, event_type: EventType[_DataT] | str, listener: Callable[[Event[_DataT]], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
286
290
  def async_listen_once(self, event_type: EventType[_DataT] | str, listener: Callable[[Event[_DataT]], Coroutine[Any, Any, None] | None], run_immediately: bool | object = ...) -> CALLBACK_TYPE: ...
@@ -303,7 +307,7 @@ class State:
303
307
  context: Incomplete
304
308
  state_info: Incomplete
305
309
  last_updated_timestamp: Incomplete
306
- def __init__(self, entity_id: str, state: str, attributes: Mapping[str, Any] | None = None, last_changed: datetime.datetime | None = None, last_reported: datetime.datetime | None = None, last_updated: datetime.datetime | None = None, context: Context | None = None, validate_entity_id: bool | None = True, state_info: StateInfo | None = None) -> None: ...
310
+ def __init__(self, entity_id: str, state: str, attributes: Mapping[str, Any] | None = None, last_changed: datetime.datetime | None = None, last_reported: datetime.datetime | None = None, last_updated: datetime.datetime | None = None, context: Context | None = None, validate_entity_id: bool | None = True, state_info: StateInfo | None = None, last_updated_timestamp: float | None = None) -> None: ...
307
311
  @cached_property
308
312
  def name(self) -> str: ...
309
313
  @cached_property
@@ -369,7 +373,7 @@ class Service:
369
373
  job: Incomplete
370
374
  schema: Incomplete
371
375
  supports_response: Incomplete
372
- def __init__(self, func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], schema: vol.Schema | None, domain: str, service: str, context: Context | None = None, supports_response: SupportsResponse = ..., job_type: HassJobType | None = None) -> None: ...
376
+ def __init__(self, func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], schema: VolSchemaType | None, domain: str, service: str, context: Context | None = None, supports_response: SupportsResponse = ..., job_type: HassJobType | None = None) -> None: ...
373
377
 
374
378
  class ServiceCall:
375
379
  __slots__: Incomplete
@@ -394,8 +398,8 @@ class ServiceRegistry:
394
398
  def has_service(self, domain: str, service: str) -> bool: ...
395
399
  def supports_response(self, domain: str, service: str) -> SupportsResponse: ...
396
400
  def register(self, domain: str, service: str, service_func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse] | ServiceResponse | None], schema: vol.Schema | None = None, supports_response: SupportsResponse = ...) -> None: ...
397
- def async_register(self, domain: str, service: str, service_func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], schema: vol.Schema | None = None, supports_response: SupportsResponse = ..., job_type: HassJobType | None = None) -> None: ...
398
- def _async_register(self, domain: str, service: str, service_func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], schema: vol.Schema | None = None, supports_response: SupportsResponse = ..., job_type: HassJobType | None = None) -> None: ...
401
+ def async_register(self, domain: str, service: str, service_func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], schema: VolSchemaType | None = None, supports_response: SupportsResponse = ..., job_type: HassJobType | None = None) -> None: ...
402
+ def _async_register(self, domain: str, service: str, service_func: Callable[[ServiceCall], Coroutine[Any, Any, ServiceResponse | EntityServiceResponse] | ServiceResponse | EntityServiceResponse | None], schema: VolSchemaType | None = None, supports_response: SupportsResponse = ..., job_type: HassJobType | None = None) -> None: ...
399
403
  def remove(self, domain: str, service: str) -> None: ...
400
404
  def async_remove(self, domain: str, service: str) -> None: ...
401
405
  def _async_remove(self, domain: str, service: str) -> None: ...
@@ -418,6 +422,7 @@ class Config:
418
422
  latitude: int
419
423
  longitude: int
420
424
  elevation: int
425
+ radius: Incomplete
421
426
  debug: bool
422
427
  location_name: str
423
428
  time_zone: str
@@ -450,7 +455,7 @@ class Config:
450
455
  def as_dict(self) -> dict[str, Any]: ...
451
456
  async def async_set_time_zone(self, time_zone_str: str) -> None: ...
452
457
  def set_time_zone(self, time_zone_str: str) -> None: ...
453
- async def _async_update(self, *, source: ConfigSource, latitude: float | None = None, longitude: float | None = None, elevation: int | None = None, unit_system: str | None = None, location_name: str | None = None, time_zone: str | None = None, external_url: str | dict[Any, Any] | None = ..., internal_url: str | dict[Any, Any] | None = ..., currency: str | None = None, country: str | dict[Any, Any] | None = ..., language: str | None = None) -> None: ...
458
+ async def _async_update(self, *, source: ConfigSource, latitude: float | None = None, longitude: float | None = None, elevation: int | None = None, unit_system: str | None = None, location_name: str | None = None, time_zone: str | None = None, external_url: str | UndefinedType | None = ..., internal_url: str | UndefinedType | None = ..., currency: str | None = None, country: str | UndefinedType | None = ..., language: str | None = None, radius: int | None = None) -> None: ...
454
459
  async def async_update(self, **kwargs: Any) -> None: ...
455
460
  async def async_load(self) -> None: ...
456
461
  async def _async_store(self) -> None: ...
@@ -7,7 +7,7 @@ from .helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnu
7
7
  from .helpers.frame import report as report
8
8
  from .loader import async_suggest_report_issue as async_suggest_report_issue
9
9
  from _typeshed import Incomplete
10
- from collections.abc import Callable as Callable, Container, Iterable, Mapping
10
+ from collections.abc import Callable as Callable, Container, Hashable, Iterable, Mapping
11
11
  from dataclasses import dataclass
12
12
  from enum import StrEnum
13
13
  from typing import Any, Generic, Required, TypedDict
@@ -48,7 +48,7 @@ class UnknownStep(FlowError): ...
48
48
 
49
49
  class InvalidData(vol.Invalid):
50
50
  schema_errors: Incomplete
51
- def __init__(self, message: str, path: list[str | vol.Marker] | None, error_message: str | None, schema_errors: dict[str, Any], **kwargs: Any) -> None: ...
51
+ def __init__(self, message: str, path: list[Hashable] | None, error_message: str | None, schema_errors: dict[str, Any], **kwargs: Any) -> None: ...
52
52
 
53
53
  class AbortFlow(FlowError):
54
54
  reason: Incomplete
@@ -146,6 +146,16 @@ class FlowHandler(Generic[_FlowResultT, _HandlerT]):
146
146
  def async_get_progress_task(self) -> asyncio.Task[Any] | None: ...
147
147
  def async_set_progress_task(self, progress_task: asyncio.Task[Any]) -> None: ...
148
148
 
149
+ class SectionConfig(TypedDict, total=False):
150
+ collapsed: bool
151
+
152
+ class section:
153
+ CONFIG_SCHEMA: Incomplete
154
+ schema: Incomplete
155
+ options: Incomplete
156
+ def __init__(self, schema: vol.Schema, options: SectionConfig | None = None) -> None: ...
157
+ def __call__(self, value: Any) -> Any: ...
158
+
149
159
  __getattr__: Incomplete
150
160
  __dir__: Incomplete
151
161
  __all__: Incomplete
@@ -1,9 +1,10 @@
1
1
  from .core import Context as Context
2
2
  from .util.event_type import EventType as EventType
3
3
  from _typeshed import Incomplete
4
- from collections.abc import Callable as Callable, Generator, Sequence
4
+ from collections.abc import Callable as Callable, Sequence
5
5
  from dataclasses import dataclass
6
6
  from typing import Any
7
+ from typing_extensions import Generator
7
8
 
8
9
  _function_cache: dict[str, Callable[[str, str, dict[str, str] | None], str]]
9
10
 
@@ -34,14 +35,14 @@ class ConditionError(HomeAssistantError):
34
35
  type: str
35
36
  @staticmethod
36
37
  def _indent(indent: int, message: str) -> str: ...
37
- def output(self, indent: int) -> Generator[str, None, None]: ...
38
+ def output(self, indent: int) -> Generator[str]: ...
38
39
  def __str__(self) -> str: ...
39
40
  def __init__(self, type) -> None: ...
40
41
 
41
42
  @dataclass(slots=True)
42
43
  class ConditionErrorMessage(ConditionError):
43
44
  message: str
44
- def output(self, indent: int) -> Generator[str, None, None]: ...
45
+ def output(self, indent: int) -> Generator[str]: ...
45
46
  def __init__(self, type, message) -> None: ...
46
47
 
47
48
  @dataclass(slots=True)
@@ -49,13 +50,13 @@ class ConditionErrorIndex(ConditionError):
49
50
  index: int
50
51
  total: int
51
52
  error: ConditionError
52
- def output(self, indent: int) -> Generator[str, None, None]: ...
53
+ def output(self, indent: int) -> Generator[str]: ...
53
54
  def __init__(self, type, index, total, error) -> None: ...
54
55
 
55
56
  @dataclass(slots=True)
56
57
  class ConditionErrorContainer(ConditionError):
57
58
  errors: Sequence[ConditionError]
58
- def output(self, indent: int) -> Generator[str, None, None]: ...
59
+ def output(self, indent: int) -> Generator[str]: ...
59
60
  def __init__(self, type, errors) -> None: ...
60
61
 
61
62
  class IntegrationError(HomeAssistantError):
@@ -1,5 +0,0 @@
1
- from .typing import ConfigType as ConfigType
2
- from collections.abc import Iterable, Sequence
3
-
4
- def config_per_platform(config: ConfigType, domain: str) -> Iterable[tuple[str | None, ConfigType]]: ...
5
- def extract_domain_configs(config: ConfigType, domain: str) -> Sequence[str]: ...
@@ -4,14 +4,14 @@ from . import entity_registry as entity_registry
4
4
  from .entity import Entity as Entity
5
5
  from .entity_component import EntityComponent as EntityComponent
6
6
  from .storage import Store as Store
7
- from .typing import ConfigType as ConfigType
7
+ from .typing import ConfigType as ConfigType, VolDictType as VolDictType
8
8
  from _typeshed import Incomplete
9
9
  from abc import ABC, abstractmethod
10
10
  from collections.abc import Awaitable, Callable, Iterable
11
11
  from dataclasses import dataclass
12
12
  from homeassistant.components import websocket_api as websocket_api
13
13
  from homeassistant.const import CONF_ID as CONF_ID
14
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
14
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
15
15
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
16
16
  from homeassistant.util import slugify as slugify
17
17
  from typing import Any, Generic, TypedDict
@@ -25,13 +25,13 @@ CHANGE_REMOVED: str
25
25
  _EntityT = TypeVar('_EntityT', bound=Entity, default=Entity)
26
26
 
27
27
  @dataclass(slots=True)
28
- class CollectionChangeSet:
28
+ class CollectionChange:
29
29
  change_type: str
30
30
  item_id: str
31
31
  item: Any
32
32
  def __init__(self, change_type, item_id, item) -> None: ...
33
33
  ChangeListener = Callable[[str, str, dict], Awaitable[None]]
34
- ChangeSetListener = Callable[[Iterable[CollectionChangeSet]], Awaitable[None]]
34
+ ChangeSetListener = Callable[[Iterable[CollectionChange]], Awaitable[None]]
35
35
 
36
36
  class CollectionError(HomeAssistantError): ...
37
37
 
@@ -65,7 +65,7 @@ class ObservableCollection(ABC):
65
65
  def async_items(self) -> list[_ItemT]: ...
66
66
  def async_add_listener(self, listener: ChangeListener) -> Callable[[], None]: ...
67
67
  def async_add_change_set_listener(self, listener: ChangeSetListener) -> Callable[[], None]: ...
68
- async def notify_changes(self, change_sets: Iterable[CollectionChangeSet]) -> None: ...
68
+ async def notify_changes(self, change_set: Iterable[CollectionChange]) -> None: ...
69
69
 
70
70
  class YamlCollection(ObservableCollection[dict]):
71
71
  logger: Incomplete
@@ -129,10 +129,10 @@ class _CollectionLifeCycle(Generic[_EntityT]):
129
129
  entities: dict[str, CollectionEntity]
130
130
  def async_setup(self) -> None: ...
131
131
  def _entity_removed(self, item_id: str) -> None: ...
132
- def _add_entity(self, change_set: CollectionChangeSet) -> CollectionEntity: ...
133
- async def _remove_entity(self, change_set: CollectionChangeSet) -> None: ...
134
- async def _update_entity(self, change_set: CollectionChangeSet) -> None: ...
135
- async def _collection_changed(self, change_sets: Iterable[CollectionChangeSet]) -> None: ...
132
+ def _add_entity(self, change_set: CollectionChange) -> CollectionEntity: ...
133
+ async def _remove_entity(self, change_set: CollectionChange) -> None: ...
134
+ async def _update_entity(self, change_set: CollectionChange) -> None: ...
135
+ async def _collection_changed(self, change_set: Iterable[CollectionChange]) -> None: ...
136
136
  def __init__(self, domain, platform, entity_component, collection, entity_class, ent_reg, entities) -> None: ...
137
137
 
138
138
  def sync_entity_lifecycle(hass: HomeAssistant, domain: str, platform: str, entity_component: EntityComponent[_EntityT], collection: StorageCollection | YamlCollection, entity_class: type[CollectionEntity]) -> None: ...
@@ -143,12 +143,15 @@ class StorageCollectionWebsocket:
143
143
  model_name: Incomplete
144
144
  create_schema: Incomplete
145
145
  update_schema: Incomplete
146
- def __init__(self, storage_collection: _StorageCollectionT, api_prefix: str, model_name: str, create_schema: dict, update_schema: dict) -> None: ...
146
+ _remove_subscription: Incomplete
147
+ _subscribers: Incomplete
148
+ def __init__(self, storage_collection: _StorageCollectionT, api_prefix: str, model_name: str, create_schema: VolDictType, update_schema: VolDictType) -> None: ...
147
149
  @property
148
150
  def item_id_key(self) -> str: ...
149
- def async_setup(self, hass: HomeAssistant, *, create_list: bool = True, create_create: bool = True) -> None: ...
151
+ def async_setup(self, hass: HomeAssistant) -> None: ...
150
152
  def ws_list_item(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
151
153
  async def ws_create_item(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
154
+ def _ws_subscribe(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
152
155
  async def ws_update_item(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
153
156
  async def ws_delete_item(self, hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
154
157
 
@@ -4,7 +4,7 @@ from .template import Template as Template, render_complex as render_complex
4
4
  from .trace import TraceElement as TraceElement, trace_append_element as trace_append_element, trace_path as trace_path, trace_path_get as trace_path_get, trace_stack_cv as trace_stack_cv, trace_stack_pop as trace_stack_pop, trace_stack_push as trace_stack_push, trace_stack_top as trace_stack_top
5
5
  from .typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
6
6
  from _typeshed import Incomplete
7
- from collections.abc import Container, Generator
7
+ from collections.abc import Container
8
8
  from datetime import time as dt_time, timedelta
9
9
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
10
10
  from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_GPS_ACCURACY as ATTR_GPS_ACCURACY, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_ABOVE as CONF_ABOVE, CONF_AFTER as CONF_AFTER, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BEFORE as CONF_BEFORE, CONF_BELOW as CONF_BELOW, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_ENABLED as CONF_ENABLED, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_ID as CONF_ID, CONF_MATCH as CONF_MATCH, CONF_STATE as CONF_STATE, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, CONF_WEEKDAY as CONF_WEEKDAY, CONF_ZONE as CONF_ZONE, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_ANY as ENTITY_MATCH_ANY, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET, WEEKDAYS as WEEKDAYS
@@ -13,6 +13,7 @@ from homeassistant.exceptions import ConditionError as ConditionError, Condition
13
13
  from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration
14
14
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
15
15
  from typing import Any, Protocol
16
+ from typing_extensions import Generator
16
17
 
17
18
  ASYNC_FROM_CONFIG_FORMAT: str
18
19
  FROM_CONFIG_FORMAT: str
@@ -30,7 +31,7 @@ ConditionCheckerType: Incomplete
30
31
  def condition_trace_append(variables: TemplateVarsType, path: str) -> TraceElement: ...
31
32
  def condition_trace_set_result(result: bool, **kwargs: Any) -> None: ...
32
33
  def condition_trace_update_result(**kwargs: Any) -> None: ...
33
- def trace_condition(variables: TemplateVarsType) -> Generator[TraceElement, None, None]: ...
34
+ def trace_condition(variables: TemplateVarsType) -> Generator[TraceElement]: ...
34
35
  def trace_condition_function(condition: ConditionCheckerType) -> ConditionCheckerType: ...
35
36
  async def _async_get_condition_platform(hass: HomeAssistant, config: ConfigType) -> ConditionProtocol | None: ...
36
37
  async def async_from_config(hass: HomeAssistant, config: ConfigType) -> ConditionCheckerType: ...
@@ -2,6 +2,7 @@ import re
2
2
  import voluptuous as vol
3
3
  from . import template as template_helper
4
4
  from .frame import get_integration_logger as get_integration_logger
5
+ from .typing import VolDictType as VolDictType, VolSchemaType as VolSchemaType
5
6
  from _typeshed import Incomplete
6
7
  from collections.abc import Callable as Callable, Hashable
7
8
  from datetime import date as date_sys, datetime as datetime_sys, time as time_sys, timedelta
@@ -126,8 +127,8 @@ class multi_select:
126
127
  def _deprecated_or_removed(key: str, replacement_key: str | None, default: Any | None, raise_if_present: bool, option_removed: bool) -> Callable[[dict], dict]: ...
127
128
  def deprecated(key: str, replacement_key: str | None = None, default: Any | None = None, raise_if_present: bool | None = False) -> Callable[[dict], dict]: ...
128
129
  def removed(key: str, default: Any | None = None, raise_if_present: bool | None = True) -> Callable[[dict], dict]: ...
129
- def key_value_schemas(key: str, value_schemas: dict[Hashable, vol.Schema], default_schema: vol.Schema | None = None, default_description: str | None = None) -> Callable[[Any], dict[Hashable, Any]]: ...
130
- def key_dependency(key: Hashable, dependency: Hashable) -> Callable[[dict[Hashable, Any]], dict[Hashable, Any]]: ...
130
+ def key_value_schemas(key: str, value_schemas: dict[Hashable, VolSchemaType | Callable[[Any], dict[str, Any]]], default_schema: VolSchemaType | None = None, default_description: str | None = None) -> Callable[[Any], dict[Hashable, Any]]: ...
131
+ def key_dependency(key: Hashable, dependency: Hashable) -> Callable[[dict[_KT, _VT]], dict[_KT, _VT]]: ...
131
132
  def custom_serializer(schema: Any) -> Any: ...
132
133
  def expand_condition_shorthand(value: Any | None) -> Any: ...
133
134
  def empty_config_schema(domain: str) -> Callable[[dict], dict]: ...
@@ -157,13 +158,13 @@ SCRIPT_ACTION_BASE_SCHEMA: Incomplete
157
158
  EVENT_SCHEMA: Incomplete
158
159
  SERVICE_SCHEMA: Incomplete
159
160
  NUMERIC_STATE_THRESHOLD_SCHEMA: Incomplete
160
- CONDITION_BASE_SCHEMA: Incomplete
161
+ CONDITION_BASE_SCHEMA: VolDictType
161
162
  NUMERIC_STATE_CONDITION_SCHEMA: Incomplete
162
163
  STATE_CONDITION_BASE_SCHEMA: Incomplete
163
164
  STATE_CONDITION_STATE_SCHEMA: Incomplete
164
165
  STATE_CONDITION_ATTRIBUTE_SCHEMA: Incomplete
165
166
 
166
- def STATE_CONDITION_SCHEMA(value: Any) -> dict: ...
167
+ def STATE_CONDITION_SCHEMA(value: Any) -> dict[str, Any]: ...
167
168
 
168
169
  SUN_CONDITION_SCHEMA: Incomplete
169
170
  TEMPLATE_CONDITION_SCHEMA: Incomplete
@@ -1,3 +1,5 @@
1
+ import functools
2
+ from _typeshed import Incomplete
1
3
  from collections.abc import Callable as Callable
2
4
  from enum import Enum
3
5
  from typing import Any, NamedTuple
@@ -23,6 +25,14 @@ class DeprecatedAlias(NamedTuple):
23
25
  replacement: str
24
26
  breaks_in_ha_version: str | None
25
27
 
28
+ class DeferredDeprecatedAlias:
29
+ breaks_in_ha_version: Incomplete
30
+ replacement: Incomplete
31
+ _value_fn: Incomplete
32
+ def __init__(self, value_fn: Callable[[], Any], replacement: str, breaks_in_ha_version: str | None) -> None: ...
33
+ @functools.cached_property
34
+ def value(self) -> Any: ...
35
+
26
36
  _PREFIX_DEPRECATED: str
27
37
 
28
38
  def check_if_deprecated_constant(name: str, module_globals: dict[str, Any]) -> Any: ...
@@ -0,0 +1,8 @@
1
+ from . import device_registry as dr
2
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
3
+
4
+ def async_entity_id_to_device_id(hass: HomeAssistant, entity_id_or_uuid: str) -> str | None: ...
5
+ def async_device_info_to_link_from_entity(hass: HomeAssistant, entity_id_or_uuid: str) -> dr.DeviceInfo | None: ...
6
+ def async_device_info_to_link_from_device_id(hass: HomeAssistant, device_id: str | None) -> dr.DeviceInfo | None: ...
7
+ def async_remove_stale_devices_links_keep_entity_device(hass: HomeAssistant, entry_id: str, source_entity_id_or_uuid: str) -> None: ...
8
+ def async_remove_stale_devices_links_keep_current_device(hass: HomeAssistant, entry_id: str, current_device_id: str | None) -> None: ...
@@ -66,6 +66,7 @@ class DeviceInfo(TypedDict, total=False):
66
66
 
67
67
  DEVICE_INFO_TYPES: Incomplete
68
68
  DEVICE_INFO_KEYS: Incomplete
69
+ LOW_PRIO_CONFIG_ENTRY_DOMAINS: Incomplete
69
70
 
70
71
  class _EventDeviceRegistryUpdatedData_CreateRemove(TypedDict):
71
72
  action: Literal['create', 'remove']
@@ -86,6 +87,14 @@ class DeviceInfoError(HomeAssistantError):
86
87
  domain: Incomplete
87
88
  def __init__(self, domain: str, device_info: DeviceInfo, message: str) -> None: ...
88
89
 
90
+ class DeviceCollisionError(HomeAssistantError): ...
91
+
92
+ class DeviceIdentifierCollisionError(DeviceCollisionError):
93
+ def __init__(self, identifiers: set[tuple[str, str]], existing_device: DeviceEntry) -> None: ...
94
+
95
+ class DeviceConnectionCollisionError(DeviceCollisionError):
96
+ def __init__(self, normalized_connections: set[tuple[str, str]], existing_device: DeviceEntry) -> None: ...
97
+
89
98
  def _validate_device_info(config_entry: ConfigEntry, device_info: DeviceInfo) -> str: ...
90
99
 
91
100
  _cached_parse_url: Incomplete
@@ -107,6 +116,7 @@ class DeviceEntry:
107
116
  model: str | None
108
117
  name_by_user: str | None
109
118
  name: str | None
119
+ primary_config_entry: str | None
110
120
  serial_number: str | None
111
121
  suggested_area: str | None
112
122
  sw_version: str | None
@@ -120,7 +130,7 @@ class DeviceEntry:
120
130
  def json_repr(self) -> bytes | None: ...
121
131
  @cached_property
122
132
  def as_storage_fragment(self) -> json_fragment: ...
123
- def __init__(self, area_id, config_entries, configuration_url, connections, disabled_by, entry_type, hw_version, id, identifiers, labels, manufacturer, model, name_by_user, name, serial_number, suggested_area, sw_version, via_device_id, is_new) -> None: ...
133
+ def __init__(self, area_id, config_entries, configuration_url, connections, disabled_by, entry_type, hw_version, id, identifiers, labels, manufacturer, model, name_by_user, name, primary_config_entry, serial_number, suggested_area, sw_version, via_device_id, is_new) -> None: ...
124
134
  def __lt__(self, other): ...
125
135
  def __le__(self, other): ...
126
136
  def __gt__(self, other): ...
@@ -177,7 +187,9 @@ class DeviceRegistry(BaseRegistry[dict[str, list[dict[str, Any]]]]):
177
187
  def _async_get_deleted_device(self, identifiers: set[tuple[str, str]], connections: set[tuple[str, str]]) -> DeletedDeviceEntry | None: ...
178
188
  def _substitute_name_placeholders(self, domain: str, name: str, translation_placeholders: Mapping[str, str]) -> str: ...
179
189
  def async_get_or_create(self, *, config_entry_id: str, configuration_url: str | URL | None | UndefinedType = ..., connections: set[tuple[str, str]] | None | UndefinedType = ..., default_manufacturer: str | None | UndefinedType = ..., default_model: str | None | UndefinedType = ..., default_name: str | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., identifiers: set[tuple[str, str]] | None | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., model: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., translation_key: str | None = None, translation_placeholders: Mapping[str, str] | None = None, via_device: tuple[str, str] | None | UndefinedType = ...) -> DeviceEntry: ...
180
- def async_update_device(self, device_id: str, *, add_config_entry_id: str | UndefinedType = ..., area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_connections: set[tuple[str, str]] | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
190
+ def async_update_device(self, device_id: str, *, add_config_entry: ConfigEntry | UndefinedType = ..., add_config_entry_id: str | UndefinedType = ..., allow_collisions: bool = False, area_id: str | None | UndefinedType = ..., configuration_url: str | URL | None | UndefinedType = ..., device_info_type: str | UndefinedType = ..., disabled_by: DeviceEntryDisabler | None | UndefinedType = ..., entry_type: DeviceEntryType | None | UndefinedType = ..., hw_version: str | None | UndefinedType = ..., labels: set[str] | UndefinedType = ..., manufacturer: str | None | UndefinedType = ..., merge_connections: set[tuple[str, str]] | UndefinedType = ..., merge_identifiers: set[tuple[str, str]] | UndefinedType = ..., model: str | None | UndefinedType = ..., name_by_user: str | None | UndefinedType = ..., name: str | None | UndefinedType = ..., new_connections: set[tuple[str, str]] | UndefinedType = ..., new_identifiers: set[tuple[str, str]] | UndefinedType = ..., remove_config_entry_id: str | UndefinedType = ..., serial_number: str | None | UndefinedType = ..., suggested_area: str | None | UndefinedType = ..., sw_version: str | None | UndefinedType = ..., via_device_id: str | None | UndefinedType = ...) -> DeviceEntry | None: ...
191
+ def _validate_connections(self, device_id: str, connections: set[tuple[str, str]], allow_collisions: bool) -> set[tuple[str, str]]: ...
192
+ def _validate_identifiers(self, device_id: str, identifiers: set[tuple[str, str]], allow_collisions: bool) -> set[tuple[str, str]]: ...
181
193
  def async_remove_device(self, device_id: str) -> None: ...
182
194
  async def async_load(self) -> None: ...
183
195
  def _data_to_save(self) -> dict[str, Any]: ...
@@ -5,6 +5,7 @@ from . import device_registry as dr, entity_registry as er, singleton as singlet
5
5
  from .device_registry import DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
6
6
  from .entity_platform import EntityPlatform as EntityPlatform
7
7
  from .event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
8
+ from .frame import report_non_thread_safe_operation as report_non_thread_safe_operation
8
9
  from .typing import StateType as StateType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
9
10
  from _typeshed import Incomplete
10
11
  from abc import ABCMeta
@@ -98,6 +99,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
98
99
  _no_platform_reported: bool
99
100
  _name_translation_placeholders_reported: bool
100
101
  _update_staged: bool
102
+ _verified_state_writable: bool
101
103
  parallel_updates: asyncio.Semaphore | None
102
104
  registry_entry: er.RegistryEntry | None
103
105
  _removed_from_registry: bool
@@ -112,7 +114,6 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
112
114
  __combined_unrecorded_attributes: frozenset[str]
113
115
  _job_types: dict[str, HassJobType] | None
114
116
  _state_info: StateInfo
115
- _is_custom_component: bool
116
117
  __capabilities_updated_at: deque[float]
117
118
  __capabilities_updated_at_reported: bool
118
119
  __remove_future: asyncio.Future[None] | None
@@ -144,7 +145,7 @@ class Entity(cached_properties=CACHED_PROPERTIES_WITH_ATTR_, metaclass=ABCCached
144
145
  def should_poll(self) -> bool: ...
145
146
  @cached_property
146
147
  def unique_id(self) -> str | None: ...
147
- @property
148
+ @cached_property
148
149
  def use_device_name(self) -> bool: ...
149
150
  @cached_property
150
151
  def has_entity_name(self) -> bool: ...
@@ -1,8 +1,7 @@
1
1
  import logging
2
- import voluptuous as vol
3
2
  from . import discovery as discovery, entity as entity, service as service
4
3
  from .entity_platform import EntityPlatform as EntityPlatform
5
- from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
4
+ from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, VolDictType as VolDictType, VolSchemaType as VolSchemaType
6
5
  from _typeshed import Incomplete
7
6
  from collections.abc import Callable as Callable, Iterable
8
7
  from datetime import timedelta
@@ -43,8 +42,8 @@ class EntityComponent(Generic[_EntityT]):
43
42
  async def async_setup_entry(self, config_entry: ConfigEntry) -> bool: ...
44
43
  async def async_unload_entry(self, config_entry: ConfigEntry) -> bool: ...
45
44
  async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[_EntityT]: ...
46
- def async_register_legacy_entity_service(self, name: str, schema: dict[str | vol.Marker, Any] | vol.Schema, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
47
- def async_register_entity_service(self, name: str, schema: dict[str | vol.Marker, Any] | vol.Schema, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
45
+ def async_register_legacy_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
46
+ def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType, func: str | Callable[..., Any], required_features: list[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
48
47
  async def async_setup_platform(self, platform_type: str, platform_config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> None: ...
49
48
  async def _async_reset(self) -> None: ...
50
49
  async def async_remove_entity(self, entity_id: str) -> None: ...
@@ -1,11 +1,10 @@
1
1
  import asyncio
2
- import voluptuous as vol
3
2
  from . import service as service, translation as translation
4
3
  from .entity import Entity as Entity
5
4
  from .entity_registry import EntityRegistry as EntityRegistry, RegistryEntryDisabler as RegistryEntryDisabler, RegistryEntryHider as RegistryEntryHider
6
5
  from .event import async_call_later as async_call_later
7
6
  from .issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
8
- from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED
7
+ from .typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, UNDEFINED as UNDEFINED, VolDictType as VolDictType, VolSchemaType as VolSchemaType
9
8
  from _typeshed import Incomplete
10
9
  from collections.abc import Awaitable, Callable as Callable, Coroutine, Iterable
11
10
  from contextvars import ContextVar
@@ -91,7 +90,7 @@ class EntityPlatform:
91
90
  async def async_destroy(self) -> None: ...
92
91
  async def async_remove_entity(self, entity_id: str) -> None: ...
93
92
  async def async_extract_from_service(self, service_call: ServiceCall, expand_group: bool = True) -> list[Entity]: ...
94
- def async_register_entity_service(self, name: str, schema: dict[str | vol.Marker, Any] | vol.Schema, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
93
+ def async_register_entity_service(self, name: str, schema: VolDictType | VolSchemaType | None, func: str | Callable[..., Any], required_features: Iterable[int] | None = None, supports_response: SupportsResponse = ...) -> None: ...
95
94
  async def _async_update_entity_states(self) -> None: ...
96
95
 
97
96
  current_platform: ContextVar[EntityPlatform | None]
@@ -12,8 +12,8 @@ from collections import defaultdict
12
12
  from collections.abc import Callable, Coroutine, Iterable, Mapping, Sequence
13
13
  from dataclasses import dataclass
14
14
  from datetime import datetime, timedelta
15
- from homeassistant.const import EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, MATCH_ALL as MATCH_ALL, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
16
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
15
+ from homeassistant.const import EVENT_CORE_CONFIG_UPDATE as EVENT_CORE_CONFIG_UPDATE, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, EVENT_STATE_REPORTED as EVENT_STATE_REPORTED, MATCH_ALL as MATCH_ALL, SUN_EVENT_SUNRISE as SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
16
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, EventStateEventData as EventStateEventData, EventStateReportedData as EventStateReportedData, HassJob as HassJob, HassJobType as HassJobType, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
17
17
  from homeassistant.exceptions import TemplateError as TemplateError
18
18
  from homeassistant.loader import bind_hass as bind_hass
19
19
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
@@ -22,6 +22,7 @@ from homeassistant.util.hass_dict import HassKey as HassKey
22
22
  from typing import Any, Concatenate, Generic, TypeVar
23
23
 
24
24
  _TRACK_STATE_CHANGE_DATA: HassKey[_KeyedEventData[EventStateChangedData]]
25
+ _TRACK_STATE_REPORT_DATA: HassKey[_KeyedEventData[EventStateReportedData]]
25
26
  _TRACK_STATE_ADDED_DOMAIN_DATA: HassKey[_KeyedEventData[EventStateChangedData]]
26
27
  _TRACK_STATE_REMOVED_DOMAIN_DATA: HassKey[_KeyedEventData[EventStateChangedData]]
27
28
  _TRACK_ENTITY_REGISTRY_UPDATED_DATA: HassKey[_KeyedEventData[EventEntityRegistryUpdatedData]]
@@ -33,6 +34,7 @@ _LOGGER: Incomplete
33
34
  RANDOM_MICROSECOND_MIN: int
34
35
  RANDOM_MICROSECOND_MAX: int
35
36
  _TypedDictT = TypeVar('_TypedDictT', bound=Mapping[str, Any])
37
+ _StateEventDataT = TypeVar('_StateEventDataT', bound=EventStateEventData)
36
38
 
37
39
  @dataclass(slots=True, frozen=True)
38
40
  class _KeyedEventTracker(Generic[_TypedDictT]):
@@ -75,12 +77,16 @@ def async_track_state_change(hass: HomeAssistant, entity_ids: str | Iterable[str
75
77
  track_state_change: Incomplete
76
78
 
77
79
  def async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
78
- def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event: Event[EventStateChangedData]) -> None: ...
79
- def _async_state_change_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[EventStateChangedData]], Any]]], event_data: EventStateChangedData) -> bool: ...
80
+ def _async_dispatch_entity_id_event(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[_StateEventDataT]], Any]]], event: Event[_StateEventDataT]) -> None: ...
81
+ def _async_state_filter(hass: HomeAssistant, callbacks: dict[str, list[HassJob[[Event[_StateEventDataT]], Any]]], event_data: _StateEventDataT) -> bool: ...
80
82
 
81
83
  _KEYED_TRACK_STATE_CHANGE: Incomplete
82
84
 
83
85
  def _async_track_state_change_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateChangedData]], Any], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
86
+
87
+ _KEYED_TRACK_STATE_REPORT: Incomplete
88
+
89
+ def async_track_state_report_event(hass: HomeAssistant, entity_ids: str | Iterable[str], action: Callable[[Event[EventStateReportedData]], Any], job_type: HassJobType | None = None) -> CALLBACK_TYPE: ...
84
90
  def _remove_empty_listener() -> None: ...
85
91
  def _remove_listener(hass: HomeAssistant, tracker: _KeyedEventTracker[_TypedDictT], keys: Iterable[str], job: HassJob[[Event[_TypedDictT]], Any], callbacks: dict[str, list[HassJob[[Event[_TypedDictT]], Any]]]) -> None: ...
86
92
  def _async_track_event(tracker: _KeyedEventTracker[_TypedDictT], hass: HomeAssistant, keys: str | Iterable[str], action: Callable[[Event[_TypedDictT]], None], job_type: HassJobType | None) -> CALLBACK_TYPE: ...
@@ -35,3 +35,4 @@ class MissingIntegrationFrame(HomeAssistantError): ...
35
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: ...
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
+ def report_non_thread_safe_operation(what: str) -> None: ...
@@ -16,7 +16,7 @@ _LOGGER: Incomplete
16
16
  AllowCorsType: Incomplete
17
17
  KEY_AUTHENTICATED: Final[str]
18
18
  KEY_ALLOW_ALL_CORS: Incomplete
19
- KEY_ALLOW_CONFIGRED_CORS: Incomplete
19
+ KEY_ALLOW_CONFIGURED_CORS: Incomplete
20
20
  KEY_HASS: AppKey[HomeAssistant]
21
21
  current_request: ContextVar[Request | None]
22
22
 
@@ -2,6 +2,7 @@ import abc
2
2
  import asyncio
3
3
  import voluptuous as vol
4
4
  from . import area_registry as area_registry, device_registry as device_registry, entity_registry as entity_registry, floor_registry as floor_registry
5
+ from .typing import VolSchemaType as VolSchemaType
5
6
  from _typeshed import Incomplete
6
7
  from abc import abstractmethod
7
8
  from collections.abc import Collection, Iterable
@@ -18,6 +19,7 @@ from typing import Any
18
19
 
19
20
  _LOGGER: Incomplete
20
21
  _SlotsType = dict[str, Any]
22
+ _IntentSlotsType: Incomplete
21
23
  INTENT_TURN_OFF: str
22
24
  INTENT_TURN_ON: str
23
25
  INTENT_TOGGLE: str
@@ -116,8 +118,8 @@ class MatchTargetsCandidate:
116
118
  matched_name: str | None = ...
117
119
  def __init__(self, state, entity, area, floor, device, matched_name) -> None: ...
118
120
 
119
- def _find_areas(name: str, areas: area_registry.AreaRegistry) -> Iterable[area_registry.AreaEntry]: ...
120
- def _find_floors(name: str, floors: floor_registry.FloorRegistry) -> Iterable[floor_registry.FloorEntry]: ...
121
+ def find_areas(name: str, areas: area_registry.AreaRegistry) -> Iterable[area_registry.AreaEntry]: ...
122
+ def find_floors(name: str, floors: floor_registry.FloorRegistry) -> Iterable[floor_registry.FloorEntry]: ...
121
123
  def _normalize_name(name: str) -> str: ...
122
124
  def _filter_by_name(name: str, candidates: Iterable[MatchTargetsCandidate]) -> Iterable[MatchTargetsCandidate]: ...
123
125
  def _filter_by_features(features: int, candidates: Iterable[MatchTargetsCandidate]) -> Iterable[MatchTargetsCandidate]: ...
@@ -153,7 +155,7 @@ class DynamicServiceIntentHandler(IntentHandler, metaclass=abc.ABCMeta):
153
155
  platforms: Incomplete
154
156
  required_slots: Incomplete
155
157
  optional_slots: Incomplete
156
- def __init__(self, intent_type: str, speech: str | None = None, required_slots: dict[str | tuple[str, str], vol.Schema] | None = None, optional_slots: dict[str | tuple[str, str], vol.Schema] | None = None, required_domains: set[str] | None = None, required_features: int | None = None, required_states: set[str] | None = None, description: str | None = None, platforms: set[str] | None = None) -> None: ...
158
+ def __init__(self, intent_type: str, speech: str | None = None, required_slots: _IntentSlotsType | None = None, optional_slots: _IntentSlotsType | None = None, required_domains: set[str] | None = None, required_features: int | None = None, required_states: set[str] | None = None, description: str | None = None, platforms: set[str] | None = None) -> None: ...
157
159
  @cached_property
158
160
  def slot_schema(self) -> dict: ...
159
161
  @abstractmethod
@@ -166,7 +168,7 @@ class DynamicServiceIntentHandler(IntentHandler, metaclass=abc.ABCMeta):
166
168
  class ServiceIntentHandler(DynamicServiceIntentHandler):
167
169
  domain: Incomplete
168
170
  service: Incomplete
169
- def __init__(self, intent_type: str, domain: str, service: str, speech: str | None = None, required_slots: dict[str | tuple[str, str], vol.Schema] | None = None, optional_slots: dict[str | tuple[str, str], vol.Schema] | None = None, required_domains: set[str] | None = None, required_features: int | None = None, required_states: set[str] | None = None, description: str | None = None, platforms: set[str] | None = None) -> None: ...
171
+ def __init__(self, intent_type: str, domain: str, service: str, speech: str | None = None, required_slots: _IntentSlotsType | None = None, optional_slots: _IntentSlotsType | None = None, required_domains: set[str] | None = None, required_features: int | None = None, required_states: set[str] | None = None, description: str | None = None, platforms: set[str] | None = None) -> None: ...
170
172
  def get_domain_and_service(self, intent_obj: Intent, state: State) -> tuple[str, str]: ...
171
173
 
172
174
  class IntentCategory(Enum):