homeassistant-stubs 2024.9.2__py3-none-any.whl → 2024.10.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (867) hide show
  1. homeassistant-stubs/components/__init__.pyi +0 -8
  2. homeassistant-stubs/components/abode/binary_sensor.pyi +1 -1
  3. homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
  4. homeassistant-stubs/components/acmeda/__init__.pyi +1 -0
  5. homeassistant-stubs/components/acmeda/cover.pyi +2 -2
  6. homeassistant-stubs/components/acmeda/{base.pyi → entity.pyi} +1 -1
  7. homeassistant-stubs/components/acmeda/sensor.pyi +2 -2
  8. homeassistant-stubs/components/actiontec/device_tracker.pyi +1 -1
  9. homeassistant-stubs/components/air_quality/__init__.pyi +2 -0
  10. homeassistant-stubs/components/airgradient/__init__.pyi +2 -10
  11. homeassistant-stubs/components/airgradient/button.pyi +4 -4
  12. homeassistant-stubs/components/airgradient/coordinator.pyi +13 -11
  13. homeassistant-stubs/components/airgradient/diagnostics.pyi +5 -0
  14. homeassistant-stubs/components/airgradient/number.pyi +2 -3
  15. homeassistant-stubs/components/airgradient/select.pyi +2 -3
  16. homeassistant-stubs/components/airgradient/sensor.pyi +9 -9
  17. homeassistant-stubs/components/airgradient/switch.pyi +2 -3
  18. homeassistant-stubs/components/airgradient/update.pyi +2 -3
  19. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  20. homeassistant-stubs/components/airnow/const.pyi +4 -1
  21. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  22. homeassistant-stubs/components/airnow/sensor.pyi +2 -1
  23. homeassistant-stubs/components/airvisual/__init__.pyi +6 -14
  24. homeassistant-stubs/components/airvisual/diagnostics.pyi +3 -4
  25. homeassistant-stubs/components/airvisual/entity.pyi +13 -0
  26. homeassistant-stubs/components/airvisual/sensor.pyi +4 -3
  27. homeassistant-stubs/components/airvisual_pro/__init__.pyi +2 -11
  28. homeassistant-stubs/components/airvisual_pro/entity.pyi +12 -0
  29. homeassistant-stubs/components/airvisual_pro/sensor.pyi +2 -1
  30. homeassistant-stubs/components/airzone/diagnostics.pyi +1 -1
  31. homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +1 -1
  32. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  33. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -0
  34. homeassistant-stubs/components/alert/__init__.pyi +3 -43
  35. homeassistant-stubs/components/alert/entity.pyi +45 -0
  36. homeassistant-stubs/components/alexa/capabilities.pyi +2 -1
  37. homeassistant-stubs/components/alexa/config.pyi +1 -1
  38. homeassistant-stubs/components/alexa/smart_home.pyi +1 -1
  39. homeassistant-stubs/components/amazon_polly/tts.pyi +3 -1
  40. homeassistant-stubs/components/amberelectric/__init__.pyi +5 -3
  41. homeassistant-stubs/components/amberelectric/binary_sensor.pyi +3 -3
  42. homeassistant-stubs/components/amberelectric/sensor.pyi +3 -3
  43. homeassistant-stubs/components/ambient_network/__init__.pyi +3 -3
  44. homeassistant-stubs/components/ambient_network/sensor.pyi +2 -3
  45. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -2
  46. homeassistant-stubs/components/anova/__init__.pyi +3 -5
  47. homeassistant-stubs/components/anova/models.pyi +3 -0
  48. homeassistant-stubs/components/anova/sensor.pyi +2 -4
  49. homeassistant-stubs/components/anthemav/__init__.pyi +4 -3
  50. homeassistant-stubs/components/anthemav/media_player.pyi +2 -3
  51. homeassistant-stubs/components/apcupsd/__init__.pyi +3 -4
  52. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +2 -4
  53. homeassistant-stubs/components/apcupsd/diagnostics.pyi +2 -4
  54. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -3
  55. homeassistant-stubs/components/apple_tv/__init__.pyi +2 -19
  56. homeassistant-stubs/components/apple_tv/const.pyi +2 -0
  57. homeassistant-stubs/components/apple_tv/entity.pyi +21 -0
  58. homeassistant-stubs/components/apple_tv/media_player.pyi +2 -1
  59. homeassistant-stubs/components/apple_tv/remote.pyi +2 -1
  60. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -2
  61. homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +1 -1
  62. homeassistant-stubs/components/aruba/device_tracker.pyi +1 -1
  63. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +1 -2
  64. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +5 -8
  65. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +0 -1
  66. homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +6 -5
  67. homeassistant-stubs/components/aseko_pool_live/entity.pyi +8 -3
  68. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +16 -14
  69. homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -3
  70. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  71. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  72. homeassistant-stubs/components/assist_pipeline/repair_flows.pyi +11 -0
  73. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -3
  74. homeassistant-stubs/components/assist_satellite/__init__.pyi +5 -0
  75. homeassistant-stubs/components/assist_satellite/connection_test.pyi +15 -0
  76. homeassistant-stubs/components/assist_satellite/const.pyi +12 -0
  77. homeassistant-stubs/components/assist_satellite/entity.pyi +88 -0
  78. homeassistant-stubs/components/assist_satellite/errors.pyi +4 -0
  79. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +16 -0
  80. homeassistant-stubs/components/asuswrt/bridge.pyi +8 -1
  81. homeassistant-stubs/components/asuswrt/const.pyi +3 -0
  82. homeassistant-stubs/components/asuswrt/device_tracker.pyi +1 -3
  83. homeassistant-stubs/components/asuswrt/sensor.pyi +3 -2
  84. homeassistant-stubs/components/autarco/coordinator.pyi +6 -4
  85. homeassistant-stubs/components/autarco/sensor.pyi +18 -2
  86. homeassistant-stubs/components/automation/__init__.pyi +5 -3
  87. homeassistant-stubs/components/automation/config.pyi +6 -2
  88. homeassistant-stubs/components/automation/const.pyi +2 -0
  89. homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
  90. homeassistant-stubs/components/axis/hub/event_source.pyi +1 -1
  91. homeassistant-stubs/components/bang_olufsen/__init__.pyi +1 -0
  92. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +2 -0
  93. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  94. homeassistant-stubs/components/bang_olufsen/media_player.pyi +21 -4
  95. homeassistant-stubs/components/bang_olufsen/util.pyi +1 -0
  96. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -1
  97. homeassistant-stubs/components/bayesian/binary_sensor.pyi +9 -4
  98. homeassistant-stubs/components/bayesian/const.pyi +1 -0
  99. homeassistant-stubs/components/bayesian/helpers.pyi +2 -1
  100. homeassistant-stubs/components/binary_sensor/__init__.pyi +2 -0
  101. homeassistant-stubs/components/blueprint/__init__.pyi +1 -1
  102. homeassistant-stubs/components/blueprint/importer.pyi +1 -1
  103. homeassistant-stubs/components/blueprint/models.pyi +4 -3
  104. homeassistant-stubs/components/blueprint/websocket_api.pyi +1 -0
  105. homeassistant-stubs/components/bluesound/__init__.pyi +25 -0
  106. homeassistant-stubs/components/bluesound/config_flow.pyi +24 -0
  107. homeassistant-stubs/components/bluesound/const.pyi +8 -0
  108. homeassistant-stubs/components/bluesound/media_player.pyi +136 -0
  109. homeassistant-stubs/components/bluesound/utils.pyi +3 -0
  110. homeassistant-stubs/components/bluetooth/manager.pyi +3 -0
  111. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -3
  112. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -1
  113. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  114. homeassistant-stubs/components/braviatv/media_player.pyi +1 -2
  115. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +3 -1
  116. homeassistant-stubs/components/bthome/device_trigger.pyi +4 -3
  117. homeassistant-stubs/components/button/__init__.pyi +2 -0
  118. homeassistant-stubs/components/calendar/__init__.pyi +7 -5
  119. homeassistant-stubs/components/calendar/const.pyi +5 -0
  120. homeassistant-stubs/components/calendar/trigger.pyi +2 -1
  121. homeassistant-stubs/components/camera/__init__.pyi +4 -4
  122. homeassistant-stubs/components/camera/const.pyi +12 -2
  123. homeassistant-stubs/components/camera/media_source.pyi +2 -4
  124. homeassistant-stubs/components/cert_expiry/entity.pyi +8 -0
  125. homeassistant-stubs/components/cert_expiry/sensor.pyi +3 -8
  126. homeassistant-stubs/components/climate/__init__.pyi +6 -2
  127. homeassistant-stubs/components/climate/const.pyi +1 -0
  128. homeassistant-stubs/components/climate/intent.pyi +1 -3
  129. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  130. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  131. homeassistant-stubs/components/co2signal/__init__.pyi +0 -1
  132. homeassistant-stubs/components/co2signal/config_flow.pyi +2 -1
  133. homeassistant-stubs/components/config/automation.pyi +1 -1
  134. homeassistant-stubs/components/config/category_registry.pyi +1 -1
  135. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  136. homeassistant-stubs/components/config/entity_registry.pyi +1 -2
  137. homeassistant-stubs/components/config/floor_registry.pyi +1 -1
  138. homeassistant-stubs/components/config/label_registry.pyi +1 -1
  139. homeassistant-stubs/components/config/scene.pyi +1 -1
  140. homeassistant-stubs/components/config/script.pyi +0 -1
  141. homeassistant-stubs/components/cover/__init__.pyi +3 -1
  142. homeassistant-stubs/components/cover/const.pyi +2 -0
  143. homeassistant-stubs/components/cover/intent.pyi +1 -4
  144. homeassistant-stubs/components/crownstone/{devices.pyi → entity.pyi} +1 -1
  145. homeassistant-stubs/components/crownstone/light.pyi +2 -2
  146. homeassistant-stubs/components/deako/__init__.pyi +14 -0
  147. homeassistant-stubs/components/deako/config_flow.pyi +6 -0
  148. homeassistant-stubs/components/deako/const.pyi +2 -0
  149. homeassistant-stubs/components/deako/light.pyi +32 -0
  150. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
  151. homeassistant-stubs/components/deconz/binary_sensor.pyi +3 -3
  152. homeassistant-stubs/components/deconz/button.pyi +4 -4
  153. homeassistant-stubs/components/deconz/climate.pyi +3 -3
  154. homeassistant-stubs/components/deconz/cover.pyi +3 -3
  155. homeassistant-stubs/components/deconz/deconz_event.pyi +1 -1
  156. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  157. homeassistant-stubs/components/deconz/fan.pyi +3 -3
  158. homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
  159. homeassistant-stubs/components/deconz/light.pyi +3 -3
  160. homeassistant-stubs/components/deconz/lock.pyi +3 -3
  161. homeassistant-stubs/components/deconz/number.pyi +3 -3
  162. homeassistant-stubs/components/deconz/scene.pyi +3 -3
  163. homeassistant-stubs/components/deconz/select.pyi +6 -6
  164. homeassistant-stubs/components/deconz/sensor.pyi +6 -5
  165. homeassistant-stubs/components/deconz/siren.pyi +3 -3
  166. homeassistant-stubs/components/deconz/switch.pyi +3 -3
  167. homeassistant-stubs/components/demo/lock.pyi +1 -2
  168. homeassistant-stubs/components/demo/notify.pyi +1 -1
  169. homeassistant-stubs/components/derivative/sensor.pyi +1 -1
  170. homeassistant-stubs/components/device_automation/__init__.pyi +1 -1
  171. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -1
  172. homeassistant-stubs/components/device_tracker/config_entry.pyi +30 -4
  173. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  174. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +1 -1
  175. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  176. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  177. homeassistant-stubs/components/devolo_home_network/__init__.pyi +1 -1
  178. homeassistant-stubs/components/devolo_home_network/const.pyi +1 -0
  179. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -6
  180. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  181. homeassistant-stubs/components/devolo_home_network/sensor.pyi +19 -14
  182. homeassistant-stubs/components/dhcp/__init__.pyi +7 -1
  183. homeassistant-stubs/components/discovergy/config_flow.pyi +1 -0
  184. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
  185. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -2
  186. homeassistant-stubs/components/dlna_dms/media_source.pyi +1 -2
  187. homeassistant-stubs/components/downloader/__init__.pyi +1 -9
  188. homeassistant-stubs/components/downloader/config_flow.pyi +0 -1
  189. homeassistant-stubs/components/dsmr/const.pyi +1 -0
  190. homeassistant-stubs/components/dsmr/sensor.pyi +4 -2
  191. homeassistant-stubs/components/efergy/__init__.pyi +0 -9
  192. homeassistant-stubs/components/efergy/entity.pyi +11 -0
  193. homeassistant-stubs/components/efergy/sensor.pyi +2 -1
  194. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  195. homeassistant-stubs/components/elevenlabs/config_flow.pyi +8 -2
  196. homeassistant-stubs/components/elevenlabs/const.pyi +11 -0
  197. homeassistant-stubs/components/elevenlabs/tts.pyi +7 -3
  198. homeassistant-stubs/components/elkm1/__init__.pyi +1 -34
  199. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
  200. homeassistant-stubs/components/elkm1/binary_sensor.pyi +2 -1
  201. homeassistant-stubs/components/elkm1/climate.pyi +4 -1
  202. homeassistant-stubs/components/elkm1/entity.pyi +43 -0
  203. homeassistant-stubs/components/elkm1/light.pyi +2 -1
  204. homeassistant-stubs/components/elkm1/scene.pyi +2 -1
  205. homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
  206. homeassistant-stubs/components/elkm1/switch.pyi +19 -1
  207. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
  208. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -0
  209. homeassistant-stubs/components/enphase_envoy/sensor.pyi +13 -1
  210. homeassistant-stubs/components/enphase_envoy/switch.pyi +1 -1
  211. homeassistant-stubs/components/esphome/__init__.pyi +3 -2
  212. homeassistant-stubs/components/esphome/assist_satellite.pyi +75 -0
  213. homeassistant-stubs/components/esphome/binary_sensor.pyi +3 -0
  214. homeassistant-stubs/components/esphome/const.pyi +1 -0
  215. homeassistant-stubs/components/esphome/entry_data.pyi +3 -2
  216. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +49 -0
  217. homeassistant-stubs/components/esphome/manager.pyi +2 -9
  218. homeassistant-stubs/components/esphome/media_player.pyi +7 -1
  219. homeassistant-stubs/components/esphome/repairs.pyi +5 -0
  220. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +0 -7
  221. homeassistant-stubs/components/evil_genius_labs/entity.pyi +9 -0
  222. homeassistant-stubs/components/evil_genius_labs/light.pyi +1 -1
  223. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  224. homeassistant-stubs/components/evohome/const.pyi +5 -5
  225. homeassistant-stubs/components/fan/__init__.pyi +2 -0
  226. homeassistant-stubs/components/forecast_solar/coordinator.pyi +1 -1
  227. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -3
  228. homeassistant-stubs/components/fritz/switch.pyi +1 -1
  229. homeassistant-stubs/components/fritzbox/__init__.pyi +1 -27
  230. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +1 -1
  231. homeassistant-stubs/components/fritzbox/button.pyi +1 -1
  232. homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
  233. homeassistant-stubs/components/fritzbox/cover.pyi +1 -1
  234. homeassistant-stubs/components/fritzbox/entity.pyi +29 -0
  235. homeassistant-stubs/components/fritzbox/light.pyi +2 -2
  236. homeassistant-stubs/components/fritzbox/sensor.pyi +5 -3
  237. homeassistant-stubs/components/fritzbox/switch.pyi +1 -1
  238. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  239. homeassistant-stubs/components/frontend/storage.pyi +1 -1
  240. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +2 -1
  241. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +3 -1
  242. homeassistant-stubs/components/fujitsu_fglair/const.pyi +3 -1
  243. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +1 -1
  244. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +6 -6
  245. homeassistant-stubs/components/geo_location/__init__.pyi +2 -0
  246. homeassistant-stubs/components/google/calendar.pyi +20 -6
  247. homeassistant-stubs/components/google_cloud/__init__.pyi +10 -0
  248. homeassistant-stubs/components/google_cloud/config_flow.pyi +27 -0
  249. homeassistant-stubs/components/google_cloud/const.pyi +19 -0
  250. homeassistant-stubs/components/google_cloud/helpers.pyi +14 -0
  251. homeassistant-stubs/components/google_cloud/stt.pyi +34 -0
  252. homeassistant-stubs/components/google_cloud/tts.pyi +47 -0
  253. homeassistant-stubs/components/google_photos/__init__.pyi +3 -0
  254. homeassistant-stubs/components/google_photos/api.pyi +15 -0
  255. homeassistant-stubs/components/google_photos/application_credentials.pyi +6 -0
  256. homeassistant-stubs/components/google_photos/config_flow.pyi +19 -0
  257. homeassistant-stubs/components/google_photos/const.pyi +8 -0
  258. homeassistant-stubs/components/google_photos/coordinator.pyi +17 -0
  259. homeassistant-stubs/components/google_photos/media_source.pyi +54 -0
  260. homeassistant-stubs/components/google_photos/services.pyi +15 -0
  261. homeassistant-stubs/components/google_photos/types.pyi +4 -0
  262. homeassistant-stubs/components/group/__init__.pyi +1 -3
  263. homeassistant-stubs/components/group/button.pyi +1 -1
  264. homeassistant-stubs/components/group/const.pyi +7 -3
  265. homeassistant-stubs/components/group/cover.pyi +1 -1
  266. homeassistant-stubs/components/group/entity.pyi +1 -1
  267. homeassistant-stubs/components/group/event.pyi +1 -1
  268. homeassistant-stubs/components/group/fan.pyi +1 -1
  269. homeassistant-stubs/components/group/lock.pyi +2 -2
  270. homeassistant-stubs/components/group/media_player.pyi +1 -1
  271. homeassistant-stubs/components/group/notify.pyi +1 -1
  272. homeassistant-stubs/components/group/registry.pyi +2 -1
  273. homeassistant-stubs/components/group/sensor.pyi +1 -1
  274. homeassistant-stubs/components/group/switch.pyi +1 -1
  275. homeassistant-stubs/components/guardian/__init__.pyi +0 -24
  276. homeassistant-stubs/components/guardian/binary_sensor.pyi +2 -1
  277. homeassistant-stubs/components/guardian/button.pyi +2 -1
  278. homeassistant-stubs/components/guardian/entity.pyi +29 -0
  279. homeassistant-stubs/components/guardian/sensor.pyi +2 -1
  280. homeassistant-stubs/components/guardian/switch.pyi +2 -1
  281. homeassistant-stubs/components/guardian/util.pyi +1 -1
  282. homeassistant-stubs/components/guardian/valve.pyi +2 -1
  283. homeassistant-stubs/components/history/websocket_api.pyi +1 -2
  284. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
  285. homeassistant-stubs/components/homeassistant/triggers/time.pyi +9 -1
  286. homeassistant-stubs/components/homekit/config_flow.pyi +3 -3
  287. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  288. homeassistant-stubs/components/homekit/type_fans.pyi +1 -1
  289. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  290. homeassistant-stubs/components/homekit/type_lights.pyi +1 -1
  291. homeassistant-stubs/components/homekit/type_locks.pyi +1 -1
  292. homeassistant-stubs/components/homekit/type_media_players.pyi +1 -1
  293. homeassistant-stubs/components/homekit/type_security_systems.pyi +1 -1
  294. homeassistant-stubs/components/homekit/type_switches.pyi +0 -1
  295. homeassistant-stubs/components/homekit/util.pyi +1 -0
  296. homeassistant-stubs/components/homekit_controller/config_flow.pyi +0 -1
  297. homeassistant-stubs/components/homekit_controller/lock.pyi +3 -3
  298. homeassistant-stubs/components/homeworks/__init__.pyi +0 -15
  299. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -1
  300. homeassistant-stubs/components/homeworks/button.pyi +2 -1
  301. homeassistant-stubs/components/homeworks/config_flow.pyi +6 -2
  302. homeassistant-stubs/components/homeworks/entity.pyi +16 -0
  303. homeassistant-stubs/components/homeworks/light.pyi +2 -1
  304. homeassistant-stubs/components/homeworks/util.pyi +1 -0
  305. homeassistant-stubs/components/http/__init__.pyi +1 -1
  306. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -24
  307. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +1 -1
  308. homeassistant-stubs/components/huawei_lte/button.pyi +1 -1
  309. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +3 -4
  310. homeassistant-stubs/components/huawei_lte/entity.pyi +31 -0
  311. homeassistant-stubs/components/huawei_lte/select.pyi +2 -1
  312. homeassistant-stubs/components/huawei_lte/sensor.pyi +2 -1
  313. homeassistant-stubs/components/huawei_lte/switch.pyi +1 -1
  314. homeassistant-stubs/components/humidifier/__init__.pyi +7 -2
  315. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  316. homeassistant-stubs/components/husqvarna_automower/button.pyi +20 -6
  317. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +21 -0
  318. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  319. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +1 -3
  320. homeassistant-stubs/components/husqvarna_automower/entity.pyi +16 -2
  321. homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -10
  322. homeassistant-stubs/components/husqvarna_automower/switch.pyi +12 -1
  323. homeassistant-stubs/components/image/__init__.pyi +1 -1
  324. homeassistant-stubs/components/image/const.pyi +4 -0
  325. homeassistant-stubs/components/image/media_source.pyi +2 -5
  326. homeassistant-stubs/components/ios/__init__.pyi +1 -15
  327. homeassistant-stubs/components/ios/const.pyi +16 -0
  328. homeassistant-stubs/components/ios/notify.pyi +1 -1
  329. homeassistant-stubs/components/ios/sensor.pyi +2 -2
  330. homeassistant-stubs/components/iotty/cover.pyi +36 -0
  331. homeassistant-stubs/components/iotty/entity.pyi +19 -0
  332. homeassistant-stubs/components/iotty/switch.pyi +2 -11
  333. homeassistant-stubs/components/iqvia/__init__.pyi +2 -15
  334. homeassistant-stubs/components/iqvia/entity.pyi +18 -0
  335. homeassistant-stubs/components/iqvia/sensor.pyi +1 -1
  336. homeassistant-stubs/components/isy994/const.pyi +2 -1
  337. homeassistant-stubs/components/jellyfin/browse_media.pyi +1 -2
  338. homeassistant-stubs/components/jellyfin/media_player.pyi +1 -2
  339. homeassistant-stubs/components/jellyfin/media_source.pyi +1 -1
  340. homeassistant-stubs/components/jellyfin/sensor.pyi +1 -0
  341. homeassistant-stubs/components/jvc_projector/coordinator.pyi +2 -1
  342. homeassistant-stubs/components/knx/__init__.pyi +4 -2
  343. homeassistant-stubs/components/knx/binary_sensor.pyi +2 -2
  344. homeassistant-stubs/components/knx/button.pyi +2 -2
  345. homeassistant-stubs/components/knx/climate.pyi +9 -3
  346. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  347. homeassistant-stubs/components/knx/const.pyi +9 -3
  348. homeassistant-stubs/components/knx/cover.pyi +2 -2
  349. homeassistant-stubs/components/knx/date.pyi +2 -2
  350. homeassistant-stubs/components/knx/datetime.pyi +2 -2
  351. homeassistant-stubs/components/knx/device_trigger.pyi +3 -5
  352. homeassistant-stubs/components/knx/diagnostics.pyi +1 -1
  353. homeassistant-stubs/components/knx/{knx_entity.pyi → entity.pyi} +10 -5
  354. homeassistant-stubs/components/knx/fan.pyi +2 -2
  355. homeassistant-stubs/components/knx/light.pyi +3 -9
  356. homeassistant-stubs/components/knx/notify.pyi +2 -2
  357. homeassistant-stubs/components/knx/number.pyi +2 -2
  358. homeassistant-stubs/components/knx/scene.pyi +2 -2
  359. homeassistant-stubs/components/knx/schema.pyi +8 -2
  360. homeassistant-stubs/components/knx/select.pyi +2 -2
  361. homeassistant-stubs/components/knx/sensor.pyi +2 -2
  362. homeassistant-stubs/components/knx/services.pyi +1 -1
  363. homeassistant-stubs/components/knx/switch.pyi +3 -9
  364. homeassistant-stubs/components/knx/text.pyi +2 -2
  365. homeassistant-stubs/components/knx/time.pyi +2 -2
  366. homeassistant-stubs/components/knx/weather.pyi +2 -2
  367. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  368. homeassistant-stubs/components/lamarzocco/config_flow.pyi +5 -1
  369. homeassistant-stubs/components/laundrify/__init__.pyi +2 -0
  370. homeassistant-stubs/components/laundrify/binary_sensor.pyi +0 -1
  371. homeassistant-stubs/components/laundrify/config_flow.pyi +1 -0
  372. homeassistant-stubs/components/laundrify/sensor.pyi +41 -0
  373. homeassistant-stubs/components/lawn_mower/__init__.pyi +2 -0
  374. homeassistant-stubs/components/lcn/__init__.pyi +8 -30
  375. homeassistant-stubs/components/lcn/binary_sensor.pyi +7 -7
  376. homeassistant-stubs/components/lcn/climate.pyi +5 -5
  377. homeassistant-stubs/components/lcn/config_flow.pyi +8 -3
  378. homeassistant-stubs/components/lcn/const.pyi +1 -0
  379. homeassistant-stubs/components/lcn/cover.pyi +6 -6
  380. homeassistant-stubs/components/lcn/entity.pyi +28 -0
  381. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  382. homeassistant-stubs/components/lcn/light.pyi +6 -6
  383. homeassistant-stubs/components/lcn/scene.pyi +4 -5
  384. homeassistant-stubs/components/lcn/sensor.pyi +6 -6
  385. homeassistant-stubs/components/lcn/services.pyi +16 -0
  386. homeassistant-stubs/components/lcn/switch.pyi +6 -6
  387. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  388. homeassistant-stubs/components/lektrico/__init__.pyi +12 -0
  389. homeassistant-stubs/components/lektrico/button.pyi +27 -0
  390. homeassistant-stubs/components/lektrico/config_flow.pyi +24 -0
  391. homeassistant-stubs/components/lektrico/const.pyi +4 -0
  392. homeassistant-stubs/components/lektrico/coordinator.pyi +19 -0
  393. homeassistant-stubs/components/lektrico/entity.pyi +10 -0
  394. homeassistant-stubs/components/lektrico/number.pyi +29 -0
  395. homeassistant-stubs/components/lektrico/select.pyi +30 -0
  396. homeassistant-stubs/components/lektrico/sensor.pyi +34 -0
  397. homeassistant-stubs/components/lidarr/__init__.pyi +2 -11
  398. homeassistant-stubs/components/lidarr/entity.pyi +13 -0
  399. homeassistant-stubs/components/lidarr/sensor.pyi +2 -1
  400. homeassistant-stubs/components/light/__init__.pyi +4 -2
  401. homeassistant-stubs/components/linkplay/const.pyi +1 -1
  402. homeassistant-stubs/components/linkplay/media_player.pyi +9 -3
  403. homeassistant-stubs/components/linkplay/utils.pyi +1 -1
  404. homeassistant-stubs/components/local_todo/todo.pyi +1 -0
  405. homeassistant-stubs/components/lock/__init__.pyi +4 -2
  406. homeassistant-stubs/components/lock/const.pyi +11 -0
  407. homeassistant-stubs/components/lock/device_condition.pyi +2 -2
  408. homeassistant-stubs/components/lock/device_trigger.pyi +2 -2
  409. homeassistant-stubs/components/lock/reproduce_state.pyi +2 -2
  410. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -2
  411. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  412. homeassistant-stubs/components/madvr/__init__.pyi +1 -1
  413. homeassistant-stubs/components/madvr/config_flow.pyi +2 -1
  414. homeassistant-stubs/components/madvr/diagnostics.pyi +10 -0
  415. homeassistant-stubs/components/matter/button.pyi +25 -0
  416. homeassistant-stubs/components/matter/entity.pyi +1 -4
  417. homeassistant-stubs/components/matter/light.pyi +0 -1
  418. homeassistant-stubs/components/matter/models.pyi +5 -3
  419. homeassistant-stubs/components/matter/number.pyi +2 -2
  420. homeassistant-stubs/components/matter/sensor.pyi +9 -0
  421. homeassistant-stubs/components/matter/valve.pyi +33 -0
  422. homeassistant-stubs/components/media_player/__init__.pyi +11 -4
  423. homeassistant-stubs/components/media_player/const.pyi +67 -63
  424. homeassistant-stubs/components/mikrotik/device_tracker.pyi +1 -3
  425. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -0
  426. homeassistant-stubs/components/minecraft_server/diagnostics.pyi +1 -1
  427. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -1
  428. homeassistant-stubs/components/modbus/climate.pyi +1 -1
  429. homeassistant-stubs/components/modbus/cover.pyi +1 -1
  430. homeassistant-stubs/components/modbus/fan.pyi +1 -1
  431. homeassistant-stubs/components/modbus/light.pyi +1 -1
  432. homeassistant-stubs/components/modbus/sensor.pyi +1 -1
  433. homeassistant-stubs/components/modbus/switch.pyi +1 -1
  434. homeassistant-stubs/components/mold_indicator/__init__.pyi +10 -0
  435. homeassistant-stubs/components/mold_indicator/config_flow.pyi +20 -0
  436. homeassistant-stubs/components/mold_indicator/const.pyi +6 -0
  437. homeassistant-stubs/components/mold_indicator/sensor.pyi +60 -0
  438. homeassistant-stubs/components/mopeka/__init__.pyi +1 -1
  439. homeassistant-stubs/components/motionmount/entity.pyi +3 -0
  440. homeassistant-stubs/components/motionmount/number.pyi +1 -0
  441. homeassistant-stubs/components/motionmount/select.pyi +5 -0
  442. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  443. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -1
  444. homeassistant-stubs/components/mqtt/button.pyi +1 -1
  445. homeassistant-stubs/components/mqtt/camera.pyi +1 -1
  446. homeassistant-stubs/components/mqtt/climate.pyi +1 -6
  447. homeassistant-stubs/components/mqtt/config_flow.pyi +1 -2
  448. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  449. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  450. homeassistant-stubs/components/mqtt/device_tracker.pyi +3 -3
  451. homeassistant-stubs/components/mqtt/device_trigger.pyi +1 -1
  452. homeassistant-stubs/components/mqtt/discovery.pyi +1 -1
  453. homeassistant-stubs/components/mqtt/{mixins.pyi → entity.pyi} +0 -3
  454. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  455. homeassistant-stubs/components/mqtt/fan.pyi +1 -1
  456. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
  457. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  458. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -1
  459. homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
  460. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -1
  461. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -1
  462. homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -1
  463. homeassistant-stubs/components/mqtt/lock.pyi +1 -1
  464. homeassistant-stubs/components/mqtt/notify.pyi +1 -1
  465. homeassistant-stubs/components/mqtt/number.pyi +1 -1
  466. homeassistant-stubs/components/mqtt/scene.pyi +1 -1
  467. homeassistant-stubs/components/mqtt/select.pyi +1 -1
  468. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  469. homeassistant-stubs/components/mqtt/siren.pyi +1 -1
  470. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  471. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  472. homeassistant-stubs/components/mqtt/text.pyi +1 -1
  473. homeassistant-stubs/components/mqtt/trigger.pyi +3 -2
  474. homeassistant-stubs/components/mqtt/update.pyi +1 -1
  475. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -1
  476. homeassistant-stubs/components/mqtt/valve.pyi +3 -3
  477. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -1
  478. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  479. homeassistant-stubs/components/mysensors/binary_sensor.pyi +3 -2
  480. homeassistant-stubs/components/mysensors/climate.pyi +3 -2
  481. homeassistant-stubs/components/mysensors/cover.pyi +3 -2
  482. homeassistant-stubs/components/mysensors/device_tracker.pyi +5 -10
  483. homeassistant-stubs/components/mysensors/handler.pyi +1 -1
  484. homeassistant-stubs/components/mysensors/light.pyi +3 -3
  485. homeassistant-stubs/components/mysensors/remote.pyi +1 -1
  486. homeassistant-stubs/components/mysensors/sensor.pyi +4 -3
  487. homeassistant-stubs/components/mysensors/switch.pyi +1 -1
  488. homeassistant-stubs/components/mysensors/text.pyi +2 -2
  489. homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -2
  490. homeassistant-stubs/components/nest/device_trigger.pyi +1 -2
  491. homeassistant-stubs/components/nest/media_source.pyi +1 -2
  492. homeassistant-stubs/components/netatmo/device_trigger.pyi +1 -2
  493. homeassistant-stubs/components/netatmo/media_source.pyi +1 -2
  494. homeassistant-stubs/components/network/websocket.pyi +1 -1
  495. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  496. homeassistant-stubs/components/nextdns/config_flow.pyi +11 -1
  497. homeassistant-stubs/components/nextdns/coordinator.pyi +1 -0
  498. homeassistant-stubs/components/nissan_leaf/__init__.pyi +3 -14
  499. homeassistant-stubs/components/nissan_leaf/binary_sensor.pyi +2 -1
  500. homeassistant-stubs/components/nissan_leaf/button.pyi +2 -1
  501. homeassistant-stubs/components/nissan_leaf/const.pyi +1 -0
  502. homeassistant-stubs/components/nissan_leaf/entity.pyi +18 -0
  503. homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -1
  504. homeassistant-stubs/components/nissan_leaf/switch.pyi +2 -1
  505. homeassistant-stubs/components/notify/__init__.pyi +3 -2
  506. homeassistant-stubs/components/notify/legacy.pyi +5 -6
  507. homeassistant-stubs/components/notify/repairs.pyi +1 -2
  508. homeassistant-stubs/components/notion/__init__.pyi +1 -23
  509. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -2
  510. homeassistant-stubs/components/notion/entity.pyi +33 -0
  511. homeassistant-stubs/components/notion/sensor.pyi +1 -2
  512. homeassistant-stubs/components/onewire/binary_sensor.pyi +1 -1
  513. homeassistant-stubs/components/onewire/sensor.pyi +1 -1
  514. homeassistant-stubs/components/onewire/switch.pyi +1 -1
  515. homeassistant-stubs/components/onkyo/media_player.pyi +84 -0
  516. homeassistant-stubs/components/onkyo/receiver.pyi +19 -0
  517. homeassistant-stubs/components/openuv/__init__.pyi +0 -11
  518. homeassistant-stubs/components/openuv/binary_sensor.pyi +1 -1
  519. homeassistant-stubs/components/openuv/entity.pyi +14 -0
  520. homeassistant-stubs/components/openuv/sensor.pyi +1 -1
  521. homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
  522. homeassistant-stubs/components/overkiz/{climate_entities → climate}/__init__.pyi +9 -0
  523. homeassistant-stubs/components/overkiz/{water_heater.pyi → cover/__init__.pyi} +5 -4
  524. homeassistant-stubs/components/overkiz/executor.pyi +1 -1
  525. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +17 -0
  526. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -10
  527. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +2 -1
  528. homeassistant-stubs/components/pi_hole/entity.pyi +13 -0
  529. homeassistant-stubs/components/pi_hole/sensor.pyi +2 -1
  530. homeassistant-stubs/components/pi_hole/switch.pyi +2 -1
  531. homeassistant-stubs/components/pi_hole/update.pyi +2 -1
  532. homeassistant-stubs/components/ping/binary_sensor.pyi +0 -8
  533. homeassistant-stubs/components/ping/device_tracker.pyi +1 -3
  534. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -1
  535. homeassistant-stubs/components/prusalink/__init__.pyi +1 -8
  536. homeassistant-stubs/components/prusalink/binary_sensor.pyi +1 -1
  537. homeassistant-stubs/components/prusalink/button.pyi +1 -1
  538. homeassistant-stubs/components/prusalink/camera.pyi +1 -1
  539. homeassistant-stubs/components/prusalink/entity.pyi +9 -0
  540. homeassistant-stubs/components/prusalink/sensor.pyi +1 -1
  541. homeassistant-stubs/components/purpleair/__init__.pyi +1 -17
  542. homeassistant-stubs/components/purpleair/entity.pyi +21 -0
  543. homeassistant-stubs/components/purpleair/sensor.pyi +1 -1
  544. homeassistant-stubs/components/qnap_qsw/diagnostics.pyi +1 -1
  545. homeassistant-stubs/components/radarr/__init__.pyi +2 -15
  546. homeassistant-stubs/components/radarr/binary_sensor.pyi +2 -1
  547. homeassistant-stubs/components/radarr/calendar.pyi +2 -1
  548. homeassistant-stubs/components/radarr/entity.pyi +16 -0
  549. homeassistant-stubs/components/radarr/sensor.pyi +2 -1
  550. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -18
  551. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +2 -2
  552. homeassistant-stubs/components/rainmachine/button.pyi +2 -2
  553. homeassistant-stubs/components/rainmachine/entity.pyi +30 -0
  554. homeassistant-stubs/components/rainmachine/select.pyi +2 -2
  555. homeassistant-stubs/components/rainmachine/sensor.pyi +2 -2
  556. homeassistant-stubs/components/rainmachine/switch.pyi +2 -2
  557. homeassistant-stubs/components/rainmachine/update.pyi +2 -2
  558. homeassistant-stubs/components/recorder/const.pyi +2 -2
  559. homeassistant-stubs/components/recorder/core.pyi +3 -7
  560. homeassistant-stubs/components/recorder/history/legacy.pyi +9 -10
  561. homeassistant-stubs/components/recorder/history/modern.pyi +1 -1
  562. homeassistant-stubs/components/recorder/migration.pyi +28 -25
  563. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  564. homeassistant-stubs/components/recorder/models/legacy.pyi +1 -37
  565. homeassistant-stubs/components/recorder/models/time.pyi +0 -1
  566. homeassistant-stubs/components/recorder/statistics.pyi +2 -1
  567. homeassistant-stubs/components/recorder/tasks.pyi +4 -17
  568. homeassistant-stubs/components/recorder/util.pyi +6 -2
  569. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -3
  570. homeassistant-stubs/components/remote/__init__.pyi +2 -0
  571. homeassistant-stubs/components/renault/device_tracker.pyi +8 -4
  572. homeassistant-stubs/components/renault/renault_hub.pyi +1 -1
  573. homeassistant-stubs/components/renault/renault_vehicle.pyi +2 -0
  574. homeassistant-stubs/components/renault/services.pyi +4 -0
  575. homeassistant-stubs/components/rfxtrx/__init__.pyi +2 -27
  576. homeassistant-stubs/components/rfxtrx/binary_sensor.pyi +2 -1
  577. homeassistant-stubs/components/rfxtrx/const.pyi +1 -0
  578. homeassistant-stubs/components/rfxtrx/cover.pyi +2 -1
  579. homeassistant-stubs/components/rfxtrx/device_action.pyi +1 -1
  580. homeassistant-stubs/components/rfxtrx/device_trigger.pyi +1 -2
  581. homeassistant-stubs/components/rfxtrx/entity.pyi +33 -0
  582. homeassistant-stubs/components/rfxtrx/event.pyi +2 -1
  583. homeassistant-stubs/components/rfxtrx/light.pyi +2 -1
  584. homeassistant-stubs/components/rfxtrx/sensor.pyi +2 -1
  585. homeassistant-stubs/components/rfxtrx/siren.pyi +2 -1
  586. homeassistant-stubs/components/rfxtrx/switch.pyi +3 -2
  587. homeassistant-stubs/components/ring/__init__.pyi +10 -9
  588. homeassistant-stubs/components/ring/binary_sensor.pyi +24 -20
  589. homeassistant-stubs/components/ring/button.pyi +2 -4
  590. homeassistant-stubs/components/ring/camera.pyi +2 -4
  591. homeassistant-stubs/components/ring/config_flow.pyi +2 -1
  592. homeassistant-stubs/components/ring/const.pyi +1 -1
  593. homeassistant-stubs/components/ring/coordinator.pyi +22 -7
  594. homeassistant-stubs/components/ring/diagnostics.pyi +2 -4
  595. homeassistant-stubs/components/ring/entity.pyi +27 -7
  596. homeassistant-stubs/components/ring/event.pyi +30 -0
  597. homeassistant-stubs/components/ring/light.pyi +2 -4
  598. homeassistant-stubs/components/ring/number.pyi +33 -0
  599. homeassistant-stubs/components/ring/sensor.pyi +6 -8
  600. homeassistant-stubs/components/ring/siren.pyi +30 -14
  601. homeassistant-stubs/components/ring/switch.pyi +25 -17
  602. homeassistant-stubs/components/roborock/binary_sensor.pyi +1 -1
  603. homeassistant-stubs/components/roborock/button.pyi +1 -1
  604. homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
  605. homeassistant-stubs/components/roborock/image.pyi +1 -1
  606. homeassistant-stubs/components/roborock/number.pyi +3 -2
  607. homeassistant-stubs/components/roborock/select.pyi +2 -1
  608. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  609. homeassistant-stubs/components/roborock/switch.pyi +3 -2
  610. homeassistant-stubs/components/roborock/time.pyi +3 -2
  611. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  612. homeassistant-stubs/components/samsungtv/device_trigger.pyi +1 -2
  613. homeassistant-stubs/components/scene/__init__.pyi +2 -0
  614. homeassistant-stubs/components/schedule/__init__.pyi +5 -1
  615. homeassistant-stubs/components/schedule/const.pyi +1 -0
  616. homeassistant-stubs/components/script/helpers.pyi +1 -1
  617. homeassistant-stubs/components/sensibo/diagnostics.pyi +1 -1
  618. homeassistant-stubs/components/sensor/device_condition.pyi +1 -2
  619. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -2
  620. homeassistant-stubs/components/sensor/recorder.pyi +10 -6
  621. homeassistant-stubs/components/sensoterra/__init__.pyi +10 -0
  622. homeassistant-stubs/components/sensoterra/config_flow.pyi +11 -0
  623. homeassistant-stubs/components/sensoterra/const.pyi +9 -0
  624. homeassistant-stubs/components/sensoterra/coordinator.pyi +15 -0
  625. homeassistant-stubs/components/sensoterra/sensor.pyi +39 -0
  626. homeassistant-stubs/components/shelly/cover.pyi +7 -1
  627. homeassistant-stubs/components/shelly/device_trigger.pyi +1 -2
  628. homeassistant-stubs/components/shelly/update.pyi +1 -0
  629. homeassistant-stubs/components/simplisafe/__init__.pyi +4 -38
  630. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -1
  631. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +2 -1
  632. homeassistant-stubs/components/simplisafe/button.pyi +2 -1
  633. homeassistant-stubs/components/simplisafe/const.pyi +6 -0
  634. homeassistant-stubs/components/simplisafe/entity.pyi +38 -0
  635. homeassistant-stubs/components/simplisafe/lock.pyi +2 -1
  636. homeassistant-stubs/components/simplisafe/sensor.pyi +2 -1
  637. homeassistant-stubs/components/siren/__init__.pyi +2 -0
  638. homeassistant-stubs/components/slack/__init__.pyi +1 -13
  639. homeassistant-stubs/components/slack/entity.pyi +15 -0
  640. homeassistant-stubs/components/slack/sensor.pyi +1 -1
  641. homeassistant-stubs/components/smlight/__init__.pyi +18 -0
  642. homeassistant-stubs/components/smlight/binary_sensor.pyi +46 -0
  643. homeassistant-stubs/components/smlight/button.pyi +32 -0
  644. homeassistant-stubs/components/smlight/config_flow.pyi +27 -0
  645. homeassistant-stubs/components/smlight/const.pyi +11 -0
  646. homeassistant-stubs/components/smlight/coordinator.pyi +49 -0
  647. homeassistant-stubs/components/smlight/diagnostics.pyi +5 -0
  648. homeassistant-stubs/components/smlight/entity.pyi +10 -0
  649. homeassistant-stubs/components/smlight/sensor.pyi +56 -0
  650. homeassistant-stubs/components/smlight/switch.pyi +39 -0
  651. homeassistant-stubs/components/smlight/update.pyi +48 -0
  652. homeassistant-stubs/components/solarlog/__init__.pyi +14 -0
  653. homeassistant-stubs/components/solarlog/config_flow.pyi +27 -0
  654. homeassistant-stubs/components/solarlog/const.pyi +4 -0
  655. homeassistant-stubs/components/solarlog/coordinator.pyi +19 -0
  656. homeassistant-stubs/components/solarlog/diagnostics.pyi +10 -0
  657. homeassistant-stubs/components/solarlog/entity.pyi +23 -0
  658. homeassistant-stubs/components/solarlog/sensor.pyi +36 -0
  659. homeassistant-stubs/components/squeezebox/__init__.pyi +24 -0
  660. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +17 -0
  661. homeassistant-stubs/components/squeezebox/browse_media.pyi +18 -0
  662. homeassistant-stubs/components/squeezebox/config_flow.pyi +27 -0
  663. homeassistant-stubs/components/squeezebox/const.pyi +29 -0
  664. homeassistant-stubs/components/squeezebox/coordinator.pyi +14 -0
  665. homeassistant-stubs/components/squeezebox/entity.pyi +14 -0
  666. homeassistant-stubs/components/squeezebox/media_player.pyi +111 -0
  667. homeassistant-stubs/components/squeezebox/sensor.pyi +18 -0
  668. homeassistant-stubs/components/ssdp/__init__.pyi +3 -1
  669. homeassistant-stubs/components/starlink/device_tracker.pyi +2 -5
  670. homeassistant-stubs/components/starlink/diagnostics.pyi +1 -1
  671. homeassistant-stubs/components/stt/const.pyi +6 -2
  672. homeassistant-stubs/components/surepetcare/config_flow.pyi +2 -6
  673. homeassistant-stubs/components/surepetcare/lock.pyi +3 -4
  674. homeassistant-stubs/components/switch/__init__.pyi +2 -0
  675. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  676. homeassistant-stubs/components/switchbot_cloud/const.pyi +4 -0
  677. homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
  678. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +32 -0
  679. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
  680. homeassistant-stubs/components/switcher_kis/config_flow.pyi +23 -2
  681. homeassistant-stubs/components/switcher_kis/coordinator.pyi +2 -0
  682. homeassistant-stubs/components/switcher_kis/cover.pyi +2 -1
  683. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  684. homeassistant-stubs/components/tailscale/__init__.pyi +0 -13
  685. homeassistant-stubs/components/tailscale/binary_sensor.pyi +1 -1
  686. homeassistant-stubs/components/tailscale/config_flow.pyi +2 -0
  687. homeassistant-stubs/components/tailscale/entity.pyi +15 -0
  688. homeassistant-stubs/components/tailscale/sensor.pyi +1 -1
  689. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  690. homeassistant-stubs/components/tami4/button.pyi +14 -1
  691. homeassistant-stubs/components/tautulli/__init__.pyi +0 -13
  692. homeassistant-stubs/components/tautulli/entity.pyi +15 -0
  693. homeassistant-stubs/components/tautulli/sensor.pyi +2 -1
  694. homeassistant-stubs/components/tcp/binary_sensor.pyi +2 -1
  695. homeassistant-stubs/components/tcp/common.pyi +0 -17
  696. homeassistant-stubs/components/tcp/entity.pyi +21 -0
  697. homeassistant-stubs/components/tcp/sensor.pyi +2 -1
  698. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -17
  699. homeassistant-stubs/components/threshold/const.pyi +20 -5
  700. homeassistant-stubs/components/tibber/services.pyi +2 -2
  701. homeassistant-stubs/components/tile/device_tracker.pyi +1 -3
  702. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  703. homeassistant-stubs/components/todo/const.pyi +4 -0
  704. homeassistant-stubs/components/todo/intent.pyi +2 -2
  705. homeassistant-stubs/components/tolo/__init__.pyi +3 -22
  706. homeassistant-stubs/components/tolo/binary_sensor.pyi +2 -1
  707. homeassistant-stubs/components/tolo/button.pyi +2 -1
  708. homeassistant-stubs/components/tolo/climate.pyi +2 -1
  709. homeassistant-stubs/components/tolo/coordinator.pyi +20 -0
  710. homeassistant-stubs/components/tolo/entity.pyi +11 -0
  711. homeassistant-stubs/components/tolo/fan.pyi +2 -1
  712. homeassistant-stubs/components/tolo/light.pyi +2 -1
  713. homeassistant-stubs/components/tolo/number.pyi +2 -1
  714. homeassistant-stubs/components/tolo/select.pyi +2 -1
  715. homeassistant-stubs/components/tolo/sensor.pyi +2 -1
  716. homeassistant-stubs/components/tolo/switch.pyi +2 -1
  717. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -1
  718. homeassistant-stubs/components/tplink/button.pyi +2 -1
  719. homeassistant-stubs/components/tplink/deprecate.pyi +18 -0
  720. homeassistant-stubs/components/tplink/entity.pyi +8 -4
  721. homeassistant-stubs/components/tplink/number.pyi +3 -1
  722. homeassistant-stubs/components/tplink/select.pyi +1 -1
  723. homeassistant-stubs/components/tplink/sensor.pyi +2 -1
  724. homeassistant-stubs/components/tplink/siren.pyi +22 -0
  725. homeassistant-stubs/components/tplink/switch.pyi +1 -1
  726. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -0
  727. homeassistant-stubs/components/tplink_omada/controller.pyi +10 -5
  728. homeassistant-stubs/components/tplink_omada/coordinator.pyi +7 -2
  729. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +1 -3
  730. homeassistant-stubs/components/tplink_omada/entity.pyi +0 -1
  731. homeassistant-stubs/components/tplink_omada/update.pyi +8 -7
  732. homeassistant-stubs/components/trace/__init__.pyi +1 -2
  733. homeassistant-stubs/components/trace/const.pyi +7 -3
  734. homeassistant-stubs/components/tractive/device_tracker.pyi +3 -9
  735. homeassistant-stubs/components/tradfri/cover.pyi +1 -1
  736. homeassistant-stubs/components/tradfri/fan.pyi +1 -1
  737. homeassistant-stubs/components/tradfri/light.pyi +1 -1
  738. homeassistant-stubs/components/tradfri/sensor.pyi +1 -1
  739. homeassistant-stubs/components/tradfri/switch.pyi +1 -1
  740. homeassistant-stubs/components/tts/__init__.pyi +2 -1
  741. homeassistant-stubs/components/tts/const.pyi +6 -1
  742. homeassistant-stubs/components/tts/helper.pyi +2 -3
  743. homeassistant-stubs/components/tts/legacy.pyi +0 -1
  744. homeassistant-stubs/components/tts/media_source.pyi +3 -3
  745. homeassistant-stubs/components/unifi/device_tracker.pyi +2 -4
  746. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  747. homeassistant-stubs/components/unifi/switch.pyi +1 -1
  748. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -2
  749. homeassistant-stubs/components/unifiprotect/button.pyi +1 -2
  750. homeassistant-stubs/components/unifiprotect/entity.pyi +40 -3
  751. homeassistant-stubs/components/unifiprotect/event.pyi +1 -2
  752. homeassistant-stubs/components/unifiprotect/media_source.pyi +1 -1
  753. homeassistant-stubs/components/unifiprotect/number.pyi +1 -2
  754. homeassistant-stubs/components/unifiprotect/select.pyi +1 -2
  755. homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -2
  756. homeassistant-stubs/components/unifiprotect/switch.pyi +1 -2
  757. homeassistant-stubs/components/unifiprotect/text.pyi +1 -2
  758. homeassistant-stubs/components/upcloud/__init__.pyi +2 -37
  759. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -1
  760. homeassistant-stubs/components/upcloud/const.pyi +1 -0
  761. homeassistant-stubs/components/upcloud/entity.pyi +38 -0
  762. homeassistant-stubs/components/upcloud/switch.pyi +4 -1
  763. homeassistant-stubs/components/update/__init__.pyi +1 -0
  764. homeassistant-stubs/components/uvc/__init__.pyi +0 -0
  765. homeassistant-stubs/components/uvc/camera.pyi +54 -0
  766. homeassistant-stubs/components/vacuum/__init__.pyi +21 -14
  767. homeassistant-stubs/components/vallox/__init__.pyi +6 -9
  768. homeassistant-stubs/components/vallox/binary_sensor.pyi +1 -1
  769. homeassistant-stubs/components/vallox/config_flow.pyi +5 -2
  770. homeassistant-stubs/components/vallox/const.pyi +3 -3
  771. homeassistant-stubs/components/vallox/date.pyi +1 -1
  772. homeassistant-stubs/components/vallox/entity.pyi +12 -0
  773. homeassistant-stubs/components/vallox/fan.pyi +2 -2
  774. homeassistant-stubs/components/vallox/number.pyi +1 -1
  775. homeassistant-stubs/components/vallox/sensor.pyi +2 -2
  776. homeassistant-stubs/components/vallox/switch.pyi +1 -1
  777. homeassistant-stubs/components/valve/__init__.pyi +3 -1
  778. homeassistant-stubs/components/valve/const.pyi +9 -0
  779. homeassistant-stubs/components/velbus/climate.pyi +4 -1
  780. homeassistant-stubs/components/wallbox/const.pyi +4 -0
  781. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -1
  782. homeassistant-stubs/components/wallbox/number.pyi +1 -1
  783. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  784. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  785. homeassistant-stubs/components/weather/__init__.pyi +1 -1
  786. homeassistant-stubs/components/weather/const.pyi +5 -0
  787. homeassistant-stubs/components/weather/intent.pyi +1 -3
  788. homeassistant-stubs/components/weather/websocket_api.pyi +1 -2
  789. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  790. homeassistant-stubs/components/withings/config_flow.pyi +1 -1
  791. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +1 -0
  792. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +9 -1
  793. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +10 -6
  794. homeassistant-stubs/components/yale_smart_alarm/switch.pyi +20 -0
  795. homeassistant-stubs/components/youtube/const.pyi +1 -0
  796. homeassistant-stubs/components/youtube/coordinator.pyi +1 -1
  797. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  798. homeassistant-stubs/components/zeroconf/__init__.pyi +4 -0
  799. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  800. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  801. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  802. homeassistant-stubs/components/zwave_js/cover.pyi +5 -0
  803. homeassistant-stubs/components/zwave_js/device_condition.pyi +1 -1
  804. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -2
  805. homeassistant-stubs/components/zwave_js/diagnostics.pyi +1 -2
  806. homeassistant-stubs/components/zwave_js/entity.pyi +1 -2
  807. homeassistant-stubs/components/zwave_js/lock.pyi +2 -3
  808. homeassistant-stubs/components/zwave_js/migrate.pyi +8 -7
  809. homeassistant-stubs/components/zwave_js/sensor.pyi +8 -4
  810. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +1 -1
  811. homeassistant-stubs/config_entries.pyi +9 -4
  812. homeassistant-stubs/const.pyi +19 -8
  813. homeassistant-stubs/helpers/aiohttp_client.pyi +8 -7
  814. homeassistant-stubs/helpers/condition.pyi +2 -0
  815. homeassistant-stubs/helpers/config_validation.pyi +5 -1
  816. homeassistant-stubs/helpers/discovery.pyi +1 -1
  817. homeassistant-stubs/helpers/discovery_flow.pyi +12 -2
  818. homeassistant-stubs/helpers/frame.pyi +1 -1
  819. homeassistant-stubs/helpers/llm.pyi +5 -5
  820. homeassistant-stubs/helpers/script.pyi +1 -1
  821. homeassistant-stubs/helpers/state.pyi +2 -1
  822. homeassistant-stubs/helpers/template.pyi +5 -1
  823. homeassistant-stubs/util/aiohttp.pyi +10 -0
  824. homeassistant-stubs/util/package.pyi +3 -0
  825. homeassistant-stubs/util/ssl.pyi +8 -4
  826. homeassistant-stubs/util/unit_conversion.pyi +2 -0
  827. homeassistant-stubs/util/unit_system.pyi +1 -0
  828. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info}/METADATA +14 -16
  829. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info}/RECORD +904 -779
  830. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info}/WHEEL +1 -1
  831. homeassistant-stubs/components/esphome/voice_assistant.pyi +0 -66
  832. homeassistant-stubs/components/notion/model.pyi +0 -7
  833. homeassistant-stubs/components/overkiz/climate.pyi +0 -10
  834. homeassistant-stubs/components/overkiz/cover.pyi +0 -11
  835. homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +0 -8
  836. homeassistant-stubs/components/rainmachine/model.pyi +0 -7
  837. homeassistant-stubs/components/recorder/history/common.pyi +0 -4
  838. homeassistant-stubs/components/unifiprotect/models.pyi +0 -44
  839. /homeassistant-stubs/components/deconz/{deconz_device.pyi → entity.pyi} +0 -0
  840. /homeassistant-stubs/components/devolo_home_control/{devolo_device.pyi → entity.pyi} +0 -0
  841. /homeassistant-stubs/components/modbus/{base_platform.pyi → entity.pyi} +0 -0
  842. /homeassistant-stubs/components/mysensors/{device.pyi → entity.pyi} +0 -0
  843. /homeassistant-stubs/components/onewire/{onewire_entities.pyi → entity.pyi} +0 -0
  844. /homeassistant-stubs/components/{overkiz/cover_entities → onkyo}/__init__.pyi +0 -0
  845. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater.pyi +0 -0
  846. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -0
  847. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_towel_dryer.pyi +0 -0
  848. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_heat_recovery_ventilation.pyi +0 -0
  849. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heat_pump_main_component.pyi +0 -0
  850. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heating_zone.pyi +0 -0
  851. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control.pyi +0 -0
  852. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control_zone.pyi +0 -0
  853. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -0
  854. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_ovp.pyi +0 -0
  855. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_heating_temperature_interface.pyi +0 -0
  856. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_thermostat.pyi +0 -0
  857. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/valve_heating_temperature_interface.pyi +0 -0
  858. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/awning.pyi +0 -0
  859. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/generic_cover.pyi +0 -0
  860. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/vertical_cover.pyi +0 -0
  861. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_domestic_hot_water_production_mlb_component.pyi +0 -0
  862. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_pass_apc_dhw.pyi +0 -0
  863. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/domestic_hot_water_production.pyi +0 -0
  864. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/hitachi_dhw.pyi +0 -0
  865. /homeassistant-stubs/components/roborock/{device.pyi → entity.pyi} +0 -0
  866. /homeassistant-stubs/components/tradfri/{base_class.pyi → entity.pyi} +0 -0
  867. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info/licenses}/LICENSE +0 -0
