homeassistant-stubs 2024.3.3__py3-none-any.whl → 2024.4.0b0__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 (863) hide show
  1. homeassistant-stubs/auth/__init__.pyi +5 -4
  2. homeassistant-stubs/auth/auth_store.pyi +3 -1
  3. homeassistant-stubs/auth/mfa_modules/__init__.pyi +1 -0
  4. homeassistant-stubs/auth/models.pyi +2 -0
  5. homeassistant-stubs/auth/providers/__init__.pyi +8 -7
  6. homeassistant-stubs/auth/providers/command_line.pyi +2 -3
  7. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -3
  8. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -3
  9. homeassistant-stubs/auth/providers/legacy_api_password.pyi +2 -3
  10. homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -3
  11. homeassistant-stubs/bootstrap.pyi +7 -4
  12. homeassistant-stubs/components/__init__.pyi +1 -0
  13. homeassistant-stubs/components/abode/alarm_control_panel.pyi +4 -5
  14. homeassistant-stubs/components/abode/binary_sensor.pyi +2 -2
  15. homeassistant-stubs/components/abode/camera.pyi +2 -2
  16. homeassistant-stubs/components/abode/config_flow.pyi +9 -10
  17. homeassistant-stubs/components/abode/cover.pyi +2 -2
  18. homeassistant-stubs/components/abode/light.pyi +2 -2
  19. homeassistant-stubs/components/abode/lock.pyi +2 -2
  20. homeassistant-stubs/components/abode/sensor.pyi +8 -12
  21. homeassistant-stubs/components/abode/switch.pyi +2 -2
  22. homeassistant-stubs/components/accuweather/config_flow.pyi +3 -5
  23. homeassistant-stubs/components/accuweather/sensor.pyi +3 -7
  24. homeassistant-stubs/components/accuweather/weather.pyi +0 -2
  25. homeassistant-stubs/components/acmeda/config_flow.pyi +4 -5
  26. homeassistant-stubs/components/adax/config_flow.pyi +5 -6
  27. homeassistant-stubs/components/adguard/config_flow.pyi +6 -7
  28. homeassistant-stubs/components/aftership/config_flow.pyi +3 -6
  29. homeassistant-stubs/components/aftership/sensor.pyi +3 -8
  30. homeassistant-stubs/components/airly/config_flow.pyi +3 -4
  31. homeassistant-stubs/components/airnow/config_flow.pyi +4 -6
  32. homeassistant-stubs/components/airnow/sensor.pyi +3 -7
  33. homeassistant-stubs/components/airq/config_flow.pyi +3 -4
  34. homeassistant-stubs/components/airq/sensor.pyi +3 -7
  35. homeassistant-stubs/components/airthings/config_flow.pyi +3 -4
  36. homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -5
  37. homeassistant-stubs/components/airtouch5/config_flow.pyi +1 -2
  38. homeassistant-stubs/components/airvisual/config_flow.pyi +10 -12
  39. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +6 -8
  40. homeassistant-stubs/components/airzone/config_flow.pyi +6 -6
  41. homeassistant-stubs/components/airzone/select.pyi +3 -7
  42. homeassistant-stubs/components/airzone_cloud/climate.pyi +10 -1
  43. homeassistant-stubs/components/airzone_cloud/config_flow.pyi +4 -5
  44. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +6 -7
  45. homeassistant-stubs/components/aladdin_connect/sensor.pyi +3 -7
  46. homeassistant-stubs/components/alert/__init__.pyi +3 -3
  47. homeassistant-stubs/components/alexa/smart_home.pyi +1 -2
  48. homeassistant-stubs/components/amberelectric/config_flow.pyi +4 -5
  49. homeassistant-stubs/components/ambiclimate/config_flow.pyi +6 -7
  50. homeassistant-stubs/components/ambient_station/config_flow.pyi +4 -5
  51. homeassistant-stubs/components/amcrest/camera.pyi +1 -1
  52. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -4
  53. homeassistant-stubs/components/android_ip_webcam/config_flow.pyi +3 -4
  54. homeassistant-stubs/components/android_ip_webcam/sensor.pyi +3 -7
  55. homeassistant-stubs/components/android_ip_webcam/switch.pyi +3 -7
  56. homeassistant-stubs/components/androidtv/config_flow.pyi +10 -11
  57. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +9 -10
  58. homeassistant-stubs/components/anova/config_flow.pyi +2 -3
  59. homeassistant-stubs/components/anthemav/config_flow.pyi +2 -3
  60. homeassistant-stubs/components/apache_kafka/__init__.pyi +3 -3
  61. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +3 -1
  62. homeassistant-stubs/components/apcupsd/config_flow.pyi +4 -5
  63. homeassistant-stubs/components/apcupsd/const.pyi +1 -0
  64. homeassistant-stubs/components/apcupsd/coordinator.pyi +11 -10
  65. homeassistant-stubs/components/apcupsd/diagnostics.pyi +11 -0
  66. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -1
  67. homeassistant-stubs/components/api/__init__.pyi +1 -1
  68. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -0
  69. homeassistant-stubs/components/apple_tv/config_flow.pyi +18 -18
  70. homeassistant-stubs/components/aranet/config_flow.pyi +6 -6
  71. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +7 -8
  72. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +3 -2
  73. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +3 -7
  74. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +10 -5
  75. homeassistant-stubs/components/asuswrt/config_flow.pyi +5 -6
  76. homeassistant-stubs/components/auth/__init__.pyi +1 -0
  77. homeassistant-stubs/components/auth/login_flow.pyi +4 -3
  78. homeassistant-stubs/components/automation/__init__.pyi +19 -2
  79. homeassistant-stubs/components/awair/config_flow.pyi +9 -10
  80. homeassistant-stubs/components/awair/sensor.pyi +3 -7
  81. homeassistant-stubs/components/axis/__init__.pyi +1 -1
  82. homeassistant-stubs/components/axis/binary_sensor.pyi +26 -14
  83. homeassistant-stubs/components/axis/camera.pyi +2 -2
  84. homeassistant-stubs/components/axis/config_flow.pyi +20 -18
  85. homeassistant-stubs/components/axis/const.pyi +0 -1
  86. homeassistant-stubs/components/axis/diagnostics.pyi +1 -1
  87. homeassistant-stubs/components/axis/entity.pyi +16 -8
  88. homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
  89. homeassistant-stubs/components/axis/hub/api.pyi +10 -0
  90. homeassistant-stubs/components/axis/hub/config.pyi +21 -0
  91. homeassistant-stubs/components/axis/hub/entity_loader.pyi +15 -0
  92. homeassistant-stubs/components/axis/hub/hub.pyi +41 -0
  93. homeassistant-stubs/components/axis/light.pyi +17 -8
  94. homeassistant-stubs/components/axis/switch.pyi +13 -5
  95. homeassistant-stubs/components/backup/http.pyi +1 -1
  96. homeassistant-stubs/components/baf/binary_sensor.pyi +3 -7
  97. homeassistant-stubs/components/baf/config_flow.pyi +5 -6
  98. homeassistant-stubs/components/baf/number.pyi +3 -7
  99. homeassistant-stubs/components/baf/sensor.pyi +3 -7
  100. homeassistant-stubs/components/baf/switch.pyi +3 -7
  101. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +5 -6
  102. homeassistant-stubs/components/bang_olufsen/const.pyi +22 -22
  103. homeassistant-stubs/components/bang_olufsen/entity.pyi +1 -4
  104. homeassistant-stubs/components/bang_olufsen/media_player.pyi +4 -5
  105. homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -1
  106. homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -2
  107. homeassistant-stubs/components/blue_current/__init__.pyi +10 -12
  108. homeassistant-stubs/components/blue_current/config_flow.pyi +5 -6
  109. homeassistant-stubs/components/bluetooth/config_flow.pyi +5 -6
  110. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +3 -2
  111. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +3 -7
  112. homeassistant-stubs/components/bmw_connected_drive/button.pyi +3 -7
  113. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +14 -14
  114. homeassistant-stubs/components/bmw_connected_drive/number.pyi +3 -7
  115. homeassistant-stubs/components/bmw_connected_drive/select.pyi +3 -7
  116. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +3 -7
  117. homeassistant-stubs/components/bond/button.pyi +4 -8
  118. homeassistant-stubs/components/bond/config_flow.pyi +7 -8
  119. homeassistant-stubs/components/bond/light.pyi +1 -1
  120. homeassistant-stubs/components/braviatv/button.pyi +3 -7
  121. homeassistant-stubs/components/braviatv/config_flow.pyi +11 -13
  122. homeassistant-stubs/components/brother/config_flow.pyi +7 -7
  123. homeassistant-stubs/components/brother/sensor.pyi +3 -7
  124. homeassistant-stubs/components/bthome/__init__.pyi +3 -2
  125. homeassistant-stubs/components/bthome/config_flow.pyi +7 -8
  126. homeassistant-stubs/components/bthome/logbook.pyi +2 -3
  127. homeassistant-stubs/components/canary/config_flow.pyi +4 -5
  128. homeassistant-stubs/components/cert_expiry/config_flow.pyi +4 -5
  129. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -2
  130. homeassistant-stubs/components/climate/__init__.pyi +10 -7
  131. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  132. homeassistant-stubs/components/cloud/config_flow.pyi +2 -3
  133. homeassistant-stubs/components/cloud/http_api.pyi +3 -1
  134. homeassistant-stubs/components/cloud/prefs.pyi +1 -0
  135. homeassistant-stubs/components/cloud/repairs.pyi +1 -1
  136. homeassistant-stubs/components/cloud/tts.pyi +3 -3
  137. homeassistant-stubs/components/co2signal/config_flow.pyi +7 -9
  138. homeassistant-stubs/components/command_line/cover.pyi +3 -3
  139. homeassistant-stubs/components/command_line/sensor.pyi +2 -2
  140. homeassistant-stubs/components/command_line/switch.pyi +4 -4
  141. homeassistant-stubs/components/command_line/utils.pyi +3 -2
  142. homeassistant-stubs/components/config/__init__.pyi +3 -47
  143. homeassistant-stubs/components/config/automation.pyi +2 -1
  144. homeassistant-stubs/components/config/category_registry.pyi +12 -0
  145. homeassistant-stubs/components/config/config_entries.pyi +8 -6
  146. homeassistant-stubs/components/config/const.pyi +3 -0
  147. homeassistant-stubs/components/config/core.pyi +1 -1
  148. homeassistant-stubs/components/config/label_registry.pyi +3 -0
  149. homeassistant-stubs/components/config/scene.pyi +2 -1
  150. homeassistant-stubs/components/config/script.pyi +2 -1
  151. homeassistant-stubs/components/config/view.pyi +48 -0
  152. homeassistant-stubs/components/configurator/__init__.pyi +1 -1
  153. homeassistant-stubs/components/cpuspeed/config_flow.pyi +2 -3
  154. homeassistant-stubs/components/crownstone/config_flow.pyi +10 -11
  155. homeassistant-stubs/components/deconz/__init__.pyi +6 -7
  156. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
  157. homeassistant-stubs/components/deconz/binary_sensor.pyi +2 -4
  158. homeassistant-stubs/components/deconz/button.pyi +2 -2
  159. homeassistant-stubs/components/deconz/climate.pyi +2 -2
  160. homeassistant-stubs/components/deconz/config_flow.pyi +14 -16
  161. homeassistant-stubs/components/deconz/cover.pyi +2 -2
  162. homeassistant-stubs/components/deconz/deconz_device.pyi +5 -5
  163. homeassistant-stubs/components/deconz/deconz_event.pyi +4 -4
  164. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -1
  165. homeassistant-stubs/components/deconz/diagnostics.pyi +1 -1
  166. homeassistant-stubs/components/deconz/fan.pyi +2 -2
  167. homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
  168. homeassistant-stubs/components/deconz/hub/api.pyi +9 -0
  169. homeassistant-stubs/components/deconz/hub/config.pyi +18 -0
  170. homeassistant-stubs/components/deconz/{gateway.pyi → hub/hub.pyi} +10 -19
  171. homeassistant-stubs/components/deconz/light.pyi +3 -3
  172. homeassistant-stubs/components/deconz/lock.pyi +1 -1
  173. homeassistant-stubs/components/deconz/number.pyi +2 -4
  174. homeassistant-stubs/components/deconz/scene.pyi +1 -1
  175. homeassistant-stubs/components/deconz/select.pyi +1 -1
  176. homeassistant-stubs/components/deconz/sensor.pyi +4 -6
  177. homeassistant-stubs/components/deconz/services.pyi +5 -5
  178. homeassistant-stubs/components/deconz/siren.pyi +1 -1
  179. homeassistant-stubs/components/deconz/switch.pyi +1 -1
  180. homeassistant-stubs/components/demo/climate.pyi +3 -8
  181. homeassistant-stubs/components/demo/config_flow.pyi +10 -11
  182. homeassistant-stubs/components/demo/humidifier.pyi +1 -1
  183. homeassistant-stubs/components/derivative/sensor.pyi +2 -2
  184. homeassistant-stubs/components/device_tracker/const.pyi +2 -1
  185. homeassistant-stubs/components/device_tracker/legacy.pyi +6 -2
  186. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +9 -11
  187. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +3 -7
  188. homeassistant-stubs/components/devolo_home_network/button.pyi +3 -7
  189. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +9 -9
  190. homeassistant-stubs/components/devolo_home_network/image.pyi +3 -7
  191. homeassistant-stubs/components/devolo_home_network/sensor.pyi +3 -7
  192. homeassistant-stubs/components/devolo_home_network/switch.pyi +3 -7
  193. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -7
  194. homeassistant-stubs/components/dhcp/__init__.pyi +4 -8
  195. homeassistant-stubs/components/discovergy/config_flow.pyi +5 -7
  196. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +13 -14
  197. homeassistant-stubs/components/dlna_dmr/media_player.pyi +4 -2
  198. homeassistant-stubs/components/dlna_dms/config_flow.pyi +7 -7
  199. homeassistant-stubs/components/dnsip/config_flow.pyi +6 -9
  200. homeassistant-stubs/components/doorbird/button.pyi +3 -7
  201. homeassistant-stubs/components/doorbird/config_flow.pyi +12 -12
  202. homeassistant-stubs/components/doorbird/view.pyi +1 -2
  203. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +3 -7
  204. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +9 -10
  205. homeassistant-stubs/components/downloader/__init__.pyi +7 -12
  206. homeassistant-stubs/components/downloader/config_flow.pyi +12 -0
  207. homeassistant-stubs/components/downloader/const.pyi +13 -0
  208. homeassistant-stubs/components/dsmr/config_flow.pyi +14 -15
  209. homeassistant-stubs/components/dunehd/config_flow.pyi +6 -6
  210. homeassistant-stubs/components/duotecno/config_flow.pyi +3 -4
  211. homeassistant-stubs/components/easyenergy/config_flow.pyi +2 -3
  212. homeassistant-stubs/components/easyenergy/sensor.pyi +3 -7
  213. homeassistant-stubs/components/ecovacs/config_flow.pyi +5 -5
  214. homeassistant-stubs/components/ecovacs/event.pyi +19 -0
  215. homeassistant-stubs/components/ecowitt/config_flow.pyi +3 -4
  216. homeassistant-stubs/components/efergy/config_flow.pyi +4 -5
  217. homeassistant-stubs/components/electrasmart/config_flow.pyi +8 -9
  218. homeassistant-stubs/components/electric_kiwi/config_flow.pyi +4 -5
  219. homeassistant-stubs/components/electric_kiwi/sensor.pyi +6 -14
  220. homeassistant-stubs/components/elgato/config_flow.pyi +6 -7
  221. homeassistant-stubs/components/elkm1/config_flow.pyi +13 -13
  222. homeassistant-stubs/components/elkm1/sensor.pyi +2 -2
  223. homeassistant-stubs/components/emulated_hue/__init__.pyi +2 -1
  224. homeassistant-stubs/components/emulated_hue/config.pyi +3 -3
  225. homeassistant-stubs/components/emulated_hue/hue_api.pyi +2 -3
  226. homeassistant-stubs/components/energy/sensor.pyi +5 -1
  227. homeassistant-stubs/components/energyzero/config_flow.pyi +2 -3
  228. homeassistant-stubs/components/energyzero/sensor.pyi +3 -7
  229. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +6 -14
  230. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +5 -6
  231. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -0
  232. homeassistant-stubs/components/enphase_envoy/number.pyi +6 -14
  233. homeassistant-stubs/components/enphase_envoy/select.pyi +6 -14
  234. homeassistant-stubs/components/enphase_envoy/sensor.pyi +39 -53
  235. homeassistant-stubs/components/enphase_envoy/switch.pyi +9 -21
  236. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -1
  237. homeassistant-stubs/components/esphome/button.pyi +1 -1
  238. homeassistant-stubs/components/esphome/climate.pyi +1 -1
  239. homeassistant-stubs/components/esphome/config_flow.pyi +15 -16
  240. homeassistant-stubs/components/esphome/cover.pyi +1 -1
  241. homeassistant-stubs/components/esphome/date.pyi +14 -0
  242. homeassistant-stubs/components/esphome/entity.pyi +5 -3
  243. homeassistant-stubs/components/esphome/entry_data.pyi +15 -14
  244. homeassistant-stubs/components/esphome/fan.pyi +1 -1
  245. homeassistant-stubs/components/esphome/light.pyi +1 -1
  246. homeassistant-stubs/components/esphome/lock.pyi +1 -1
  247. homeassistant-stubs/components/esphome/manager.pyi +3 -3
  248. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  249. homeassistant-stubs/components/esphome/number.pyi +1 -1
  250. homeassistant-stubs/components/esphome/select.pyi +1 -1
  251. homeassistant-stubs/components/esphome/switch.pyi +1 -1
  252. homeassistant-stubs/components/esphome/text.pyi +1 -1
  253. homeassistant-stubs/components/esphome/time.pyi +14 -0
  254. homeassistant-stubs/components/esphome/update.pyi +1 -1
  255. homeassistant-stubs/components/evil_genius_labs/config_flow.pyi +3 -4
  256. homeassistant-stubs/components/faa_delays/config_flow.pyi +3 -4
  257. homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
  258. homeassistant-stubs/components/fastdotcom/config_flow.pyi +3 -4
  259. homeassistant-stubs/components/fastdotcom/coordinator.pyi +1 -1
  260. homeassistant-stubs/components/fastdotcom/diagnostics.pyi +7 -0
  261. homeassistant-stubs/components/fastdotcom/sensor.pyi +3 -3
  262. homeassistant-stubs/components/fastdotcom/services.pyi +1 -1
  263. homeassistant-stubs/components/file_upload/__init__.pyi +1 -1
  264. homeassistant-stubs/components/filesize/__init__.pyi +0 -2
  265. homeassistant-stubs/components/filesize/config_flow.pyi +2 -3
  266. homeassistant-stubs/components/filesize/coordinator.pyi +6 -1
  267. homeassistant-stubs/components/filter/sensor.pyi +3 -3
  268. homeassistant-stubs/components/fitbit/config_flow.pyi +6 -7
  269. homeassistant-stubs/components/flexit_bacnet/config_flow.pyi +3 -4
  270. homeassistant-stubs/components/flux_led/config_flow.pyi +14 -14
  271. homeassistant-stubs/components/flux_led/discovery.pyi +1 -0
  272. homeassistant-stubs/components/flux_led/number.pyi +0 -5
  273. homeassistant-stubs/components/flux_led/select.pyi +0 -3
  274. homeassistant-stubs/components/flux_led/sensor.pyi +0 -1
  275. homeassistant-stubs/components/flux_led/switch.pyi +0 -4
  276. homeassistant-stubs/components/forecast_solar/config_flow.pyi +3 -4
  277. homeassistant-stubs/components/fritz/button.pyi +3 -7
  278. homeassistant-stubs/components/fritz/config_flow.pyi +11 -12
  279. homeassistant-stubs/components/fritzbox/config_flow.pyi +7 -8
  280. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +9 -10
  281. homeassistant-stubs/components/fronius/config_flow.pyi +5 -6
  282. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  283. homeassistant-stubs/components/fully_kiosk/button.pyi +3 -7
  284. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +7 -8
  285. homeassistant-stubs/components/fully_kiosk/switch.pyi +3 -7
  286. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +5 -5
  287. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  288. homeassistant-stubs/components/geo_location/trigger.pyi +2 -2
  289. homeassistant-stubs/components/geocaching/config_flow.pyi +4 -4
  290. homeassistant-stubs/components/geocaching/sensor.pyi +3 -7
  291. homeassistant-stubs/components/gios/config_flow.pyi +3 -4
  292. homeassistant-stubs/components/glances/config_flow.pyi +6 -7
  293. homeassistant-stubs/components/glances/sensor.pyi +3 -7
  294. homeassistant-stubs/components/goalzero/config_flow.pyi +5 -6
  295. homeassistant-stubs/components/google/config_flow.pyi +11 -12
  296. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +8 -10
  297. homeassistant-stubs/components/google_sheets/config_flow.pyi +4 -5
  298. homeassistant-stubs/components/gpsd/config_flow.pyi +4 -5
  299. homeassistant-stubs/components/group/__init__.pyi +7 -102
  300. homeassistant-stubs/components/group/binary_sensor.pyi +1 -1
  301. homeassistant-stubs/components/group/config_flow.pyi +2 -2
  302. homeassistant-stubs/components/group/const.pyi +12 -0
  303. homeassistant-stubs/components/group/cover.pyi +1 -1
  304. homeassistant-stubs/components/group/entity.pyi +81 -0
  305. homeassistant-stubs/components/group/event.pyi +3 -3
  306. homeassistant-stubs/components/group/fan.pyi +1 -1
  307. homeassistant-stubs/components/group/light.pyi +1 -1
  308. homeassistant-stubs/components/group/lock.pyi +1 -1
  309. homeassistant-stubs/components/group/media_player.pyi +3 -3
  310. homeassistant-stubs/components/group/registry.pyi +23 -0
  311. homeassistant-stubs/components/group/sensor.pyi +1 -1
  312. homeassistant-stubs/components/group/switch.pyi +1 -1
  313. homeassistant-stubs/components/guardian/config_flow.pyi +7 -8
  314. homeassistant-stubs/components/hardkernel/config_flow.pyi +2 -3
  315. homeassistant-stubs/components/here_travel_time/__init__.pyi +1 -0
  316. homeassistant-stubs/components/here_travel_time/config_flow.pyi +17 -18
  317. homeassistant-stubs/components/here_travel_time/sensor.pyi +0 -1
  318. homeassistant-stubs/components/history/__init__.pyi +1 -1
  319. homeassistant-stubs/components/history/websocket_api.pyi +2 -2
  320. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -3
  321. homeassistant-stubs/components/history_stats/data.pyi +2 -3
  322. homeassistant-stubs/components/holiday/config_flow.pyi +7 -5
  323. homeassistant-stubs/components/homeassistant/trigger.pyi +2 -1
  324. homeassistant-stubs/components/homeassistant/triggers/event.pyi +5 -1
  325. homeassistant-stubs/components/homeassistant/triggers/homeassistant.pyi +1 -0
  326. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -2
  327. homeassistant-stubs/components/homeassistant/triggers/state.pyi +2 -2
  328. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -2
  329. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -5
  330. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +29 -29
  331. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -1
  332. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +6 -5
  333. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +18 -0
  334. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  335. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -0
  336. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +9 -10
  337. homeassistant-stubs/components/homekit/__init__.pyi +9 -6
  338. homeassistant-stubs/components/homekit/accessories.pyi +5 -6
  339. homeassistant-stubs/components/homekit/config_flow.pyi +16 -18
  340. homeassistant-stubs/components/homekit/const.pyi +3 -0
  341. homeassistant-stubs/components/homekit/type_cameras.pyi +3 -4
  342. homeassistant-stubs/components/homekit/type_covers.pyi +2 -3
  343. homeassistant-stubs/components/homekit/type_humidifiers.pyi +2 -3
  344. homeassistant-stubs/components/homekit/util.pyi +2 -3
  345. homeassistant-stubs/components/homekit_controller/__init__.pyi +1 -0
  346. homeassistant-stubs/components/homekit_controller/config_flow.pyi +13 -13
  347. homeassistant-stubs/components/homekit_controller/select.pyi +3 -7
  348. homeassistant-stubs/components/homewizard/config_flow.pyi +7 -7
  349. homeassistant-stubs/components/homewizard/coordinator.pyi +0 -1
  350. homeassistant-stubs/components/homeworks/__init__.pyi +63 -0
  351. homeassistant-stubs/components/homeworks/binary_sensor.pyi +25 -0
  352. homeassistant-stubs/components/homeworks/button.pyi +18 -0
  353. homeassistant-stubs/components/homeworks/config_flow.pyi +61 -0
  354. homeassistant-stubs/components/homeworks/const.pyi +14 -0
  355. homeassistant-stubs/components/homeworks/light.pyi +34 -0
  356. homeassistant-stubs/components/http/__init__.pyi +4 -3
  357. homeassistant-stubs/components/http/ban.pyi +4 -3
  358. homeassistant-stubs/components/http/const.pyi +1 -2
  359. homeassistant-stubs/components/http/cors.pyi +1 -0
  360. homeassistant-stubs/components/http/static.pyi +0 -1
  361. homeassistant-stubs/components/huawei_lte/config_flow.pyi +12 -13
  362. homeassistant-stubs/components/huawei_lte/select.pyi +3 -7
  363. homeassistant-stubs/components/humidifier/__init__.pyi +8 -8
  364. homeassistant-stubs/components/hydrawise/config_flow.pyi +8 -8
  365. homeassistant-stubs/components/hyperion/config_flow.pyi +12 -13
  366. homeassistant-stubs/components/hyperion/const.pyi +2 -0
  367. homeassistant-stubs/components/hyperion/sensor.pyi +39 -0
  368. homeassistant-stubs/components/ibeacon/config_flow.pyi +7 -8
  369. homeassistant-stubs/components/ibeacon/device_tracker.pyi +1 -2
  370. homeassistant-stubs/components/ibeacon/sensor.pyi +3 -7
  371. homeassistant-stubs/components/idasen_desk/button.pyi +4 -8
  372. homeassistant-stubs/components/idasen_desk/config_flow.pyi +4 -5
  373. homeassistant-stubs/components/idasen_desk/cover.pyi +3 -3
  374. homeassistant-stubs/components/idasen_desk/sensor.pyi +3 -7
  375. homeassistant-stubs/components/image/__init__.pyi +2 -2
  376. homeassistant-stubs/components/image_processing/__init__.pyi +1 -1
  377. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  378. homeassistant-stubs/components/imap/config_flow.pyi +10 -10
  379. homeassistant-stubs/components/integration/sensor.pyi +36 -5
  380. homeassistant-stubs/components/ios/__init__.pyi +1 -1
  381. homeassistant-stubs/components/ipp/config_flow.pyi +5 -6
  382. homeassistant-stubs/components/ipp/sensor.pyi +3 -7
  383. homeassistant-stubs/components/iqvia/config_flow.pyi +3 -4
  384. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +7 -8
  385. homeassistant-stubs/components/isy994/config_flow.pyi +18 -17
  386. homeassistant-stubs/components/jellyfin/config_flow.pyi +5 -6
  387. homeassistant-stubs/components/jellyfin/sensor.pyi +3 -7
  388. homeassistant-stubs/components/jvc_projector/config_flow.pyi +4 -5
  389. homeassistant-stubs/components/jvc_projector/sensor.pyi +20 -0
  390. homeassistant-stubs/components/kaleidescape/config_flow.pyi +4 -5
  391. homeassistant-stubs/components/kaleidescape/sensor.pyi +3 -7
  392. homeassistant-stubs/components/knx/config_flow.pyi +18 -19
  393. homeassistant-stubs/components/knx/expose.pyi +3 -3
  394. homeassistant-stubs/components/kraken/config_flow.pyi +7 -8
  395. homeassistant-stubs/components/kraken/sensor.pyi +3 -7
  396. homeassistant-stubs/components/lacrosse_view/config_flow.pyi +5 -6
  397. homeassistant-stubs/components/lacrosse_view/sensor.pyi +3 -7
  398. homeassistant-stubs/components/lamarzocco/config_flow.pyi +16 -8
  399. homeassistant-stubs/components/lamarzocco/const.pyi +1 -0
  400. homeassistant-stubs/components/lamarzocco/coordinator.pyi +7 -2
  401. homeassistant-stubs/components/lametric/config_flow.pyi +11 -11
  402. homeassistant-stubs/components/laundrify/binary_sensor.pyi +1 -1
  403. homeassistant-stubs/components/laundrify/config_flow.pyi +5 -6
  404. homeassistant-stubs/components/lcn/config_flow.pyi +4 -5
  405. homeassistant-stubs/components/ld2410_ble/config_flow.pyi +4 -5
  406. homeassistant-stubs/components/led_ble/config_flow.pyi +4 -5
  407. homeassistant-stubs/components/lidarr/config_flow.pyi +4 -5
  408. homeassistant-stubs/components/lifx/config_flow.pyi +10 -11
  409. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +5 -6
  410. homeassistant-stubs/components/litejet/config_flow.pyi +7 -8
  411. homeassistant-stubs/components/litterrobot/config_flow.pyi +5 -6
  412. homeassistant-stubs/components/litterrobot/switch.pyi +2 -5
  413. homeassistant-stubs/components/local_ip/config_flow.pyi +2 -3
  414. homeassistant-stubs/components/local_ip/sensor.pyi +1 -1
  415. homeassistant-stubs/components/local_todo/config_flow.pyi +3 -4
  416. homeassistant-stubs/components/logbook/helpers.pyi +1 -2
  417. homeassistant-stubs/components/logbook/rest_api.pyi +1 -1
  418. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -0
  419. homeassistant-stubs/components/lookin/config_flow.pyi +5 -6
  420. homeassistant-stubs/components/luftdaten/config_flow.pyi +4 -5
  421. homeassistant-stubs/components/map/__init__.pyi +6 -1
  422. homeassistant-stubs/components/matter/config_flow.pyi +14 -14
  423. homeassistant-stubs/components/met_eireann/config_flow.pyi +3 -4
  424. homeassistant-stubs/components/met_eireann/weather.pyi +1 -5
  425. homeassistant-stubs/components/metoffice/config_flow.pyi +7 -6
  426. homeassistant-stubs/components/metoffice/weather.pyi +2 -5
  427. homeassistant-stubs/components/mikrotik/config_flow.pyi +11 -12
  428. homeassistant-stubs/components/min_max/sensor.pyi +3 -3
  429. homeassistant-stubs/components/minecraft_server/binary_sensor.pyi +2 -9
  430. homeassistant-stubs/components/minecraft_server/config_flow.pyi +3 -4
  431. homeassistant-stubs/components/minecraft_server/sensor.pyi +3 -16
  432. homeassistant-stubs/components/mjpeg/config_flow.pyi +3 -4
  433. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  434. homeassistant-stubs/components/modbus/base_platform.pyi +1 -3
  435. homeassistant-stubs/components/modbus/const.pyi +0 -2
  436. homeassistant-stubs/components/modbus/modbus.pyi +3 -5
  437. homeassistant-stubs/components/modbus/validators.pyi +7 -2
  438. homeassistant-stubs/components/modem_callerid/button.pyi +0 -1
  439. homeassistant-stubs/components/modem_callerid/config_flow.pyi +5 -6
  440. homeassistant-stubs/components/modem_callerid/const.pyi +0 -1
  441. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  442. homeassistant-stubs/components/moon/config_flow.pyi +2 -3
  443. homeassistant-stubs/components/moon/sensor.pyi +0 -2
  444. homeassistant-stubs/components/mopeka/config_flow.pyi +4 -5
  445. homeassistant-stubs/components/motionmount/config_flow.pyi +6 -7
  446. homeassistant-stubs/components/mqtt/__init__.pyi +2 -2
  447. homeassistant-stubs/components/mqtt/climate.pyi +1 -1
  448. homeassistant-stubs/components/mqtt/config_flow.pyi +8 -9
  449. homeassistant-stubs/components/mqtt/const.pyi +0 -1
  450. homeassistant-stubs/components/mqtt/discovery.pyi +6 -4
  451. homeassistant-stubs/components/mqtt/event.pyi +2 -2
  452. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
  453. homeassistant-stubs/components/mqtt/image.pyi +2 -2
  454. homeassistant-stubs/components/mqtt/light/schema_json.pyi +5 -2
  455. homeassistant-stubs/components/mqtt/mixins.pyi +7 -7
  456. homeassistant-stubs/components/mqtt/models.pyi +9 -3
  457. homeassistant-stubs/components/mqtt/sensor.pyi +4 -1
  458. homeassistant-stubs/components/mqtt/tag.pyi +3 -2
  459. homeassistant-stubs/components/mqtt/util.pyi +5 -1
  460. homeassistant-stubs/components/mysensors/config_flow.pyi +8 -10
  461. homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
  462. homeassistant-stubs/components/myuplink/config_flow.pyi +4 -5
  463. homeassistant-stubs/components/myuplink/helpers.pyi +1 -0
  464. homeassistant-stubs/components/myuplink/number.pyi +1 -1
  465. homeassistant-stubs/components/myuplink/sensor.pyi +1 -1
  466. homeassistant-stubs/components/myuplink/switch.pyi +1 -1
  467. homeassistant-stubs/components/nam/config_flow.pyi +8 -9
  468. homeassistant-stubs/components/nam/sensor.pyi +3 -7
  469. homeassistant-stubs/components/nanoleaf/config_flow.pyi +12 -13
  470. homeassistant-stubs/components/nanoleaf/light.pyi +1 -1
  471. homeassistant-stubs/components/neato/config_flow.pyi +5 -6
  472. homeassistant-stubs/components/neato/vacuum.pyi +0 -1
  473. homeassistant-stubs/components/nest/config_flow.pyi +10 -11
  474. homeassistant-stubs/components/netatmo/config_flow.pyi +12 -13
  475. homeassistant-stubs/components/netatmo/sensor.pyi +3 -7
  476. homeassistant-stubs/components/network/network.pyi +1 -0
  477. homeassistant-stubs/components/nextdns/config_flow.pyi +4 -5
  478. homeassistant-stubs/components/nfandroidtv/config_flow.pyi +3 -4
  479. homeassistant-stubs/components/nightscout/config_flow.pyi +5 -5
  480. homeassistant-stubs/components/notify/legacy.pyi +1 -1
  481. homeassistant-stubs/components/notion/__init__.pyi +4 -29
  482. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -0
  483. homeassistant-stubs/components/notion/config_flow.pyi +5 -7
  484. homeassistant-stubs/components/notion/coordinator.pyi +44 -0
  485. homeassistant-stubs/components/notion/diagnostics.pyi +1 -2
  486. homeassistant-stubs/components/notion/sensor.pyi +1 -0
  487. homeassistant-stubs/components/nut/__init__.pyi +10 -9
  488. homeassistant-stubs/components/nut/config_flow.pyi +12 -12
  489. homeassistant-stubs/components/onboarding/__init__.pyi +16 -2
  490. homeassistant-stubs/components/onboarding/views.pyi +8 -6
  491. homeassistant-stubs/components/oncue/config_flow.pyi +3 -4
  492. homeassistant-stubs/components/onewire/config_flow.pyi +5 -6
  493. homeassistant-stubs/components/open_meteo/config_flow.pyi +2 -3
  494. homeassistant-stubs/components/open_meteo/weather.pyi +0 -2
  495. homeassistant-stubs/components/openexchangerates/config_flow.pyi +5 -5
  496. homeassistant-stubs/components/opensky/config_flow.pyi +3 -4
  497. homeassistant-stubs/components/opensky/sensor.pyi +1 -1
  498. homeassistant-stubs/components/openuv/config_flow.pyi +6 -8
  499. homeassistant-stubs/components/oralb/config_flow.pyi +4 -5
  500. homeassistant-stubs/components/otbr/config_flow.pyi +3 -4
  501. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +3 -7
  502. homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -7
  503. homeassistant-stubs/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.pyi +1 -0
  504. homeassistant-stubs/components/overkiz/config_flow.pyi +10 -12
  505. homeassistant-stubs/components/overkiz/executor.pyi +1 -1
  506. homeassistant-stubs/components/overkiz/number.pyi +3 -7
  507. homeassistant-stubs/components/overkiz/select.pyi +3 -7
  508. homeassistant-stubs/components/overkiz/switch.pyi +3 -7
  509. homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -3
  510. homeassistant-stubs/components/peco/config_flow.pyi +4 -5
  511. homeassistant-stubs/components/peco/sensor.pyi +3 -7
  512. homeassistant-stubs/components/persistent_notification/__init__.pyi +2 -1
  513. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +3 -7
  514. homeassistant-stubs/components/pi_hole/config_flow.pyi +6 -7
  515. homeassistant-stubs/components/ping/binary_sensor.pyi +2 -3
  516. homeassistant-stubs/components/ping/config_flow.pyi +8 -9
  517. homeassistant-stubs/components/ping/coordinator.pyi +1 -1
  518. homeassistant-stubs/components/ping/entity.pyi +12 -0
  519. homeassistant-stubs/components/ping/sensor.pyi +29 -0
  520. homeassistant-stubs/components/plugwise/config_flow.pyi +3 -4
  521. homeassistant-stubs/components/poolsense/config_flow.pyi +3 -4
  522. homeassistant-stubs/components/powerwall/config_flow.pyi +12 -11
  523. homeassistant-stubs/components/private_ble_device/config_flow.pyi +2 -3
  524. homeassistant-stubs/components/private_ble_device/device_tracker.pyi +1 -2
  525. homeassistant-stubs/components/private_ble_device/sensor.pyi +3 -7
  526. homeassistant-stubs/components/prometheus/__init__.pyi +4 -4
  527. homeassistant-stubs/components/proximity/config_flow.pyi +4 -5
  528. homeassistant-stubs/components/proximity/coordinator.pyi +3 -3
  529. homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
  530. homeassistant-stubs/components/prusalink/config_flow.pyi +6 -5
  531. homeassistant-stubs/components/pure_energie/config_flow.pyi +4 -5
  532. homeassistant-stubs/components/pure_energie/sensor.pyi +3 -7
  533. homeassistant-stubs/components/purpleair/config_flow.pyi +14 -17
  534. homeassistant-stubs/components/pushbullet/config_flow.pyi +3 -4
  535. homeassistant-stubs/components/pvoutput/config_flow.pyi +4 -5
  536. homeassistant-stubs/components/qnap_qsw/button.pyi +3 -7
  537. homeassistant-stubs/components/qnap_qsw/config_flow.pyi +6 -6
  538. homeassistant-stubs/components/rabbitair/config_flow.pyi +2 -3
  539. homeassistant-stubs/components/radarr/config_flow.pyi +4 -5
  540. homeassistant-stubs/components/rainforest_raven/config_flow.pyi +5 -6
  541. homeassistant-stubs/components/rainmachine/config_flow.pyi +8 -10
  542. homeassistant-stubs/components/raspberry_pi/config_flow.pyi +2 -3
  543. homeassistant-stubs/components/rdw/config_flow.pyi +2 -3
  544. homeassistant-stubs/components/recollect_waste/calendar.pyi +1 -1
  545. homeassistant-stubs/components/recollect_waste/config_flow.pyi +7 -8
  546. homeassistant-stubs/components/recorder/core.pyi +4 -3
  547. homeassistant-stubs/components/recorder/db_schema.pyi +7 -0
  548. homeassistant-stubs/components/recorder/history/modern.pyi +4 -4
  549. homeassistant-stubs/components/recorder/migration.pyi +47 -5
  550. homeassistant-stubs/components/recorder/models/legacy.pyi +10 -0
  551. homeassistant-stubs/components/recorder/models/state.pyi +4 -0
  552. homeassistant-stubs/components/recorder/queries.pyi +2 -1
  553. homeassistant-stubs/components/recorder/table_managers/states.pyi +3 -0
  554. homeassistant-stubs/components/renault/binary_sensor.pyi +3 -11
  555. homeassistant-stubs/components/renault/button.pyi +3 -7
  556. homeassistant-stubs/components/renault/config_flow.pyi +8 -9
  557. homeassistant-stubs/components/renault/select.pyi +3 -13
  558. homeassistant-stubs/components/renault/sensor.pyi +3 -12
  559. homeassistant-stubs/components/rest/__init__.pyi +1 -0
  560. homeassistant-stubs/components/rfxtrx/config_flow.pyi +12 -12
  561. homeassistant-stubs/components/rfxtrx/event.pyi +22 -0
  562. homeassistant-stubs/components/rhasspy/config_flow.pyi +3 -4
  563. homeassistant-stubs/components/ridwell/calendar.pyi +1 -1
  564. homeassistant-stubs/components/ridwell/config_flow.pyi +6 -7
  565. homeassistant-stubs/components/rituals_perfume_genie/config_flow.pyi +3 -4
  566. homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +3 -7
  567. homeassistant-stubs/components/roku/binary_sensor.pyi +3 -7
  568. homeassistant-stubs/components/roku/config_flow.pyi +6 -7
  569. homeassistant-stubs/components/roku/select.pyi +6 -10
  570. homeassistant-stubs/components/roku/sensor.pyi +3 -7
  571. homeassistant-stubs/components/romy/config_flow.pyi +5 -6
  572. homeassistant-stubs/components/romy/entity.pyi +11 -0
  573. homeassistant-stubs/components/romy/vacuum.pyi +4 -11
  574. homeassistant-stubs/components/rpi_power/config_flow.pyi +2 -2
  575. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +9 -10
  576. homeassistant-stubs/components/ruuvi_gateway/config_flow.pyi +5 -6
  577. homeassistant-stubs/components/ruuvitag_ble/config_flow.pyi +4 -5
  578. homeassistant-stubs/components/samsungtv/config_flow.pyi +17 -17
  579. homeassistant-stubs/components/samsungtv/media_player.pyi +1 -0
  580. homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
  581. homeassistant-stubs/components/search/__init__.pyi +41 -20
  582. homeassistant-stubs/components/sensibo/binary_sensor.pyi +6 -14
  583. homeassistant-stubs/components/sensibo/button.pyi +3 -7
  584. homeassistant-stubs/components/sensibo/config_flow.pyi +6 -7
  585. homeassistant-stubs/components/sensibo/number.pyi +3 -7
  586. homeassistant-stubs/components/sensibo/select.pyi +3 -7
  587. homeassistant-stubs/components/sensibo/sensor.pyi +6 -14
  588. homeassistant-stubs/components/sensibo/switch.pyi +3 -7
  589. homeassistant-stubs/components/sensibo/update.pyi +3 -7
  590. homeassistant-stubs/components/sensirion_ble/config_flow.pyi +4 -5
  591. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +3 -7
  592. homeassistant-stubs/components/sfr_box/button.pyi +3 -7
  593. homeassistant-stubs/components/sfr_box/config_flow.pyi +6 -7
  594. homeassistant-stubs/components/sfr_box/sensor.pyi +3 -7
  595. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  596. homeassistant-stubs/components/shelly/binary_sensor.pyi +4 -4
  597. homeassistant-stubs/components/shelly/button.pyi +3 -7
  598. homeassistant-stubs/components/shelly/config_flow.pyi +15 -14
  599. homeassistant-stubs/components/shelly/const.pyi +2 -2
  600. homeassistant-stubs/components/shelly/coordinator.pyi +3 -1
  601. homeassistant-stubs/components/shelly/entity.pyi +4 -8
  602. homeassistant-stubs/components/shelly/event.pyi +2 -2
  603. homeassistant-stubs/components/shelly/light.pyi +29 -13
  604. homeassistant-stubs/components/shelly/number.pyi +1 -1
  605. homeassistant-stubs/components/shelly/sensor.pyi +4 -4
  606. homeassistant-stubs/components/shelly/switch.pyi +1 -1
  607. homeassistant-stubs/components/shelly/update.pyi +6 -14
  608. homeassistant-stubs/components/shelly/utils.pyi +8 -4
  609. homeassistant-stubs/components/shopping_list/config_flow.pyi +3 -4
  610. homeassistant-stubs/components/shopping_list/todo.pyi +0 -1
  611. homeassistant-stubs/components/simplepush/config_flow.pyi +3 -4
  612. homeassistant-stubs/components/simplisafe/config_flow.pyi +6 -8
  613. homeassistant-stubs/components/skybell/config_flow.pyi +5 -6
  614. homeassistant-stubs/components/skybell/sensor.pyi +3 -7
  615. homeassistant-stubs/components/slack/config_flow.pyi +3 -4
  616. homeassistant-stubs/components/sleepiq/button.pyi +3 -7
  617. homeassistant-stubs/components/sleepiq/config_flow.pyi +5 -6
  618. homeassistant-stubs/components/sleepiq/number.pyi +3 -7
  619. homeassistant-stubs/components/smhi/config_flow.pyi +6 -4
  620. homeassistant-stubs/components/smhi/weather.pyi +0 -2
  621. homeassistant-stubs/components/snooz/config_flow.pyi +8 -9
  622. homeassistant-stubs/components/sonarr/config_flow.pyi +6 -7
  623. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +4 -2
  624. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +7 -8
  625. homeassistant-stubs/components/speedtestdotnet/const.pyi +0 -1
  626. homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -2
  627. homeassistant-stubs/components/sql/config_flow.pyi +6 -7
  628. homeassistant-stubs/components/ssdp/__init__.pyi +9 -7
  629. homeassistant-stubs/components/starlink/binary_sensor.pyi +3 -7
  630. homeassistant-stubs/components/starlink/button.pyi +3 -7
  631. homeassistant-stubs/components/starlink/config_flow.pyi +2 -3
  632. homeassistant-stubs/components/starlink/coordinator.pyi +6 -1
  633. homeassistant-stubs/components/starlink/device_tracker.pyi +3 -7
  634. homeassistant-stubs/components/starlink/sensor.pyi +3 -7
  635. homeassistant-stubs/components/starlink/switch.pyi +3 -7
  636. homeassistant-stubs/components/starlink/time.pyi +33 -0
  637. homeassistant-stubs/components/statistics/sensor.pyi +2 -2
  638. homeassistant-stubs/components/steamist/config_flow.pyi +9 -10
  639. homeassistant-stubs/components/steamist/sensor.pyi +3 -7
  640. homeassistant-stubs/components/stookalert/config_flow.pyi +2 -3
  641. homeassistant-stubs/components/stream/__init__.pyi +1 -0
  642. homeassistant-stubs/components/stream/core.pyi +1 -1
  643. homeassistant-stubs/components/streamlabswater/config_flow.pyi +3 -4
  644. homeassistant-stubs/components/stt/legacy.pyi +1 -1
  645. homeassistant-stubs/components/suez_water/config_flow.pyi +3 -4
  646. homeassistant-stubs/components/sun/__init__.pyi +4 -64
  647. homeassistant-stubs/components/sun/config_flow.pyi +3 -4
  648. homeassistant-stubs/components/sun/const.pyi +11 -0
  649. homeassistant-stubs/components/sun/entity.pyi +64 -0
  650. homeassistant-stubs/components/sun/sensor.pyi +1 -1
  651. homeassistant-stubs/components/surepetcare/config_flow.pyi +5 -6
  652. homeassistant-stubs/components/switch/light.pyi +2 -2
  653. homeassistant-stubs/components/switchbee/config_flow.pyi +3 -4
  654. homeassistant-stubs/components/switchbot_cloud/config_flow.pyi +3 -4
  655. homeassistant-stubs/components/switcher_kis/button.pyi +3 -7
  656. homeassistant-stubs/components/switcher_kis/config_flow.pyi +5 -6
  657. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
  658. homeassistant-stubs/components/switcher_kis/switch.pyi +2 -0
  659. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -2
  660. homeassistant-stubs/components/synology_dsm/button.pyi +3 -7
  661. homeassistant-stubs/components/synology_dsm/camera.pyi +2 -2
  662. homeassistant-stubs/components/synology_dsm/config_flow.pyi +14 -15
  663. homeassistant-stubs/components/synology_dsm/entity.pyi +3 -7
  664. homeassistant-stubs/components/synology_dsm/sensor.pyi +2 -2
  665. homeassistant-stubs/components/synology_dsm/switch.pyi +2 -2
  666. homeassistant-stubs/components/synology_dsm/update.pyi +2 -2
  667. homeassistant-stubs/components/system_log/__init__.pyi +4 -2
  668. homeassistant-stubs/components/systemmonitor/__init__.pyi +3 -1
  669. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +14 -12
  670. homeassistant-stubs/components/systemmonitor/config_flow.pyi +2 -2
  671. homeassistant-stubs/components/systemmonitor/const.pyi +1 -1
  672. homeassistant-stubs/components/systemmonitor/coordinator.pyi +29 -46
  673. homeassistant-stubs/components/systemmonitor/diagnostics.pyi +2 -2
  674. homeassistant-stubs/components/systemmonitor/sensor.pyi +23 -20
  675. homeassistant-stubs/components/systemmonitor/util.pyi +1 -1
  676. homeassistant-stubs/components/tailscale/config_flow.pyi +4 -5
  677. homeassistant-stubs/components/tailwind/config_flow.pyi +9 -9
  678. homeassistant-stubs/components/tami4/config_flow.pyi +4 -5
  679. homeassistant-stubs/components/tautulli/config_flow.pyi +4 -5
  680. homeassistant-stubs/components/tautulli/sensor.pyi +6 -14
  681. homeassistant-stubs/components/technove/config_flow.pyi +4 -5
  682. homeassistant-stubs/components/tedee/config_flow.pyi +7 -5
  683. homeassistant-stubs/components/threshold/binary_sensor.pyi +2 -2
  684. homeassistant-stubs/components/tibber/config_flow.pyi +3 -4
  685. homeassistant-stubs/components/tile/config_flow.pyi +7 -8
  686. homeassistant-stubs/components/tile/device_tracker.pyi +1 -2
  687. homeassistant-stubs/components/tilt_ble/config_flow.pyi +4 -5
  688. homeassistant-stubs/components/tolo/__init__.pyi +3 -3
  689. homeassistant-stubs/components/tolo/binary_sensor.pyi +0 -2
  690. homeassistant-stubs/components/tolo/button.pyi +0 -1
  691. homeassistant-stubs/components/tolo/climate.pyi +6 -5
  692. homeassistant-stubs/components/tolo/config_flow.pyi +5 -6
  693. homeassistant-stubs/components/tolo/const.pyi +11 -7
  694. homeassistant-stubs/components/tolo/number.pyi +6 -11
  695. homeassistant-stubs/components/tolo/select.pyi +19 -7
  696. homeassistant-stubs/components/tolo/sensor.pyi +6 -10
  697. homeassistant-stubs/components/tolo/switch.pyi +30 -0
  698. homeassistant-stubs/components/tplink/config_flow.pyi +14 -16
  699. homeassistant-stubs/components/tplink/switch.pyi +0 -1
  700. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +17 -20
  701. homeassistant-stubs/components/tplink_omada/config_flow.pyi +6 -7
  702. homeassistant-stubs/components/tplink_omada/entity.pyi +3 -3
  703. homeassistant-stubs/components/tplink_omada/switch.pyi +54 -17
  704. homeassistant-stubs/components/tplink_omada/update.pyi +1 -1
  705. homeassistant-stubs/components/tractive/config_flow.pyi +5 -6
  706. homeassistant-stubs/components/tractive/sensor.pyi +3 -7
  707. homeassistant-stubs/components/tractive/switch.pyi +3 -7
  708. homeassistant-stubs/components/tradfri/config_flow.pyi +6 -7
  709. homeassistant-stubs/components/tradfri/sensor.pyi +3 -7
  710. homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +3 -7
  711. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +7 -8
  712. homeassistant-stubs/components/trafikverket_camera/sensor.pyi +3 -7
  713. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +6 -7
  714. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +3 -8
  715. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +9 -10
  716. homeassistant-stubs/components/trafikverket_train/sensor.pyi +3 -7
  717. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +6 -7
  718. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +3 -7
  719. homeassistant-stubs/components/transmission/__init__.pyi +3 -2
  720. homeassistant-stubs/components/transmission/config_flow.pyi +13 -13
  721. homeassistant-stubs/components/transmission/const.pyi +2 -0
  722. homeassistant-stubs/components/transmission/switch.pyi +3 -7
  723. homeassistant-stubs/components/trend/binary_sensor.pyi +2 -2
  724. homeassistant-stubs/components/tts/__init__.pyi +1 -0
  725. homeassistant-stubs/components/tts/legacy.pyi +1 -1
  726. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
  727. homeassistant-stubs/components/twentemilieu/config_flow.pyi +3 -4
  728. homeassistant-stubs/components/unifi/button.pyi +4 -8
  729. homeassistant-stubs/components/unifi/config_flow.pyi +16 -17
  730. homeassistant-stubs/components/unifi/device_tracker.pyi +4 -8
  731. homeassistant-stubs/components/unifi/entity.pyi +12 -15
  732. homeassistant-stubs/components/unifi/hub/config.pyi +31 -0
  733. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +26 -0
  734. homeassistant-stubs/components/unifi/hub/hub.pyi +8 -28
  735. homeassistant-stubs/components/unifi/image.pyi +3 -8
  736. homeassistant-stubs/components/unifi/sensor.pyi +4 -10
  737. homeassistant-stubs/components/unifi/switch.pyi +6 -11
  738. homeassistant-stubs/components/unifi/update.pyi +4 -8
  739. homeassistant-stubs/components/unifiprotect/camera.pyi +5 -2
  740. homeassistant-stubs/components/unifiprotect/config_flow.pyi +16 -17
  741. homeassistant-stubs/components/unifiprotect/migrate.pyi +18 -4
  742. homeassistant-stubs/components/unifiprotect/repairs.pyi +17 -6
  743. homeassistant-stubs/components/unifiprotect/select.pyi +1 -0
  744. homeassistant-stubs/components/unifiprotect/services.pyi +8 -2
  745. homeassistant-stubs/components/unifiprotect/utils.pyi +2 -1
  746. homeassistant-stubs/components/upcloud/config_flow.pyi +8 -9
  747. homeassistant-stubs/components/uptime/config_flow.pyi +2 -3
  748. homeassistant-stubs/components/uptimerobot/config_flow.pyi +5 -6
  749. homeassistant-stubs/components/uptimerobot/sensor.pyi +0 -7
  750. homeassistant-stubs/components/uptimerobot/switch.pyi +1 -1
  751. homeassistant-stubs/components/usb/__init__.pyi +2 -1
  752. homeassistant-stubs/components/vacuum/__init__.pyi +1 -4
  753. homeassistant-stubs/components/vacuum/const.pyi +7 -0
  754. homeassistant-stubs/components/vacuum/group.pyi +1 -1
  755. homeassistant-stubs/components/vallox/binary_sensor.pyi +3 -7
  756. homeassistant-stubs/components/vallox/config_flow.pyi +3 -4
  757. homeassistant-stubs/components/vallox/date.pyi +22 -0
  758. homeassistant-stubs/components/vallox/number.pyi +3 -7
  759. homeassistant-stubs/components/vallox/switch.pyi +3 -7
  760. homeassistant-stubs/components/velbus/config_flow.pyi +6 -7
  761. homeassistant-stubs/components/vlc_telnet/config_flow.pyi +11 -11
  762. homeassistant-stubs/components/wallbox/config_flow.pyi +6 -6
  763. homeassistant-stubs/components/wallbox/number.pyi +3 -7
  764. homeassistant-stubs/components/waqi/__init__.pyi +0 -1
  765. homeassistant-stubs/components/waqi/config_flow.pyi +7 -11
  766. homeassistant-stubs/components/waqi/sensor.pyi +7 -22
  767. homeassistant-stubs/components/water_heater/const.pyi +6 -0
  768. homeassistant-stubs/components/water_heater/group.pyi +1 -1
  769. homeassistant-stubs/components/watttime/config_flow.pyi +10 -12
  770. homeassistant-stubs/components/weather/__init__.pyi +0 -13
  771. homeassistant-stubs/components/webhook/__init__.pyi +1 -2
  772. homeassistant-stubs/components/webostv/config_flow.pyi +8 -8
  773. homeassistant-stubs/components/websocket_api/commands.pyi +2 -3
  774. homeassistant-stubs/components/websocket_api/http.pyi +1 -1
  775. homeassistant-stubs/components/websocket_api/messages.pyi +4 -3
  776. homeassistant-stubs/components/wemo/__init__.pyi +3 -1
  777. homeassistant-stubs/components/wemo/config_flow.pyi +2 -3
  778. homeassistant-stubs/components/wemo/wemo_device.pyi +2 -1
  779. homeassistant-stubs/components/whois/config_flow.pyi +2 -3
  780. homeassistant-stubs/components/withings/__init__.pyi +13 -0
  781. homeassistant-stubs/components/withings/config_flow.pyi +4 -5
  782. homeassistant-stubs/components/wiz/config_flow.pyi +8 -8
  783. homeassistant-stubs/components/wled/config_flow.pyi +6 -10
  784. homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +9 -10
  785. homeassistant-stubs/components/xiaomi_ble/const.pyi +9 -2
  786. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  787. homeassistant-stubs/components/xiaomi_ble/event.pyi +1 -1
  788. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -6
  789. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +14 -14
  790. homeassistant-stubs/components/yalexs_ble/sensor.pyi +3 -7
  791. homeassistant-stubs/components/youtube/config_flow.pyi +6 -7
  792. homeassistant-stubs/components/youtube/sensor.pyi +3 -7
  793. homeassistant-stubs/components/zeroconf/__init__.pyi +1 -1
  794. homeassistant-stubs/components/zodiac/config_flow.pyi +2 -3
  795. homeassistant-stubs/components/zodiac/sensor.pyi +0 -2
  796. homeassistant-stubs/components/zone/__init__.pyi +2 -2
  797. homeassistant-stubs/components/zone/config_flow.pyi +2 -2
  798. homeassistant-stubs/components/zone/trigger.pyi +2 -2
  799. homeassistant-stubs/components/zwave_js/api.pyi +1 -2
  800. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +3 -7
  801. homeassistant-stubs/components/zwave_js/config_flow.pyi +39 -38
  802. homeassistant-stubs/components/zwave_js/humidifier.pyi +3 -7
  803. homeassistant-stubs/config.pyi +18 -3
  804. homeassistant-stubs/config_entries.pyi +52 -33
  805. homeassistant-stubs/const.pyi +11 -6
  806. homeassistant-stubs/core.pyi +62 -38
  807. homeassistant-stubs/data_entry_flow.pyi +38 -37
  808. homeassistant-stubs/exceptions.pyi +12 -5
  809. homeassistant-stubs/helpers/area_registry.pyi +7 -19
  810. homeassistant-stubs/helpers/category_registry.pyi +43 -0
  811. homeassistant-stubs/helpers/check_config.pyi +1 -1
  812. homeassistant-stubs/helpers/config_entry_flow.pyi +11 -12
  813. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +6 -7
  814. homeassistant-stubs/helpers/config_validation.pyi +8 -1
  815. homeassistant-stubs/helpers/data_entry_flow.pyi +9 -5
  816. homeassistant-stubs/helpers/debounce.pyi +2 -1
  817. homeassistant-stubs/helpers/device_registry.pyi +9 -5
  818. homeassistant-stubs/helpers/discovery.pyi +2 -1
  819. homeassistant-stubs/helpers/discovery_flow.pyi +2 -2
  820. homeassistant-stubs/helpers/dispatcher.pyi +2 -10
  821. homeassistant-stubs/helpers/entity.pyi +9 -7
  822. homeassistant-stubs/helpers/entity_component.pyi +2 -1
  823. homeassistant-stubs/helpers/entity_platform.pyi +2 -2
  824. homeassistant-stubs/helpers/entity_registry.pyi +14 -9
  825. homeassistant-stubs/helpers/event.pyi +30 -30
  826. homeassistant-stubs/helpers/floor_registry.pyi +12 -24
  827. homeassistant-stubs/helpers/frame.pyi +11 -3
  828. homeassistant-stubs/helpers/http.pyi +6 -3
  829. homeassistant-stubs/helpers/importlib.pyi +11 -0
  830. homeassistant-stubs/helpers/integration_platform.pyi +8 -6
  831. homeassistant-stubs/helpers/issue_registry.pyi +2 -3
  832. homeassistant-stubs/helpers/label_registry.pyi +11 -23
  833. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +22 -0
  834. homeassistant-stubs/helpers/ratelimit.pyi +2 -3
  835. homeassistant-stubs/helpers/registry.pyi +15 -0
  836. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +15 -15
  837. homeassistant-stubs/helpers/script.pyi +22 -8
  838. homeassistant-stubs/helpers/selector.pyi +9 -0
  839. homeassistant-stubs/helpers/service.pyi +9 -4
  840. homeassistant-stubs/helpers/storage.pyi +28 -4
  841. homeassistant-stubs/helpers/system_info.pyi +1 -0
  842. homeassistant-stubs/helpers/template.pyi +18 -3
  843. homeassistant-stubs/helpers/translation.pyi +2 -1
  844. homeassistant-stubs/helpers/trigger.pyi +1 -0
  845. homeassistant-stubs/helpers/typing.pyi +2 -5
  846. homeassistant-stubs/helpers/update_coordinator.pyi +5 -5
  847. homeassistant-stubs/loader.pyi +24 -5
  848. homeassistant-stubs/setup.pyi +21 -4
  849. homeassistant-stubs/util/async_.pyi +2 -2
  850. homeassistant-stubs/util/percentage.pyi +1 -1
  851. homeassistant-stubs/util/signal_type.pyi +20 -0
  852. homeassistant-stubs/util/unit_conversion.pyi +10 -0
  853. {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0b0.dist-info}/METADATA +4 -5
  854. {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0b0.dist-info}/RECORD +856 -817
  855. homeassistant-stubs/components/axis/device.pyi +0 -64
  856. homeassistant-stubs/components/binary_sensor/group.pyi +0 -5
  857. homeassistant-stubs/components/fan/group.pyi +0 -5
  858. homeassistant-stubs/components/humidifier/group.pyi +0 -5
  859. homeassistant-stubs/components/light/group.pyi +0 -5
  860. homeassistant-stubs/components/remote/group.pyi +0 -5
  861. homeassistant-stubs/components/switch/group.pyi +0 -5
  862. {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0b0.dist-info}/LICENSE +0 -0
  863. {homeassistant_stubs-2024.3.3.dist-info → homeassistant_stubs-2024.4.0b0.dist-info}/WHEEL +0 -0
