homeassistant-stubs 2024.10.4__py3-none-any.whl → 2024.11.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 (854) hide show
  1. homeassistant-stubs/auth/__init__.pyi +8 -5
  2. homeassistant-stubs/auth/mfa_modules/notify.pyi +1 -0
  3. homeassistant-stubs/auth/models.pyi +8 -5
  4. homeassistant-stubs/auth/permissions/types.pyi +7 -0
  5. homeassistant-stubs/auth/permissions/util.pyi +2 -0
  6. homeassistant-stubs/auth/providers/__init__.pyi +5 -4
  7. homeassistant-stubs/auth/providers/command_line.pyi +2 -2
  8. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -2
  9. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -3
  10. homeassistant-stubs/auth/providers/trusted_networks.pyi +5 -2
  11. homeassistant-stubs/bootstrap.pyi +1 -0
  12. homeassistant-stubs/components/abode/alarm_control_panel.pyi +2 -3
  13. homeassistant-stubs/components/accuweather/__init__.pyi +1 -9
  14. homeassistant-stubs/components/accuweather/coordinator.pyi +11 -2
  15. homeassistant-stubs/components/accuweather/diagnostics.pyi +1 -1
  16. homeassistant-stubs/components/accuweather/sensor.pyi +1 -2
  17. homeassistant-stubs/components/accuweather/system_health.pyi +1 -1
  18. homeassistant-stubs/components/accuweather/weather.pyi +1 -2
  19. homeassistant-stubs/components/acmeda/__init__.pyi +1 -0
  20. homeassistant-stubs/components/adguard/__init__.pyi +1 -0
  21. homeassistant-stubs/components/adguard/config_flow.pyi +1 -1
  22. homeassistant-stubs/components/aftership/__init__.pyi +2 -0
  23. homeassistant-stubs/components/airgradient/__init__.pyi +1 -0
  24. homeassistant-stubs/components/airgradient/update.pyi +0 -2
  25. homeassistant-stubs/components/airly/__init__.pyi +1 -0
  26. homeassistant-stubs/components/airnow/__init__.pyi +1 -0
  27. homeassistant-stubs/components/airthings/__init__.pyi +3 -0
  28. homeassistant-stubs/components/airthings_ble/__init__.pyi +2 -11
  29. homeassistant-stubs/components/airthings_ble/coordinator.pyi +21 -0
  30. homeassistant-stubs/components/airthings_ble/sensor.pyi +1 -1
  31. homeassistant-stubs/components/airtouch5/__init__.pyi +2 -1
  32. homeassistant-stubs/components/airvisual/__init__.pyi +1 -0
  33. homeassistant-stubs/components/airvisual/config_flow.pyi +1 -1
  34. homeassistant-stubs/components/airvisual_pro/__init__.pyi +1 -0
  35. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +2 -3
  36. homeassistant-stubs/components/airzone/__init__.pyi +1 -0
  37. homeassistant-stubs/components/airzone/switch.pyi +33 -0
  38. homeassistant-stubs/components/airzone_cloud/__init__.pyi +1 -0
  39. homeassistant-stubs/components/airzone_cloud/select.pyi +10 -2
  40. homeassistant-stubs/components/airzone_cloud/switch.pyi +33 -0
  41. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +13 -6
  42. homeassistant-stubs/components/alarm_control_panel/const.pyi +12 -0
  43. homeassistant-stubs/components/alarm_control_panel/device_condition.pyi +2 -2
  44. homeassistant-stubs/components/alarm_control_panel/device_trigger.pyi +2 -2
  45. homeassistant-stubs/components/alarm_control_panel/reproduce_state.pyi +2 -2
  46. homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
  47. homeassistant-stubs/components/alexa/handlers.pyi +2 -2
  48. homeassistant-stubs/components/amberelectric/__init__.pyi +1 -0
  49. homeassistant-stubs/components/ambient_network/__init__.pyi +1 -0
  50. homeassistant-stubs/components/ambient_station/__init__.pyi +1 -0
  51. homeassistant-stubs/components/analytics/__init__.pyi +2 -0
  52. homeassistant-stubs/components/analytics/analytics.pyi +1 -0
  53. homeassistant-stubs/components/analytics_insights/__init__.pyi +1 -0
  54. homeassistant-stubs/components/analytics_insights/config_flow.pyi +1 -1
  55. homeassistant-stubs/components/analytics_insights/const.pyi +1 -0
  56. homeassistant-stubs/components/analytics_insights/coordinator.pyi +8 -2
  57. homeassistant-stubs/components/analytics_insights/sensor.pyi +4 -0
  58. homeassistant-stubs/components/android_ip_webcam/__init__.pyi +3 -5
  59. homeassistant-stubs/components/android_ip_webcam/binary_sensor.pyi +3 -4
  60. homeassistant-stubs/components/android_ip_webcam/camera.pyi +2 -3
  61. homeassistant-stubs/components/android_ip_webcam/coordinator.pyi +3 -2
  62. homeassistant-stubs/components/android_ip_webcam/sensor.pyi +2 -4
  63. homeassistant-stubs/components/android_ip_webcam/switch.pyi +2 -4
  64. homeassistant-stubs/components/androidtv/__init__.pyi +3 -1
  65. homeassistant-stubs/components/androidtv/config_flow.pyi +2 -1
  66. homeassistant-stubs/components/androidtv/const.pyi +2 -1
  67. homeassistant-stubs/components/androidtv/entity.pyi +5 -2
  68. homeassistant-stubs/components/androidtv/media_player.pyi +5 -6
  69. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +5 -7
  70. homeassistant-stubs/components/anova/__init__.pyi +2 -1
  71. homeassistant-stubs/components/anova/config_flow.pyi +2 -1
  72. homeassistant-stubs/components/anova/models.pyi +1 -0
  73. homeassistant-stubs/components/anthemav/__init__.pyi +2 -0
  74. homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -1
  75. homeassistant-stubs/components/apcupsd/__init__.pyi +1 -0
  76. homeassistant-stubs/components/apple_tv/__init__.pyi +1 -0
  77. homeassistant-stubs/components/apple_tv/config_flow.pyi +5 -1
  78. homeassistant-stubs/components/apsystems/__init__.pyi +1 -0
  79. homeassistant-stubs/components/apsystems/sensor.pyi +2 -2
  80. homeassistant-stubs/components/aquostv/media_player.pyi +1 -1
  81. homeassistant-stubs/components/aranet/__init__.pyi +3 -3
  82. homeassistant-stubs/components/aranet/sensor.pyi +4 -4
  83. homeassistant-stubs/components/arcam_fmj/__init__.pyi +1 -0
  84. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -0
  85. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -1
  86. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +4 -6
  87. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +2 -4
  88. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +2 -3
  89. homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +2 -0
  90. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +2 -4
  91. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -1
  92. homeassistant-stubs/components/asuswrt/__init__.pyi +1 -0
  93. homeassistant-stubs/components/asuswrt/bridge.pyi +4 -2
  94. homeassistant-stubs/components/autarco/__init__.pyi +1 -0
  95. homeassistant-stubs/components/auth/__init__.pyi +5 -0
  96. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  97. homeassistant-stubs/components/auth/mfa_setup_flow.pyi +4 -2
  98. homeassistant-stubs/components/automation/__init__.pyi +0 -14
  99. homeassistant-stubs/components/awair/__init__.pyi +4 -6
  100. homeassistant-stubs/components/awair/config_flow.pyi +1 -0
  101. homeassistant-stubs/components/awair/coordinator.pyi +1 -0
  102. homeassistant-stubs/components/awair/sensor.pyi +2 -2
  103. homeassistant-stubs/components/axis/__init__.pyi +1 -0
  104. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  105. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  106. homeassistant-stubs/components/backup/const.pyi +3 -0
  107. homeassistant-stubs/components/backup/http.pyi +1 -1
  108. homeassistant-stubs/components/backup/manager.pyi +25 -11
  109. homeassistant-stubs/components/backup/websocket.pyi +2 -2
  110. homeassistant-stubs/components/baf/__init__.pyi +2 -0
  111. homeassistant-stubs/components/bang_olufsen/__init__.pyi +3 -2
  112. homeassistant-stubs/components/bang_olufsen/const.pyi +3 -1
  113. homeassistant-stubs/components/bang_olufsen/media_player.pyi +13 -5
  114. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -3
  115. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  116. homeassistant-stubs/components/blue_current/config_flow.pyi +1 -2
  117. homeassistant-stubs/components/blue_current/sensor.pyi +2 -3
  118. homeassistant-stubs/components/blueprint/__init__.pyi +2 -2
  119. homeassistant-stubs/components/bluesound/__init__.pyi +2 -1
  120. homeassistant-stubs/components/bluesound/const.pyi +0 -4
  121. homeassistant-stubs/components/bluesound/media_player.pyi +6 -14
  122. homeassistant-stubs/components/bluesound/services.pyi +21 -0
  123. homeassistant-stubs/components/bluetooth/active_update_coordinator.pyi +1 -1
  124. homeassistant-stubs/components/bluetooth/active_update_processor.pyi +1 -1
  125. homeassistant-stubs/components/bluetooth/match.pyi +1 -1
  126. homeassistant-stubs/components/bluetooth/models.pyi +4 -0
  127. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +4 -4
  128. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +1 -0
  129. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +3 -2
  130. homeassistant-stubs/components/bond/__init__.pyi +1 -0
  131. homeassistant-stubs/components/braviatv/config_flow.pyi +1 -2
  132. homeassistant-stubs/components/braviatv/coordinator.pyi +1 -1
  133. homeassistant-stubs/components/brother/__init__.pyi +1 -0
  134. homeassistant-stubs/components/brother/config_flow.pyi +2 -4
  135. homeassistant-stubs/components/bryant_evolution/__init__.pyi +2 -0
  136. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +1 -4
  137. homeassistant-stubs/components/bthome/config_flow.pyi +1 -1
  138. homeassistant-stubs/components/bthome/coordinator.pyi +1 -1
  139. homeassistant-stubs/components/bthome/types.pyi +2 -0
  140. homeassistant-stubs/components/button/__init__.pyi +0 -3
  141. homeassistant-stubs/components/calendar/trigger.pyi +3 -1
  142. homeassistant-stubs/components/cambridge_audio/__init__.pyi +14 -0
  143. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +14 -0
  144. homeassistant-stubs/components/cambridge_audio/const.pyi +9 -0
  145. homeassistant-stubs/components/cambridge_audio/diagnostics.pyi +5 -0
  146. homeassistant-stubs/components/cambridge_audio/entity.pyi +21 -0
  147. homeassistant-stubs/components/cambridge_audio/media_player.pyi +71 -0
  148. homeassistant-stubs/components/cambridge_audio/select.pyi +34 -0
  149. homeassistant-stubs/components/cambridge_audio/switch.pyi +30 -0
  150. homeassistant-stubs/components/camera/__init__.pyi +35 -22
  151. homeassistant-stubs/components/camera/const.pyi +1 -2
  152. homeassistant-stubs/components/camera/diagnostics.pyi +1 -1
  153. homeassistant-stubs/components/camera/helper.pyi +6 -0
  154. homeassistant-stubs/components/camera/webrtc.pyi +95 -0
  155. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -3
  156. homeassistant-stubs/components/canary/sensor.pyi +1 -0
  157. homeassistant-stubs/components/cert_expiry/__init__.pyi +1 -0
  158. homeassistant-stubs/components/climate/__init__.pyi +0 -24
  159. homeassistant-stubs/components/cloud/client.pyi +5 -1
  160. homeassistant-stubs/components/cloud/const.pyi +1 -0
  161. homeassistant-stubs/components/cloud/http_api.pyi +2 -2
  162. homeassistant-stubs/components/cloud/prefs.pyi +4 -2
  163. homeassistant-stubs/components/co2signal/__init__.pyi +1 -0
  164. homeassistant-stubs/components/co2signal/config_flow.pyi +1 -2
  165. homeassistant-stubs/components/config/automation.pyi +1 -1
  166. homeassistant-stubs/components/config/script.pyi +1 -1
  167. homeassistant-stubs/components/config/view.pyi +2 -2
  168. homeassistant-stubs/components/configurator/__init__.pyi +2 -0
  169. homeassistant-stubs/components/counter/__init__.pyi +1 -1
  170. homeassistant-stubs/components/cover/__init__.pyi +12 -8
  171. homeassistant-stubs/components/cover/device_condition.pyi +2 -2
  172. homeassistant-stubs/components/cover/device_trigger.pyi +2 -2
  173. homeassistant-stubs/components/cover/reproduce_state.pyi +2 -2
  174. homeassistant-stubs/components/date/__init__.pyi +0 -4
  175. homeassistant-stubs/components/datetime/__init__.pyi +0 -4
  176. homeassistant-stubs/components/deako/__init__.pyi +2 -0
  177. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -3
  178. homeassistant-stubs/components/deconz/binary_sensor.pyi +10 -1
  179. homeassistant-stubs/components/deconz/config_flow.pyi +1 -1
  180. homeassistant-stubs/components/deconz/device_trigger.pyi +4 -0
  181. homeassistant-stubs/components/deconz/entity.pyi +6 -2
  182. homeassistant-stubs/components/deconz/light.pyi +1 -1
  183. homeassistant-stubs/components/deconz/number.pyi +3 -1
  184. homeassistant-stubs/components/demo/alarm_control_panel.pyi +2 -1
  185. homeassistant-stubs/components/demo/update.pyi +5 -2
  186. homeassistant-stubs/components/derivative/sensor.pyi +1 -4
  187. homeassistant-stubs/components/device_automation/__init__.pyi +2 -0
  188. homeassistant-stubs/components/device_tracker/config_entry.pyi +0 -10
  189. homeassistant-stubs/components/device_tracker/legacy.pyi +0 -2
  190. homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -0
  191. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  192. homeassistant-stubs/components/devolo_home_network/__init__.pyi +4 -2
  193. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +2 -2
  194. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +4 -1
  195. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +13 -0
  196. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +4 -3
  197. homeassistant-stubs/components/devolo_home_network/entity.pyi +7 -3
  198. homeassistant-stubs/components/devolo_home_network/image.pyi +2 -2
  199. homeassistant-stubs/components/devolo_home_network/sensor.pyi +9 -10
  200. homeassistant-stubs/components/devolo_home_network/switch.pyi +6 -6
  201. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -3
  202. homeassistant-stubs/components/diagnostics/util.pyi +1 -1
  203. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  204. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -2
  205. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
  206. homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -1
  207. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -3
  208. homeassistant-stubs/components/doorbird/config_flow.pyi +1 -1
  209. homeassistant-stubs/components/doorbird/device.pyi +0 -6
  210. homeassistant-stubs/components/doorbird/models.pyi +1 -0
  211. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +1 -2
  212. homeassistant-stubs/components/dsmr/__init__.pyi +1 -0
  213. homeassistant-stubs/components/duotecno/entity.pyi +1 -1
  214. homeassistant-stubs/components/ecovacs/__init__.pyi +1 -0
  215. homeassistant-stubs/components/ecowitt/__init__.pyi +2 -0
  216. homeassistant-stubs/components/efergy/__init__.pyi +2 -0
  217. homeassistant-stubs/components/electric_kiwi/config_flow.pyi +1 -4
  218. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  219. homeassistant-stubs/components/elgato/__init__.pyi +1 -0
  220. homeassistant-stubs/components/elkm1/__init__.pyi +1 -0
  221. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -3
  222. homeassistant-stubs/components/elkm1/config_flow.pyi +3 -1
  223. homeassistant-stubs/components/energy/data.pyi +1 -0
  224. homeassistant-stubs/components/energy/types.pyi +2 -0
  225. homeassistant-stubs/components/energy/websocket_api.pyi +3 -0
  226. homeassistant-stubs/components/enigma2/__init__.pyi +1 -0
  227. homeassistant-stubs/components/enigma2/config_flow.pyi +0 -2
  228. homeassistant-stubs/components/enigma2/media_player.pyi +1 -6
  229. homeassistant-stubs/components/enphase_envoy/__init__.pyi +3 -1
  230. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +4 -6
  231. homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
  232. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +1 -0
  233. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +5 -6
  234. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -1
  235. homeassistant-stubs/components/esphome/config_flow.pyi +6 -5
  236. homeassistant-stubs/components/esphome/entity.pyi +3 -3
  237. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  238. homeassistant-stubs/components/esphome/enum_mapper.pyi +1 -1
  239. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +7 -3
  240. homeassistant-stubs/components/esphome/update.pyi +3 -1
  241. homeassistant-stubs/components/event/__init__.pyi +0 -3
  242. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  243. homeassistant-stubs/components/evohome/climate.pyi +2 -3
  244. homeassistant-stubs/components/evohome/entity.pyi +1 -1
  245. homeassistant-stubs/components/fan/__init__.pyi +0 -8
  246. homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
  247. homeassistant-stubs/components/feedreader/__init__.pyi +1 -0
  248. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -3
  249. homeassistant-stubs/components/feedreader/event.pyi +1 -0
  250. homeassistant-stubs/components/filesize/__init__.pyi +1 -0
  251. homeassistant-stubs/components/fitbit/api.pyi +1 -1
  252. homeassistant-stubs/components/fitbit/config_flow.pyi +1 -2
  253. homeassistant-stubs/components/flexit_bacnet/sensor.pyi +2 -1
  254. homeassistant-stubs/components/flux_led/config_flow.pyi +3 -1
  255. homeassistant-stubs/components/forecast_solar/__init__.pyi +1 -0
  256. homeassistant-stubs/components/fritz/config_flow.pyi +5 -5
  257. homeassistant-stubs/components/fritz/update.pyi +1 -1
  258. homeassistant-stubs/components/fritzbox/climate.pyi +1 -0
  259. homeassistant-stubs/components/fritzbox/config_flow.pyi +5 -6
  260. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -0
  261. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +2 -1
  262. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +5 -0
  263. homeassistant-stubs/components/fronius/__init__.pyi +2 -1
  264. homeassistant-stubs/components/fronius/config_flow.pyi +1 -2
  265. homeassistant-stubs/components/fronius/const.pyi +1 -0
  266. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  267. homeassistant-stubs/components/frontend/__init__.pyi +0 -3
  268. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +1 -0
  269. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +1 -2
  270. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -0
  271. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  272. homeassistant-stubs/components/fyta/config_flow.pyi +0 -2
  273. homeassistant-stubs/components/fyta/coordinator.pyi +6 -1
  274. homeassistant-stubs/components/geo_location/__init__.pyi +0 -5
  275. homeassistant-stubs/components/gios/__init__.pyi +1 -0
  276. homeassistant-stubs/components/glances/__init__.pyi +1 -0
  277. homeassistant-stubs/components/glances/config_flow.pyi +1 -2
  278. homeassistant-stubs/components/go2rtc/__init__.pyi +40 -0
  279. homeassistant-stubs/components/go2rtc/config_flow.pyi +7 -0
  280. homeassistant-stubs/components/go2rtc/const.pyi +2 -0
  281. homeassistant-stubs/components/go2rtc/server.pyi +22 -0
  282. homeassistant-stubs/components/goalzero/config_flow.pyi +1 -2
  283. homeassistant-stubs/components/goalzero/coordinator.pyi +1 -0
  284. homeassistant-stubs/components/google/__init__.pyi +1 -1
  285. homeassistant-stubs/components/google/api.pyi +2 -2
  286. homeassistant-stubs/components/google/calendar.pyi +6 -5
  287. homeassistant-stubs/components/google/config_flow.pyi +2 -3
  288. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +1 -2
  289. homeassistant-stubs/components/google_photos/config_flow.pyi +2 -3
  290. homeassistant-stubs/components/google_photos/types.pyi +2 -0
  291. homeassistant-stubs/components/google_sheets/__init__.pyi +1 -0
  292. homeassistant-stubs/components/google_sheets/config_flow.pyi +1 -3
  293. homeassistant-stubs/components/govee_ble/__init__.pyi +11 -0
  294. homeassistant-stubs/components/govee_ble/binary_sensor.pyi +22 -0
  295. homeassistant-stubs/components/govee_ble/config_flow.pyi +16 -0
  296. homeassistant-stubs/components/govee_ble/const.pyi +2 -0
  297. homeassistant-stubs/components/govee_ble/coordinator.pyi +24 -0
  298. homeassistant-stubs/components/govee_ble/device.pyi +4 -0
  299. homeassistant-stubs/components/govee_ble/event.pyi +27 -0
  300. homeassistant-stubs/components/govee_ble/sensor.pyi +25 -0
  301. homeassistant-stubs/components/gpsd/__init__.pyi +2 -0
  302. homeassistant-stubs/components/greeneye_monitor/sensor.pyi +1 -0
  303. homeassistant-stubs/components/group/cover.pyi +2 -2
  304. homeassistant-stubs/components/group/registry.pyi +2 -1
  305. homeassistant-stubs/components/group/sensor.pyi +10 -11
  306. homeassistant-stubs/components/guardian/config_flow.pyi +0 -1
  307. homeassistant-stubs/components/guardian/util.pyi +1 -1
  308. homeassistant-stubs/components/hardkernel/__init__.pyi +2 -1
  309. homeassistant-stubs/components/here_travel_time/config_flow.pyi +4 -5
  310. homeassistant-stubs/components/history_stats/__init__.pyi +1 -0
  311. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -1
  312. homeassistant-stubs/components/history_stats/sensor.pyi +2 -1
  313. homeassistant-stubs/components/holiday/config_flow.pyi +1 -3
  314. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -0
  315. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -1
  316. homeassistant-stubs/components/homeassistant/triggers/time.pyi +7 -1
  317. homeassistant-stubs/components/homeassistant_alerts/coordinator.pyi +2 -1
  318. homeassistant-stubs/components/homeassistant_green/__init__.pyi +2 -1
  319. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +2 -1
  320. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
  321. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +2 -1
  322. homeassistant-stubs/components/homeassistant_hardware/util.pyi +2 -1
  323. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +3 -3
  324. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +2 -1
  325. homeassistant-stubs/components/homekit/__init__.pyi +0 -1
  326. homeassistant-stubs/components/homekit/models.pyi +1 -0
  327. homeassistant-stubs/components/homekit/type_covers.pyi +2 -2
  328. homeassistant-stubs/components/homekit/type_security_systems.pyi +2 -2
  329. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +4 -4
  330. homeassistant-stubs/components/homekit_controller/config_flow.pyi +4 -1
  331. homeassistant-stubs/components/homekit_controller/utils.pyi +1 -0
  332. homeassistant-stubs/components/homewizard/__init__.pyi +1 -0
  333. homeassistant-stubs/components/homewizard/config_flow.pyi +1 -2
  334. homeassistant-stubs/components/homewizard/helpers.pyi +1 -1
  335. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  336. homeassistant-stubs/components/homeworks/config_flow.pyi +2 -5
  337. homeassistant-stubs/components/http/ban.pyi +2 -1
  338. homeassistant-stubs/components/http/data_validator.pyi +1 -1
  339. homeassistant-stubs/components/http/decorators.pyi +7 -4
  340. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -0
  341. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -0
  342. homeassistant-stubs/components/humidifier/__init__.pyi +0 -10
  343. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  344. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -1
  345. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -3
  346. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -3
  347. homeassistant-stubs/components/husqvarna_automower/entity.pyi +5 -4
  348. homeassistant-stubs/components/husqvarna_automower/number.pyi +8 -8
  349. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +24 -3
  350. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -5
  351. homeassistant-stubs/components/hydrawise/config_flow.pyi +1 -4
  352. homeassistant-stubs/components/hyperion/config_flow.pyi +1 -0
  353. homeassistant-stubs/components/ibeacon/__init__.pyi +1 -0
  354. homeassistant-stubs/components/image/__init__.pyi +7 -6
  355. homeassistant-stubs/components/imap/__init__.pyi +1 -0
  356. homeassistant-stubs/components/imap/config_flow.pyi +1 -2
  357. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -0
  358. homeassistant-stubs/components/intent/timers.pyi +1 -2
  359. homeassistant-stubs/components/iotty/__init__.pyi +1 -0
  360. homeassistant-stubs/components/iotty/coordinator.pyi +1 -1
  361. homeassistant-stubs/components/ipp/__init__.pyi +1 -0
  362. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +1 -0
  363. homeassistant-stubs/components/jellyfin/__init__.pyi +2 -2
  364. homeassistant-stubs/components/jellyfin/config_flow.pyi +0 -1
  365. homeassistant-stubs/components/jellyfin/coordinator.pyi +8 -15
  366. homeassistant-stubs/components/jellyfin/entity.pyi +22 -7
  367. homeassistant-stubs/components/jellyfin/media_player.pyi +6 -18
  368. homeassistant-stubs/components/jellyfin/remote.pyi +19 -0
  369. homeassistant-stubs/components/jellyfin/sensor.pyi +10 -8
  370. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -0
  371. homeassistant-stubs/components/jvc_projector/__init__.pyi +1 -0
  372. homeassistant-stubs/components/jvc_projector/config_flow.pyi +1 -2
  373. homeassistant-stubs/components/knocki/__init__.pyi +1 -0
  374. homeassistant-stubs/components/knx/__init__.pyi +0 -1
  375. homeassistant-stubs/components/knx/climate.pyi +2 -0
  376. homeassistant-stubs/components/knx/const.pyi +4 -0
  377. homeassistant-stubs/components/knx/notify.pyi +3 -15
  378. homeassistant-stubs/components/knx/schema.pyi +1 -0
  379. homeassistant-stubs/components/knx/storage/config_store.pyi +2 -2
  380. homeassistant-stubs/components/knx/websocket.pyi +4 -1
  381. homeassistant-stubs/components/kraken/const.pyi +1 -0
  382. homeassistant-stubs/components/lacrosse_view/config_flow.pyi +1 -2
  383. homeassistant-stubs/components/lamarzocco/__init__.pyi +1 -1
  384. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  385. homeassistant-stubs/components/lamarzocco/button.pyi +3 -1
  386. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -2
  387. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -5
  388. homeassistant-stubs/components/lamarzocco/coordinator.pyi +5 -4
  389. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  390. homeassistant-stubs/components/lamarzocco/number.pyi +3 -2
  391. homeassistant-stubs/components/lamarzocco/select.pyi +5 -1
  392. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  393. homeassistant-stubs/components/lamarzocco/switch.pyi +3 -2
  394. homeassistant-stubs/components/lamarzocco/update.pyi +3 -2
  395. homeassistant-stubs/components/lametric/config_flow.pyi +1 -2
  396. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  397. homeassistant-stubs/components/lawn_mower/__init__.pyi +0 -3
  398. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  399. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -0
  400. homeassistant-stubs/components/lcn/config_flow.pyi +2 -5
  401. homeassistant-stubs/components/lcn/const.pyi +1 -0
  402. homeassistant-stubs/components/lcn/helpers.pyi +4 -0
  403. homeassistant-stubs/components/lcn/sensor.pyi +4 -1
  404. homeassistant-stubs/components/lcn/switch.pyi +24 -1
  405. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  406. homeassistant-stubs/components/lektrico/__init__.pyi +1 -0
  407. homeassistant-stubs/components/lektrico/switch.pyi +31 -0
  408. homeassistant-stubs/components/lidarr/__init__.pyi +4 -2
  409. homeassistant-stubs/components/lidarr/config_flow.pyi +1 -5
  410. homeassistant-stubs/components/lidarr/coordinator.pyi +4 -1
  411. homeassistant-stubs/components/lifx/config_flow.pyi +3 -1
  412. homeassistant-stubs/components/lifx/coordinator.pyi +0 -6
  413. homeassistant-stubs/components/light/__init__.pyi +0 -15
  414. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +1 -2
  415. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +1 -1
  416. homeassistant-stubs/components/linkplay/__init__.pyi +2 -1
  417. homeassistant-stubs/components/linkplay/const.pyi +4 -0
  418. homeassistant-stubs/components/linkplay/media_player.pyi +12 -4
  419. homeassistant-stubs/components/litterrobot/__init__.pyi +1 -0
  420. homeassistant-stubs/components/litterrobot/vacuum.pyi +0 -1
  421. homeassistant-stubs/components/local_todo/__init__.pyi +1 -0
  422. homeassistant-stubs/components/lock/__init__.pyi +0 -10
  423. homeassistant-stubs/components/logbook/models.pyi +0 -7
  424. homeassistant-stubs/components/lookin/coordinator.pyi +1 -1
  425. homeassistant-stubs/components/madvr/__init__.pyi +1 -0
  426. homeassistant-stubs/components/madvr/config_flow.pyi +2 -5
  427. homeassistant-stubs/components/manual/alarm_control_panel.pyi +19 -10
  428. homeassistant-stubs/components/mastodon/__init__.pyi +1 -0
  429. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -0
  430. homeassistant-stubs/components/matter/api.pyi +1 -1
  431. homeassistant-stubs/components/matter/climate.pyi +1 -0
  432. homeassistant-stubs/components/matter/config_flow.pyi +3 -1
  433. homeassistant-stubs/components/matter/entity.pyi +2 -2
  434. homeassistant-stubs/components/matter/fan.pyi +1 -0
  435. homeassistant-stubs/components/matter/light.pyi +1 -0
  436. homeassistant-stubs/components/matter/lock.pyi +1 -0
  437. homeassistant-stubs/components/matter/models.pyi +2 -0
  438. homeassistant-stubs/components/matter/select.pyi +2 -0
  439. homeassistant-stubs/components/matter/switch.pyi +1 -0
  440. homeassistant-stubs/components/matter/update.pyi +1 -0
  441. homeassistant-stubs/components/matter/vacuum.pyi +47 -0
  442. homeassistant-stubs/components/matter/valve.pyi +1 -0
  443. homeassistant-stubs/components/media_player/__init__.pyi +0 -33
  444. homeassistant-stubs/components/mikrotik/__init__.pyi +1 -0
  445. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -1
  446. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  447. homeassistant-stubs/components/modbus/const.pyi +0 -2
  448. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  449. homeassistant-stubs/components/modbus/modbus.pyi +1 -2
  450. homeassistant-stubs/components/modbus/validators.pyi +1 -1
  451. homeassistant-stubs/components/mold_indicator/config_flow.pyi +9 -0
  452. homeassistant-stubs/components/mold_indicator/sensor.pyi +6 -2
  453. homeassistant-stubs/components/monzo/config_flow.pyi +1 -2
  454. homeassistant-stubs/components/mopeka/__init__.pyi +1 -0
  455. homeassistant-stubs/components/mqtt/__init__.pyi +2 -1
  456. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +3 -3
  457. homeassistant-stubs/components/mqtt/client.pyi +4 -0
  458. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -2
  459. homeassistant-stubs/components/mqtt/const.pyi +3 -1
  460. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  461. homeassistant-stubs/components/mqtt/discovery.pyi +26 -9
  462. homeassistant-stubs/components/mqtt/entity.pyi +5 -2
  463. homeassistant-stubs/components/mqtt/models.pyi +11 -0
  464. homeassistant-stubs/components/mqtt/schemas.pyi +15 -7
  465. homeassistant-stubs/components/mqtt/update.pyi +7 -11
  466. homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
  467. homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
  468. homeassistant-stubs/components/music_assistant/const.pyi +12 -0
  469. homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
  470. homeassistant-stubs/components/music_assistant/media_player.pyi +91 -0
  471. homeassistant-stubs/components/mysensors/const.pyi +6 -1
  472. homeassistant-stubs/components/myuplink/__init__.pyi +1 -0
  473. homeassistant-stubs/components/myuplink/config_flow.pyi +1 -2
  474. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  475. homeassistant-stubs/components/nam/__init__.pyi +1 -0
  476. homeassistant-stubs/components/nam/config_flow.pyi +4 -7
  477. homeassistant-stubs/components/nanoleaf/__init__.pyi +1 -0
  478. homeassistant-stubs/components/nanoleaf/config_flow.pyi +1 -2
  479. homeassistant-stubs/components/nest/__init__.pyi +1 -1
  480. homeassistant-stubs/components/nest/api.pyi +5 -3
  481. homeassistant-stubs/components/nest/camera.pyi +12 -6
  482. homeassistant-stubs/components/nest/config_flow.pyi +10 -4
  483. homeassistant-stubs/components/nest/const.pyi +2 -1
  484. homeassistant-stubs/components/netatmo/climate.pyi +1 -0
  485. homeassistant-stubs/components/network/websocket.pyi +2 -0
  486. homeassistant-stubs/components/nextdns/__init__.pyi +1 -0
  487. homeassistant-stubs/components/nextdns/config_flow.pyi +1 -2
  488. homeassistant-stubs/components/notify/__init__.pyi +0 -2
  489. homeassistant-stubs/components/notion/config_flow.pyi +1 -3
  490. homeassistant-stubs/components/number/__init__.pyi +0 -8
  491. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  492. homeassistant-stubs/components/onboarding/views.pyi +1 -0
  493. homeassistant-stubs/components/oncue/config_flow.pyi +1 -3
  494. homeassistant-stubs/components/oncue/types.pyi +3 -0
  495. homeassistant-stubs/components/onewire/__init__.pyi +1 -0
  496. homeassistant-stubs/components/onkyo/__init__.pyi +25 -0
  497. homeassistant-stubs/components/onkyo/config_flow.pyi +30 -0
  498. homeassistant-stubs/components/onkyo/const.pyi +68 -0
  499. homeassistant-stubs/components/onkyo/media_player.pyi +22 -25
  500. homeassistant-stubs/components/onkyo/receiver.pyi +23 -3
  501. homeassistant-stubs/components/onkyo/services.pyi +14 -0
  502. homeassistant-stubs/components/openai_conversation/__init__.pyi +19 -0
  503. homeassistant-stubs/components/openai_conversation/config_flow.pyi +30 -0
  504. homeassistant-stubs/components/openai_conversation/const.pyi +14 -0
  505. homeassistant-stubs/components/openai_conversation/conversation.pyi +36 -0
  506. homeassistant-stubs/components/openexchangerates/config_flow.pyi +1 -2
  507. homeassistant-stubs/components/oralb/__init__.pyi +1 -0
  508. homeassistant-stubs/components/otbr/__init__.pyi +1 -0
  509. homeassistant-stubs/components/otbr/config_flow.pyi +2 -1
  510. homeassistant-stubs/components/otbr/silabs_multiprotocol.pyi +1 -1
  511. homeassistant-stubs/components/otbr/util.pyi +1 -1
  512. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +12 -12
  513. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +0 -3
  514. homeassistant-stubs/components/overkiz/config_flow.pyi +1 -2
  515. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -2
  516. homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -2
  517. homeassistant-stubs/components/p1_monitor/coordinator.pyi +1 -1
  518. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -1
  519. homeassistant-stubs/components/panel_custom/__init__.pyi +28 -0
  520. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -0
  521. homeassistant-stubs/components/pi_hole/update.pyi +1 -1
  522. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  523. homeassistant-stubs/components/plugwise/__init__.pyi +1 -0
  524. homeassistant-stubs/components/plugwise/config_flow.pyi +8 -6
  525. homeassistant-stubs/components/plugwise/const.pyi +4 -1
  526. homeassistant-stubs/components/plugwise/util.pyi +1 -1
  527. homeassistant-stubs/components/powerwall/config_flow.pyi +0 -1
  528. homeassistant-stubs/components/powerwall/models.pyi +1 -0
  529. homeassistant-stubs/components/private_ble_device/coordinator.pyi +3 -0
  530. homeassistant-stubs/components/prometheus/__init__.pyi +7 -4
  531. homeassistant-stubs/components/proximity/coordinator.pyi +1 -0
  532. homeassistant-stubs/components/purpleair/config_flow.pyi +0 -1
  533. homeassistant-stubs/components/pvoutput/config_flow.pyi +1 -2
  534. homeassistant-stubs/components/qnap_qsw/sensor.pyi +8 -2
  535. homeassistant-stubs/components/radarr/__init__.pyi +1 -0
  536. homeassistant-stubs/components/radarr/config_flow.pyi +1 -3
  537. homeassistant-stubs/components/radio_browser/__init__.pyi +10 -0
  538. homeassistant-stubs/components/radio_browser/config_flow.pyi +8 -0
  539. homeassistant-stubs/components/radio_browser/const.pyi +5 -0
  540. homeassistant-stubs/components/radio_browser/media_source.pyi +28 -0
  541. homeassistant-stubs/components/rainforest_raven/__init__.pyi +3 -5
  542. homeassistant-stubs/components/rainforest_raven/coordinator.pyi +3 -12
  543. homeassistant-stubs/components/rainforest_raven/diagnostics.pyi +2 -4
  544. homeassistant-stubs/components/rainforest_raven/sensor.pyi +4 -5
  545. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  546. homeassistant-stubs/components/rainmachine/switch.pyi +1 -1
  547. homeassistant-stubs/components/rainmachine/update.pyi +7 -1
  548. homeassistant-stubs/components/raspberry_pi/__init__.pyi +2 -1
  549. homeassistant-stubs/components/recorder/core.pyi +2 -6
  550. homeassistant-stubs/components/recorder/migration.pyi +36 -16
  551. homeassistant-stubs/components/recorder/models/state.pyi +0 -7
  552. homeassistant-stubs/components/recorder/queries.pyi +1 -0
  553. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +2 -2
  554. homeassistant-stubs/components/recorder/util.pyi +10 -5
  555. homeassistant-stubs/components/remote/__init__.pyi +0 -4
  556. homeassistant-stubs/components/renault/__init__.pyi +1 -0
  557. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -1
  558. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  559. homeassistant-stubs/components/rfxtrx/cover.pyi +1 -2
  560. homeassistant-stubs/components/rfxtrx/entity.pyi +1 -1
  561. homeassistant-stubs/components/ring/__init__.pyi +1 -0
  562. homeassistant-stubs/components/ring/config_flow.pyi +5 -2
  563. homeassistant-stubs/components/ring/coordinator.pyi +1 -1
  564. homeassistant-stubs/components/ring/entity.pyi +2 -2
  565. homeassistant-stubs/components/roborock/__init__.pyi +1 -0
  566. homeassistant-stubs/components/roborock/config_flow.pyi +1 -2
  567. homeassistant-stubs/components/roborock/coordinator.pyi +0 -5
  568. homeassistant-stubs/components/roku/browse_media.pyi +2 -0
  569. homeassistant-stubs/components/roku/helpers.pyi +5 -2
  570. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -3
  571. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +1 -1
  572. homeassistant-stubs/components/samsungtv/__init__.pyi +2 -2
  573. homeassistant-stubs/components/samsungtv/bridge.pyi +1 -1
  574. homeassistant-stubs/components/samsungtv/config_flow.pyi +2 -2
  575. homeassistant-stubs/components/scrape/__init__.pyi +1 -0
  576. homeassistant-stubs/components/scrape/coordinator.pyi +2 -1
  577. homeassistant-stubs/components/script/__init__.pyi +3 -18
  578. homeassistant-stubs/components/select/__init__.pyi +0 -3
  579. homeassistant-stubs/components/sensibo/__init__.pyi +1 -0
  580. homeassistant-stubs/components/sensibo/config_flow.pyi +5 -2
  581. homeassistant-stubs/components/sensibo/entity.pyi +1 -1
  582. homeassistant-stubs/components/sensibo/update.pyi +1 -1
  583. homeassistant-stubs/components/sensor/__init__.pyi +0 -9
  584. homeassistant-stubs/components/sensor/websocket_api.pyi +3 -0
  585. homeassistant-stubs/components/sensoterra/__init__.pyi +1 -0
  586. homeassistant-stubs/components/senz/__init__.pyi +2 -0
  587. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +2 -2
  588. homeassistant-stubs/components/sfr_box/button.pyi +1 -1
  589. homeassistant-stubs/components/sfr_box/config_flow.pyi +1 -2
  590. homeassistant-stubs/components/sfr_box/coordinator.pyi +1 -1
  591. homeassistant-stubs/components/sfr_box/sensor.pyi +2 -2
  592. homeassistant-stubs/components/shell_command/__init__.pyi +13 -0
  593. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  594. homeassistant-stubs/components/shelly/button.pyi +1 -1
  595. homeassistant-stubs/components/shelly/config_flow.pyi +1 -3
  596. homeassistant-stubs/components/shelly/const.pyi +1 -1
  597. homeassistant-stubs/components/shelly/coordinator.pyi +2 -4
  598. homeassistant-stubs/components/shelly/light.pyi +13 -2
  599. homeassistant-stubs/components/shelly/number.pyi +1 -1
  600. homeassistant-stubs/components/shelly/select.pyi +1 -1
  601. homeassistant-stubs/components/shelly/sensor.pyi +1 -1
  602. homeassistant-stubs/components/shelly/switch.pyi +10 -1
  603. homeassistant-stubs/components/shelly/text.pyi +1 -1
  604. homeassistant-stubs/components/shelly/update.pyi +2 -2
  605. homeassistant-stubs/components/shelly/utils.pyi +3 -2
  606. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -3
  607. homeassistant-stubs/components/simplisafe/typing.pyi +4 -0
  608. homeassistant-stubs/components/siren/__init__.pyi +0 -3
  609. homeassistant-stubs/components/sleepiq/config_flow.pyi +1 -3
  610. homeassistant-stubs/components/sleepiq/entity.pyi +3 -2
  611. homeassistant-stubs/components/smhi/config_flow.pyi +1 -3
  612. homeassistant-stubs/components/smlight/__init__.pyi +1 -0
  613. homeassistant-stubs/components/smlight/config_flow.pyi +0 -2
  614. homeassistant-stubs/components/smlight/coordinator.pyi +1 -1
  615. homeassistant-stubs/components/smlight/update.pyi +4 -2
  616. homeassistant-stubs/components/solarlog/__init__.pyi +1 -0
  617. homeassistant-stubs/components/solarlog/config_flow.pyi +1 -4
  618. homeassistant-stubs/components/solarlog/coordinator.pyi +6 -0
  619. homeassistant-stubs/components/sonarr/config_flow.pyi +1 -4
  620. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +1 -0
  621. homeassistant-stubs/components/spotify/__init__.pyi +5 -0
  622. homeassistant-stubs/components/spotify/application_credentials.pyi +4 -0
  623. homeassistant-stubs/components/spotify/browse_media.pyi +49 -0
  624. homeassistant-stubs/components/spotify/config_flow.pyi +19 -0
  625. homeassistant-stubs/components/spotify/const.pyi +9 -0
  626. homeassistant-stubs/components/spotify/coordinator.pyi +34 -0
  627. homeassistant-stubs/components/spotify/diagnostics.pyi +5 -0
  628. homeassistant-stubs/components/spotify/entity.pyi +10 -0
  629. homeassistant-stubs/components/spotify/media_player.pyi +80 -0
  630. homeassistant-stubs/components/spotify/models.pyi +12 -0
  631. homeassistant-stubs/components/spotify/sensor.pyi +28 -0
  632. homeassistant-stubs/components/spotify/system_health.pyi +6 -0
  633. homeassistant-stubs/components/spotify/util.pyi +7 -0
  634. homeassistant-stubs/components/squeezebox/__init__.pyi +6 -3
  635. homeassistant-stubs/components/squeezebox/const.pyi +5 -0
  636. homeassistant-stubs/components/squeezebox/coordinator.pyi +15 -3
  637. homeassistant-stubs/components/squeezebox/media_player.pyi +12 -13
  638. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  639. homeassistant-stubs/components/statistics/config_flow.pyi +8 -2
  640. homeassistant-stubs/components/statistics/sensor.pyi +20 -22
  641. homeassistant-stubs/components/steamist/config_flow.pyi +3 -1
  642. homeassistant-stubs/components/sun/entity.pyi +1 -0
  643. homeassistant-stubs/components/surepetcare/config_flow.pyi +1 -2
  644. homeassistant-stubs/components/switch/__init__.pyi +0 -2
  645. homeassistant-stubs/components/switch_as_x/__init__.pyi +3 -0
  646. homeassistant-stubs/components/switch_as_x/config_flow.pyi +18 -0
  647. homeassistant-stubs/components/switch_as_x/const.pyi +5 -0
  648. homeassistant-stubs/components/switch_as_x/cover.pyi +18 -0
  649. homeassistant-stubs/components/switch_as_x/entity.pyi +35 -0
  650. homeassistant-stubs/components/switch_as_x/fan.pyi +17 -0
  651. homeassistant-stubs/components/switch_as_x/light.pyi +13 -0
  652. homeassistant-stubs/components/switch_as_x/lock.pyi +17 -0
  653. homeassistant-stubs/components/switch_as_x/siren.pyi +12 -0
  654. homeassistant-stubs/components/switch_as_x/valve.pyi +19 -0
  655. homeassistant-stubs/components/switchbee/entity.pyi +2 -2
  656. homeassistant-stubs/components/switchbee/switch.pyi +2 -1
  657. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  658. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -0
  659. homeassistant-stubs/components/switchbot_cloud/lock.pyi +18 -0
  660. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -0
  661. homeassistant-stubs/components/switcher_kis/button.pyi +2 -5
  662. homeassistant-stubs/components/switcher_kis/climate.pyi +2 -5
  663. homeassistant-stubs/components/switcher_kis/config_flow.pyi +1 -2
  664. homeassistant-stubs/components/switcher_kis/coordinator.pyi +1 -1
  665. homeassistant-stubs/components/switcher_kis/cover.pyi +16 -9
  666. homeassistant-stubs/components/switcher_kis/entity.pyi +9 -0
  667. homeassistant-stubs/components/switcher_kis/light.pyi +44 -0
  668. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -5
  669. homeassistant-stubs/components/switcher_kis/switch.pyi +2 -5
  670. homeassistant-stubs/components/synology_dsm/coordinator.pyi +2 -2
  671. homeassistant-stubs/components/synology_dsm/entity.pyi +2 -1
  672. homeassistant-stubs/components/synology_dsm/update.pyi +1 -1
  673. homeassistant-stubs/components/system_log/__init__.pyi +1 -0
  674. homeassistant-stubs/components/systemmonitor/__init__.pyi +1 -0
  675. homeassistant-stubs/components/tailscale/config_flow.pyi +1 -2
  676. homeassistant-stubs/components/tailwind/config_flow.pyi +1 -2
  677. homeassistant-stubs/components/tailwind/typing.pyi +2 -0
  678. homeassistant-stubs/components/tautulli/__init__.pyi +1 -0
  679. homeassistant-stubs/components/technove/helpers.pyi +1 -1
  680. homeassistant-stubs/components/tedee/__init__.pyi +1 -1
  681. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  682. homeassistant-stubs/components/tedee/config_flow.pyi +2 -5
  683. homeassistant-stubs/components/tedee/coordinator.pyi +5 -5
  684. homeassistant-stubs/components/tedee/lock.pyi +2 -2
  685. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  686. homeassistant-stubs/components/text/__init__.pyi +0 -6
  687. homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +1 -2
  688. homeassistant-stubs/components/thethingsnetwork/sensor.pyi +2 -1
  689. homeassistant-stubs/components/threshold/binary_sensor.pyi +1 -3
  690. homeassistant-stubs/components/tibber/sensor.pyi +1 -0
  691. homeassistant-stubs/components/tile/device_tracker.pyi +3 -6
  692. homeassistant-stubs/components/time/__init__.pyi +0 -4
  693. homeassistant-stubs/components/timer/__init__.pyi +1 -1
  694. homeassistant-stubs/components/tod/binary_sensor.pyi +2 -1
  695. homeassistant-stubs/components/todo/__init__.pyi +0 -2
  696. homeassistant-stubs/components/tplink/__init__.pyi +1 -0
  697. homeassistant-stubs/components/tplink/button.pyi +1 -1
  698. homeassistant-stubs/components/tplink/config_flow.pyi +5 -3
  699. homeassistant-stubs/components/tplink/entity.pyi +4 -4
  700. homeassistant-stubs/components/tplink_omada/__init__.pyi +4 -3
  701. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +3 -5
  702. homeassistant-stubs/components/tplink_omada/const.pyi +11 -0
  703. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  704. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +3 -4
  705. homeassistant-stubs/components/tplink_omada/entity.pyi +3 -1
  706. homeassistant-stubs/components/tplink_omada/sensor.pyi +34 -0
  707. homeassistant-stubs/components/tplink_omada/switch.pyi +3 -5
  708. homeassistant-stubs/components/tplink_omada/update.pyi +3 -6
  709. homeassistant-stubs/components/trace/__init__.pyi +5 -25
  710. homeassistant-stubs/components/trace/const.pyi +1 -1
  711. homeassistant-stubs/components/trace/models.pyi +2 -0
  712. homeassistant-stubs/components/trace/util.pyi +17 -0
  713. homeassistant-stubs/components/trace/websocket_api.pyi +1 -1
  714. homeassistant-stubs/components/tractive/__init__.pyi +1 -0
  715. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +2 -2
  716. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -2
  717. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +0 -1
  718. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -2
  719. homeassistant-stubs/components/transmission/__init__.pyi +1 -0
  720. homeassistant-stubs/components/transmission/config_flow.pyi +1 -2
  721. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -2
  722. homeassistant-stubs/components/tts/__init__.pyi +0 -5
  723. homeassistant-stubs/components/tts/const.pyi +1 -0
  724. homeassistant-stubs/components/twentemilieu/__init__.pyi +4 -0
  725. homeassistant-stubs/components/unifi/__init__.pyi +1 -0
  726. homeassistant-stubs/components/unifi/config_flow.pyi +1 -2
  727. homeassistant-stubs/components/unifi/device_tracker.pyi +0 -3
  728. homeassistant-stubs/components/unifi/update.pyi +1 -1
  729. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -1
  730. homeassistant-stubs/components/unifiprotect/data.pyi +2 -0
  731. homeassistant-stubs/components/update/__init__.pyi +7 -12
  732. homeassistant-stubs/components/update/const.pyi +2 -0
  733. homeassistant-stubs/components/vacuum/__init__.pyi +0 -6
  734. homeassistant-stubs/components/vallox/config_flow.pyi +2 -5
  735. homeassistant-stubs/components/velbus/entity.pyi +1 -1
  736. homeassistant-stubs/components/vlc_telnet/__init__.pyi +1 -0
  737. homeassistant-stubs/components/vlc_telnet/config_flow.pyi +2 -3
  738. homeassistant-stubs/components/vlc_telnet/media_player.pyi +1 -1
  739. homeassistant-stubs/components/wallbox/__init__.pyi +1 -1
  740. homeassistant-stubs/components/wallbox/config_flow.pyi +2 -4
  741. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -3
  742. homeassistant-stubs/components/water_heater/__init__.pyi +0 -9
  743. homeassistant-stubs/components/weather/__init__.pyi +0 -19
  744. homeassistant-stubs/components/webostv/config_flow.pyi +2 -2
  745. homeassistant-stubs/components/webostv/media_player.pyi +1 -1
  746. homeassistant-stubs/components/websocket_api/connection.pyi +3 -0
  747. homeassistant-stubs/components/websocket_api/const.pyi +4 -1
  748. homeassistant-stubs/components/wemo/__init__.pyi +4 -1
  749. homeassistant-stubs/components/wemo/coordinator.pyi +3 -0
  750. homeassistant-stubs/components/withings/__init__.pyi +4 -2
  751. homeassistant-stubs/components/withings/config_flow.pyi +1 -2
  752. homeassistant-stubs/components/withings/coordinator.pyi +7 -2
  753. homeassistant-stubs/components/withings/entity.pyi +14 -2
  754. homeassistant-stubs/components/withings/sensor.pyi +19 -4
  755. homeassistant-stubs/components/wiz/__init__.pyi +1 -0
  756. homeassistant-stubs/components/wled/__init__.pyi +1 -0
  757. homeassistant-stubs/components/wled/helpers.pyi +1 -1
  758. homeassistant-stubs/components/workday/__init__.pyi +13 -0
  759. homeassistant-stubs/components/workday/binary_sensor.pyi +46 -0
  760. homeassistant-stubs/components/workday/config_flow.pyi +33 -0
  761. homeassistant-stubs/components/workday/const.pyi +18 -0
  762. homeassistant-stubs/components/workday/diagnostics.pyi +5 -0
  763. homeassistant-stubs/components/workday/repairs.pyi +28 -0
  764. homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +7 -2
  765. homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +1 -1
  766. homeassistant-stubs/components/xiaomi_ble/types.pyi +2 -0
  767. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +1 -0
  768. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +2 -3
  769. homeassistant-stubs/components/yale_smart_alarm/binary_sensor.pyi +7 -0
  770. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +0 -1
  771. homeassistant-stubs/components/yale_smart_alarm/const.pyi +2 -1
  772. homeassistant-stubs/components/yale_smart_alarm/select.pyi +21 -0
  773. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -0
  774. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +6 -2
  775. homeassistant-stubs/components/youtube/config_flow.pyi +1 -2
  776. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  777. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -4
  778. homeassistant-stubs/components/zwave_js/discovery.pyi +2 -1
  779. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +1 -1
  780. homeassistant-stubs/components/zwave_js/light.pyi +8 -6
  781. homeassistant-stubs/components/zwave_js/services.pyi +4 -1
  782. homeassistant-stubs/components/zwave_js/update.pyi +2 -1
  783. homeassistant-stubs/config.pyi +3 -24
  784. homeassistant-stubs/config_entries.pyi +52 -27
  785. homeassistant-stubs/const.pyi +16 -12
  786. homeassistant-stubs/core.pyi +36 -109
  787. homeassistant-stubs/core_config.pyi +108 -0
  788. homeassistant-stubs/data_entry_flow.pyi +22 -18
  789. homeassistant-stubs/helpers/area_registry.pyi +6 -8
  790. homeassistant-stubs/helpers/category_registry.pyi +1 -0
  791. homeassistant-stubs/helpers/check_config.pyi +2 -1
  792. homeassistant-stubs/helpers/collection.pyi +6 -4
  793. homeassistant-stubs/helpers/condition.pyi +1 -0
  794. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -2
  795. homeassistant-stubs/helpers/config_validation.pyi +6 -6
  796. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  797. homeassistant-stubs/helpers/debounce.pyi +1 -1
  798. homeassistant-stubs/helpers/deprecation.pyi +9 -4
  799. homeassistant-stubs/helpers/device_registry.pyi +7 -8
  800. homeassistant-stubs/helpers/discovery_flow.pyi +5 -5
  801. homeassistant-stubs/helpers/dispatcher.pyi +9 -8
  802. homeassistant-stubs/helpers/entity.pyi +2 -31
  803. homeassistant-stubs/helpers/entity_registry.pyi +7 -9
  804. homeassistant-stubs/helpers/event.pyi +2 -1
  805. homeassistant-stubs/helpers/floor_registry.pyi +3 -3
  806. homeassistant-stubs/helpers/frame.pyi +1 -5
  807. homeassistant-stubs/helpers/hassio.pyi +4 -0
  808. homeassistant-stubs/helpers/http.pyi +2 -0
  809. homeassistant-stubs/helpers/intent.pyi +5 -5
  810. homeassistant-stubs/helpers/json.pyi +3 -0
  811. homeassistant-stubs/helpers/label_registry.pyi +3 -3
  812. homeassistant-stubs/helpers/llm.pyi +1 -2
  813. homeassistant-stubs/helpers/network.pyi +1 -0
  814. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +6 -3
  815. homeassistant-stubs/helpers/ratelimit.pyi +1 -1
  816. homeassistant-stubs/helpers/redact.pyi +2 -2
  817. homeassistant-stubs/helpers/registry.pyi +5 -3
  818. homeassistant-stubs/helpers/script.pyi +3 -7
  819. homeassistant-stubs/helpers/selector.pyi +1 -1
  820. homeassistant-stubs/helpers/service.pyi +2 -2
  821. homeassistant-stubs/helpers/service_info/hassio.pyi +11 -0
  822. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -0
  823. homeassistant-stubs/helpers/significant_change.pyi +3 -0
  824. homeassistant-stubs/helpers/singleton.pyi +3 -2
  825. homeassistant-stubs/helpers/storage.pyi +4 -5
  826. homeassistant-stubs/helpers/sun.pyi +2 -0
  827. homeassistant-stubs/helpers/system_info.pyi +1 -0
  828. homeassistant-stubs/helpers/template.pyi +4 -3
  829. homeassistant-stubs/helpers/trace.pyi +3 -3
  830. homeassistant-stubs/helpers/typing.pyi +13 -0
  831. homeassistant-stubs/helpers/update_coordinator.pyi +4 -4
  832. homeassistant-stubs/loader.pyi +5 -21
  833. homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -1
  834. homeassistant-stubs/util/__init__.pyi +1 -1
  835. homeassistant-stubs/util/async_.pyi +2 -2
  836. homeassistant-stubs/util/decorator.pyi +2 -1
  837. homeassistant-stubs/util/dt.pyi +3 -2
  838. homeassistant-stubs/util/enum.pyi +2 -2
  839. homeassistant-stubs/util/hass_dict.pyi +17 -17
  840. homeassistant-stubs/util/json.pyi +3 -0
  841. homeassistant-stubs/util/limited_size_dict.pyi +1 -1
  842. homeassistant-stubs/util/logging.pyi +8 -8
  843. homeassistant-stubs/util/loop.pyi +1 -1
  844. homeassistant-stubs/util/percentage.pyi +2 -2
  845. homeassistant-stubs/util/read_only_dict.pyi +1 -1
  846. homeassistant-stubs/util/signal_type.pyi +3 -3
  847. homeassistant-stubs/util/variance.pyi +3 -3
  848. homeassistant-stubs/util/yaml/loader.pyi +2 -4
  849. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/METADATA +2 -2
  850. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/RECORD +852 -768
  851. homeassistant-stubs/components/jellyfin/models.pyi +0 -10
  852. homeassistant-stubs/components/map/__init__.pyi +0 -14
  853. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/WHEEL +0 -0
  854. {homeassistant_stubs-2024.10.4.dist-info → homeassistant_stubs-2024.11.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -7,6 +7,7 @@ from datetime import datetime
7
7
  from homeassistant.config import load_yaml_config_file as load_yaml_config_file
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
+ from homeassistant.helpers.hassio import get_supervisor_ip as get_supervisor_ip, is_hassio as is_hassio
10
11
  from homeassistant.util import yaml as yaml
11
12
  from ipaddress import IPv4Address, IPv6Address
12
13
  from typing import Any, Concatenate, Final
@@ -23,7 +24,7 @@ SCHEMA_IP_BAN_ENTRY: Final[Incomplete]
23
24
 
24
25
  def setup_bans(hass: HomeAssistant, app: Application, login_threshold: int) -> None: ...
25
26
  async def ban_middleware(request: Request, handler: Callable[[Request], Awaitable[StreamResponse]]) -> StreamResponse: ...
26
- def log_invalid_auth(func: Callable[Concatenate[_HassViewT, Request, _P], Awaitable[Response]]) -> Callable[Concatenate[_HassViewT, Request, _P], Coroutine[Any, Any, Response]]: ...
27
+ def log_invalid_auth[_HassViewT: HomeAssistantView, **_P](func: Callable[Concatenate[_HassViewT, Request, _P], Awaitable[Response]]) -> Callable[Concatenate[_HassViewT, Request, _P], Coroutine[Any, Any, Response]]: ...
27
28
  async def process_wrong_login(request: Request) -> None: ...
28
29
  def process_success_login(request: Request) -> None: ...
29
30
 
@@ -12,4 +12,4 @@ class RequestDataValidator:
12
12
  _schema: Incomplete
13
13
  _allow_empty: Incomplete
14
14
  def __init__(self, schema: VolDictType | vol.Schema, allow_empty: bool = False) -> None: ...
15
- def __call__(self, method: Callable[Concatenate[_HassViewT, web.Request, dict[str, Any], _P], Awaitable[web.Response]]) -> Callable[Concatenate[_HassViewT, web.Request, _P], Coroutine[Any, Any, web.Response]]: ...
15
+ def __call__[_HassViewT: HomeAssistantView, **_P](self, method: Callable[Concatenate[_HassViewT, web.Request, dict[str, Any], _P], Awaitable[web.Response]]) -> Callable[Concatenate[_HassViewT, web.Request, _P], Coroutine[Any, Any, web.Response]]: ...
@@ -1,10 +1,13 @@
1
1
  from .view import HomeAssistantView as HomeAssistantView
2
- from collections.abc import Callable
2
+ from aiohttp.web import Request, Response, StreamResponse
3
+ from collections.abc import Callable, Coroutine
3
4
  from homeassistant.auth.models import User as User
4
5
  from homeassistant.exceptions import Unauthorized as Unauthorized
5
- from typing import overload
6
+ from typing import Any, Concatenate, overload
6
7
 
8
+ type _ResponseType = Response | StreamResponse
9
+ type _FuncType[_T, **_P, _R] = Callable[Concatenate[_T, Request, _P], Coroutine[Any, Any, _R]]
7
10
  @overload
8
- def require_admin(_func: None = None, *, error: Unauthorized | None = None) -> Callable[[_FuncType[_HomeAssistantViewT, _P, _ResponseT]], _FuncType[_HomeAssistantViewT, _P, _ResponseT]]: ...
11
+ def require_admin[_HomeAssistantViewT: HomeAssistantView, **_P, _ResponseT: _ResponseType](_func: None = None, *, error: Unauthorized | None = None) -> Callable[[_FuncType[_HomeAssistantViewT, _P, _ResponseT]], _FuncType[_HomeAssistantViewT, _P, _ResponseT]]: ...
9
12
  @overload
10
- def require_admin(_func: _FuncType[_HomeAssistantViewT, _P, _ResponseT]) -> _FuncType[_HomeAssistantViewT, _P, _ResponseT]: ...
13
+ def require_admin[_HomeAssistantViewT: HomeAssistantView, **_P, _ResponseT: _ResponseType](_func: _FuncType[_HomeAssistantViewT, _P, _ResponseT]) -> _FuncType[_HomeAssistantViewT, _P, _ResponseT]: ...
@@ -14,6 +14,8 @@ _LOGGER: Incomplete
14
14
 
15
15
  class ConfigFlowHandler(ConfigFlow, domain=DOMAIN):
16
16
  VERSION: int
17
+ manufacturer: str | None
18
+ url: str | None
17
19
  @staticmethod
18
20
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlowHandler: ...
19
21
  async def _async_show_user_form(self, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
@@ -12,6 +12,7 @@ from typing import Any
12
12
 
13
13
  _LOGGER: Incomplete
14
14
  _DEVICE_SCAN: Incomplete
15
+ type _HostType = dict[str, Any]
15
16
 
16
17
  def _get_hosts(router: Router, ignore_subscriptions: bool = False) -> list[_HostType] | None: ...
17
18
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -1,7 +1,6 @@
1
1
  from .const import ATTR_ACTION as ATTR_ACTION, ATTR_AVAILABLE_MODES as ATTR_AVAILABLE_MODES, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, DEFAULT_MAX_HUMIDITY as DEFAULT_MAX_HUMIDITY, DEFAULT_MIN_HUMIDITY as DEFAULT_MIN_HUMIDITY, DOMAIN as DOMAIN, HumidifierAction as HumidifierAction, HumidifierEntityFeature as HumidifierEntityFeature, MODE_AUTO as MODE_AUTO, MODE_AWAY as MODE_AWAY, MODE_BABY as MODE_BABY, MODE_BOOST as MODE_BOOST, MODE_COMFORT as MODE_COMFORT, MODE_ECO as MODE_ECO, MODE_HOME as MODE_HOME, MODE_NORMAL as MODE_NORMAL, MODE_SLEEP as MODE_SLEEP, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_MODE as SERVICE_SET_MODE, _DEPRECATED_DEVICE_CLASS_DEHUMIDIFIER as _DEPRECATED_DEVICE_CLASS_DEHUMIDIFIER, _DEPRECATED_DEVICE_CLASS_HUMIDIFIER as _DEPRECATED_DEVICE_CLASS_HUMIDIFIER, _DEPRECATED_SUPPORT_MODES as _DEPRECATED_SUPPORT_MODES
2
2
  from _typeshed import Incomplete
3
3
  from enum import StrEnum
4
- from functools import cached_property as cached_property
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.const import ATTR_MODE as ATTR_MODE, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
@@ -54,29 +53,20 @@ class HumidifierEntity(ToggleEntity, cached_properties=CACHED_PROPERTIES_WITH_AT
54
53
  _attr_target_humidity: float | None
55
54
  @property
56
55
  def capability_attributes(self) -> dict[str, Any]: ...
57
- @cached_property
58
56
  def device_class(self) -> HumidifierDeviceClass | None: ...
59
57
  @property
60
58
  def state_attributes(self) -> dict[str, Any]: ...
61
- @cached_property
62
59
  def action(self) -> HumidifierAction | None: ...
63
- @cached_property
64
60
  def current_humidity(self) -> float | None: ...
65
- @cached_property
66
61
  def target_humidity(self) -> float | None: ...
67
- @cached_property
68
62
  def mode(self) -> str | None: ...
69
- @cached_property
70
63
  def available_modes(self) -> list[str] | None: ...
71
64
  def set_humidity(self, humidity: int) -> None: ...
72
65
  async def async_set_humidity(self, humidity: int) -> None: ...
73
66
  def set_mode(self, mode: str) -> None: ...
74
67
  async def async_set_mode(self, mode: str) -> None: ...
75
- @cached_property
76
68
  def min_humidity(self) -> float: ...
77
- @cached_property
78
69
  def max_humidity(self) -> float: ...
79
- @cached_property
80
70
  def supported_features(self) -> HumidifierEntityFeature: ...
81
71
  @property
82
72
  def supported_features_compat(self) -> HumidifierEntityFeature: ...
@@ -10,7 +10,9 @@ from homeassistant.helpers import aiohttp_client as aiohttp_client, config_entry
10
10
 
11
11
  _LOGGER: Incomplete
12
12
  PLATFORMS: list[Platform]
13
+ type AutomowerConfigEntry = ConfigEntry[AutomowerDataUpdateCoordinator]
13
14
 
14
15
  async def async_setup_entry(hass: HomeAssistant, entry: AutomowerConfigEntry) -> bool: ...
15
16
  async def async_unload_entry(hass: HomeAssistant, entry: AutomowerConfigEntry) -> bool: ...
16
17
  def cleanup_removed_devices(hass: HomeAssistant, config_entry: ConfigEntry, available_devices: list[str]) -> None: ...
18
+ def remove_work_area_entities(hass: HomeAssistant, config_entry: ConfigEntry, removed_work_areas: set[int], mower_id: str) -> None: ...
@@ -16,7 +16,7 @@ class AutomowerBinarySensorEntityDescription(BinarySensorEntityDescription):
16
16
  value_fn: Callable[[MowerAttributes], bool]
17
17
  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: ...
18
18
 
19
- BINARY_SENSOR_TYPES: tuple[AutomowerBinarySensorEntityDescription, ...]
19
+ MOWER_BINARY_SENSOR_TYPES: tuple[AutomowerBinarySensorEntityDescription, ...]
20
20
 
21
21
  async def async_setup_entry(hass: HomeAssistant, entry: AutomowerConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
22
 
@@ -13,8 +13,6 @@ from typing import Any
13
13
 
14
14
  _LOGGER: Incomplete
15
15
 
16
- async def _async_set_time(session: AutomowerSession, mower_id: str) -> None: ...
17
-
18
16
  @dataclass(frozen=True, kw_only=True)
19
17
  class AutomowerButtonEntityDescription(ButtonEntityDescription):
20
18
  available_fn: Callable[[MowerAttributes], bool] = ...
@@ -22,7 +20,7 @@ class AutomowerButtonEntityDescription(ButtonEntityDescription):
22
20
  press_fn: Callable[[AutomowerSession, str], Awaitable[Any]]
23
21
  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=..., available_fn=..., exists_fn=..., press_fn) -> None: ...
24
22
 
25
- BUTTON_TYPES: tuple[AutomowerButtonEntityDescription, ...]
23
+ MOWER_BUTTON_TYPES: tuple[AutomowerButtonEntityDescription, ...]
26
24
 
27
25
  async def async_setup_entry(hass: HomeAssistant, entry: AutomowerConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
28
26
 
@@ -2,8 +2,8 @@ import logging
2
2
  from .const import DOMAIN as DOMAIN, NAME as NAME
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult
6
- from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_TOKEN as CONF_TOKEN
5
+ from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
6
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_NAME as CONF_NAME, CONF_TOKEN as CONF_TOKEN
7
7
  from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
8
8
  from typing import Any
9
9
 
@@ -14,7 +14,6 @@ HUSQVARNA_DEV_PORTAL_URL: str
14
14
  class HusqvarnaConfigFlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
15
15
  VERSION: int
16
16
  DOMAIN = DOMAIN
17
- reauth_entry: ConfigEntry | None
18
17
  async def async_oauth_create_entry(self, data: dict[str, Any]) -> ConfigFlowResult: ...
19
18
  @property
20
19
  def logger(self) -> logging.Logger: ...
@@ -1,9 +1,9 @@
1
- from . import AutomowerConfigEntry as AutomowerConfigEntry, AutomowerDataUpdateCoordinator as AutomowerDataUpdateCoordinator
1
+ from . import AutomowerDataUpdateCoordinator as AutomowerDataUpdateCoordinator
2
2
  from .const import DOMAIN as DOMAIN, EXECUTION_TIME_DELAY as EXECUTION_TIME_DELAY
3
3
  from _typeshed import Incomplete
4
4
  from aioautomower.model import MowerAttributes as MowerAttributes, WorkArea as WorkArea
5
5
  from collections.abc import Awaitable, Callable as Callable, Coroutine
6
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.core import callback as callback
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
8
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
9
9
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
@@ -15,7 +15,6 @@ ERROR_STATES: Incomplete
15
15
 
16
16
  def _check_error_free(mower_attributes: MowerAttributes) -> bool: ...
17
17
  def _work_area_translation_key(work_area_id: int, key: str) -> str: ...
18
- def async_remove_work_area_entities(hass: HomeAssistant, coordinator: AutomowerDataUpdateCoordinator, entry: AutomowerConfigEntry, mower_id: str) -> None: ...
19
18
  def handle_sending_exception(poll_after_sending: bool = False) -> Callable[[Callable[..., Awaitable[Any]]], Callable[..., Coroutine[Any, Any, None]]]: ...
20
19
 
21
20
  class AutomowerBaseEntity(CoordinatorEntity[AutomowerDataUpdateCoordinator]):
@@ -34,7 +33,7 @@ class AutomowerControlEntity(AutomowerAvailableEntity):
34
33
  @property
35
34
  def available(self) -> bool: ...
36
35
 
37
- class WorkAreaControlEntity(AutomowerControlEntity):
36
+ class WorkAreaAvailableEntity(AutomowerAvailableEntity):
38
37
  work_area_id: Incomplete
39
38
  def __init__(self, mower_id: str, coordinator: AutomowerDataUpdateCoordinator, work_area_id: int) -> None: ...
40
39
  @property
@@ -43,3 +42,5 @@ class WorkAreaControlEntity(AutomowerControlEntity):
43
42
  def work_area_attributes(self) -> WorkArea: ...
44
43
  @property
45
44
  def available(self) -> bool: ...
45
+
46
+ class WorkAreaControlEntity(WorkAreaAvailableEntity, AutomowerControlEntity): ...
@@ -1,6 +1,6 @@
1
- from . import AutomowerConfigEntry as AutomowerConfigEntry
1
+ from . import AutomowerConfigEntry as AutomowerConfigEntry, remove_work_area_entities as remove_work_area_entities
2
2
  from .coordinator import AutomowerDataUpdateCoordinator as AutomowerDataUpdateCoordinator
3
- from .entity import AutomowerControlEntity as AutomowerControlEntity, WorkAreaControlEntity as WorkAreaControlEntity, _work_area_translation_key as _work_area_translation_key, async_remove_work_area_entities as async_remove_work_area_entities, handle_sending_exception as handle_sending_exception
3
+ from .entity import AutomowerControlEntity as AutomowerControlEntity, WorkAreaControlEntity as WorkAreaControlEntity, _work_area_translation_key as _work_area_translation_key, handle_sending_exception as handle_sending_exception
4
4
  from _typeshed import Incomplete
5
5
  from aioautomower.model import MowerAttributes as MowerAttributes, WorkArea as WorkArea
6
6
  from aioautomower.session import AutomowerSession as AutomowerSession
@@ -25,16 +25,16 @@ class AutomowerNumberEntityDescription(NumberEntityDescription):
25
25
  set_value_fn: Callable[[AutomowerSession, str, float], Awaitable[Any]]
26
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=..., exists_fn=..., value_fn, set_value_fn) -> None: ...
27
27
 
28
- NUMBER_TYPES: tuple[AutomowerNumberEntityDescription, ...]
28
+ MOWER_NUMBER_TYPES: tuple[AutomowerNumberEntityDescription, ...]
29
29
 
30
30
  @dataclass(frozen=True, kw_only=True)
31
- class AutomowerWorkAreaNumberEntityDescription(NumberEntityDescription):
31
+ class WorkAreaNumberEntityDescription(NumberEntityDescription):
32
32
  value_fn: Callable[[WorkArea], int]
33
33
  translation_key_fn: Callable[[int, str], str]
34
34
  set_value_fn: Callable[[AutomowerDataUpdateCoordinator, str, float, int], Awaitable[Any]]
35
35
  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, translation_key_fn, set_value_fn) -> None: ...
36
36
 
37
- WORK_AREA_NUMBER_TYPES: tuple[AutomowerWorkAreaNumberEntityDescription, ...]
37
+ WORK_AREA_NUMBER_TYPES: tuple[WorkAreaNumberEntityDescription, ...]
38
38
 
39
39
  async def async_setup_entry(hass: HomeAssistant, entry: AutomowerConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
40
40
 
@@ -46,11 +46,11 @@ class AutomowerNumberEntity(AutomowerControlEntity, NumberEntity):
46
46
  def native_value(self) -> float: ...
47
47
  async def async_set_native_value(self, value: float) -> None: ...
48
48
 
49
- class AutomowerWorkAreaNumberEntity(WorkAreaControlEntity, NumberEntity):
50
- entity_description: AutomowerWorkAreaNumberEntityDescription
49
+ class WorkAreaNumberEntity(WorkAreaControlEntity, NumberEntity):
50
+ entity_description: WorkAreaNumberEntityDescription
51
51
  _attr_unique_id: Incomplete
52
52
  _attr_translation_placeholders: Incomplete
53
- def __init__(self, mower_id: str, coordinator: AutomowerDataUpdateCoordinator, description: AutomowerWorkAreaNumberEntityDescription, work_area_id: int) -> None: ...
53
+ def __init__(self, mower_id: str, coordinator: AutomowerDataUpdateCoordinator, description: WorkAreaNumberEntityDescription, work_area_id: int) -> None: ...
54
54
  @property
55
55
  def translation_key(self) -> str: ...
56
56
  @property
@@ -1,8 +1,8 @@
1
1
  from . import AutomowerConfigEntry as AutomowerConfigEntry
2
2
  from .coordinator import AutomowerDataUpdateCoordinator as AutomowerDataUpdateCoordinator
3
- from .entity import AutomowerBaseEntity as AutomowerBaseEntity
3
+ from .entity import AutomowerBaseEntity as AutomowerBaseEntity, WorkAreaAvailableEntity as WorkAreaAvailableEntity, _work_area_translation_key as _work_area_translation_key
4
4
  from _typeshed import Incomplete
5
- from aioautomower.model import MowerAttributes as MowerAttributes
5
+ from aioautomower.model import MowerAttributes as MowerAttributes, WorkArea as WorkArea
6
6
  from collections.abc import Callable as Callable, Mapping
7
7
  from dataclasses import dataclass
8
8
  from datetime import datetime
@@ -16,12 +16,14 @@ from typing import Any
16
16
  _LOGGER: Incomplete
17
17
  ATTR_WORK_AREA_ID_ASSIGNMENT: str
18
18
  ERROR_KEY_LIST: Incomplete
19
+ ERROR_STATES: Incomplete
19
20
  RESTRICTED_REASONS: list
20
21
  STATE_NO_WORK_AREA_ACTIVE: str
21
22
 
22
23
  def _get_work_area_names(data: MowerAttributes) -> list[str]: ...
23
24
  def _get_current_work_area_name(data: MowerAttributes) -> str: ...
24
25
  def _get_current_work_area_dict(data: MowerAttributes) -> Mapping[str, Any]: ...
26
+ def _get_error_string(data: MowerAttributes) -> str: ...
25
27
 
26
28
  @dataclass(frozen=True, kw_only=True)
27
29
  class AutomowerSensorEntityDescription(SensorEntityDescription):
@@ -31,7 +33,16 @@ class AutomowerSensorEntityDescription(SensorEntityDescription):
31
33
  value_fn: Callable[[MowerAttributes], StateType | datetime]
32
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=..., exists_fn=..., extra_state_attributes_fn=..., option_fn=..., value_fn) -> None: ...
33
35
 
34
- SENSOR_TYPES: tuple[AutomowerSensorEntityDescription, ...]
36
+ MOWER_SENSOR_TYPES: tuple[AutomowerSensorEntityDescription, ...]
37
+
38
+ @dataclass(frozen=True, kw_only=True)
39
+ class WorkAreaSensorEntityDescription(SensorEntityDescription):
40
+ exists_fn: Callable[[WorkArea], bool] = ...
41
+ value_fn: Callable[[WorkArea], StateType | datetime]
42
+ translation_key_fn: Callable[[int, str], str]
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=..., exists_fn=..., value_fn, translation_key_fn) -> None: ...
44
+
45
+ WORK_AREA_SENSOR_TYPES: tuple[WorkAreaSensorEntityDescription, ...]
35
46
 
36
47
  async def async_setup_entry(hass: HomeAssistant, entry: AutomowerConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
37
48
 
@@ -46,3 +57,13 @@ class AutomowerSensorEntity(AutomowerBaseEntity, SensorEntity):
46
57
  def options(self) -> list[str] | None: ...
47
58
  @property
48
59
  def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
60
+
61
+ class WorkAreaSensorEntity(WorkAreaAvailableEntity, SensorEntity):
62
+ entity_description: WorkAreaSensorEntityDescription
63
+ _attr_unique_id: Incomplete
64
+ _attr_translation_placeholders: Incomplete
65
+ def __init__(self, mower_id: str, coordinator: AutomowerDataUpdateCoordinator, description: WorkAreaSensorEntityDescription, work_area_id: int) -> None: ...
66
+ @property
67
+ def native_value(self) -> StateType | datetime: ...
68
+ @property
69
+ def translation_key(self) -> str: ...
@@ -4,8 +4,7 @@ from .entity import AutomowerControlEntity as AutomowerControlEntity, WorkAreaCo
4
4
  from _typeshed import Incomplete
5
5
  from aioautomower.model import StayOutZones as StayOutZones, Zone as Zone
6
6
  from homeassistant.components.switch import SwitchEntity as SwitchEntity
7
- from homeassistant.const import Platform as Platform
8
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
9
  from typing import Any
11
10
 
@@ -22,7 +21,7 @@ class AutomowerScheduleSwitchEntity(AutomowerControlEntity, SwitchEntity):
22
21
  async def async_turn_off(self, **kwargs: Any) -> None: ...
23
22
  async def async_turn_on(self, **kwargs: Any) -> None: ...
24
23
 
25
- class AutomowerStayOutZoneSwitchEntity(AutomowerControlEntity, SwitchEntity):
24
+ class StayOutZoneSwitchEntity(AutomowerControlEntity, SwitchEntity):
26
25
  _attr_translation_key: str
27
26
  coordinator: Incomplete
28
27
  stay_out_zone_uid: Incomplete
@@ -50,5 +49,3 @@ class WorkAreaSwitchEntity(WorkAreaControlEntity, SwitchEntity):
50
49
  def is_on(self) -> bool: ...
51
50
  async def async_turn_off(self, **kwargs: Any) -> None: ...
52
51
  async def async_turn_on(self, **kwargs: Any) -> None: ...
53
-
54
- def async_remove_entities(hass: HomeAssistant, coordinator: AutomowerDataUpdateCoordinator, entry: AutomowerConfigEntry, mower_id: str) -> None: ...
@@ -1,14 +1,11 @@
1
1
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
2
- from _typeshed import Incomplete
3
2
  from collections.abc import Callable as Callable, Mapping
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
5
4
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
5
  from typing import Any
7
6
 
8
7
  class HydrawiseConfigFlow(ConfigFlow, domain=DOMAIN):
9
8
  VERSION: int
10
- reauth_entry: Incomplete
11
- def __init__(self) -> None: ...
12
9
  async def _create_or_update_entry(self, username: str, password: str, *, on_failure: Callable[[str], ConfigFlowResult]) -> ConfigFlowResult: ...
13
10
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
14
11
  def _show_form(self, error_type: str | None = None) -> ConfigFlowResult: ...
@@ -13,6 +13,7 @@ _LOGGER: Incomplete
13
13
 
14
14
  class HyperionConfigFlow(ConfigFlow, domain=DOMAIN):
15
15
  VERSION: int
16
+ unique_id: str
16
17
  _data: Incomplete
17
18
  _request_token_task: Incomplete
18
19
  _auth_id: Incomplete
@@ -4,6 +4,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
5
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
6
6
 
7
+ type IBeaconConfigEntry = ConfigEntry[IBeaconCoordinator]
7
8
  async def async_setup_entry(hass: HomeAssistant, entry: IBeaconConfigEntry) -> bool: ...
8
9
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
10
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: IBeaconConfigEntry, device_entry: DeviceEntry) -> bool: ...
@@ -4,24 +4,25 @@ from _typeshed import Incomplete
4
4
  from aiohttp import web
5
5
  from dataclasses import dataclass
6
6
  from datetime import datetime
7
- from functools import cached_property as cached_property
8
7
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_AUTHENTICATED as KEY_AUTHENTICATED, KEY_HASS as KEY_HASS
9
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
9
  from homeassistant.const import CONTENT_TYPE_MULTIPART as CONTENT_TYPE_MULTIPART, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
11
- from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
12
11
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
12
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
14
13
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
15
14
  from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event, async_track_time_interval as async_track_time_interval
16
15
  from homeassistant.helpers.httpx_client import get_async_client as get_async_client
17
- from homeassistant.helpers.typing import ConfigType as ConfigType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
16
+ from homeassistant.helpers.typing import ConfigType as ConfigType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType, VolDictType as VolDictType
18
17
  from typing import Final
19
18
 
20
19
  _LOGGER: Incomplete
20
+ SERVICE_SNAPSHOT: Final[str]
21
21
  ENTITY_ID_FORMAT: Final[Incomplete]
22
22
  PLATFORM_SCHEMA: Incomplete
23
23
  PLATFORM_SCHEMA_BASE: Incomplete
24
24
  SCAN_INTERVAL: Final[Incomplete]
25
+ ATTR_FILENAME: Final[str]
25
26
  DEFAULT_CONTENT_TYPE: Final[str]
26
27
  ENTITY_IMAGE_URL: Final[str]
27
28
  TOKEN_CHANGE_INTERVAL: Final[Incomplete]
@@ -30,6 +31,7 @@ GET_IMAGE_TIMEOUT: Final[int]
30
31
  FRAME_BOUNDARY: str
31
32
  FRAME_SEPARATOR: Incomplete
32
33
  LAST_FRAME_MARKER: Incomplete
34
+ IMAGE_SERVICE_SNAPSHOT: VolDictType
33
35
 
34
36
  class ImageEntityDescription(EntityDescription, frozen_or_thawed=True):
35
37
  def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=...) -> None: ...
