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
@@ -12,15 +12,11 @@ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntry
12
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
13
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
14
14
 
15
- @dataclass(frozen=True)
16
- class EnergyZeroSensorEntityDescriptionMixin:
15
+ @dataclass(frozen=True, kw_only=True)
16
+ class EnergyZeroSensorEntityDescription(SensorEntityDescription):
17
17
  value_fn: Callable[[EnergyZeroData], float | datetime | None]
18
18
  service_type: str
19
- def __init__(self, value_fn, service_type) -> None: ...
20
-
21
- @dataclass(frozen=True)
22
- class EnergyZeroSensorEntityDescription(SensorEntityDescription, EnergyZeroSensorEntityDescriptionMixin):
23
- def __init__(self, value_fn, service_type, *, 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) -> None: ...
19
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn, service_type) -> None: ...
24
20
 
25
21
  SENSORS: tuple[EnergyZeroSensorEntityDescription, ...]
26
22
 
@@ -12,25 +12,17 @@ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
13
  from pyenphase import EnvoyEncharge as EnvoyEncharge, EnvoyEnpower as EnvoyEnpower
14
14
 
15
- @dataclass(frozen=True)
16
- class EnvoyEnchargeRequiredKeysMixin:
15
+ @dataclass(frozen=True, kw_only=True)
16
+ class EnvoyEnchargeBinarySensorEntityDescription(BinarySensorEntityDescription):
17
17
  value_fn: Callable[[EnvoyEncharge], bool]
18
- def __init__(self, value_fn) -> None: ...
19
-
20
- @dataclass(frozen=True)
21
- class EnvoyEnchargeBinarySensorEntityDescription(BinarySensorEntityDescription, EnvoyEnchargeRequiredKeysMixin):
22
- def __init__(self, value_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: ...
18
+ 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, value_fn) -> None: ...
23
19
 
24
20
  ENCHARGE_SENSORS: Incomplete
25
21
 
26
- @dataclass(frozen=True)
27
- class EnvoyEnpowerRequiredKeysMixin:
22
+ @dataclass(frozen=True, kw_only=True)
23
+ class EnvoyEnpowerBinarySensorEntityDescription(BinarySensorEntityDescription):
28
24
  value_fn: Callable[[EnvoyEnpower], bool]
29
- def __init__(self, value_fn) -> None: ...
30
-
31
- @dataclass(frozen=True)
32
- class EnvoyEnpowerBinarySensorEntityDescription(BinarySensorEntityDescription, EnvoyEnpowerRequiredKeysMixin):
33
- def __init__(self, value_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: ...
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, value_fn) -> None: ...
34
26
 
35
27
  ENPOWER_SENSORS: Incomplete
36
28
 
@@ -2,11 +2,10 @@ import voluptuous as vol
2
2
  from .const import DOMAIN as DOMAIN, INVALID_AUTH_ERRORS as INVALID_AUTH_ERRORS
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
- from homeassistant import config_entries as config_entries
6
5
  from homeassistant.components import zeroconf as zeroconf
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
- from homeassistant.data_entry_flow import FlowResult as FlowResult
10
9
  from homeassistant.helpers.httpx_client import get_async_client as get_async_client
11
10
  from pyenphase import Envoy
12
11
  from typing import Any
@@ -18,7 +17,7 @@ INSTALLER_AUTH_USERNAME: str
18
17
 
19
18
  async def validate_input(hass: HomeAssistant, host: str, username: str, password: str) -> Envoy: ...
20
19
 
21
- class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
20
+ class EnphaseConfigFlow(ConfigFlow, domain=DOMAIN):
22
21
  VERSION: int
23
22
  ip_address: Incomplete
24
23
  username: Incomplete
@@ -27,7 +26,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
27
26
  def __init__(self) -> None: ...
28
27
  def _async_generate_schema(self) -> vol.Schema: ...
29
28
  def _async_current_hosts(self) -> set[str]: ...
30
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> FlowResult: ...
31
- async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult: ...
29
+ async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
30
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
32
31
  def _async_envoy_name(self) -> str: ...