@@ -1,13 +1,12 @@
1
- from .const import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
- from .coordinator import RingDataCoordinator as RingDataCoordinator, RingNotificationsCoordinator as RingNotificationsCoordinator
1
+ from .const import CONF_LISTEN_CREDENTIALS as CONF_LISTEN_CREDENTIALS, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
+ from .coordinator import RingDataCoordinator as RingDataCoordinator, RingListenCoordinator as RingListenCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from dataclasses import dataclass
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, CONF_TOKEN as CONF_TOKEN, __version__ as __version__
7
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
8
- from homeassistant.helpers import device_registry as dr
6
+ from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, CONF_TOKEN as CONF_TOKEN
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.helpers import device_registry as dr, instance_id as instance_id
9
9
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
11
10
  from ring_doorbell import Ring, RingDevices as RingDevices
12
11
 
13
12
  _LOGGER: Incomplete
@@ -17,10 +16,12 @@ class RingData:
17
16
  api: Ring
18
17
  devices: RingDevices
19
18
  devices_coordinator: RingDataCoordinator
20
- notifications_coordinator: RingNotificationsCoordinator
21
- def __init__(self, api, devices, devices_coordinator, notifications_coordinator) -> None: ...
19
+ listen_coordinator: RingListenCoordinator
20
+ def __init__(self, api, devices, devices_coordinator, listen_coordinator) -> None: ...
21
+ RingConfigEntry = ConfigEntry[RingData]
22
22
 