@@ -62,13 +64,10 @@ class ImageEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
62
64
  _client: Incomplete
63
65
  access_tokens: Incomplete
64
66
  def __init__(self, hass: HomeAssistant, verify_ssl: bool = False) -> None: ...
65
- @cached_property
66
67
  def content_type(self) -> str: ...
67
68
  @property
68
69
  def entity_picture(self) -> str | None: ...
69
- @cached_property
70
70
  def image_last_updated(self) -> datetime | None: ...
71
- @cached_property
72
71
  def image_url(self) -> str | None | UndefinedType: ...
73
72
  def image(self) -> bytes | None: ...
74
73
  async def _fetch_url(self, url: str) -> httpx.Response | None: ...
@@ -95,3 +94,5 @@ class ImageStreamView(ImageView):
95
94
  url: str
96
95
  name: str
97
96
  async def handle(self, request: web.Request, image_entity: ImageEntity) -> web.StreamResponse: ...
97
+
98
+ async def async_handle_snapshot_service(image: ImageEntity, service_call: ServiceCall) -> None: ...
@@ -21,6 +21,7 @@ SERVICE_SEEN_SCHEMA = _SERVICE_UID_SCHEMA
21
21
  SERVICE_MOVE_SCHEMA: Incomplete
22
22
  SERVICE_DELETE_SCHEMA = _SERVICE_UID_SCHEMA