33
- async def async_step_user(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
32
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -5,9 +5,12 @@ from homeassistant.components.diagnostics import async_redact_data as async_reda
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_USERNAME as CONF_USERNAME
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.json import json_dumps as json_dumps
9
+ from homeassistant.util.json import json_loads as json_loads
8
10
  from typing import Any
9
11
 
10
12
  CONF_TITLE: str
13
+ CLEAN_TEXT: str
11
14
  TO_REDACT: Incomplete
12
15
 
13
16
  async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
@@ -14,24 +14,16 @@ from pyenphase import Envoy as Envoy, EnvoyDryContactSettings as EnvoyDryContact
14
14
  from pyenphase.models.tariff import EnvoyStorageSettings as EnvoyStorageSettings
15
15
  from typing import Any
16
16
 
17
- @dataclass(frozen=True)
18
- class EnvoyRelayRequiredKeysMixin:
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class EnvoyRelayNumberEntityDescription(NumberEntityDescription):
19
19
  value_fn: Callable[[EnvoyDryContactSettings], float]
20
- def __init__(self, value_fn) -> None: ...
20
+ 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, value_fn) -> None: ...
21
21
 
22
- @dataclass(frozen=True)
23
- class EnvoyRelayNumberEntityDescription(NumberEntityDescription, EnvoyRelayRequiredKeysMixin):
24
- def __init__(self, value_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, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step) -> None: ...
25
-
26
- @dataclass(frozen=True)
27
- class EnvoyStorageSettingsRequiredKeysMixin:
22
+ @dataclass(frozen=True, kw_only=True)
23
+ class EnvoyStorageSettingsNumberEntityDescription(NumberEntityDescription):
28
24
  value_fn: Callable[[EnvoyStorageSettings], float]
29
25
  update_fn: Callable[[Envoy, float], Awaitable[dict[str, Any]]]
30
- def __init__(self, value_fn, update_fn) -> None: ...
31
-
32
- @dataclass(frozen=True)
33
- class EnvoyStorageSettingsNumberEntityDescription(NumberEntityDescription, EnvoyStorageSettingsRequiredKeysMixin):
34
- def __init__(self, value_fn, update_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, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step) -> 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, max_value, min_value, mode, native_max_value, native_min_value, native_step, native_unit_of_measurement, step, value_fn, update_fn) -> None: ...
35
27
 
36
28
  RELAY_ENTITIES: Incomplete
37
29
  STORAGE_RESERVE_SOC_ENTITY: Incomplete
@@ -13,25 +13,17 @@ from pyenphase import Envoy as Envoy, EnvoyDryContactSettings as EnvoyDryContact
13
13
  from pyenphase.models.tariff import EnvoyStorageSettings as EnvoyStorageSettings
14
14
  from typing import Any
15
15
 
16
- @dataclass(frozen=True)
17
- class EnvoyRelayRequiredKeysMixin:
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class EnvoyRelaySelectEntityDescription(SelectEntityDescription):
18
18
  value_fn: Callable[[EnvoyDryContactSettings], str]
19
19
  update_fn: Callable[[Envoy, EnvoyDryContactSettings, str], Coroutine[Any, Any, dict[str, Any]]]
20
- def __init__(self, value_fn, update_fn) -> None: ...
20
+ 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, options, value_fn, update_fn) -> None: ...
21
21
 
22
- @dataclass(frozen=True)
23
- class EnvoyRelaySelectEntityDescription(SelectEntityDescription, EnvoyRelayRequiredKeysMixin):
24
- def __init__(self, value_fn, update_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, options) -> None: ...
25
-
26
- @dataclass(frozen=True)
27
- class EnvoyStorageSettingsRequiredKeysMixin:
22
+ @dataclass(frozen=True, kw_only=True)
23
+ class EnvoyStorageSettingsSelectEntityDescription(SelectEntityDescription):
28
24
  value_fn: Callable[[EnvoyStorageSettings], str]
29
25
  update_fn: Callable[[Envoy, str], Awaitable[dict[str, Any]]]
30
- def __init__(self, value_fn, update_fn) -> None: ...
31
-
32
- @dataclass(frozen=True)
33
- class EnvoyStorageSettingsSelectEntityDescription(SelectEntityDescription, EnvoyStorageSettingsRequiredKeysMixin):
34
- def __init__(self, value_fn, update_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, options) -> 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, options, value_fn, update_fn) -> None: ...
35
27
 
36
28
  RELAY_MODE_MAP: Incomplete
37
29
  REVERSE_RELAY_MODE_MAP: Incomplete
@@ -20,98 +20,74 @@ _LOGGER: Incomplete
20
20
  INVERTERS_KEY: str
21
21
  LAST_REPORTED_KEY: str
22
22
 