@@ -18,7 +18,6 @@ from homeassistant.core import Event as core_Event, HomeAssistant as HomeAssista
18
18
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
19
19
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
20
20
  from homeassistant.helpers.typing import StateType as StateType
21
- from typing import Generic
22
21
 
23
22
  def async_bandwidth_sensor_allowed_fn(hub: UnifiHub, obj_id: str) -> bool: ...
24
23
  def async_uptime_sensor_allowed_fn(hub: UnifiHub, obj_id: str) -> bool: ...
@@ -31,19 +30,14 @@ def async_device_uptime_value_changed_fn(old: StateType | date | datetime | Deci
31
30
  def async_device_outlet_power_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
32
31
  def async_device_outlet_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
33
32
  def async_client_is_connected_fn(hub: UnifiHub, obj_id: str) -> bool: ...
34
-
35
- @dataclass(frozen=True)
36
- class UnifiSensorEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
37
- value_fn: Callable[[UnifiHub, ApiItemT], datetime | float | str | None]
38
- def __init__(self, value_fn) -> None: ...
39
-
40
33
  def async_device_state_value_fn(hub: UnifiHub, device: Device) -> str: ...
41
34
 
42
- @dataclass(frozen=True)
43
- class UnifiSensorEntityDescription(SensorEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiSensorEntityDescriptionMixin[HandlerT, ApiItemT]):
35
+ @dataclass(frozen=True, kw_only=True)
36
+ class UnifiSensorEntityDescription(SensorEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT]):
37
+ value_fn: Callable[[UnifiHub, ApiItemT], datetime | float | str | None]
44
38
  is_connected_fn: Callable[[UnifiHub, str], bool] | None = ...