23
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
23
+ async def get_auth_agent_id(hass: HomeAssistant) -> tuple[str, str]: ...
24
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry) -> bool: ...
24
25
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
25
26
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
26
27
  async def _migrate_old_unique_ids(hass: HomeAssistant, entry_id: str) -> None: ...
@@ -1,35 +1,39 @@
1
- from . import RingData as RingData
2
- from .const import DOMAIN as DOMAIN
3
- from .coordinator import RingNotificationsCoordinator as RingNotificationsCoordinator
4
- from .entity import RingBaseEntity as RingBaseEntity
1
+ from . import RingConfigEntry as RingConfigEntry
2
+ from .coordinator import RingListenCoordinator as RingListenCoordinator
3
+ from .entity import DeprecatedInfo as DeprecatedInfo, RingBaseEntity as RingBaseEntity, RingDeviceT as RingDeviceT, RingEntityDescription as RingEntityDescription, async_check_create_deprecated as async_check_create_deprecated
5
4
  from _typeshed import Incomplete
6
- from collections.abc import Callable as Callable, Mapping
5
+ from collections.abc import Mapping
7
6
  from dataclasses import dataclass
8
7
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.const import Platform as Platform
9
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
11
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
- from ring_doorbell import Ring as Ring, RingEvent as RingEvent, RingGeneric as RingGeneric
13
- from typing import Any
11
+ from homeassistant.helpers.event import async_call_at as async_call_at
12
+ from ring_doorbell import RingCapability, RingEvent as RingEvent
13
+ from typing import Any, Generic
14
14
 