23
- @dataclass(frozen=True)
24
- class EnvoyInverterRequiredKeysMixin:
23
+ @dataclass(frozen=True, kw_only=True)
24
+ class EnvoyInverterSensorEntityDescription(SensorEntityDescription):
25
25
  value_fn: Callable[[EnvoyInverter], datetime.datetime | float]
26
- def __init__(self, value_fn) -> None: ...
27
-
28
- @dataclass(frozen=True)
29
- class EnvoyInverterSensorEntityDescription(SensorEntityDescription, EnvoyInverterRequiredKeysMixin):
30
- def __init__(self, value_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) -> 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, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
31
27
 
32
28
  INVERTER_SENSORS: Incomplete
33
29
 
34
- @dataclass(frozen=True)
35
- class EnvoyProductionRequiredKeysMixin:
30
+ @dataclass(frozen=True, kw_only=True)
31
+ class EnvoyProductionSensorEntityDescription(SensorEntityDescription):
36
32
  value_fn: Callable[[EnvoySystemProduction], int]
37
33
  on_phase: str | None
38
- def __init__(self, value_fn, on_phase) -> None: ...
39
-
40
- @dataclass(frozen=True)
41
- class EnvoyProductionSensorEntityDescription(SensorEntityDescription, EnvoyProductionRequiredKeysMixin):
42
- def __init__(self, value_fn, on_phase, *, 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) -> None: ...
34
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn, on_phase) -> None: ...
43
35
 
44
36
  PRODUCTION_SENSORS: Incomplete
45
37
  PRODUCTION_PHASE_SENSORS: Incomplete
46
38
 
47
- @dataclass(frozen=True)
48
- class EnvoyConsumptionRequiredKeysMixin:
39
+ @dataclass(frozen=True, kw_only=True)
40
+ class EnvoyConsumptionSensorEntityDescription(SensorEntityDescription):
49
41
  value_fn: Callable[[EnvoySystemConsumption], int]
50
42
  on_phase: str | None
51
- def __init__(self, value_fn, on_phase) -> None: ...
52
-
53
- @dataclass(frozen=True)
54
- class EnvoyConsumptionSensorEntityDescription(SensorEntityDescription, EnvoyConsumptionRequiredKeysMixin):
55
- def __init__(self, value_fn, on_phase, *, 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) -> None: ...
43
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn, on_phase) -> None: ...
56
44
 
57
45
  CONSUMPTION_SENSORS: Incomplete
58
46
  CONSUMPTION_PHASE_SENSORS: Incomplete
59
47
 
60
- @dataclass(frozen=True)
61
- class EnvoyCTRequiredKeysMixin:
48
+ @dataclass(frozen=True, kw_only=True)
49
+ class EnvoyCTSensorEntityDescription(SensorEntityDescription):
62
50
  value_fn: Callable[[EnvoyMeterData], int | float | str | CtType | CtMeterStatus | CtStatusFlags | CtState | None]
63
51
  on_phase: str | None
64
- def __init__(self, value_fn, on_phase) -> None: ...
65
-
66
- @dataclass(frozen=True)
67
- class EnvoyCTSensorEntityDescription(SensorEntityDescription, EnvoyCTRequiredKeysMixin):
68
- def __init__(self, value_fn, on_phase, *, 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) -> None: ...
52
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn, on_phase) -> None: ...
69
53
 
70
54
  CT_NET_CONSUMPTION_SENSORS: Incomplete
71
55
  CT_NET_CONSUMPTION_PHASE_SENSORS: Incomplete
72
56
  CT_PRODUCTION_SENSORS: Incomplete
73
57
  CT_PRODUCTION_PHASE_SENSORS: Incomplete
58
+ CT_STORAGE_SENSORS: Incomplete
59
+ CT_STORAGE_PHASE_SENSORS: Incomplete
74
60
 
75
- @dataclass(frozen=True)
76
- class EnvoyEnchargeRequiredKeysMixin:
61
+ @dataclass(frozen=True, kw_only=True)
62
+ class EnvoyEnchargeSensorEntityDescription(SensorEntityDescription):
77
63
  value_fn: Callable[[EnvoyEncharge], datetime.datetime | int | float]
78
- def __init__(self, value_fn) -> None: ...
64
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
79
65
 
80
66
  @dataclass(frozen=True)
81
- class EnvoyEnchargeSensorEntityDescription(SensorEntityDescription, EnvoyEnchargeRequiredKeysMixin):
82
- def __init__(self, value_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) -> None: ...
67
+ class EnvoyEnchargePowerRequiredKeysMixin: ...
83
68
 