45
39
  value_changed_fn: Callable[[StateType | date | datetime | Decimal, datetime | float | str | None], bool] = ...
46
- def __init__(self, value_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, *, 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, is_connected_fn, value_changed_fn) -> None: ...
40
+ 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, api_handler_fn, device_info_fn, object_fn, unique_id_fn, allowed_fn, available_fn, name_fn, supported_fn, event_is_on, event_to_subscribe, should_poll, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn, is_connected_fn, value_changed_fn) -> None: ...
47
41
 
48
42
  ENTITY_DESCRIPTIONS: tuple[UnifiSensorEntityDescription, ...]
49
43
 
@@ -15,7 +15,7 @@ from homeassistant.const import EntityCategory as EntityCategory
15
15
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
16
16
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
17
17
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
18
- from typing import Any, Generic
18
+ from typing import Any
19
19
 
20
20
  CLIENT_BLOCKED: Incomplete
21
21
  CLIENT_UNBLOCKED: Incomplete
@@ -26,23 +26,19 @@ def async_dpi_group_device_info_fn(hub: UnifiHub, obj_id: str) -> DeviceInfo: ..
26
26
  def async_port_forward_device_info_fn(hub: UnifiHub, obj_id: str) -> DeviceInfo: ...
27
27
  async def async_block_client_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