23
23
  SERVICE_FETCH_TEXT_SCHEMA = _SERVICE_UID_SCHEMA
24
+ type ImapConfigEntry = ConfigEntry[ImapDataUpdateCoordinator]
24
25
 
25
26
  async def async_get_imap_client(hass: HomeAssistant, entry_id: str) -> IMAP4_SSL: ...
26
27
  def raise_on_error(response: Response, translation_key: str) -> None: ...
@@ -4,7 +4,7 @@ from .errors import InvalidAuth as InvalidAuth, InvalidFolder as InvalidFolder
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Mapping
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
7
- from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
7
+ from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
10
10
  from homeassistant.helpers.selector import BooleanSelector as BooleanSelector, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TemplateSelector as TemplateSelector, TemplateSelectorConfig as TemplateSelectorConfig
@@ -24,7 +24,6 @@ async def validate_input(hass: HomeAssistant, user_input: dict[str, Any]) -> dic
24
24
 
25
25
  class IMAPConfigFlow(ConfigFlow, domain=DOMAIN):
26
26
  VERSION: int
27
- _reauth_entry: ConfigEntry | None
28
27
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
28
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
30
29
  async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
@@ -10,6 +10,7 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession as asyn
10
10
 
11
11
  PLATFORMS: list[Platform]