15
15
  @dataclass(frozen=True, kw_only=True)
16
- class RingBinarySensorEntityDescription(BinarySensorEntityDescription):
17
- exists_fn: Callable[[RingGeneric], bool]
18
- def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., exists_fn) -> None: ...
16
+ class RingBinarySensorEntityDescription(BinarySensorEntityDescription, RingEntityDescription, Generic[RingDeviceT]):
17
+ capability: RingCapability
18
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., deprecated_info=..., capability) -> None: ...
19
19
 
20
20
  BINARY_SENSOR_TYPES: tuple[RingBinarySensorEntityDescription, ...]
21
21
 
22
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
23
 
24
- class RingBinarySensor(RingBaseEntity[RingNotificationsCoordinator], BinarySensorEntity):
24
+ class RingBinarySensor(RingBaseEntity[RingListenCoordinator, RingDeviceT], BinarySensorEntity):
25
25
  _active_alert: RingEvent | None
26
- entity_description: RingBinarySensorEntityDescription
27
- _ring: Incomplete
26
+ entity_description: Incomplete
28
27
  _attr_unique_id: Incomplete
29
- def __init__(self, ring: Ring, device: RingGeneric, coordinator: RingNotificationsCoordinator, description: RingBinarySensorEntityDescription) -> None: ...
30
- def _handle_coordinator_update(self, _: Any = None) -> None: ...
31
- def _update_alert(self) -> None: ...
28
+ _attr_is_on: bool
29
+ _cancel_callback: Incomplete
30
+ def __init__(self, device: RingDeviceT, coordinator: RingListenCoordinator, description: RingBinarySensorEntityDescription[RingDeviceT]) -> None: ...
31
+ def _async_handle_event(self, alert: RingEvent) -> None: ...
32
+ def _async_cancel_event(self, _now: Any) -> None: ...
33
+ def _get_coordinator_alert(self) -> RingEvent | None: ...
34
+ def _handle_coordinator_update(self) -> None: ...
32
35
  @property