28
28
  async def async_dpi_group_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
29
- def async_outlet_supports_switching_fn(hub: UnifiHub, obj_id: str) -> bool: ...
29
+ def async_outlet_switching_supported_fn(hub: UnifiHub, obj_id: str) -> bool: ...
30
30
  async def async_outlet_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
31
31
  async def async_poe_port_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
32
32
  async def async_port_forward_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
33
33
  async def async_wlan_control_fn(hub: UnifiHub, obj_id: str, target: bool) -> None: ...
34
34
 
35
- @dataclass(frozen=True)
36
- class UnifiSwitchEntityDescriptionMixin(Generic[HandlerT, ApiItemT]):
35
+ @dataclass(frozen=True, kw_only=True)
36
+ class UnifiSwitchEntityDescription(SwitchEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT]):
37
37
  control_fn: Callable[[UnifiHub, str, bool], Coroutine[Any, Any, None]]
38
38
  is_on_fn: Callable[[UnifiHub, ApiItemT], bool]
39
- def __init__(self, control_fn, is_on_fn) -> None: ...
40
-
41
- @dataclass(frozen=True)
42
- class UnifiSwitchEntityDescription(SwitchEntityDescription, UnifiEntityDescription[HandlerT, ApiItemT], UnifiSwitchEntityDescriptionMixin[HandlerT, ApiItemT]):
43
39
  custom_subscribe: Callable[[aiounifi.Controller], SubscriptionT] | None = ...