12
12
  _LOGGER: Incomplete
13
+ type ImgwPibConfigEntry = ConfigEntry[ImgwPibData]
13
14
 
14
15
  @dataclass
15
16
  class ImgwPibData:
@@ -3,7 +3,6 @@ from _typeshed import Incomplete
3
3
  from collections.abc import Callable
4
4
  from dataclasses import dataclass
5
5
  from enum import StrEnum
6
- from functools import cached_property as cached_property
7
6
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ID as ATTR_ID, ATTR_NAME as ATTR_NAME
8
7
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.helpers import intent as intent
@@ -39,7 +38,6 @@ class TimerInfo:
39
38
  def seconds_left(self) -> int: ...
40
39
  @property
41
40
  def created_seconds(self) -> int: ...
42
- @cached_property
43
41
  def name_normalized(self) -> str: ...
44
42
  def cancel(self) -> None: ...
45
43
  def pause(self) -> None: ...
@@ -53,6 +51,7 @@ class TimerEventType(StrEnum):
53
51
  UPDATED = 'updated'
54
52
  CANCELLED = 'cancelled'
55
53
  FINISHED = 'finished'
54
+ type TimerHandler = Callable[[TimerEventType, TimerInfo], None]
56
55
 
57
56
  class TimerNotFoundError(intent.IntentHandleError):