84
- @dataclass(frozen=True)
85
- class EnvoyEnchargePowerRequiredKeysMixin:
69
+ @dataclass(frozen=True, kw_only=True)
70
+ class EnvoyEnchargePowerSensorEntityDescription(SensorEntityDescription):
86
71
  value_fn: Callable[[EnvoyEnchargePower], int | float]
87
- def __init__(self, value_fn) -> None: ...
88
-
89
- @dataclass(frozen=True)
90
- class EnvoyEnchargePowerSensorEntityDescription(SensorEntityDescription, EnvoyEnchargePowerRequiredKeysMixin):
91
- def __init__(self, value_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) -> None: ...
72
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
92
73
 
93
74
  ENCHARGE_INVENTORY_SENSORS: Incomplete
94
75
  ENCHARGE_POWER_SENSORS: Incomplete
95
76
 
96
- @dataclass(frozen=True)
97
- class EnvoyEnpowerRequiredKeysMixin:
77
+ @dataclass(frozen=True, kw_only=True)
78
+ class EnvoyEnpowerSensorEntityDescription(SensorEntityDescription):
98
79
  value_fn: Callable[[EnvoyEnpower], datetime.datetime | int | float]
99
- def __init__(self, value_fn) -> None: ...
100
-
101
- @dataclass(frozen=True)
102
- class EnvoyEnpowerSensorEntityDescription(SensorEntityDescription, EnvoyEnpowerRequiredKeysMixin):
103
- def __init__(self, value_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) -> None: ...
80
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
104
81
 
105
82
  ENPOWER_SENSORS: Incomplete
106
83
 
107
84
  @dataclass(frozen=True)
108
- class EnvoyEnchargeAggregateRequiredKeysMixin:
109
- value_fn: Callable[[EnvoyEnchargeAggregate], int]
110
- def __init__(self, value_fn) -> None: ...
85
+ class EnvoyEnchargeAggregateRequiredKeysMixin: ...
111
86
 
112
- @dataclass(frozen=True)
113
- class EnvoyEnchargeAggregateSensorEntityDescription(SensorEntityDescription, EnvoyEnchargeAggregateRequiredKeysMixin):
114
- def __init__(self, value_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) -> None: ...
87
+ @dataclass(frozen=True, kw_only=True)
88
+ class EnvoyEnchargeAggregateSensorEntityDescription(SensorEntityDescription):
89
+ value_fn: Callable[[EnvoyEnchargeAggregate], int]
90
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
115
91
 
116
92
  ENCHARGE_AGGREGATE_SENSORS: Incomplete
117
93
 
@@ -165,6 +141,16 @@ class EnvoyProductionCTPhaseEntity(EnvoySystemSensorEntity):
165
141
  @property
166
142
  def native_value(self) -> int | float | str | CtType | CtMeterStatus | CtStatusFlags | None: ...
167
143
 
144
+ class EnvoyStorageCTEntity(EnvoySystemSensorEntity):
145
+ entity_description: EnvoyCTSensorEntityDescription
146
+ @property
147
+ def native_value(self) -> int | float | str | CtType | CtMeterStatus | CtStatusFlags | None: ...
148
+
149
+ class EnvoyStorageCTPhaseEntity(EnvoySystemSensorEntity):
150
+ entity_description: EnvoyCTSensorEntityDescription
151
+ @property
152
+ def native_value(self) -> int | float | str | CtType | CtMeterStatus | CtStatusFlags | None: ...
153
+
168
154
  class EnvoyInverterEntity(EnvoySensorBaseEntity):
169
155
  _attr_icon = ICON
170
156
  entity_description: EnvoyInverterSensorEntityDescription
@@ -15,38 +15,26 @@ from typing import Any
15
15
 
16
16
  _LOGGER: Incomplete
17
17
 
18
- @dataclass(frozen=True)
19
- class EnvoyEnpowerRequiredKeysMixin:
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class EnvoyEnpowerSwitchEntityDescription(SwitchEntityDescription):
20
20
  value_fn: Callable[[EnvoyEnpower], bool]
21
21
  turn_on_fn: Callable[[Envoy], Coroutine[Any, Any, dict[str, Any]]]
22
22
  turn_off_fn: Callable[[Envoy], Coroutine[Any, Any, dict[str, Any]]]