44
40
  only_event_for_state_change: bool = ...
45
- def __init__(self, control_fn, is_on_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, *, 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, custom_subscribe, only_event_for_state_change) -> None: ...
41
+ 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, api_handler_fn, device_info_fn, object_fn, unique_id_fn, allowed_fn, available_fn, name_fn, supported_fn, event_is_on, event_to_subscribe, should_poll, control_fn, is_on_fn, custom_subscribe, only_event_for_state_change) -> None: ...
46
42
 
47
43
  ENTITY_DESCRIPTIONS: tuple[UnifiSwitchEntityDescription, ...]
48
44
 
@@ -51,12 +47,11 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
51
47
 
52
48
  class UnifiSwitchEntity(UnifiEntity[HandlerT, ApiItemT], SwitchEntity):
53
49
  entity_description: UnifiSwitchEntityDescription[HandlerT, ApiItemT]
54
- only_event_for_state_change: bool
55
50
  def async_initiate_state(self) -> None: ...
56
51
  async def async_turn_on(self, **kwargs: Any) -> None: ...
57
52
  async def async_turn_off(self, **kwargs: Any) -> None: ...
58
53
  _attr_is_on: Incomplete
59
- def async_update_state(self, event: ItemEvent, obj_id: str) -> None: ...
54
+ def async_update_state(self, event: ItemEvent, obj_id: str, first_update: bool = False) -> None: ...
60
55
  _attr_available: Incomplete