58
57
  def __init__(self) -> None: ...
@@ -9,6 +9,7 @@ from iottycloud.device import Device as Device
9
9
 
10
10
  _LOGGER: Incomplete
11
11
  PLATFORMS: list[Platform]
12
+ type IottyConfigEntry = ConfigEntry[IottyConfigEntryData]
12
13
 
13
14
  @dataclass
14
15
  class IottyConfigEntryData:
@@ -25,5 +25,5 @@ class IottyDataUpdateCoordinator(DataUpdateCoordinator[IottyData]):
25
25
  _device_registry: dr.DeviceRegistry
26
26
  iotty: Incomplete
27
27
  def __init__(self, hass: HomeAssistant, entry: ConfigEntry, session: OAuth2Session) -> None: ...
28
- async def async_config_entry_first_refresh(self) -> None: ...
28
+ async def _async_setup(self) -> None: ...
29
29
  async def _async_update_data(self) -> IottyData: ...
@@ -6,6 +6,7 @@ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT,
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
 
8
8
  PLATFORMS: Incomplete
9
+ type IPPConfigEntry = ConfigEntry[IPPDataUpdateCoordinator]
9
10
 
10
11
  async def async_setup_entry(hass: HomeAssistant, entry: IPPConfigEntry) -> bool: ...