33
- def is_on(self) -> bool: ...
36
+ def available(self) -> bool: ...
37
+ async def async_update(self) -> None: ...
34
38
  @property
35
39
  def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
@@ -1,17 +1,15 @@
1
- from . import RingData as RingData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import RingConfigEntry as RingConfigEntry
3
2
  from .coordinator import RingDataCoordinator as RingDataCoordinator
4
3
  from .entity import RingEntity as RingEntity, exception_wrap as exception_wrap
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.core import HomeAssistant as HomeAssistant
9
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
8
  from ring_doorbell import RingOther
11
9
 
12
10
  BUTTON_DESCRIPTION: Incomplete
13
11
 
14
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
12
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
13
 
16
14
  class RingDoorButton(RingEntity[RingOther], ButtonEntity):
17
15
  entity_description: Incomplete
@@ -1,12 +1,10 @@
1
- from . import RingData as RingData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import RingConfigEntry as RingConfigEntry
3
2
  from .coordinator import RingDataCoordinator as RingDataCoordinator
4
3
  from .entity import RingEntity as RingEntity, exception_wrap as exception_wrap
5
4
  from _typeshed import Incomplete
6
5
  from aiohttp import web as web
7
6
  from homeassistant.components import ffmpeg as ffmpeg
8
7
  from homeassistant.components.camera import Camera as Camera
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
9
  from homeassistant.helpers.aiohttp_client import async_aiohttp_proxy_stream as async_aiohttp_proxy_stream