61
56
  def async_event_callback(self, event: Event) -> None: ...
62
57
  async def async_added_to_hass(self) -> None: ...
@@ -11,7 +11,7 @@ from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceCla
11
11
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
12
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
- from typing import Any, Generic, TypeVar
14
+ from typing import Any, TypeVar
15
15
 
16
16
  LOGGER: Incomplete
17
17
  _DataT = TypeVar('_DataT', bound=Device)
@@ -19,15 +19,11 @@ _HandlerT = TypeVar('_HandlerT', bound=Devices)
19
19
 
20
20
  async def async_device_control_fn(api: aiounifi.Controller, obj_id: str) -> None: ...
21
21
 
22
- @dataclass(frozen=True)
23
- class UnifiUpdateEntityDescriptionMixin(Generic[_HandlerT, _DataT]):
22
+ @dataclass(frozen=True, kw_only=True)
23
+ class UnifiUpdateEntityDescription(UpdateEntityDescription, UnifiEntityDescription[_HandlerT, _DataT]):
24
24
  control_fn: Callable[[aiounifi.Controller, str], Coroutine[Any, Any, None]]
25
25
  state_fn: Callable[[aiounifi.Controller, _DataT], bool]
26
- def __init__(self, control_fn, state_fn) -> None: ...
27
-
28
- @dataclass(frozen=True)
29
- class UnifiUpdateEntityDescription(UpdateEntityDescription, UnifiEntityDescription[_HandlerT, _DataT], UnifiUpdateEntityDescriptionMixin[_HandlerT, _DataT]):
30
- def __init__(self, control_fn, state_fn, allowed_fn, api_handler_fn, available_fn, device_info_fn, event_is_on, event_to_subscribe, name_fn, object_fn, should_poll, supported_fn, unique_id_fn, *, 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) -> None: ...
26
+ 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, api_handler_fn, device_info_fn, object_fn, unique_id_fn, allowed_fn, available_fn, name_fn, supported_fn, event_is_on, event_to_subscribe, should_poll, control_fn, state_fn) -> None: ...
31
27
 
32
28
  ENTITY_DESCRIPTIONS: tuple[UnifiUpdateEntityDescription, ...]
33
29
 
@@ -1,6 +1,7 @@
1
1
  from .const import ATTR_BITRATE as ATTR_BITRATE, ATTR_CHANNEL_ID as ATTR_CHANNEL_ID, ATTR_FPS as ATTR_FPS, ATTR_HEIGHT as ATTR_HEIGHT, ATTR_WIDTH as ATTR_WIDTH, DISPATCH_ADOPT as DISPATCH_ADOPT, DISPATCH_CHANNELS as DISPATCH_CHANNELS, DOMAIN as DOMAIN
2
2
  from .data import ProtectData as ProtectData
3
3
  from .entity import ProtectDeviceEntity as ProtectDeviceEntity
4
+ from .utils import get_camera_base_name as get_camera_base_name
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Generator
6
7
  from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature
@@ -8,13 +9,15 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
10
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity
11
13
  from pyunifiprotect.data import Camera as UFPCamera, CameraChannel as CameraChannel, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel, ProtectModelWithId as ProtectModelWithId
12
14
  from typing import Any
13
15
 
14
16
  _LOGGER: Incomplete
15
17
 
16
- def get_camera_channels(data: ProtectData, ufp_device: UFPCamera | None = None) -> Generator[tuple[UFPCamera, CameraChannel, bool], None, None]: ...
17
- def _async_camera_entities(data: ProtectData, ufp_device: UFPCamera | None = None) -> list[ProtectDeviceEntity]: ...
18
+ def _create_rtsp_repair(hass: HomeAssistant, entry: ConfigEntry, data: ProtectData, camera: UFPCamera) -> None: ...
19
+ def _get_camera_channels(hass: HomeAssistant, entry: ConfigEntry, data: ProtectData, ufp_device: UFPCamera | None = None) -> Generator[tuple[UFPCamera, CameraChannel, bool], None, None]: ...
20
+ def _async_camera_entities(hass: HomeAssistant, entry: ConfigEntry, data: ProtectData, ufp_device: UFPCamera | None = None) -> list[ProtectDeviceEntity]: ...
18
21
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
22
 
20
23
  class ProtectCamera(ProtectDeviceEntity, Camera):
@@ -4,11 +4,10 @@ from .discovery import async_start_discovery as async_start_discovery
4
4
  from .utils import _async_resolve as _async_resolve, _async_short_mac as _async_short_mac, _async_unifi_mac_from_hass as _async_unifi_mac_from_hass
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Mapping
7
- from homeassistant import config_entries as config_entries
8
7
  from homeassistant.components import dhcp as dhcp, ssdp as ssdp
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_IGNORE as SOURCE_IGNORE
9
9
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_ID as CONF_ID, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
- from homeassistant.data_entry_flow import FlowResult as FlowResult
12
11
  from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession, async_get_clientsession as async_get_clientsession
13
12
  from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
14
13
  from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
@@ -22,27 +21,27 @@ ENTRY_FAILURE_STATES: Incomplete
22
21
 
23
22
  async def async_local_user_documentation_url(hass: HomeAssistant) -> str: ...
24
23
  def _host_is_direct_connect(host: str) -> bool: ...