11
12
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -6,6 +6,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
6
6
 
7
7
  PLATFORMS: Incomplete
8
8
  _LOGGER: Incomplete
9
+ type IslamicPrayerTimesConfigEntry = ConfigEntry[IslamicPrayerDataUpdateCoordinator]
9
10
 
10
11
  async def async_setup_entry(hass: HomeAssistant, config_entry: IslamicPrayerTimesConfigEntry) -> bool: ...
11
12
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -1,12 +1,12 @@
1
1
  from .client_wrapper import CannotConnect as CannotConnect, InvalidAuth as InvalidAuth, create_client as create_client, validate_input as validate_input
2
2
  from .const import CONF_CLIENT_DEVICE_ID as CONF_CLIENT_DEVICE_ID, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
3
- from .coordinator import JellyfinDataUpdateCoordinator as JellyfinDataUpdateCoordinator, SessionsDataUpdateCoordinator as SessionsDataUpdateCoordinator
4
- from .models import JellyfinData as JellyfinData
3
+ from .coordinator import JellyfinDataUpdateCoordinator as JellyfinDataUpdateCoordinator
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
7
6
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
7
  from homeassistant.helpers import device_registry as dr
9
8
 
9
+ type JellyfinConfigEntry = ConfigEntry[JellyfinDataUpdateCoordinator]
10
10
  async def async_setup_entry(hass: HomeAssistant, entry: JellyfinConfigEntry) -> bool: ...