23
- def __init__(self, value_fn, turn_on_fn, turn_off_fn) -> None: ...
23
+ 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, value_fn, turn_on_fn, turn_off_fn) -> None: ...
24
24
 
25
- @dataclass(frozen=True)
26
- class EnvoyEnpowerSwitchEntityDescription(SwitchEntityDescription, EnvoyEnpowerRequiredKeysMixin):
27
- def __init__(self, value_fn, turn_on_fn, turn_off_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: ...
28
-
29
- @dataclass(frozen=True)
30
- class EnvoyDryContactRequiredKeysMixin:
25
+ @dataclass(frozen=True, kw_only=True)
26
+ class EnvoyDryContactSwitchEntityDescription(SwitchEntityDescription):
31
27
  value_fn: Callable[[EnvoyDryContactStatus], bool]
32
28
  turn_on_fn: Callable[[Envoy, str], Coroutine[Any, Any, dict[str, Any]]]
33
29
  turn_off_fn: Callable[[Envoy, str], Coroutine[Any, Any, dict[str, Any]]]
34
- def __init__(self, value_fn, turn_on_fn, turn_off_fn) -> None: ...
35
-
36
- @dataclass(frozen=True)
37
- class EnvoyDryContactSwitchEntityDescription(SwitchEntityDescription, EnvoyDryContactRequiredKeysMixin):
38
- def __init__(self, value_fn, turn_on_fn, turn_off_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: ...
30
+ 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, value_fn, turn_on_fn, turn_off_fn) -> None: ...
39
31
 
40
- @dataclass(frozen=True)
41
- class EnvoyStorageSettingsRequiredKeysMixin:
32
+ @dataclass(frozen=True, kw_only=True)
33
+ class EnvoyStorageSettingsSwitchEntityDescription(SwitchEntityDescription):
42
34
  value_fn: Callable[[EnvoyStorageSettings], bool]
43
35
  turn_on_fn: Callable[[Envoy], Awaitable[dict[str, Any]]]
44
36
  turn_off_fn: Callable[[Envoy], Awaitable[dict[str, Any]]]
45
- def __init__(self, value_fn, turn_on_fn, turn_off_fn) -> None: ...
46
-
47
- @dataclass(frozen=True)
48
- class EnvoyStorageSettingsSwitchEntityDescription(SwitchEntityDescription, EnvoyStorageSettingsRequiredKeysMixin):
49
- def __init__(self, value_fn, turn_on_fn, turn_off_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: ...
37
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, value_fn, turn_on_fn, turn_off_fn) -> None: ...
50
38
 
51
39
  ENPOWER_GRID_SWITCH: Incomplete
52
40
  RELAY_STATE_SWITCH: Incomplete
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
2
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
3
  from _typeshed import Incomplete
4
4
  from aioesphomeapi import APIIntEnum, AlarmControlPanelEntityState, AlarmControlPanelInfo, AlarmControlPanelState, EntityInfo as EntityInfo
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, platform_async_setup_entry as platform_async_setup_entry
2
2
  from _typeshed import Incomplete
3
3
  from aioesphomeapi import ButtonInfo, EntityInfo as EntityInfo, EntityState
4
4
  from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
2
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
3
  from _typeshed import Incomplete
4
4
  from aioesphomeapi import ClimateAction, ClimateFanMode, ClimateInfo, ClimateMode, ClimatePreset, ClimateState, ClimateSwingMode, EntityInfo as EntityInfo
@@ -5,10 +5,9 @@ from aioesphomeapi import DeviceInfo as DeviceInfo
5
5
  from collections.abc import Mapping
6
6
  from homeassistant.components import dhcp as dhcp, zeroconf as zeroconf
7
7
  from homeassistant.components.hassio import HassioServiceInfo as HassioServiceInfo
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, OptionsFlow as OptionsFlow
8
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
9
9
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT
10
10
  from homeassistant.core import callback as callback
11
- from homeassistant.data_entry_flow import FlowResult as FlowResult
12
11
  from homeassistant.helpers.device_registry import format_mac as format_mac
13
12
  from typing import Any
14
13
 
@@ -29,23 +28,23 @@ class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN):
29
28
  _reauth_entry: Incomplete
30
29
  _device_name: Incomplete
31
30
  def __init__(self) -> None: ...