25
- async def _async_console_is_offline(hass: HomeAssistant, entry: config_entries.ConfigEntry) -> bool: ...
24
+ async def _async_console_is_offline(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
26
25
 
27
- class ProtectFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
26
+ class ProtectFlowHandler(ConfigFlow, domain=DOMAIN):
28
27
  VERSION: int
29
28
  entry: Incomplete
30
29
  _discovered_device: Incomplete
31
30
  def __init__(self) -> None: ...
32
- async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> FlowResult: ...
33
- async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> FlowResult: ...
34
- async def _async_discovery_handoff(self) -> FlowResult: ...
35
- async def async_step_integration_discovery(self, discovery_info: DiscoveryInfoType) -> FlowResult: ...
36
- async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
31
+ async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
32
+ async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> ConfigFlowResult: ...
33
+ async def _async_discovery_handoff(self) -> ConfigFlowResult: ...
34
+ async def async_step_integration_discovery(self, discovery_info: DiscoveryInfoType) -> ConfigFlowResult: ...
35
+ async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
37
36
  @staticmethod
38
- def async_get_options_flow(config_entry: config_entries.ConfigEntry) -> config_entries.OptionsFlow: ...
39
- def _async_create_entry(self, title: str, data: dict[str, Any]) -> FlowResult: ...
37
+ def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
38
+ def _async_create_entry(self, title: str, data: dict[str, Any]) -> ConfigFlowResult: ...
40
39
  async def _async_get_nvr_data(self, user_input: dict[str, Any]) -> tuple[NVR | None, dict[str, str]]: ...
41
- async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult: ...
42
- async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
43
- async def async_step_user(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
40
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
41
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
42
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
44
43
 
45
- class OptionsFlowHandler(config_entries.OptionsFlow):
44
+ class OptionsFlowHandler(OptionsFlow):
46
45
  config_entry: Incomplete
47
- def __init__(self, config_entry: config_entries.ConfigEntry) -> None: ...
48
- async def async_step_init(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
46
+ def __init__(self, config_entry: ConfigEntry) -> None: ...
47
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,12 +1,26 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from _typeshed import Incomplete
3
+ from homeassistant.components.automation import automations_with_entity as automations_with_entity
4
+ from homeassistant.components.script import scripts_with_entity as scripts_with_entity
2
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
6
  from homeassistant.const import Platform as Platform
4
- from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity
5
9
  from pyunifiprotect import ProtectApiClient as ProtectApiClient
6
- from pyunifiprotect.data import Bootstrap as Bootstrap, NVR as NVR, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
10
+ from pyunifiprotect.data import Bootstrap as Bootstrap
11
+ from typing_extensions import TypedDict
7
12
 
8
13
  _LOGGER: Incomplete
9
14
 
15
+ class EntityRef(TypedDict):
16
+ id: str
17
+ platform: Platform
18
+
19
+ class EntityUsage(TypedDict):
20
+ automations: dict[str, list[str]]
21
+ scripts: dict[str, list[str]]
22
+
23
+ def check_if_used(hass: HomeAssistant, entry: ConfigEntry, entities: dict[str, EntityRef]) -> dict[str, EntityUsage]: ...
24
+ def create_repair_if_used(hass: HomeAssistant, entry: ConfigEntry, breaks_in: str, entities: dict[str, EntityRef]) -> None: ...
10
25
  async def async_migrate_data(hass: HomeAssistant, entry: ConfigEntry, protect: ProtectApiClient, bootstrap: Bootstrap) -> None: ...
11
- async def async_migrate_buttons(hass: HomeAssistant, entry: ConfigEntry, protect: ProtectApiClient, bootstrap: Bootstrap) -> None: ...
12
- async def async_migrate_device_ids(hass: HomeAssistant, entry: ConfigEntry, protect: ProtectApiClient, bootstrap: Bootstrap) -> None: ...
26
+ def async_deprecate_hdr_package(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -1,27 +1,38 @@
1
1
  from .const import CONF_ALLOW_EA as CONF_ALLOW_EA
2
2
  from .utils import async_create_api_client as async_create_api_client
3
- from _typeshed import Incomplete
4
3
  from homeassistant import data_entry_flow as data_entry_flow
5
4
  from homeassistant.components.repairs import ConfirmRepairFlow as ConfirmRepairFlow, RepairsFlow as RepairsFlow
6
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
7
  from pyunifiprotect import ProtectApiClient as ProtectApiClient
9
-
10
- _LOGGER: Incomplete
8
+ from pyunifiprotect.data import Bootstrap as Bootstrap, Camera as Camera
11
9
 
12
10
  class ProtectRepair(RepairsFlow):
13
11
  _api: ProtectApiClient
14
12
  _entry: ConfigEntry
15
- def __init__(self, api: ProtectApiClient, entry: ConfigEntry) -> None: ...
13
+ def __init__(self, *, api: ProtectApiClient, entry: ConfigEntry) -> None: ...
16
14
  def _async_get_placeholders(self) -> dict[str, str]: ...
17
15
 
18
- class EAConfirm(ProtectRepair):
16
+ class EAConfirmRepair(ProtectRepair):
19
17
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
20
18
  async def async_step_start(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
21
19
  async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
22
20
 
23
- class CloudAccount(ProtectRepair):
21
+ class CloudAccountRepair(ProtectRepair):
22
+ async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
23
+ async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
24
+
25
+ class RTSPRepair(ProtectRepair):
26
+ _camera_id: str
27
+ _camera: Camera | None
28
+ _bootstrap: Bootstrap | None
29
+ def __init__(self, *, api: ProtectApiClient, entry: ConfigEntry, camera_id: str) -> None: ...
30
+ def _async_get_placeholders(self) -> dict[str, str]: ...
31
+ async def _get_boostrap(self) -> Bootstrap: ...
32
+ async def _get_camera(self) -> Camera: ...
33
+ async def _enable_rtsp(self) -> None: ...
24
34
  async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
35
+ async def async_step_start(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
25
36
  async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
26
37
 
27
38
  async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
@@ -19,6 +19,7 @@ from typing import Any, Final
19
19
 
20
20
  _LOGGER: Incomplete
21
21
  _KEY_LIGHT_MOTION: str
22
+ HDR_MODES: Incomplete
22
23
  INFRARED_MODES: Incomplete
23
24
  CHIME_TYPES: Incomplete
24
25
  MOUNT_TYPES: Incomplete
@@ -3,28 +3,34 @@ from .data import async_ufp_instance_for_config_entry_ids as async_ufp_instance_
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass
5
5
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
6
- from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, Platform as Platform
6
+ from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_NAME as ATTR_NAME, Platform as Platform
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
8
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
9
9
  from homeassistant.helpers.service import async_extract_referenced_entity_ids as async_extract_referenced_entity_ids
10
10
  from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
11
11
  from pyunifiprotect.api import ProtectApiClient as ProtectApiClient
12
+ from pyunifiprotect.data import Camera
12
13
  from typing import Any
13
14
 
14
15
  SERVICE_ADD_DOORBELL_TEXT: str
15
16
  SERVICE_REMOVE_DOORBELL_TEXT: str
17
+ SERVICE_SET_PRIVACY_ZONE: str
18
+ SERVICE_REMOVE_PRIVACY_ZONE: str
16
19
  SERVICE_SET_DEFAULT_DOORBELL_TEXT: str
17
20
  SERVICE_SET_CHIME_PAIRED: str
18
21
  ALL_GLOBAL_SERIVCES: Incomplete
19
22
  DOORBELL_TEXT_SCHEMA: Incomplete
20
23
  CHIME_PAIRED_SCHEMA: Incomplete
24
+ REMOVE_PRIVACY_ZONE_SCHEMA: Incomplete
21
25
 
22
26
  def _async_get_ufp_instance(hass: HomeAssistant, device_id: str) -> ProtectApiClient: ...
27
+ def _async_get_ufp_camera(hass: HomeAssistant, call: ServiceCall) -> Camera: ...
23
28
  def _async_get_protect_from_call(hass: HomeAssistant, call: ServiceCall) -> set[ProtectApiClient]: ...
24
29
  async def _async_service_call_nvr(hass: HomeAssistant, call: ServiceCall, method: str, *args: Any, **kwargs: Any) -> None: ...
25
30
  async def add_doorbell_text(hass: HomeAssistant, call: ServiceCall) -> None: ...
26
31
  async def remove_doorbell_text(hass: HomeAssistant, call: ServiceCall) -> None: ...
27
32
  async def set_default_doorbell_text(hass: HomeAssistant, call: ServiceCall) -> None: ...
33
+ async def remove_privacy_zone(hass: HomeAssistant, call: ServiceCall) -> None: ...
28
34
  def _async_unique_id_to_mac(unique_id: str) -> str: ...
29
35
  async def set_chime_paired_doorbells(hass: HomeAssistant, call: ServiceCall) -> None: ...
30
36
  def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -7,7 +7,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
7
7
  from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
8
8
  from homeassistant.helpers.storage import STORAGE_DIR as STORAGE_DIR
9
9
  from pyunifiprotect import ProtectApiClient
10
- from pyunifiprotect.data import Bootstrap as Bootstrap, Light as Light, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
10
+ from pyunifiprotect.data import Bootstrap as Bootstrap, CameraChannel as CameraChannel, Light as Light, ProtectAdoptableDeviceModel as ProtectAdoptableDeviceModel
11
11
  from typing import Any
12
12
 
13
13
  _SENTINEL: Incomplete
@@ -21,3 +21,4 @@ def async_get_devices(bootstrap: Bootstrap, model_type: Iterable[ModelType]) ->
21
21
  def async_get_light_motion_current(obj: Light) -> str: ...
22
22
  def async_dispatch_id(entry: ConfigEntry, dispatch: str) -> str: ...
23
23
  def async_create_api_client(hass: HomeAssistant, entry: ConfigEntry) -> ProtectApiClient: ...
24
+ def get_camera_base_name(channel: CameraChannel) -> str: ...
@@ -1,23 +1,22 @@
1
1
  from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant import config_entries as config_entries
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
4
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_USERNAME as CONF_USERNAME
5
5
  from homeassistant.core import callback as callback
6
- from homeassistant.data_entry_flow import FlowResult as FlowResult
7
6
  from typing import Any
8
7
 
9
8
  _LOGGER: Incomplete
10
9
 
11
- class UpCloudConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
10
+ class UpCloudConfigFlow(ConfigFlow, domain=DOMAIN):
12
11
  VERSION: int
13
12
  username: str
14
13
  password: str
15
- async def async_step_user(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
16
- def _async_show_form(self, step_id: str, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None) -> FlowResult: ...
14
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
15
+ def _async_show_form(self, step_id: str, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
17
16
  @staticmethod
18
- def async_get_options_flow(config_entry: config_entries.ConfigEntry) -> UpCloudOptionsFlow: ...
17
+ def async_get_options_flow(config_entry: ConfigEntry) -> UpCloudOptionsFlow: ...
19
18
 
20
- class UpCloudOptionsFlow(config_entries.OptionsFlow):
19
+ class UpCloudOptionsFlow(OptionsFlow):
21
20
  config_entry: Incomplete
22
- def __init__(self, config_entry: config_entries.ConfigEntry) -> None: ...
23
- async def async_step_init(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
21
+ def __init__(self, config_entry: ConfigEntry) -> None: ...
22
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,8 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from homeassistant.config_entries import ConfigFlow as ConfigFlow
3
- from homeassistant.data_entry_flow import FlowResult as FlowResult
2
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
4
3
  from typing import Any
5
4
 
6
5
  class UptimeConfigFlow(ConfigFlow, domain=DOMAIN):
7
6
  VERSION: int
8
- async def async_step_user(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
7
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,18 +1,17 @@
1
1
  from .const import API_ATTR_OK as API_ATTR_OK, DOMAIN as DOMAIN, LOGGER as LOGGER
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
- from homeassistant import config_entries as config_entries
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
5
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY
6
- from homeassistant.data_entry_flow import FlowResult as FlowResult
7
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
7
  from pyuptimerobot import UptimeRobotAccount as UptimeRobotAccount, UptimeRobotApiError as UptimeRobotApiError, UptimeRobotApiResponse as UptimeRobotApiResponse
9
8
  from typing import Any
10
9
 
11
10
  STEP_USER_DATA_SCHEMA: Incomplete
12
11
 
13
- class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
12
+ class UptimeRobotConfigFlow(ConfigFlow, domain=DOMAIN):
14
13
  VERSION: int
15
14
  async def _validate_input(self, data: dict[str, Any]) -> tuple[dict[str, str], UptimeRobotAccount | None]: ...
16
- async def async_step_user(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
17
- async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult: ...
18
- async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
15
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
16
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
17
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -7,11 +7,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import EntityCategory as EntityCategory
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
- from typing import TypedDict
11
-
12
- class StatusValue(TypedDict):
13
- value: str
14
- icon: str
15
10
 
16
11
  SENSORS_INFO: Incomplete
17
12
 
@@ -20,5 +15,3 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
20
15
  class UptimeRobotSensor(UptimeRobotEntity, SensorEntity):
21
16
  @property
22
17
  def native_value(self) -> str: ...
23
- @property
24
- def icon(self) -> str: ...
@@ -10,7 +10,7 @@ from typing import Any
10
10
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
11
11
 
12
12
  class UptimeRobotSwitch(UptimeRobotEntity, SwitchEntity):
13
- _attr_icon: str
13
+ _attr_translation_key: str
14
14
  @property
15
15
  def is_on(self) -> bool: ...
16
16
  async def _async_edit_monitor(self, **kwargs: Any) -> None: ...
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
4
4
  from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant
5
5
  from homeassistant.data_entry_flow import BaseServiceInfo
6
6
  from homeassistant.loader import USBMatcher
7
- from pyudev import Device
7
+ from pyudev import Device, MonitorObserver
8
8
  from serial.tools.list_ports_common import ListPortInfo
9
9
 
10
10
  __all__ = ['async_is_plugged_in', 'async_register_scan_request_callback', 'USBCallbackMatcher', 'UsbServiceInfo']
@@ -38,6 +38,7 @@ class USBDiscovery:
38
38
  async def async_start(self, event: Event) -> None: ...
39
39
  def async_stop(self, event: Event) -> None: ...
40
40
  async def _async_start_monitor(self) -> None: ...
41
+ def _get_monitor_observer(self) -> MonitorObserver | None: ...
41
42
  def _device_discovered(self, device: Device) -> None: ...
42
43
  def async_register_scan_request_callback(self, _callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
43
44
  def async_register_initial_scan_callback(self, callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
@@ -1,3 +1,4 @@
1
+ from .const import STATE_CLEANING as STATE_CLEANING, STATE_DOCKED as STATE_DOCKED, STATE_ERROR as STATE_ERROR, STATE_RETURNING as STATE_RETURNING
1
2
  from _typeshed import Incomplete
2
3
  from collections.abc import Mapping
3
4
  from enum import IntFlag
@@ -32,10 +33,6 @@ SERVICE_START_PAUSE: str
32
33
  SERVICE_START: str
33
34
  SERVICE_PAUSE: str
34
35
  SERVICE_STOP: str
35
- STATE_CLEANING: str
36
- STATE_DOCKED: str
37
- STATE_RETURNING: str
38
- STATE_ERROR: str
39
36
  STATES: Incomplete
40
37
  DEFAULT_NAME: str
41
38
 
@@ -0,0 +1,7 @@
1
+ from _typeshed import Incomplete
2
+
3
+ STATE_CLEANING: str
4
+ STATE_DOCKED: str
5
+ STATE_RETURNING: str
6
+ STATE_ERROR: str
7
+ STATES: Incomplete
@@ -1,4 +1,4 @@
1
- from . import STATE_CLEANING as STATE_CLEANING, STATE_ERROR as STATE_ERROR, STATE_RETURNING as STATE_RETURNING
1
+ from .const import STATE_CLEANING as STATE_CLEANING, STATE_ERROR as STATE_ERROR, STATE_RETURNING as STATE_RETURNING
2
2
  from homeassistant.components.group import GroupIntegrationRegistry as GroupIntegrationRegistry
3
3
  from homeassistant.const import STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -16,14 +16,10 @@ class ValloxBinarySensorEntity(ValloxEntity, BinarySensorEntity):
16
16
  @property
17
17
  def is_on(self) -> bool | None: ...
18
18
 
19
- @dataclass(frozen=True)
20
- class ValloxMetricKeyMixin:
19
+ @dataclass(frozen=True, kw_only=True)
20
+ class ValloxBinarySensorEntityDescription(BinarySensorEntityDescription):
21
21
  metric_key: str
22
- def __init__(self, metric_key) -> None: ...
23
-
24
- @dataclass(frozen=True)
25
- class ValloxBinarySensorEntityDescription(BinarySensorEntityDescription, ValloxMetricKeyMixin):
26
- def __init__(self, metric_key, *, 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) -> None: ...
22
+ 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, metric_key) -> None: ...
27
23
 
28
24
  BINARY_SENSOR_ENTITIES: tuple[ValloxBinarySensorEntityDescription, ...]
29
25
 
@@ -1,9 +1,8 @@
1
1
  from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant import config_entries as config_entries
3
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
4
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.data_entry_flow import FlowResult as FlowResult
7
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
7
  from homeassistant.util.network import is_ip_address as is_ip_address
9
8
  from typing import Any
@@ -13,8 +12,8 @@ STEP_USER_DATA_SCHEMA: Incomplete
13
12
 
14
13
  async def validate_host(hass: HomeAssistant, host: str) -> None: ...
15
14
 
16
- class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
15
+ class ValloxConfigFlow(ConfigFlow, domain=DOMAIN):
17
16
  VERSION: int
18
- async def async_step_user(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
17
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
18
 
20
19
  class InvalidHost(HomeAssistantError): ...
@@ -0,0 +1,22 @@
1
+ from . import ValloxDataUpdateCoordinator as ValloxDataUpdateCoordinator, ValloxEntity as ValloxEntity
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from datetime import date
5
+ from homeassistant.components.date import DateEntity as DateEntity
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.const import EntityCategory as EntityCategory
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
+ from vallox_websocket_api import Vallox as Vallox
11
+
12
+ class ValloxFilterChangeDateEntity(ValloxEntity, DateEntity):
13
+ _attr_entity_category: Incomplete
14
+ _attr_translation_key: str
15
+ _attr_unique_id: Incomplete
16
+ _client: Incomplete
17
+ def __init__(self, name: str, coordinator: ValloxDataUpdateCoordinator, client: Vallox) -> None: ...
18
+ @property
19
+ def native_value(self) -> date | None: ...
20
+ async def async_set_value(self, value: date) -> None: ...
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -19,14 +19,10 @@ class ValloxNumberEntity(ValloxEntity, NumberEntity):
19
19
  def native_value(self) -> float | None: ...
20
20
  async def async_set_native_value(self, value: float) -> None: ...
21
21
 
22
- @dataclass(frozen=True)
23
- class ValloxMetricMixin:
22
+ @dataclass(frozen=True, kw_only=True)
23
+ class ValloxNumberEntityDescription(NumberEntityDescription):
24
24
  metric_key: str
25
- def __init__(self, metric_key) -> None: ...
26
-
27
- @dataclass(frozen=True)
28
- class ValloxNumberEntityDescription(NumberEntityDescription, ValloxMetricMixin):
29
- def __init__(self, metric_key, *, 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, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step) -> None: ...
25
+ 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, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, metric_key) -> None: ...
30
26
 
31
27
  NUMBER_ENTITIES: tuple[ValloxNumberEntityDescription, ...]
32
28
 
@@ -22,14 +22,10 @@ class ValloxSwitchEntity(ValloxEntity, SwitchEntity):
22
22
  async def async_turn_off(self, **kwargs: Any) -> None: ...
23
23
  async def _set_value(self, value: bool) -> None: ...
24
24
 
25
- @dataclass(frozen=True)
26
- class ValloxMetricKeyMixin:
25
+ @dataclass(frozen=True, kw_only=True)
26
+ class ValloxSwitchEntityDescription(SwitchEntityDescription):
27
27
  metric_key: str
28
- def __init__(self, metric_key) -> None: ...
29
-
30
- @dataclass(frozen=True)
31
- class ValloxSwitchEntityDescription(SwitchEntityDescription, ValloxMetricKeyMixin):
32
- def __init__(self, metric_key, *, 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) -> None: ...
28
+ 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, metric_key) -> None: ...
33
29
 
34
30
  SWITCH_ENTITIES: tuple[ValloxSwitchEntityDescription, ...]
35
31
 
@@ -1,20 +1,19 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant import config_entries as config_entries
4
3
  from homeassistant.components import usb as usb
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
5
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PORT as CONF_PORT
6
- from homeassistant.data_entry_flow import FlowResult as FlowResult
7
6
  from homeassistant.util import slugify as slugify
8
7
  from typing import Any
9
8
 
10
- class VelbusConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
9
+ class VelbusConfigFlow(ConfigFlow, domain=DOMAIN):
11
10
  VERSION: int
12
11
  _errors: Incomplete
13
12
  _device: str
14
13
  _title: str
15
14
  def __init__(self) -> None: ...
16
- def _create_device(self, name: str, prt: str) -> FlowResult: ...
15
+ def _create_device(self, name: str, prt: str) -> ConfigFlowResult: ...
17
16
  async def _test_connection(self, prt: str) -> bool: ...
18
- async def async_step_user(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
19
- async def async_step_usb(self, discovery_info: usb.UsbServiceInfo) -> FlowResult: ...
20
- async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
17
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
+ async def async_step_usb(self, discovery_info: usb.UsbServiceInfo) -> ConfigFlowResult: ...
19
+ async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...