11
11
  async def async_unload_entry(hass: HomeAssistant, entry: JellyfinConfigEntry) -> bool: ...
12
12
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: JellyfinConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
@@ -19,7 +19,6 @@ def _generate_client_device_id() -> str: ...
19
19
  class JellyfinConfigFlow(ConfigFlow, domain=DOMAIN):
20
20
  VERSION: int
21
21
  client_device_id: Incomplete
22
- entry: Incomplete
23
22
  def __init__(self) -> None: ...
24
23
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
24
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
@@ -1,15 +1,13 @@
1
- import abc
2
- from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, USER_APP_NAME as USER_APP_NAME
1
+ from .const import CONF_CLIENT_DEVICE_ID as CONF_CLIENT_DEVICE_ID, DOMAIN as DOMAIN, LOGGER as LOGGER, USER_APP_NAME as USER_APP_NAME
3
2
  from _typeshed import Incomplete
4
- from abc import ABC, abstractmethod
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
4
  from homeassistant.core import HomeAssistant as HomeAssistant
6
5
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
7
6
  from jellyfin_apiclient_python import JellyfinClient as JellyfinClient
8
- from typing import Any, TypeVar
7
+ from typing import Any
9
8
 
10
- JellyfinDataT = TypeVar('JellyfinDataT', bound=dict[str, dict[str, Any]] | dict[str, Any])
11
-
12
- class JellyfinDataUpdateCoordinator(DataUpdateCoordinator[JellyfinDataT], ABC, metaclass=abc.ABCMeta):
9
+ class JellyfinDataUpdateCoordinator(DataUpdateCoordinator[dict[str, dict[str, Any]]]):
10
+ config_entry: ConfigEntry
13
11
  api_client: Incomplete