12
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -17,7 +15,7 @@ FORCE_REFRESH_INTERVAL: Incomplete
17
15
  MOTION_DETECTION_CAPABILITY: str
18
16
  _LOGGER: Incomplete
19
17
 
20
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
18
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
19
 
22
20
  class RingCam(RingEntity[RingDoorBell], Camera):
23
21
  _attr_name: Incomplete
@@ -1,8 +1,9 @@
1
+ from . import get_auth_agent_id as get_auth_agent_id
1
2
  from .const import CONF_2FA as CONF_2FA, DOMAIN as DOMAIN
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Mapping
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
- from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
6
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
7
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
9
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -8,5 +8,5 @@ DOMAIN: str
8
8
  DEFAULT_ENTITY_NAMESPACE: str
9
9
  PLATFORMS: Incomplete
10
10
  SCAN_INTERVAL: Incomplete
11
- NOTIFICATIONS_SCAN_INTERVAL: Incomplete
12
11
  CONF_2FA: str
12
+ CONF_LISTEN_CREDENTIALS: str
@@ -1,10 +1,11 @@
1
- from .const import NOTIFICATIONS_SCAN_INTERVAL as NOTIFICATIONS_SCAN_INTERVAL, SCAN_INTERVAL as SCAN_INTERVAL
1
+ from .const import SCAN_INTERVAL as SCAN_INTERVAL
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable, Coroutine
4
- from homeassistant.core import HomeAssistant as HomeAssistant
4
+ from homeassistant import config_entries as config_entries
5
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
5
6
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
6
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
7
- from ring_doorbell import Ring as Ring, RingDevices
7
+ from homeassistant.helpers.update_coordinator import BaseDataUpdateCoordinatorProtocol as BaseDataUpdateCoordinatorProtocol, DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
+ from ring_doorbell import Ring as Ring, RingDevices, RingEvent as RingEvent
8
9
  from typing import Any