32
- async def _async_step_user_base(self, user_input: dict[str, Any] | None = None, error: str | None = None) -> FlowResult: ...
33
- async def async_step_user(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
34
- async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult: ...
35
- async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
31
+ async def _async_step_user_base(self, user_input: dict[str, Any] | None = None, error: str | None = None) -> ConfigFlowResult: ...
32
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
34
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
36
35
  @property
37
36
  def _name(self) -> str | None: ...
38
37
  @_name.setter
39
38
  def _name(self, value: str) -> None: ...
40
- async def _async_try_fetch_device_info(self) -> FlowResult: ...
41
- async def _async_authenticate_or_add(self) -> FlowResult: ...
42
- async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
43
- async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> FlowResult: ...
44
- async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> FlowResult: ...
45
- async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> FlowResult: ...
46
- def _async_get_entry(self) -> FlowResult: ...
47
- async def async_step_encryption_key(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
48
- async def async_step_authenticate(self, user_input: dict[str, Any] | None = None, error: str | None = None) -> FlowResult: ...
39
+ async def _async_try_fetch_device_info(self) -> ConfigFlowResult: ...
40
+ async def _async_authenticate_or_add(self) -> ConfigFlowResult: ...
41
+ async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
42
+ async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
43
+ async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
44
+ async def async_step_hassio(self, discovery_info: HassioServiceInfo) -> ConfigFlowResult: ...
45
+ def _async_get_entry(self) -> ConfigFlowResult: ...
46
+ async def async_step_encryption_key(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
47
+ async def async_step_authenticate(self, user_input: dict[str, Any] | None = None, error: str | None = None) -> ConfigFlowResult: ...
49
48
  async def fetch_device_info(self) -> str | None: ...
50
49
  async def try_login(self) -> str | None: ...
51
50
  async def _retrieve_encryption_key_from_dashboard(self) -> bool: ...
@@ -55,4 +54,4 @@ class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN):
55
54
  class OptionsFlowHandler(OptionsFlow):
56
55
  config_entry: Incomplete
57
56
  def __init__(self, config_entry: ConfigEntry) -> None: ...
58
- async def async_step_init(self, user_input: dict[str, Any] | None = None) -> FlowResult: ...
57
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
2
  from _typeshed import Incomplete
3
3
  from aioesphomeapi import CoverInfo, CoverState, EntityInfo as EntityInfo
4
4
  from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, ATTR_TILT_POSITION as ATTR_TILT_POSITION, CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
@@ -0,0 +1,14 @@
1
+ from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
+ from aioesphomeapi import DateInfo, DateState
3
+ from datetime import date
4
+ from homeassistant.components.date import DateEntity as DateEntity
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
+
9
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
10
+
11
+ class EsphomeDate(EsphomeEntity[DateInfo, DateState], DateEntity):
12
+ @property
13
+ def native_value(self) -> date | None: ...
14
+ async def async_set_value(self, value: date) -> None: ...
@@ -3,18 +3,19 @@ from .entry_data import RuntimeEntryData as RuntimeEntryData
3
3
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
4
4
  from _typeshed import Incomplete
5
5
  from aioesphomeapi import EntityCategory as EsphomeEntityCategory, EntityInfo, EntityState
6
- from collections.abc import Callable as Callable
6
+ from collections.abc import Awaitable, Callable as Callable, Coroutine
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
11
  from homeassistant.helpers import entity_platform as entity_platform
11
12
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
- from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
13
13
  from homeassistant.helpers.entity import Entity as Entity
14
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
15
- from typing import Generic, TypeVar
15
+ from typing import Any, Concatenate, Generic, ParamSpec, TypeVar
16
16
 
17
17
  _R = TypeVar('_R')
18
+ _P = ParamSpec('_P')
18
19
  _InfoT = TypeVar('_InfoT', bound=EntityInfo)
19
20
  _EntityT = TypeVar('_EntityT', bound='EsphomeEntity[Any,Any]')
20
21
  _StateT = TypeVar('_StateT', bound=EntityState)
@@ -22,6 +23,7 @@ _StateT = TypeVar('_StateT', bound=EntityState)
22
23
  def async_static_info_updated(hass: HomeAssistant, entry_data: RuntimeEntryData, platform: entity_platform.EntityPlatform, async_add_entities: AddEntitiesCallback, info_type: type[_InfoT], entity_type: type[_EntityT], state_type: type[_StateT], infos: list[EntityInfo]) -> None: ...
23
24
  async def platform_async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback, *, info_type: type[_InfoT], entity_type: type[_EntityT], state_type: type[_StateT]) -> None: ...
24
25
  def esphome_state_property(func: Callable[[_EntityT], _R]) -> Callable[[_EntityT], _R | None]: ...
26
+ def convert_api_error_ha_error(func: Callable[Concatenate[_EntityT, _P], Awaitable[None]]) -> Callable[Concatenate[_EntityT, _P], Coroutine[Any, Any, None]]: ...
25
27
 
26
28
  ICON_SCHEMA: Incomplete
27
29
  ENTITY_CATEGORIES: EsphomeEnumMapper[EsphomeEntityCategory, EntityCategory | None]
@@ -4,13 +4,14 @@ from .dashboard import async_get_dashboard as async_get_dashboard
4
4
  from _typeshed import Incomplete
5
5
  from aioesphomeapi import APIClient as APIClient, APIVersion, DeviceInfo, EntityInfo as EntityInfo, EntityState as EntityState, UserService
6
6
  from bleak_esphome.backend.device import ESPHomeBluetoothDevice as ESPHomeBluetoothDevice
7
- from collections.abc import Callable as Callable, Coroutine, Iterable
7
+ from collections.abc import Callable as Callable, Iterable
8
8
  from dataclasses import dataclass
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
10
  from homeassistant.const import Platform as Platform
11
11
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
13
13
  from homeassistant.helpers.storage import Store as Store
14
+ from homeassistant.util.signal_type import SignalType as SignalType
14
15
  from typing import Any, Final, TypedDict
15
16
 
16
17
  INFO_TO_COMPONENT_TYPE: Final[Incomplete]
@@ -41,14 +42,15 @@ class RuntimeEntryData:
41
42
  device_info: DeviceInfo | None = ...
42
43
  bluetooth_device: ESPHomeBluetoothDevice | None = ...
43
44
  api_version: APIVersion = ...
44
- cleanup_callbacks: list[Callable[[], None]] = ...
45
- disconnect_callbacks: set[Callable[[], None]] = ...
46
- state_subscriptions: dict[tuple[type[EntityState], int], Callable[[], None]] = ...
45
+ cleanup_callbacks: list[CALLBACK_TYPE] = ...
46
+ disconnect_callbacks: set[CALLBACK_TYPE] = ...
47
+ state_subscriptions: dict[tuple[type[EntityState], int], CALLBACK_TYPE] = ...
48
+ device_update_subscriptions: set[CALLBACK_TYPE] = ...
47
49
  loaded_platforms: set[Platform] = ...
48
50
  platform_load_lock: asyncio.Lock = ...
49
51
  _storage_contents: StoreData | None = ...
50
52
  _pending_storage: Callable[[], StoreData] | None = ...
51
- assist_pipeline_update_callbacks: list[Callable[[], None]] = ...
53
+ assist_pipeline_update_callbacks: list[CALLBACK_TYPE] = ...
52
54
  assist_pipeline_state: bool = ...
53
55
  entity_info_callbacks: dict[type[EntityInfo], list[Callable[[list[EntityInfo]], None]]] = ...
54
56
  entity_info_key_updated_callbacks: dict[tuple[type[EntityInfo], int], list[Callable[[EntityInfo], None]]] = ...
@@ -58,29 +60,28 @@ class RuntimeEntryData:
58
60
  @property
59
61
  def friendly_name(self) -> str: ...
60
62
  @property
61
- def signal_device_updated(self) -> str: ...
62
- @property
63
- def signal_static_info_updated(self) -> str: ...
63
+ def signal_static_info_updated(self) -> SignalType[list[EntityInfo]]: ...
64
64
  def async_register_static_info_callback(self, entity_info_type: type[EntityInfo], callback_: Callable[[list[EntityInfo]], None]) -> CALLBACK_TYPE: ...
65
65
  def _async_unsubscribe_register_static_info(self, callbacks: list[Callable[[list[EntityInfo]], None]], callback_: Callable[[list[EntityInfo]], None]) -> None: ...
66
- def _async_unsubscribe_static_key_remove(self, callbacks: list[Callable[[], Coroutine[Any, Any, None]]], callback_: Callable[[], Coroutine[Any, Any, None]]) -> None: ...
67
66
  def async_register_key_static_info_updated_callback(self, static_info: EntityInfo, callback_: Callable[[EntityInfo], None]) -> CALLBACK_TYPE: ...
68
67
  def _async_unsubscribe_static_key_info_updated(self, callbacks: list[Callable[[EntityInfo], None]], callback_: Callable[[EntityInfo], None]) -> None: ...
69
68
  def async_set_assist_pipeline_state(self, state: bool) -> None: ...
70
- def async_subscribe_assist_pipeline_update(self, update_callback: Callable[[], None]) -> Callable[[], None]: ...
71
- def _async_unsubscribe_assist_pipeline_update(self, update_callback: Callable[[], None]) -> None: ...
69
+ def async_subscribe_assist_pipeline_update(self, update_callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
70
+ def _async_unsubscribe_assist_pipeline_update(self, update_callback: CALLBACK_TYPE) -> None: ...
72
71
  def async_remove_entities(self, hass: HomeAssistant, static_infos: Iterable[EntityInfo], mac: str) -> None: ...
73
72
  def async_update_entity_infos(self, static_infos: Iterable[EntityInfo]) -> None: ...
74
73
  async def _ensure_platforms_loaded(self, hass: HomeAssistant, entry: ConfigEntry, platforms: set[Platform]) -> None: ...
75
74
  async def async_update_static_infos(self, hass: HomeAssistant, entry: ConfigEntry, infos: list[EntityInfo], mac: str) -> None: ...
76
- def async_subscribe_state_update(self, state_type: type[EntityState], state_key: int, entity_callback: Callable[[], None]) -> Callable[[], None]: ...
75
+ def async_subscribe_device_updated(self, callback_: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
76
+ def _async_unsubscribe_device_update(self, callback_: CALLBACK_TYPE) -> None: ...
77
+ def async_subscribe_state_update(self, state_type: type[EntityState], state_key: int, entity_callback: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
77
78
  def _async_unsubscribe_state_update(self, subscription_key: tuple[type[EntityState], int]) -> None: ...
78
79
  def async_update_state(self, state: EntityState) -> None: ...
79
- def async_update_device_state(self, hass: HomeAssistant) -> None: ...
80
+ def async_update_device_state(self) -> None: ...
80
81
  async def async_load_from_store(self) -> tuple[list[EntityInfo], list[UserService]]: ...
81
82
  def async_save_to_store(self) -> None: ...
82
83
  async def async_cleanup(self) -> None: ...
83
84
  async def async_update_listener(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
84
85
  def async_on_disconnect(self) -> None: ...
85
86
  def async_on_connect(self, device_info: DeviceInfo, api_version: APIVersion) -> None: ...
86
- def __init__(self, entry_id, title, client, store, state, stale_state, info, services, available, expected_disconnect, device_info, bluetooth_device, api_version, cleanup_callbacks, disconnect_callbacks, state_subscriptions, loaded_platforms, platform_load_lock, _storage_contents, _pending_storage, assist_pipeline_update_callbacks, assist_pipeline_state, entity_info_callbacks, entity_info_key_updated_callbacks, original_options) -> None: ...
87
+ def __init__(self, entry_id, title, client, store, state, stale_state, info, services, available, expected_disconnect, device_info, bluetooth_device, api_version, cleanup_callbacks, disconnect_callbacks, state_subscriptions, device_update_subscriptions, loaded_platforms, platform_load_lock, _storage_contents, _pending_storage, assist_pipeline_update_callbacks, assist_pipeline_state, entity_info_callbacks, entity_info_key_updated_callbacks, original_options) -> None: ...
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
2
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
3
  from _typeshed import Incomplete
4
4
  from aioesphomeapi import EntityInfo as EntityInfo, FanDirection, FanInfo, FanState
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
2
  from _typeshed import Incomplete
3
3
  from aioesphomeapi import EntityInfo as EntityInfo, LightColorCapability, LightInfo, LightState
4
4
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_EFFECT as ATTR_EFFECT, ATTR_FLASH as ATTR_FLASH, ATTR_RGBWW_COLOR as ATTR_RGBWW_COLOR, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ATTR_WHITE as ATTR_WHITE, ColorMode as ColorMode, FLASH_LONG as FLASH_LONG, FLASH_SHORT as FLASH_SHORT, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature
@@ -1,4 +1,4 @@
1
- from .entity import EsphomeEntity as EsphomeEntity, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
1
+ from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
2
  from _typeshed import Incomplete
3
3
  from aioesphomeapi import EntityInfo as EntityInfo, LockEntityState, LockInfo
4
4
  from homeassistant.components.lock import LockEntity as LockEntity, LockEntityFeature as LockEntityFeature