14
12
  server_id: Incomplete
15
13
  server_name: Incomplete
@@ -17,12 +15,7 @@ class JellyfinDataUpdateCoordinator(DataUpdateCoordinator[JellyfinDataT], ABC, m
17
15
  client_device_id: Incomplete
18
16
  user_id: Incomplete
19
17
  session_ids: Incomplete
18
+ remote_session_ids: Incomplete
20
19
  device_ids: Incomplete
21
- def __init__(self, hass: HomeAssistant, api_client: JellyfinClient, system_info: dict[str, Any], client_device_id: str, user_id: str) -> None: ...
22
- async def _async_update_data(self) -> JellyfinDataT: ...
23
- @abstractmethod
24
- async def _fetch_data(self) -> JellyfinDataT: ...
25
-
26
- class SessionsDataUpdateCoordinator(JellyfinDataUpdateCoordinator[dict[str, dict[str, Any]]]):
27
- device_ids: Incomplete
28
- async def _fetch_data(self) -> dict[str, dict[str, Any]]: ...
20
+ def __init__(self, hass: HomeAssistant, api_client: JellyfinClient, system_info: dict[str, Any], user_id: str) -> None: ...
21
+ async def _async_update_data(self) -> dict[str, dict[str, Any]]: ...
@@ -1,14 +1,29 @@
1
1
  from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
2
- from .coordinator import JellyfinDataT as JellyfinDataT, JellyfinDataUpdateCoordinator as JellyfinDataUpdateCoordinator
2
+ from .coordinator import JellyfinDataUpdateCoordinator as JellyfinDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
5
- from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
5
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
6
+ from typing import Any
7
7
 
8
- class JellyfinEntity(CoordinatorEntity[JellyfinDataUpdateCoordinator[JellyfinDataT]]):
8
+ class JellyfinEntity(CoordinatorEntity[JellyfinDataUpdateCoordinator]):
9
9
  _attr_has_entity_name: bool
10
- coordinator: Incomplete
11
- entity_description: Incomplete
12
- _attr_unique_id: Incomplete
10
+
11
+ class JellyfinServerEntity(JellyfinEntity):
12
+ _attr_device_info: Incomplete
13
+ def __init__(self, coordinator: JellyfinDataUpdateCoordinator) -> None: ...
14
+
15
+ class JellyfinClientEntity(JellyfinEntity):
16
+ session_id: Incomplete
17
+ device_id: Incomplete
18
+ device_name: Incomplete
19
+ client_name: Incomplete
20
+ app_version: Incomplete
21
+ capabilities: Incomplete
13
22
  _attr_device_info: Incomplete
14
- def __init__(self, coordinator: JellyfinDataUpdateCoordinator[JellyfinDataT], description: EntityDescription) -> None: ...
23
+ _attr_name: Incomplete
24
+ _attr_has_entity_name: bool
25
+ def __init__(self, coordinator: JellyfinDataUpdateCoordinator, session_id: str) -> None: ...
26
+ @property
27
+ def session_data(self) -> dict[str, Any]: ...
28
+ @property
29
+ def available(self) -> bool: ...