9
10
 
10
11
  _LOGGER: Incomplete
@@ -17,7 +18,21 @@ class RingDataCoordinator(DataUpdateCoordinator[RingDevices]):
17
18
  def __init__(self, hass: HomeAssistant, ring_api: Ring) -> None: ...
18
19
  async def _async_update_data(self) -> RingDevices: ...
19
20
 
20
- class RingNotificationsCoordinator(DataUpdateCoordinator[None]):
21
+ class RingListenCoordinator(BaseDataUpdateCoordinatorProtocol):
22
+ config_entry: config_entries.ConfigEntry
23
+ hass: Incomplete
24
+ logger: Incomplete
21
25
  ring_api: Incomplete
22
- def __init__(self, hass: HomeAssistant, ring_api: Ring) -> None: ...
23
- async def _async_update_data(self) -> None: ...
26
+ event_listener: Incomplete
27
+ _listeners: Incomplete
28
+ _listen_callback_id: Incomplete
29
+ start_timeout: int
30
+ def __init__(self, hass: HomeAssistant, ring_api: Ring, listen_credentials: dict[str, Any] | None, listen_credentials_updater: Callable[[dict[str, Any]], None]) -> None: ...
31
+ alerts: Incomplete
32
+ def index_alerts(self) -> None: ...
33
+ async def async_shutdown(self) -> None: ...
34
+ async def _async_stop_listen(self) -> None: ...
35
+ async def _async_start_listen(self) -> None: ...
36
+ def _on_event(self, event: RingEvent) -> None: ...
37
+ def _async_update_listeners(self, doorbot_id: int | None = None) -> None: ...
38
+ def async_add_listener(self, update_callback: CALLBACK_TYPE, context: Any = None) -> Callable[[], None]: ...
@@ -1,11 +1,9 @@
1
- from . import RingData as RingData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import RingConfigEntry as RingConfigEntry
3
2
  from _typeshed import Incomplete
4
3
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
4
  from homeassistant.core import HomeAssistant as HomeAssistant
7
5
  from typing import Any
8
6
 
9
7
  TO_REDACT: Incomplete
10
8
 
11
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
9
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: RingConfigEntry) -> dict[str, Any]: ...
@@ -1,21 +1,41 @@
1
+ import abc
1
2
  from .const import ATTRIBUTION as ATTRIBUTION, DOMAIN as DOMAIN
2
- from .coordinator import RingDataCoordinator as RingDataCoordinator, RingNotificationsCoordinator as RingNotificationsCoordinator
3
+ from .coordinator import RingDataCoordinator as RingDataCoordinator, RingListenCoordinator as RingListenCoordinator
3
4
  from _typeshed import Incomplete
4
- from collections.abc import Callable as Callable, Coroutine
5
- from homeassistant.core import callback as callback
5
+ from collections.abc import Awaitable as Awaitable, Callable as Callable, Coroutine
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.automation import automations_with_entity as automations_with_entity
8
+ from homeassistant.components.script import scripts_with_entity as scripts_with_entity
9
+ from homeassistant.const import Platform as Platform
10
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
11
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
12
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
13
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
14
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
15
+ from homeassistant.helpers.update_coordinator import BaseCoordinatorEntity as BaseCoordinatorEntity, CoordinatorEntity as CoordinatorEntity
9
16
  from ring_doorbell import RingDevices as RingDevices, RingGeneric
10
17
  from typing import Any, Concatenate, Generic
11
18
  from typing_extensions import TypeVar
12
19
 
13
20
  RingDeviceT = TypeVar('RingDeviceT', bound=RingGeneric, default=RingGeneric)
14
- _RingCoordinatorT = TypeVar('_RingCoordinatorT', bound=RingDataCoordinator | RingNotificationsCoordinator)
21
+ _RingCoordinatorT = TypeVar('_RingCoordinatorT', bound=RingDataCoordinator | RingListenCoordinator)
22
+
23
+ @dataclass(slots=True)
24
+ class DeprecatedInfo:
25
+ new_platform: Platform
26
+ breaks_in_ha_version: str
27
+ def __init__(self, new_platform, breaks_in_ha_version) -> None: ...
28
+
29
+ @dataclass(frozen=True, kw_only=True)
30
+ class RingEntityDescription(EntityDescription):
31
+ deprecated_info: DeprecatedInfo | None = ...
32
+ 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=..., deprecated_info=...) -> None: ...
15
33
 
16
34
  def exception_wrap(async_func: Callable[Concatenate[_RingBaseEntityT, _P], Coroutine[Any, Any, _R]]) -> Callable[Concatenate[_RingBaseEntityT, _P], Coroutine[Any, Any, _R]]: ...
35
+ def refresh_after(func: Callable[Concatenate[_RingEntityT, _P], Awaitable[None]]) -> Callable[Concatenate[_RingEntityT, _P], Coroutine[Any, Any, None]]: ...
36
+ def async_check_create_deprecated(hass: HomeAssistant, platform: Platform, unique_id: str, entity_description: RingEntityDescription) -> bool: ...
17
37
 
18
- class RingBaseEntity(CoordinatorEntity[_RingCoordinatorT], Generic[_RingCoordinatorT, RingDeviceT]):
38
+ class RingBaseEntity(BaseCoordinatorEntity[_RingCoordinatorT], Generic[_RingCoordinatorT, RingDeviceT], metaclass=abc.ABCMeta):
19
39
  _attr_attribution = ATTRIBUTION
20
40
  _attr_should_poll: bool
21
41
  _attr_has_entity_name: bool
@@ -24,7 +44,7 @@ class RingBaseEntity(CoordinatorEntity[_RingCoordinatorT], Generic[_RingCoordina
24
44
  _attr_device_info: Incomplete
25
45
  def __init__(self, device: RingDeviceT, coordinator: _RingCoordinatorT) -> None: ...
26
46
 
27
- class RingEntity(RingBaseEntity[RingDataCoordinator, RingDeviceT]):
47
+ class RingEntity(RingBaseEntity[RingDataCoordinator, RingDeviceT], CoordinatorEntity):
28
48
  def _get_coordinator_data(self) -> RingDevices: ...
29
49
  _device: Incomplete
30
50
  def _handle_coordinator_update(self) -> None: ...
@@ -0,0 +1,30 @@
1
+ from . import RingConfigEntry as RingConfigEntry
2
+ from .coordinator import RingListenCoordinator as RingListenCoordinator
3
+ from .entity import RingBaseEntity as RingBaseEntity, RingDeviceT as RingDeviceT
4
+ from _typeshed import Incomplete
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+ from ring_doorbell import RingCapability, RingEvent as RingAlert
10
+ from typing import Generic
11
+
12
+ @dataclass(frozen=True, kw_only=True)
13
+ class RingEventEntityDescription(EventEntityDescription, Generic[RingDeviceT]):
14
+ capability: RingCapability
15
+ 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=..., event_types=..., capability) -> None: ...
16
+
17
+ EVENT_DESCRIPTIONS: tuple[RingEventEntityDescription, ...]
18
+
19
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
+
21
+ class RingEvent(RingBaseEntity[RingListenCoordinator, RingDeviceT], EventEntity):
22
+ entity_description: RingEventEntityDescription[RingDeviceT]
23
+ _attr_unique_id: Incomplete
24
+ def __init__(self, device: RingDeviceT, coordinator: RingListenCoordinator, description: RingEventEntityDescription[RingDeviceT]) -> None: ...
25
+ def _async_handle_event(self, event: str) -> None: ...
26
+ def _get_coordinator_alert(self) -> RingAlert | None: ...
27
+ def _handle_coordinator_update(self) -> None: ...
28
+ @property
29
+ def available(self) -> bool: ...
30
+ async def async_update(self) -> None: ...
@@ -1,11 +1,9 @@
1
- from . import RingData as RingData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import RingConfigEntry as RingConfigEntry
3
2
  from .coordinator import RingDataCoordinator as RingDataCoordinator
4
3
  from .entity import RingEntity as RingEntity, exception_wrap as exception_wrap
5
4
  from _typeshed import Incomplete
6
5
  from enum import StrEnum
7
6
  from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
9
  from ring_doorbell import RingStickUpCam
@@ -18,7 +16,7 @@ class OnOffState(StrEnum):
18
16
  ON = ...
19
17
  OFF = ...
20
18
 
21
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
20
 
23
21
  class RingLight(RingEntity[RingStickUpCam], LightEntity):
24
22
  _attr_color_mode: Incomplete
@@ -0,0 +1,33 @@
1
+ from . import RingConfigEntry as RingConfigEntry
2
+ from .coordinator import RingDataCoordinator as RingDataCoordinator
3
+ from .entity import RingDeviceT as RingDeviceT, RingEntity as RingEntity, refresh_after as refresh_after
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Awaitable, Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
+ from homeassistant.helpers.typing import StateType as StateType
11
+ from ring_doorbell import RingGeneric as RingGeneric
12
+ from typing import Any, Generic
13
+
14
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
+
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class RingNumberEntityDescription(NumberEntityDescription, Generic[RingDeviceT]):
18
+ value_fn: Callable[[RingDeviceT], StateType]
19
+ setter_fn: Callable[[RingDeviceT, float], Awaitable[None]]
20
+ exists_fn: Callable[[RingGeneric], bool]
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=..., max_value=..., min_value=..., mode=..., native_max_value=..., native_min_value=..., native_step=..., native_unit_of_measurement=..., step=..., value_fn, setter_fn, exists_fn) -> None: ...
22
+
23
+ NUMBER_TYPES: tuple[RingNumberEntityDescription[Any], ...]
24
+
25
+ class RingNumber(RingEntity[RingDeviceT], NumberEntity):
26
+ entity_description: RingNumberEntityDescription[RingDeviceT]
27
+ _attr_unique_id: Incomplete
28
+ def __init__(self, device: RingDeviceT, coordinator: RingDataCoordinator, description: RingNumberEntityDescription[RingDeviceT]) -> None: ...
29
+ _attr_native_value: Incomplete
30
+ def _update_native_value(self) -> None: ...
31
+ _device: Incomplete
32
+ def _handle_coordinator_update(self) -> None: ...
33
+ async def async_set_native_value(self, value: float) -> None: ...
@@ -1,20 +1,18 @@
1
- from . import RingData as RingData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import RingConfigEntry as RingConfigEntry
3
2
  from .coordinator import RingDataCoordinator as RingDataCoordinator
4
- from .entity import RingDeviceT as RingDeviceT, RingEntity as RingEntity
3
+ from .entity import DeprecatedInfo as DeprecatedInfo, RingDeviceT as RingDeviceT, RingEntity as RingEntity, RingEntityDescription as RingEntityDescription, async_check_create_deprecated as async_check_create_deprecated
5
4
  from _typeshed import Incomplete
6
5
  from collections.abc import Callable as Callable
7
6
  from dataclasses import dataclass
8
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
- from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT
8
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, Platform as Platform, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT
11
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
11
  from homeassistant.helpers.typing import StateType as StateType
14
12
  from ring_doorbell import RingEventKind, RingGeneric
15
13
  from typing import Any, Generic
16
14
 
17
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
18
16
 
19
17
  class RingSensor(RingEntity[RingDeviceT], SensorEntity):
20
18
  entity_description: RingSensorEntityDescription[RingDeviceT]
@@ -30,10 +28,10 @@ def _get_last_event(history_data: list[dict[str, Any]], kind: RingEventKind | No
30
28
  def _get_last_event_attrs(history_data: list[dict[str, Any]], kind: RingEventKind | None) -> dict[str, Any] | None: ...
31
29
 
32
30
  @dataclass(frozen=True, kw_only=True)
33
- class RingSensorEntityDescription(SensorEntityDescription, Generic[RingDeviceT]):
31
+ class RingSensorEntityDescription(SensorEntityDescription, RingEntityDescription, Generic[RingDeviceT]):
34
32
  value_fn: Callable[[RingDeviceT], StateType] = ...
35
33
  exists_fn: Callable[[RingGeneric], bool] = ...
36
34
  extra_state_attributes_fn: Callable[[RingDeviceT], dict[str, Any] | None] = ...
37
- def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn=..., exists_fn=..., extra_state_attributes_fn=...) -> None: ...
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=..., deprecated_info=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn=..., exists_fn=..., extra_state_attributes_fn=...) -> None: ...
38
36
 
39
37
  SENSOR_TYPES: tuple[RingSensorEntityDescription[Any], ...]
@@ -1,23 +1,39 @@
1
- from . import RingData as RingData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import RingConfigEntry as RingConfigEntry
3
2
  from .coordinator import RingDataCoordinator as RingDataCoordinator
4
- from .entity import RingEntity as RingEntity, exception_wrap as exception_wrap
3
+ from .entity import RingDeviceT as RingDeviceT, RingEntity as RingEntity, RingEntityDescription as RingEntityDescription, async_check_create_deprecated as async_check_create_deprecated, refresh_after as refresh_after
5
4
  from _typeshed import Incomplete
6
- from homeassistant.components.siren import ATTR_TONE as ATTR_TONE, SirenEntity as SirenEntity, SirenEntityFeature as SirenEntityFeature
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from collections.abc import Callable as Callable, Coroutine
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.siren import ATTR_TONE as ATTR_TONE, SirenEntity as SirenEntity, SirenEntityDescription as SirenEntityDescription, SirenEntityFeature as SirenEntityFeature, SirenTurnOnServiceParameters as SirenTurnOnServiceParameters
8
+ from homeassistant.const import Platform as Platform
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
- from ring_doorbell import RingChime
11
- from typing import Any
11
+ from ring_doorbell import RingGeneric as RingGeneric
12
+ from typing import Any, Generic
12
13
 
13
14
  _LOGGER: Incomplete
14
15
 
15
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class RingSirenEntityDescription(SirenEntityDescription, RingEntityDescription, Generic[RingDeviceT]):
18
+ exists_fn: Callable[[RingGeneric], bool]
19
+ unique_id_fn: Callable[[RingDeviceT], str] = ...
20
+ is_on_fn: Callable[[RingDeviceT], bool] | None = ...
21
+ turn_on_fn: Callable[[RingDeviceT, SirenTurnOnServiceParameters], Coroutine[Any, Any, Any]] | None = ...
22
+ turn_off_fn: Callable[[RingDeviceT], Coroutine[Any, Any, None]] | None = ...
23
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., deprecated_info=..., available_tones=..., exists_fn, unique_id_fn=..., is_on_fn=..., turn_on_fn=..., turn_off_fn=...) -> None: ...
16
24
 
17
- class RingChimeSiren(RingEntity[RingChime], SirenEntity):
18
- _attr_available_tones: Incomplete
19
- _attr_supported_features: Incomplete
20
- _attr_translation_key: str
25
+ SIRENS: tuple[RingSirenEntityDescription[Any], ...]
26
+
27
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
28
+
29
+ class RingSiren(RingEntity[RingDeviceT], SirenEntity):
30
+ entity_description: RingSirenEntityDescription[RingDeviceT]
21
31
  _attr_unique_id: Incomplete
22
- def __init__(self, device: RingChime, coordinator: RingDataCoordinator) -> None: ...
32
+ _attr_is_on: Incomplete
33
+ _attr_supported_features: Incomplete
34
+ def __init__(self, device: RingDeviceT, coordinator: RingDataCoordinator, description: RingSirenEntityDescription[RingDeviceT]) -> None: ...
35
+ async def _async_set_siren(self, siren_on: bool, **kwargs: Any) -> None: ...
23
36
  async def async_turn_on(self, **kwargs: Any) -> None: ...
37
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
38
+ _device: Incomplete
39
+ def _handle_coordinator_update(self) -> None: ...
@@ -1,31 +1,39 @@
1
- from . import RingData as RingData
2
- from .const import DOMAIN as DOMAIN
1
+ from . import RingConfigEntry as RingConfigEntry
3
2
  from .coordinator import RingDataCoordinator as RingDataCoordinator
4
- from .entity import RingEntity as RingEntity, exception_wrap as exception_wrap
3
+ from .entity import DeprecatedInfo as DeprecatedInfo, RingDeviceT as RingDeviceT, RingEntity as RingEntity, RingEntityDescription as RingEntityDescription, async_check_create_deprecated as async_check_create_deprecated, refresh_after as refresh_after
5
4
  from _typeshed import Incomplete
6
- from homeassistant.components.switch import SwitchEntity as SwitchEntity
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from collections.abc import Callable as Callable, Coroutine, Sequence
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
8
+ from homeassistant.const import Platform as Platform
8
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
- from ring_doorbell import RingStickUpCam
11
- from typing import Any
11
+ from typing import Any, Generic, Self
12
12
 
13
13
  _LOGGER: Incomplete
14
- SKIP_UPDATES_DELAY: Incomplete
14
+ IN_HOME_CHIME_IS_PRESENT: Incomplete
15
15
 
16
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class RingSwitchEntityDescription(SwitchEntityDescription, RingEntityDescription, Generic[RingDeviceT]):
18
+ exists_fn: Callable[[RingDeviceT], bool]
19
+ unique_id_fn: Callable[[Self, RingDeviceT], str] = ...
20
+ is_on_fn: Callable[[RingDeviceT], bool]
21
+ turn_on_fn: Callable[[RingDeviceT], Coroutine[Any, Any, None]]
22
+ turn_off_fn: Callable[[RingDeviceT], Coroutine[Any, Any, None]]
23
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., deprecated_info=..., exists_fn, unique_id_fn=..., is_on_fn, turn_on_fn, turn_off_fn) -> None: ...
17
24
 
18
- class BaseRingSwitch(RingEntity[RingStickUpCam], SwitchEntity):
19
- _device_type: Incomplete
20
- _attr_unique_id: Incomplete
21
- def __init__(self, device: RingStickUpCam, coordinator: RingDataCoordinator, device_type: str) -> None: ...
25
+ SWITCHES: Sequence[RingSwitchEntityDescription[Any]]
26
+
27
+ async def async_setup_entry(hass: HomeAssistant, entry: RingConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
28
 
23
- class SirenSwitch(BaseRingSwitch):
24
- _attr_translation_key: str
29
+ class RingSwitch(RingEntity[RingDeviceT], SwitchEntity):
30
+ entity_description: RingSwitchEntityDescription[RingDeviceT]
25
31
  _no_updates_until: Incomplete
32
+ _attr_unique_id: Incomplete
26
33
  _attr_is_on: Incomplete
27
- def __init__(self, device: RingStickUpCam, coordinator: RingDataCoordinator) -> None: ...
34
+ def __init__(self, device: RingDeviceT, coordinator: RingDataCoordinator, description: RingSwitchEntityDescription[RingDeviceT]) -> None: ...
35
+ _device: Incomplete
28
36
  def _handle_coordinator_update(self) -> None: ...
29
- async def _async_set_switch(self, new_state: int) -> None: ...
37
+ async def _async_set_switch(self, switch_on: bool) -> None: ...
30
38
  async def async_turn_on(self, **kwargs: Any) -> None: ...
31
39
  async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from . import RoborockConfigEntry as RoborockConfigEntry
2
2
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
3
- from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
3
+ from .entity import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
@@ -1,6 +1,6 @@
1
1
  from . import RoborockConfigEntry as RoborockConfigEntry
2
2
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
3
- from .device import RoborockEntityV1 as RoborockEntityV1
3
+ from .entity import RoborockEntityV1 as RoborockEntityV1
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
6
6
  from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
@@ -1,6 +1,6 @@
1
1
  from . import RoborockConfigEntry as RoborockConfigEntry
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.diagnostics.util import async_redact_data as async_redact_data
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
4
  from homeassistant.const import CONF_UNIQUE_ID as CONF_UNIQUE_ID
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from typing import Any
@@ -1,7 +1,7 @@
1
1
  from . import RoborockConfigEntry as RoborockConfigEntry
2
2
  from .const import DEFAULT_DRAWABLES as DEFAULT_DRAWABLES, DOMAIN as DOMAIN, DRAWABLES as DRAWABLES, IMAGE_CACHE_INTERVAL as IMAGE_CACHE_INTERVAL, MAP_SLEEP as MAP_SLEEP
3
3
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
4
- from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
4
+ from .entity import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
5
5
  from _typeshed import Incomplete
6
6
  from datetime import datetime
7
7
  from homeassistant.components.image import ImageEntity as ImageEntity
@@ -1,12 +1,13 @@
1
- from . import RoborockConfigEntry as RoborockConfigEntry
1
+ from . import DOMAIN as DOMAIN, RoborockConfigEntry as RoborockConfigEntry
2
2
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
3
- from .device import RoborockEntityV1 as RoborockEntityV1
3
+ from .entity import RoborockEntityV1 as RoborockEntityV1
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable, Coroutine
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
8
8
  from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
12
  from roborock.command_cache import CacheableAttribute
12
13
  from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache
@@ -1,6 +1,7 @@
1
1
  from . import RoborockConfigEntry as RoborockConfigEntry
2
+ from .const import MAP_SLEEP as MAP_SLEEP
2
3
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
3
- from .device import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
4
+ from .entity import RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Callable as Callable
6
7
  from dataclasses import dataclass
@@ -1,7 +1,7 @@
1
1
  import datetime
2
2
  from . import RoborockConfigEntry as RoborockConfigEntry
3
3
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator, RoborockDataUpdateCoordinatorA01 as RoborockDataUpdateCoordinatorA01
4
- from .device import RoborockCoordinatedEntityA01 as RoborockCoordinatedEntityA01, RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
4
+ from .entity import RoborockCoordinatedEntityA01 as RoborockCoordinatedEntityA01, RoborockCoordinatedEntityV1 as RoborockCoordinatedEntityV1
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
7
7
  from dataclasses import dataclass
@@ -1,12 +1,13 @@
1
- from . import RoborockConfigEntry as RoborockConfigEntry
1
+ from . import DOMAIN as DOMAIN, RoborockConfigEntry as RoborockConfigEntry
2
2
  from .coordinator import RoborockDataUpdateCoordinator as RoborockDataUpdateCoordinator
3
- from .device import RoborockEntityV1 as RoborockEntityV1
3
+ from .entity import RoborockEntityV1 as RoborockEntityV1
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable, Coroutine
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
8
8
  from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
12
  from roborock.command_cache import CacheableAttribute
12
13
  from roborock.version_1_apis.roborock_client_v1 import AttributeCache as AttributeCache