homeassistant-stubs 2024.11.2__py3-none-any.whl → 2024.12.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 (393) hide show
  1. homeassistant-stubs/__main__.pyi +1 -0
  2. homeassistant-stubs/auth/mfa_modules/totp.pyi +4 -4
  3. homeassistant-stubs/backup_restore.pyi +17 -0
  4. homeassistant-stubs/components/airnow/config_flow.pyi +3 -3
  5. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -2
  6. homeassistant-stubs/components/amberelectric/config_flow.pyi +1 -1
  7. homeassistant-stubs/components/amberelectric/coordinator.pyi +7 -7
  8. homeassistant-stubs/components/amberelectric/sensor.pyi +3 -4
  9. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -3
  10. homeassistant-stubs/components/androidtv/config_flow.pyi +2 -2
  11. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
  12. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -1
  13. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +2 -3
  14. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -2
  15. homeassistant-stubs/components/assist_pipeline/vad.pyi +7 -4
  16. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  17. homeassistant-stubs/components/backup/http.pyi +7 -3
  18. homeassistant-stubs/components/backup/manager.pyi +8 -0
  19. homeassistant-stubs/components/backup/websocket.pyi +1 -0
  20. homeassistant-stubs/components/bang_olufsen/const.pyi +1 -6
  21. homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +6 -0
  22. homeassistant-stubs/components/bang_olufsen/media_player.pyi +11 -5
  23. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -2
  24. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +7 -3
  25. homeassistant-stubs/components/bmw_connected_drive/const.pyi +3 -0
  26. homeassistant-stubs/components/brother/sensor.pyi +0 -1
  27. homeassistant-stubs/components/cambridge_audio/__init__.pyi +1 -0
  28. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +1 -0
  29. homeassistant-stubs/components/cambridge_audio/media_player.pyi +1 -0
  30. homeassistant-stubs/components/cambridge_audio/select.pyi +3 -1
  31. homeassistant-stubs/components/cambridge_audio/switch.pyi +3 -1
  32. homeassistant-stubs/components/camera/__init__.pyi +5 -3
  33. homeassistant-stubs/components/camera/webrtc.pyi +10 -6
  34. homeassistant-stubs/components/canary/config_flow.pyi +0 -2
  35. homeassistant-stubs/components/climate/__init__.pyi +10 -3
  36. homeassistant-stubs/components/climate/const.pyi +6 -0
  37. homeassistant-stubs/components/climate/reproduce_state.pyi +1 -1
  38. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  39. homeassistant-stubs/components/cloud/prefs.pyi +1 -1
  40. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -2
  41. homeassistant-stubs/components/deconz/config_flow.pyi +1 -5
  42. homeassistant-stubs/components/demo/climate.pyi +8 -1
  43. homeassistant-stubs/components/demo/config_flow.pyi +0 -1
  44. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -5
  45. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -2
  46. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  47. homeassistant-stubs/components/doorbird/config_flow.pyi +0 -2
  48. homeassistant-stubs/components/dsmr/config_flow.pyi +0 -2
  49. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  50. homeassistant-stubs/components/elevenlabs/config_flow.pyi +2 -2
  51. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  52. homeassistant-stubs/components/eq3btsmart/__init__.pyi +7 -6
  53. homeassistant-stubs/components/eq3btsmart/binary_sensor.pyi +26 -0
  54. homeassistant-stubs/components/eq3btsmart/climate.pyi +4 -15
  55. homeassistant-stubs/components/eq3btsmart/const.pyi +14 -0
  56. homeassistant-stubs/components/eq3btsmart/entity.pyi +17 -3
  57. homeassistant-stubs/components/eq3btsmart/models.pyi +1 -3
  58. homeassistant-stubs/components/eq3btsmart/number.pyi +33 -0
  59. homeassistant-stubs/components/eq3btsmart/sensor.pyi +28 -0
  60. homeassistant-stubs/components/eq3btsmart/switch.pyi +30 -0
  61. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -0
  62. homeassistant-stubs/components/esphome/config_flow.pyi +0 -2
  63. homeassistant-stubs/components/esphome/entry_data.pyi +8 -1
  64. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +1 -0
  65. homeassistant-stubs/components/esphome/media_player.pyi +2 -1
  66. homeassistant-stubs/components/esphome/select.pyi +18 -1
  67. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  68. homeassistant-stubs/components/feedreader/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/filesize/config_flow.pyi +2 -5
  70. homeassistant-stubs/components/fitbit/config_flow.pyi +0 -1
  71. homeassistant-stubs/components/fitbit/sensor.pyi +12 -15
  72. homeassistant-stubs/components/flux_led/config_flow.pyi +1 -3
  73. homeassistant-stubs/components/forecast_solar/config_flow.pyi +0 -2
  74. homeassistant-stubs/components/fritz/config_flow.pyi +4 -4
  75. homeassistant-stubs/components/fritzbox/config_flow.pyi +1 -1
  76. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +0 -2
  77. homeassistant-stubs/components/fully_kiosk/__init__.pyi +3 -2
  78. homeassistant-stubs/components/fully_kiosk/binary_sensor.pyi +2 -3
  79. homeassistant-stubs/components/fully_kiosk/button.pyi +2 -3
  80. homeassistant-stubs/components/fully_kiosk/camera.pyi +2 -3
  81. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +2 -3
  82. homeassistant-stubs/components/fully_kiosk/image.pyi +2 -3
  83. homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
  84. homeassistant-stubs/components/fully_kiosk/notify.pyi +2 -3
  85. homeassistant-stubs/components/fully_kiosk/number.pyi +2 -3
  86. homeassistant-stubs/components/fully_kiosk/sensor.pyi +2 -3
  87. homeassistant-stubs/components/fully_kiosk/switch.pyi +2 -3
  88. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  89. homeassistant-stubs/components/glances/__init__.pyi +0 -2
  90. homeassistant-stubs/components/go2rtc/__init__.pyi +2 -2
  91. homeassistant-stubs/components/google/config_flow.pyi +0 -2
  92. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +0 -2
  93. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  94. homeassistant-stubs/components/google_cloud/helpers.pyi +1 -1
  95. homeassistant-stubs/components/here_travel_time/config_flow.pyi +1 -2
  96. homeassistant-stubs/components/history/__init__.pyi +1 -1
  97. homeassistant-stubs/components/history/helpers.pyi +1 -2
  98. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  99. homeassistant-stubs/components/history_stats/data.pyi +1 -0
  100. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +4 -3
  101. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +0 -1
  102. homeassistant-stubs/components/homekit/config_flow.pyi +1 -2
  103. homeassistant-stubs/components/homewizard/button.pyi +2 -0
  104. homeassistant-stubs/components/homewizard/config_flow.pyi +5 -1
  105. homeassistant-stubs/components/homewizard/const.pyi +1 -1
  106. homeassistant-stubs/components/homewizard/coordinator.pyi +3 -3
  107. homeassistant-stubs/components/homewizard/number.pyi +2 -0
  108. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  109. homeassistant-stubs/components/homewizard/switch.pyi +4 -2
  110. homeassistant-stubs/components/huawei_lte/config_flow.pyi +0 -2
  111. homeassistant-stubs/components/husqvarna_automower/api.pyi +6 -0
  112. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +7 -0
  113. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  114. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -1
  115. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -1
  116. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -0
  117. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  118. homeassistant-stubs/components/husqvarna_automower/switch.pyi +1 -0
  119. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -9
  120. homeassistant-stubs/components/hyperion/config_flow.pyi +0 -2
  121. homeassistant-stubs/components/ibeacon/config_flow.pyi +0 -3
  122. homeassistant-stubs/components/imap/config_flow.pyi +3 -3
  123. homeassistant-stubs/components/imap/sensor.pyi +1 -1
  124. homeassistant-stubs/components/intent/timers.pyi +6 -0
  125. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +0 -3
  126. homeassistant-stubs/components/isy994/config_flow.pyi +0 -2
  127. homeassistant-stubs/components/jellyfin/config_flow.pyi +3 -3
  128. homeassistant-stubs/components/jewish_calendar/__init__.pyi +6 -17
  129. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +2 -4
  130. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -4
  131. homeassistant-stubs/components/jewish_calendar/entity.pyi +15 -4
  132. homeassistant-stubs/components/jewish_calendar/sensor.pyi +3 -5
  133. homeassistant-stubs/components/knx/__init__.pyi +1 -1
  134. homeassistant-stubs/components/knx/config_flow.pyi +0 -1
  135. homeassistant-stubs/components/knx/light.pyi +3 -3
  136. homeassistant-stubs/components/knx/telegrams.pyi +1 -0
  137. homeassistant-stubs/components/knx/websocket.pyi +1 -0
  138. homeassistant-stubs/components/kraken/config_flow.pyi +0 -3
  139. homeassistant-stubs/components/lamarzocco/__init__.pyi +1 -1
  140. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  141. homeassistant-stubs/components/lamarzocco/button.pyi +7 -3
  142. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -1
  143. homeassistant-stubs/components/lamarzocco/config_flow.pyi +10 -6
  144. homeassistant-stubs/components/lamarzocco/coordinator.pyi +3 -3
  145. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  146. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -2
  147. homeassistant-stubs/components/lamarzocco/number.pyi +5 -3
  148. homeassistant-stubs/components/lamarzocco/select.pyi +3 -2
  149. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  150. homeassistant-stubs/components/lamarzocco/switch.pyi +4 -2
  151. homeassistant-stubs/components/lamarzocco/update.pyi +3 -1
  152. homeassistant-stubs/components/lcn/__init__.pyi +4 -4
  153. homeassistant-stubs/components/lcn/config_flow.pyi +0 -4
  154. homeassistant-stubs/components/lcn/helpers.pyi +2 -4
  155. homeassistant-stubs/components/lcn/schemas.pyi +2 -13
  156. homeassistant-stubs/components/lcn/services.pyi +2 -0
  157. homeassistant-stubs/components/lektrico/binary_sensor.pyi +27 -0
  158. homeassistant-stubs/components/linkplay/button.pyi +28 -0
  159. homeassistant-stubs/components/linkplay/diagnostics.pyi +5 -0
  160. homeassistant-stubs/components/linkplay/entity.pyi +16 -0
  161. homeassistant-stubs/components/linkplay/media_player.pyi +3 -8
  162. homeassistant-stubs/components/linkplay/utils.pyi +12 -0
  163. homeassistant-stubs/components/litejet/config_flow.pyi +0 -3
  164. homeassistant-stubs/components/matter/adapter.pyi +1 -0
  165. homeassistant-stubs/components/matter/const.pyi +1 -0
  166. homeassistant-stubs/components/matter/discovery.pyi +1 -0
  167. homeassistant-stubs/components/matter/entity.pyi +2 -1
  168. homeassistant-stubs/components/matter/models.pyi +4 -2
  169. homeassistant-stubs/components/media_extractor/__init__.pyi +1 -2
  170. homeassistant-stubs/components/media_extractor/config_flow.pyi +0 -1
  171. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -3
  172. homeassistant-stubs/components/mjpeg/config_flow.pyi +0 -3
  173. homeassistant-stubs/components/mold_indicator/sensor.pyi +3 -5
  174. homeassistant-stubs/components/monzo/coordinator.pyi +1 -1
  175. homeassistant-stubs/components/mopeka/config_flow.pyi +0 -2
  176. homeassistant-stubs/components/mqtt/__init__.pyi +1 -0
  177. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
  178. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -0
  179. homeassistant-stubs/components/mqtt/button.pyi +1 -0
  180. homeassistant-stubs/components/mqtt/camera.pyi +1 -0
  181. homeassistant-stubs/components/mqtt/climate.pyi +1 -0
  182. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -4
  183. homeassistant-stubs/components/mqtt/cover.pyi +1 -0
  184. homeassistant-stubs/components/mqtt/device_tracker.pyi +1 -0
  185. homeassistant-stubs/components/mqtt/entity.pyi +1 -0
  186. homeassistant-stubs/components/mqtt/event.pyi +1 -0
  187. homeassistant-stubs/components/mqtt/fan.pyi +1 -0
  188. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -0
  189. homeassistant-stubs/components/mqtt/image.pyi +1 -0
  190. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -0
  191. homeassistant-stubs/components/mqtt/light/__init__.pyi +2 -0
  192. homeassistant-stubs/components/mqtt/lock.pyi +1 -0
  193. homeassistant-stubs/components/mqtt/notify.pyi +1 -0
  194. homeassistant-stubs/components/mqtt/number.pyi +1 -0
  195. homeassistant-stubs/components/mqtt/scene.pyi +1 -0
  196. homeassistant-stubs/components/mqtt/select.pyi +1 -0
  197. homeassistant-stubs/components/mqtt/sensor.pyi +1 -0
  198. homeassistant-stubs/components/mqtt/siren.pyi +1 -0
  199. homeassistant-stubs/components/mqtt/subscription.pyi +1 -1
  200. homeassistant-stubs/components/mqtt/switch.pyi +1 -0
  201. homeassistant-stubs/components/mqtt/text.pyi +1 -0
  202. homeassistant-stubs/components/mqtt/update.pyi +1 -0
  203. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -0
  204. homeassistant-stubs/components/mqtt/valve.pyi +1 -0
  205. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -0
  206. homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
  207. homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
  208. homeassistant-stubs/components/music_assistant/const.pyi +12 -0
  209. homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
  210. homeassistant-stubs/components/music_assistant/media_browser.pyi +33 -0
  211. homeassistant-stubs/components/music_assistant/media_player.pyi +96 -0
  212. homeassistant-stubs/components/nasweb/__init__.pyi +19 -0
  213. homeassistant-stubs/components/nasweb/config_flow.pyi +27 -0
  214. homeassistant-stubs/components/nasweb/const.pyi +5 -0
  215. homeassistant-stubs/components/nasweb/coordinator.pyi +42 -0
  216. homeassistant-stubs/components/nasweb/nasweb_data.pyi +20 -0
  217. homeassistant-stubs/components/nasweb/switch.pyi +35 -0
  218. homeassistant-stubs/components/nest/camera.pyi +3 -5
  219. homeassistant-stubs/components/netatmo/config_flow.pyi +0 -1
  220. homeassistant-stubs/components/nightscout/sensor.pyi +4 -3
  221. homeassistant-stubs/components/nordpool/__init__.pyi +9 -0
  222. homeassistant-stubs/components/nordpool/config_flow.pyi +19 -0
  223. homeassistant-stubs/components/nordpool/const.pyi +9 -0
  224. homeassistant-stubs/components/nordpool/coordinator.pyi +20 -0
  225. homeassistant-stubs/components/nordpool/diagnostics.pyi +5 -0
  226. homeassistant-stubs/components/nordpool/entity.pyi +14 -0
  227. homeassistant-stubs/components/nordpool/sensor.pyi +69 -0
  228. homeassistant-stubs/components/number/const.pyi +3 -1
  229. homeassistant-stubs/components/nut/__init__.pyi +4 -1
  230. homeassistant-stubs/components/nut/config_flow.pyi +0 -2
  231. homeassistant-stubs/components/nut/sensor.pyi +1 -1
  232. homeassistant-stubs/components/onewire/config_flow.pyi +4 -2
  233. homeassistant-stubs/components/onkyo/config_flow.pyi +3 -2
  234. homeassistant-stubs/components/openai_conversation/config_flow.pyi +0 -1
  235. homeassistant-stubs/components/opensky/config_flow.pyi +3 -3
  236. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -3
  237. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -2
  238. homeassistant-stubs/components/p1_monitor/sensor.pyi +1 -1
  239. homeassistant-stubs/components/ping/__init__.pyi +2 -6
  240. homeassistant-stubs/components/ping/config_flow.pyi +2 -2
  241. homeassistant-stubs/components/plugwise/climate.pyi +4 -2
  242. homeassistant-stubs/components/plugwise/entity.pyi +2 -2
  243. homeassistant-stubs/components/plugwise/number.pyi +2 -2
  244. homeassistant-stubs/components/plugwise/select.pyi +2 -1
  245. homeassistant-stubs/components/proximity/config_flow.pyi +0 -3
  246. homeassistant-stubs/components/pure_energie/__init__.pyi +4 -5
  247. homeassistant-stubs/components/pure_energie/diagnostics.pyi +2 -4
  248. homeassistant-stubs/components/pure_energie/sensor.pyi +3 -3
  249. homeassistant-stubs/components/purpleair/config_flow.pyi +1 -2
  250. homeassistant-stubs/components/rainmachine/config_flow.pyi +0 -3
  251. homeassistant-stubs/components/recollect_waste/config_flow.pyi +1 -3
  252. homeassistant-stubs/components/recorder/core.pyi +1 -0
  253. homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
  254. homeassistant-stubs/components/recorder/history/modern.pyi +2 -2
  255. homeassistant-stubs/components/recorder/pool.pyi +1 -1
  256. homeassistant-stubs/components/recorder/queries.pyi +1 -0
  257. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  258. homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
  259. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  260. homeassistant-stubs/components/renault/config_flow.pyi +4 -5
  261. homeassistant-stubs/components/renault/services.pyi +1 -0
  262. homeassistant-stubs/components/reolink/__init__.pyi +28 -0
  263. homeassistant-stubs/components/reolink/binary_sensor.pyi +34 -0
  264. homeassistant-stubs/components/reolink/button.pyi +48 -0
  265. homeassistant-stubs/components/reolink/camera.pyi +28 -0
  266. homeassistant-stubs/components/reolink/config_flow.pyi +35 -0
  267. homeassistant-stubs/components/reolink/const.pyi +2 -0
  268. homeassistant-stubs/components/reolink/diagnostics.pyi +5 -0
  269. homeassistant-stubs/components/reolink/entity.pyi +69 -0
  270. homeassistant-stubs/components/reolink/exceptions.pyi +7 -0
  271. homeassistant-stubs/components/reolink/host.pyi +82 -0
  272. homeassistant-stubs/components/reolink/light.pyi +55 -0
  273. homeassistant-stubs/components/reolink/media_source.pyi +27 -0
  274. homeassistant-stubs/components/reolink/number.pyi +69 -0
  275. homeassistant-stubs/components/reolink/select.pyi +54 -0
  276. homeassistant-stubs/components/reolink/sensor.pyi +55 -0
  277. homeassistant-stubs/components/reolink/services.pyi +12 -0
  278. homeassistant-stubs/components/reolink/siren.pyi +26 -0
  279. homeassistant-stubs/components/reolink/switch.pyi +65 -0
  280. homeassistant-stubs/components/reolink/update.pyi +71 -0
  281. homeassistant-stubs/components/reolink/util.pyi +18 -0
  282. homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -3
  283. homeassistant-stubs/components/ring/__init__.pyi +0 -1
  284. homeassistant-stubs/components/ring/camera.pyi +22 -6
  285. homeassistant-stubs/components/rituals_perfume_genie/select.pyi +1 -1
  286. homeassistant-stubs/components/roborock/config_flow.pyi +5 -3
  287. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  288. homeassistant-stubs/components/roku/config_flow.pyi +3 -3
  289. homeassistant-stubs/components/romy/sensor.pyi +1 -1
  290. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -0
  291. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -2
  292. homeassistant-stubs/components/sensor/const.pyi +4 -2
  293. homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
  294. homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
  295. homeassistant-stubs/components/shelly/config_flow.pyi +0 -2
  296. homeassistant-stubs/components/shelly/update.pyi +4 -1
  297. homeassistant-stubs/components/simplisafe/config_flow.pyi +0 -2
  298. homeassistant-stubs/components/smlight/config_flow.pyi +1 -1
  299. homeassistant-stubs/components/solarlog/coordinator.pyi +1 -0
  300. homeassistant-stubs/components/sonarr/config_flow.pyi +0 -2
  301. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +1 -2
  302. homeassistant-stubs/components/spotify/browse_media.pyi +2 -2
  303. homeassistant-stubs/components/spotify/coordinator.pyi +2 -4
  304. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  305. homeassistant-stubs/components/statistics/sensor.pyi +2 -4
  306. homeassistant-stubs/components/stookwijzer/__init__.pyi +15 -0
  307. homeassistant-stubs/components/stookwijzer/config_flow.pyi +10 -0
  308. homeassistant-stubs/components/stookwijzer/const.pyi +5 -0
  309. homeassistant-stubs/components/stookwijzer/coordinator.pyi +15 -0
  310. homeassistant-stubs/components/stookwijzer/diagnostics.pyi +5 -0
  311. homeassistant-stubs/components/stookwijzer/sensor.pyi +31 -0
  312. homeassistant-stubs/components/stream/const.pyi +3 -2
  313. homeassistant-stubs/components/stream/core.pyi +2 -2
  314. homeassistant-stubs/components/stream/worker.pyi +15 -13
  315. homeassistant-stubs/components/suez_water/__init__.pyi +3 -3
  316. homeassistant-stubs/components/suez_water/config_flow.pyi +2 -1
  317. homeassistant-stubs/components/suez_water/const.pyi +3 -0
  318. homeassistant-stubs/components/suez_water/coordinator.pyi +35 -0
  319. homeassistant-stubs/components/suez_water/sensor.pyi +23 -17
  320. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +3 -1
  321. homeassistant-stubs/components/switcher_kis/button.pyi +1 -1
  322. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
  323. homeassistant-stubs/components/switcher_kis/light.pyi +1 -1
  324. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -0
  325. homeassistant-stubs/components/synology_dsm/config_flow.pyi +0 -2
  326. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  327. homeassistant-stubs/components/tedee/coordinator.pyi +2 -2
  328. homeassistant-stubs/components/tedee/entity.pyi +1 -1
  329. homeassistant-stubs/components/tedee/lock.pyi +3 -1
  330. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  331. homeassistant-stubs/components/thethingsnetwork/__init__.pyi +1 -4
  332. homeassistant-stubs/components/threshold/binary_sensor.pyi +4 -0
  333. homeassistant-stubs/components/tibber/__init__.pyi +1 -2
  334. homeassistant-stubs/components/tibber/notify.pyi +1 -10
  335. homeassistant-stubs/components/tod/binary_sensor.pyi +3 -3
  336. homeassistant-stubs/components/tolo/config_flow.pyi +1 -1
  337. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  338. homeassistant-stubs/components/tplink/config_flow.pyi +6 -3
  339. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -2
  340. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +1 -1
  341. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +2 -3
  342. homeassistant-stubs/components/trafikverket_train/__init__.pyi +3 -0
  343. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +4 -3
  344. homeassistant-stubs/components/trafikverket_train/util.pyi +1 -2
  345. homeassistant-stubs/components/transmission/config_flow.pyi +0 -2
  346. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -0
  347. homeassistant-stubs/components/tts/__init__.pyi +3 -1
  348. homeassistant-stubs/components/unifi/config_flow.pyi +2 -3
  349. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  350. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -2
  351. homeassistant-stubs/components/unifiprotect/const.pyi +5 -0
  352. homeassistant-stubs/components/unifiprotect/event.pyi +17 -4
  353. homeassistant-stubs/components/unifiprotect/views.pyi +7 -1
  354. homeassistant-stubs/components/upcloud/config_flow.pyi +0 -2
  355. homeassistant-stubs/components/watttime/config_flow.pyi +1 -3
  356. homeassistant-stubs/components/webostv/config_flow.pyi +0 -2
  357. homeassistant-stubs/components/websocket_api/http.pyi +2 -1
  358. homeassistant-stubs/components/wemo/config_flow.pyi +0 -3
  359. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  360. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  361. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -3
  362. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +0 -2
  363. homeassistant-stubs/components/youtube/config_flow.pyi +2 -2
  364. homeassistant-stubs/components/zeroconf/usage.pyi +1 -1
  365. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  366. homeassistant-stubs/components/zwave_js/api.pyi +9 -1
  367. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -2
  368. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  369. homeassistant-stubs/config_entries.pyi +15 -7
  370. homeassistant-stubs/const.pyi +26 -1
  371. homeassistant-stubs/core_config.pyi +1 -1
  372. homeassistant-stubs/data_entry_flow.pyi +3 -3
  373. homeassistant-stubs/helpers/device_registry.pyi +0 -1
  374. homeassistant-stubs/helpers/entity.pyi +1 -0
  375. homeassistant-stubs/helpers/entity_platform.pyi +1 -0
  376. homeassistant-stubs/helpers/frame.pyi +12 -3
  377. homeassistant-stubs/helpers/intent.pyi +1 -0
  378. homeassistant-stubs/helpers/llm.pyi +2 -3
  379. homeassistant-stubs/helpers/restore_state.pyi +0 -3
  380. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -2
  381. homeassistant-stubs/helpers/trigger_template_entity.pyi +1 -1
  382. homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
  383. homeassistant-stubs/loader.pyi +1 -0
  384. homeassistant-stubs/runner.pyi +0 -4
  385. homeassistant-stubs/util/json.pyi +3 -3
  386. homeassistant-stubs/util/unit_conversion.pyi +20 -1
  387. homeassistant-stubs/util/unit_system.pyi +7 -4
  388. homeassistant-stubs/util/yaml/loader.pyi +0 -19
  389. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/METADATA +2 -2
  390. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/RECORD +392 -337
  391. homeassistant-stubs/components/spotify/sensor.pyi +0 -31
  392. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/WHEEL +0 -0
  393. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  from .const import CONF_ALTITUDE as CONF_ALTITUDE, CONF_CONTRIBUTING_USER as CONF_CONTRIBUTING_USER, DEFAULT_ALTITUDE as DEFAULT_ALTITUDE, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
2
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
3
- from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_RADIUS as CONF_RADIUS, CONF_USERNAME as CONF_USERNAME
2
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
3
+ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_PASSWORD as CONF_PASSWORD, CONF_RADIUS as CONF_RADIUS, CONF_USERNAME as CONF_USERNAME
4
4
  from homeassistant.core import callback as callback
5
5
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
6
  from typing import Any
@@ -10,5 +10,5 @@ class OpenSkyConfigFlowHandler(ConfigFlow, domain=DOMAIN):
10
10
  def async_get_options_flow(config_entry: ConfigEntry) -> OpenSkyOptionsFlowHandler: ...
11
11
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
12
12
 
13
- class OpenSkyOptionsFlowHandler(OptionsFlowWithConfigEntry):
13
+ class OpenSkyOptionsFlowHandler(OptionsFlow):
14
14
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,12 +1,12 @@
1
- from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
1
+ from .const import LOGGER as LOGGER
2
2
  from .coordinator import P1MonitorDataUpdateCoordinator as P1MonitorDataUpdateCoordinator
3
- from _typeshed import Incomplete
4
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, Platform as Platform
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
7
6
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
7
 
9
- PLATFORMS: Incomplete
8
+ PLATFORMS: list[Platform]
9
+ type P1MonitorConfigEntry = ConfigEntry[P1MonitorDataUpdateCoordinator]
10
10
 
11
11
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
12
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -1,5 +1,4 @@
1
- from .const import DOMAIN as DOMAIN, SERVICE_PHASES as SERVICE_PHASES, SERVICE_SETTINGS as SERVICE_SETTINGS, SERVICE_SMARTMETER as SERVICE_SMARTMETER, SERVICE_WATERMETER as SERVICE_WATERMETER
2
- from .coordinator import P1MonitorDataUpdateCoordinator as P1MonitorDataUpdateCoordinator
1
+ from .const import SERVICE_PHASES as SERVICE_PHASES, SERVICE_SETTINGS as SERVICE_SETTINGS, SERVICE_SMARTMETER as SERVICE_SMARTMETER, SERVICE_WATERMETER as SERVICE_WATERMETER
3
2
  from _typeshed import Incomplete
4
3
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -24,6 +24,6 @@ class P1MonitorSensorEntity(CoordinatorEntity[P1MonitorDataUpdateCoordinator], S
24
24
  entity_description: Incomplete
25
25
  _attr_unique_id: Incomplete
26
26
  _attr_device_info: Incomplete
27
- def __init__(self, *, coordinator: P1MonitorDataUpdateCoordinator, description: SensorEntityDescription, name: str, service: Literal['smartmeter', 'watermeter', 'phases', 'settings']) -> None: ...
27
+ def __init__(self, *, entry: ConfigEntry, description: SensorEntityDescription, name: str, service: Literal['smartmeter', 'watermeter', 'phases', 'settings']) -> None: ...
28
28
  @property
29
29
  def native_value(self) -> StateType: ...
@@ -2,20 +2,16 @@ from .const import CONF_PING_COUNT as CONF_PING_COUNT, DOMAIN as DOMAIN
2
2
  from .coordinator import PingUpdateCoordinator as PingUpdateCoordinator
3
3
  from .helpers import PingDataICMPLib as PingDataICMPLib, PingDataSubProcess as PingDataSubProcess
4
4
  from _typeshed import Incomplete
5
- from dataclasses import dataclass
6
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import CONF_HOST as CONF_HOST, Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
9
+ from homeassistant.util.hass_dict import HassKey as HassKey
10
10
 
11
11
  _LOGGER: Incomplete
12
12
  CONFIG_SCHEMA: Incomplete
13
13
  PLATFORMS: Incomplete
14
-
15
- @dataclass(slots=True)
16
- class PingDomainData:
17
- privileged: bool | None
18
- def __init__(self, privileged) -> None: ...
14
+ DATA_PRIVILEGED_KEY: HassKey[bool | None]
19
15
  type PingConfigEntry = ConfigEntry[PingUpdateCoordinator]
20
16
 
21
17
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
@@ -10,6 +10,8 @@ from typing import Any
10
10
 
11
11
  _LOGGER: Incomplete
12
12
 
13
+ def _clean_user_input(user_input: dict[str, Any]) -> dict[str, Any]: ...
14
+
13
15
  class PingConfigFlow(ConfigFlow, domain=DOMAIN):
14
16
  VERSION: int
15
17
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -17,6 +19,4 @@ class PingConfigFlow(ConfigFlow, domain=DOMAIN):
17
19
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
18
20
 
19
21
  class OptionsFlowHandler(OptionsFlow):
20
- config_entry: Incomplete
21
- def __init__(self, config_entry: ConfigEntry) -> None: ...
22
22
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -22,8 +22,10 @@ class PlugwiseClimateEntity(PlugwiseEntity, ClimateEntity):
22
22
  _previous_mode: str
23
23
  _attr_extra_state_attributes: Incomplete
24
24
  _attr_unique_id: Incomplete
25
- cdr_gateway: Incomplete
26
- gateway_data: Incomplete
25
+ _devices: Incomplete
26
+ _gateway: Incomplete
27
+ _gateway_data: Incomplete
28
+ _location: Incomplete
27
29
  _attr_supported_features: Incomplete
28
30
  _attr_preset_modes: Incomplete
29
31
  _attr_min_temp: Incomplete
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
4
4
  from homeassistant.const import ATTR_NAME as ATTR_NAME, ATTR_VIA_DEVICE as ATTR_VIA_DEVICE, CONF_HOST as CONF_HOST
5
5
  from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, CONNECTION_ZIGBEE as CONNECTION_ZIGBEE, DeviceInfo as DeviceInfo
6
6
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
- from plugwise.constants import DeviceData as DeviceData
7
+ from plugwise.constants import GwEntityData as GwEntityData
8
8
 
9
9
  class PlugwiseEntity(CoordinatorEntity[PlugwiseDataUpdateCoordinator]):
10
10
  _attr_has_entity_name: bool
@@ -14,5 +14,5 @@ class PlugwiseEntity(CoordinatorEntity[PlugwiseDataUpdateCoordinator]):
14
14
  @property
15
15
  def available(self) -> bool: ...
16
16
  @property
17
- def device(self) -> DeviceData: ...
17
+ def device(self) -> GwEntityData: ...
18
18
  async def async_added_to_hass(self) -> None: ...
@@ -21,11 +21,11 @@ async def async_setup_entry(hass: HomeAssistant, entry: PlugwiseConfigEntry, asy
21
21
 
22
22
  class PlugwiseNumberEntity(PlugwiseEntity, NumberEntity):
23
23
  entity_description: PlugwiseNumberEntityDescription
24
- device_id: Incomplete
25
- _attr_unique_id: Incomplete
26
24
  _attr_mode: Incomplete
27
25
  _attr_native_max_value: Incomplete
28
26
  _attr_native_min_value: Incomplete
27
+ _attr_unique_id: Incomplete
28
+ device_id: Incomplete
29
29
  _attr_native_step: Incomplete
30
30
  def __init__(self, coordinator: PlugwiseDataUpdateCoordinator, device_id: str, description: PlugwiseNumberEntityDescription) -> None: ...
31
31
  @property
@@ -1,5 +1,5 @@
1
1
  from . import PlugwiseConfigEntry as PlugwiseConfigEntry
2
- from .const import LOCATION as LOCATION, SelectOptionsType as SelectOptionsType, SelectType as SelectType
2
+ from .const import SelectOptionsType as SelectOptionsType, SelectType as SelectType
3
3
  from .coordinator import PlugwiseDataUpdateCoordinator as PlugwiseDataUpdateCoordinator
4
4
  from .entity import PlugwiseEntity as PlugwiseEntity
5
5
  from .util import plugwise_command as plugwise_command
@@ -23,6 +23,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: PlugwiseConfigEntry, asy
23
23
  class PlugwiseSelectEntity(PlugwiseEntity, SelectEntity):
24
24
  entity_description: PlugwiseSelectEntityDescription
25
25
  _attr_unique_id: Incomplete
26
+ _location: Incomplete
26
27
  def __init__(self, coordinator: PlugwiseDataUpdateCoordinator, device_id: str, entity_description: PlugwiseSelectEntityDescription) -> None: ...
27
28
  @property
28
29
  def current_option(self) -> str: ...
@@ -1,6 +1,5 @@
1
1
  import voluptuous as vol
2
2
  from .const import CONF_IGNORED_ZONES as CONF_IGNORED_ZONES, CONF_TOLERANCE as CONF_TOLERANCE, CONF_TRACKED_ENTITIES as CONF_TRACKED_ENTITIES, DEFAULT_PROXIMITY_ZONE as DEFAULT_PROXIMITY_ZONE, DEFAULT_TOLERANCE as DEFAULT_TOLERANCE, DOMAIN as DOMAIN
3
- from _typeshed import Incomplete
4
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
4
  from homeassistant.const import CONF_ZONE as CONF_ZONE, UnitOfLength as UnitOfLength
6
5
  from homeassistant.core import State as State, callback as callback
@@ -21,7 +20,5 @@ class ProximityConfigFlow(ConfigFlow, domain=DOMAIN):
21
20
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
21
 
23
22
  class ProximityOptionsFlow(OptionsFlow):
24
- config_entry: Incomplete
25
- def __init__(self, config_entry: ConfigEntry) -> None: ...
26
23
  def _user_form_schema(self, user_input: dict[str, Any]) -> vol.Schema: ...
27
24
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,12 +1,11 @@
1
- from .const import DOMAIN as DOMAIN
2
1
  from .coordinator import PureEnergieDataUpdateCoordinator as PureEnergieDataUpdateCoordinator
3
- from _typeshed import Incomplete
4
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
3
  from homeassistant.const import Platform as Platform
6
4
  from homeassistant.core import HomeAssistant as HomeAssistant
7
5
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
6
 
9
- PLATFORMS: Incomplete
7
+ PLATFORMS: list[Platform]
8
+ type PureEnergieConfigEntry = ConfigEntry[PureEnergieDataUpdateCoordinator]
10
9
 
11
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
+ async def async_setup_entry(hass: HomeAssistant, entry: PureEnergieConfigEntry) -> bool: ...
11
+ async def async_unload_entry(hass: HomeAssistant, entry: PureEnergieConfigEntry) -> bool: ...
@@ -1,12 +1,10 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import PureEnergieDataUpdateCoordinator as PureEnergieDataUpdateCoordinator
1
+ from . import PureEnergieConfigEntry as PureEnergieConfigEntry
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.const import CONF_HOST as CONF_HOST
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from typing import Any
9
7
 
10
8
  TO_REDACT: Incomplete
11
9
 
12
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
10
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: PureEnergieConfigEntry) -> dict[str, Any]: ...
@@ -1,10 +1,10 @@
1
+ from . import PureEnergieConfigEntry as PureEnergieConfigEntry
1
2
  from .const import DOMAIN as DOMAIN
2
3
  from .coordinator import PureEnergieData as PureEnergieData, PureEnergieDataUpdateCoordinator as PureEnergieDataUpdateCoordinator
3
4
  from _typeshed import Incomplete
4
5
  from collections.abc import Callable as Callable
5
6
  from dataclasses import dataclass
6
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import CONF_HOST as CONF_HOST, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -18,7 +18,7 @@ class PureEnergieSensorEntityDescription(SensorEntityDescription):
18
18
 
19
19
  SENSORS: tuple[PureEnergieSensorEntityDescription, ...]
20
20
 
21
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, entry: PureEnergieConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
22
 
23
23
  class PureEnergieSensorEntity(CoordinatorEntity[PureEnergieDataUpdateCoordinator], SensorEntity):
24
24
  _attr_has_entity_name: bool
@@ -26,6 +26,6 @@ class PureEnergieSensorEntity(CoordinatorEntity[PureEnergieDataUpdateCoordinator
26
26
  entity_id: Incomplete
27
27
  _attr_unique_id: Incomplete
28
28
  _attr_device_info: Incomplete
29
- def __init__(self, *, coordinator: PureEnergieDataUpdateCoordinator, description: PureEnergieSensorEntityDescription, entry: ConfigEntry) -> None: ...
29
+ def __init__(self, *, description: PureEnergieSensorEntityDescription, entry: PureEnergieConfigEntry) -> None: ...
30
30
  @property
31
31
  def native_value(self) -> int | float: ...
@@ -50,8 +50,7 @@ class PurpleAirConfigFlow(ConfigFlow, domain=DOMAIN):
50
50
 
51
51
  class PurpleAirOptionsFlowHandler(OptionsFlow):
52
52
  _flow_data: Incomplete
53
- config_entry: Incomplete
54
- def __init__(self, config_entry: ConfigEntry) -> None: ...
53
+ def __init__(self) -> None: ...
55
54
  @property
56
55
  def settings_schema(self) -> vol.Schema: ...
57
56
  async def async_step_add_sensor(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,6 +1,5 @@
1
1
  import voluptuous as vol
2
2
  from .const import CONF_ALLOW_INACTIVE_ZONES_TO_RUN as CONF_ALLOW_INACTIVE_ZONES_TO_RUN, CONF_DEFAULT_ZONE_RUN_TIME as CONF_DEFAULT_ZONE_RUN_TIME, CONF_USE_APP_RUN_TIMES as CONF_USE_APP_RUN_TIMES, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_ZONE_RUN as DEFAULT_ZONE_RUN, DOMAIN as DOMAIN
3
- from _typeshed import Incomplete
4
3
  from homeassistant.components import zeroconf as zeroconf
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
6
5
  from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL
@@ -25,6 +24,4 @@ class RainMachineFlowHandler(ConfigFlow, domain=DOMAIN):
25
24
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
25
 
27
26
  class RainMachineOptionsFlowHandler(OptionsFlow):
28
- config_entry: Incomplete
29
- def __init__(self, config_entry: ConfigEntry) -> None: ...
30
27
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -11,10 +11,8 @@ DATA_SCHEMA: Incomplete
11
11
  class RecollectWasteConfigFlow(ConfigFlow, domain=DOMAIN):
12
12
  VERSION: int
13
13
  @staticmethod
14
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
14
+ def async_get_options_flow(config_entry: ConfigEntry) -> RecollectWasteOptionsFlowHandler: ...
15
15
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
16
16
 
17
17
  class RecollectWasteOptionsFlowHandler(OptionsFlow):
18
- _entry: Incomplete
19
- def __init__(self, entry: ConfigEntry) -> None: ...
20
18
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -152,6 +152,7 @@ class Recorder(threading.Thread):
152
152
  def _guarded_process_one_task_or_event_or_recover(self, task: RecorderTask | Event) -> None: ...
153
153
  def _process_one_task_or_event_or_recover(self, task: RecorderTask | Event) -> None: ...
154
154
  def _setup_recorder(self) -> bool: ...
155
+ def _migrate_data_offline(self, schema_status: migration.SchemaValidationStatus) -> None: ...
155
156
  def _migrate_schema_offline(self, schema_status: migration.SchemaValidationStatus) -> tuple[bool, migration.SchemaValidationStatus]: ...
156
157
  def _migrate_schema_live(self, schema_status: migration.SchemaValidationStatus) -> tuple[bool, migration.SchemaValidationStatus]: ...
157
158
  def _migrate_schema(self, schema_status: migration.SchemaValidationStatus, live: bool) -> tuple[bool, migration.SchemaValidationStatus]: ...
@@ -1,6 +1,6 @@
1
- from ..db_schema import RecorderRuns as RecorderRuns, StateAttributes as StateAttributes, States as States
1
+ from ..db_schema import StateAttributes as StateAttributes, States as States
2
2
  from ..filters import Filters as Filters
3
- from ..models import process_timestamp as process_timestamp, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat
3
+ from ..models import process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat
4
4
  from ..models.legacy import LegacyLazyState as LegacyLazyState, legacy_row_to_compressed_state as legacy_row_to_compressed_state
5
5
  from ..util import execute_stmt_lambda_element as execute_stmt_lambda_element, session_scope as session_scope
6
6
  from .const import LAST_CHANGED_KEY as LAST_CHANGED_KEY, NEED_ATTRIBUTE_DOMAINS as NEED_ATTRIBUTE_DOMAINS, SIGNIFICANT_DOMAINS as SIGNIFICANT_DOMAINS, SIGNIFICANT_DOMAINS_ENTITY_ID_LIKE as SIGNIFICANT_DOMAINS_ENTITY_ID_LIKE, STATE_KEY as STATE_KEY
@@ -42,7 +42,7 @@ def _state_changed_during_period_stmt(start_time: datetime, end_time: datetime |
42
42
  def state_changes_during_period(hass: HomeAssistant, start_time: datetime, end_time: datetime | None = None, entity_id: str | None = None, no_attributes: bool = False, descending: bool = False, limit: int | None = None, include_start_time_state: bool = True) -> dict[str, list[State]]: ...
43
43
  def _get_last_state_changes_stmt(number_of_states: int, entity_id: str) -> StatementLambdaElement: ...
44
44
  def get_last_state_changes(hass: HomeAssistant, number_of_states: int, entity_id: str) -> dict[str, list[State]]: ...
45
- def _get_states_for_entities_stmt(run_start: datetime, utc_point_in_time: datetime, entity_ids: list[str], no_attributes: bool) -> StatementLambdaElement: ...
46
- def _get_rows_with_session(hass: HomeAssistant, session: Session, utc_point_in_time: datetime, entity_ids: list[str], run: RecorderRuns | None = None, no_attributes: bool = False) -> Iterable[Row]: ...
45
+ def _get_states_for_entities_stmt(run_start_ts: float, utc_point_in_time: datetime, entity_ids: list[str], no_attributes: bool) -> StatementLambdaElement: ...
46
+ def _get_rows_with_session(hass: HomeAssistant, session: Session, utc_point_in_time: datetime, entity_ids: list[str], *, no_attributes: bool = False) -> Iterable[Row]: ...
47
47
  def _get_single_entity_states_stmt(utc_point_in_time: datetime, entity_id: str, no_attributes: bool = False) -> StatementLambdaElement: ...
48
48
  def _sorted_states_to_dict(hass: HomeAssistant, session: Session, states: Iterable[Row], start_time: datetime, entity_ids: list[str], include_start_time_state: bool = True, minimal_response: bool = False, no_attributes: bool = False, compressed_state_format: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
@@ -1,7 +1,7 @@
1
1
  from ..const import LAST_REPORTED_SCHEMA_VERSION as LAST_REPORTED_SCHEMA_VERSION
2
2
  from ..db_schema import SHARED_ATTR_OR_LEGACY_ATTRIBUTES as SHARED_ATTR_OR_LEGACY_ATTRIBUTES, StateAttributes as StateAttributes, States as States
3
3
  from ..filters import Filters as Filters
4
- from ..models import LazyState as LazyState, datetime_to_timestamp_or_none as datetime_to_timestamp_or_none, extract_metadata_ids as extract_metadata_ids, process_timestamp as process_timestamp, row_to_compressed_state as row_to_compressed_state
4
+ from ..models import LazyState as LazyState, datetime_to_timestamp_or_none as datetime_to_timestamp_or_none, extract_metadata_ids as extract_metadata_ids, row_to_compressed_state as row_to_compressed_state
5
5
  from ..util import execute_stmt_lambda_element as execute_stmt_lambda_element, session_scope as session_scope
6
6
  from .const import LAST_CHANGED_KEY as LAST_CHANGED_KEY, NEED_ATTRIBUTE_DOMAINS as NEED_ATTRIBUTE_DOMAINS, SIGNIFICANT_DOMAINS as SIGNIFICANT_DOMAINS, STATE_KEY as STATE_KEY
7
7
  from _typeshed import Incomplete
@@ -30,7 +30,7 @@ def _get_last_state_changes_single_stmt(metadata_id: int) -> Select: ...
30
30
  def _get_last_state_changes_multiple_stmt(number_of_states: int, metadata_id: int, include_last_reported: bool) -> Select: ...
31
31
  def get_last_state_changes(hass: HomeAssistant, number_of_states: int, entity_id: str) -> dict[str, list[State]]: ...
32
32
  def _get_start_time_state_for_entities_stmt(run_start_ts: float, epoch_time: float, metadata_ids: list[int], no_attributes: bool, include_last_changed: bool) -> Select: ...
33
- def _get_run_start_ts_for_utc_point_in_time(hass: HomeAssistant, utc_point_in_time: datetime) -> float | None: ...
33
+ def _get_oldest_possible_ts(hass: HomeAssistant, utc_point_in_time: datetime) -> float | None: ...
34
34
  def _get_start_time_state_stmt(run_start_ts: float, epoch_time: float, single_metadata_id: int | None, metadata_ids: list[int], no_attributes: bool, include_last_changed: bool) -> Select: ...
35
35
  def _get_single_entity_start_time_stmt(epoch_time: float, metadata_id: int, no_attributes: bool, include_last_changed: bool, include_last_reported: bool) -> Select: ...
36
36
  def _sorted_states_to_dict(states: Iterable[Row], start_time_ts: float | None, entity_ids: list[str], entity_id_to_metadata_id: dict[str, int | None], minimal_response: bool = False, compressed_state_format: bool = False, descending: bool = False, no_attributes: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
@@ -1,6 +1,6 @@
1
1
  import threading
2
2
  from _typeshed import Incomplete
3
- from homeassistant.helpers.frame import report as report
3
+ from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
4
4
  from homeassistant.util.loop import raise_for_blocking_call as raise_for_blocking_call
5
5
  from sqlalchemy.pool import ConnectionPoolEntry as ConnectionPoolEntry, NullPool, SingletonThreadPool, StaticPool
6
6
  from typing import Any
@@ -26,6 +26,7 @@ def delete_event_rows(event_ids: Iterable[int]) -> StatementLambdaElement: ...
26
26
  def delete_recorder_runs_rows(purge_before: datetime, current_run_id: int) -> StatementLambdaElement: ...
27
27
  def find_events_to_purge(purge_before: float, max_bind_vars: int) -> StatementLambdaElement: ...
28
28
  def find_states_to_purge(purge_before: float, max_bind_vars: int) -> StatementLambdaElement: ...
29
+ def find_oldest_state() -> StatementLambdaElement: ...
29
30
  def find_short_term_statistics_to_purge(purge_before: datetime, max_bind_vars: int) -> StatementLambdaElement: ...
30
31
  def find_statistics_runs_to_purge(purge_before: datetime, max_bind_vars: int) -> StatementLambdaElement: ...
31
32
  def find_latest_statistics_runs_run_id() -> StatementLambdaElement: ...
@@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
13
  from homeassistant.helpers.singleton import singleton as singleton
14
14
  from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
15
- from homeassistant.util.unit_conversion import BaseUnitConverter as BaseUnitConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
15
+ from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BaseUnitConverter as BaseUnitConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
16
16
  from sqlalchemy import Select as Select
17
17
  from sqlalchemy.engine.row import Row
18
18
  from sqlalchemy.orm.session import Session as Session
@@ -1,11 +1,17 @@
1
1
  from ..db_schema import States as States
2
+ from ..queries import find_oldest_state as find_oldest_state
3
+ from ..util import execute_stmt_lambda_element as execute_stmt_lambda_element
2
4
  from _typeshed import Incomplete
5
+ from sqlalchemy.orm.session import Session as Session
3
6
 
4
7
  class StatesManager:
5
8
  _pending: Incomplete
6
9
  _last_committed_id: Incomplete
7
10
  _last_reported: Incomplete
11
+ _oldest_ts: Incomplete
8
12
  def __init__(self) -> None: ...
13
+ @property
14
+ def oldest_ts(self) -> float | None: ...
9
15
  def pop_pending(self, entity_id: str) -> States | None: ...
10
16
  def pop_committed(self, entity_id: str) -> int | None: ...
11
17
  def add_pending(self, entity_id: str, state: States) -> None: ...
@@ -13,5 +19,6 @@ class StatesManager:
13
19
  def get_pending_last_reported_timestamp(self) -> dict[int, float]: ...
14
20
  def post_commit_pending(self) -> None: ...
15
21
  def reset(self) -> None: ...
22
+ def load_from_db(self, session: Session) -> None: ...
16
23
  def evict_purged_state_ids(self, purged_state_ids: set[int]) -> None: ...
17
24
  def evict_purged_entity_ids(self, purged_entity_ids: set[str]) -> None: ...
@@ -8,7 +8,7 @@ from homeassistant.components.websocket_api import messages as messages
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback, valid_entity_id as valid_entity_id
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
10
  from homeassistant.helpers.json import json_bytes as json_bytes
11
- from homeassistant.util.unit_conversion import ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
11
+ from homeassistant.util.unit_conversion import AreaConverter as AreaConverter, BloodGlucoseConcentrationConverter as BloodGlucoseConcentrationConverter, ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
12
12
  from typing import Any, Literal
13
13
 
14
14
  CLEAR_STATISTICS_TIME_OUT: int
@@ -6,15 +6,14 @@ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowRes
6
6
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
7
  from typing import Any
8
8
 
9
+ USER_SCHEMA: Incomplete
10
+ REAUTH_SCHEMA: Incomplete
11
+
9
12
  class RenaultFlowHandler(ConfigFlow, domain=DOMAIN):
10
- VERSION: int
11
- _original_data: Incomplete
13
+ renault_hub: RenaultHub
12
14
  renault_config: Incomplete
13
- renault_hub: Incomplete
14
15
  def __init__(self) -> None: ...
15
16
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
16
- def _show_user_form(self, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
17
  async def async_step_kamereon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
18
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
19
19
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
- def _show_reauth_confirm_form(self, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -4,6 +4,7 @@ from .renault_vehicle import RenaultVehicleProxy as RenaultVehicleProxy
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
7
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
7
8
 
8
9
  LOGGER: Incomplete
9
10
  ATTR_SCHEDULES: str
@@ -0,0 +1,28 @@
1
+ from .const import CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
2
+ from .exceptions import PasswordIncompatible as PasswordIncompatible, ReolinkException as ReolinkException, UserNotAdmin as UserNotAdmin
3
+ from .host import ReolinkHost as ReolinkHost
4
+ from .services import async_setup_services as async_setup_services
5
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData, get_device_uid_and_ch as get_device_uid_and_ch
6
+ from _typeshed import Incomplete
7
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
8
+ from homeassistant.const import CONF_PORT as CONF_PORT, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
11
+ from homeassistant.helpers import device_registry as dr
12
+ from homeassistant.helpers.device_registry import format_mac as format_mac
13
+ from homeassistant.helpers.typing import ConfigType as ConfigType
14
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
15
+
16
+ _LOGGER: Incomplete
17
+ PLATFORMS: Incomplete
18
+ DEVICE_UPDATE_INTERVAL: Incomplete
19
+ FIRMWARE_UPDATE_INTERVAL: Incomplete
20
+ NUM_CRED_ERRORS: int
21
+ CONFIG_SCHEMA: Incomplete
22
+
23
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
24
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> bool: ...
25
+ async def entry_update_listener(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> None: ...
26
+ async def async_unload_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> bool: ...
27
+ async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ReolinkConfigEntry, device: dr.DeviceEntry) -> bool: ...
28
+ def migrate_entity_ids(hass: HomeAssistant, config_entry_id: str, host: ReolinkHost) -> None: ...
@@ -0,0 +1,34 @@
1
+ from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription
2
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
7
+ from homeassistant.const import EntityCategory as EntityCategory
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+ from reolink_aio.api import Host as Host
12
+
13
+ PARALLEL_UPDATES: int
14
+
15
+ @dataclass(frozen=True, kw_only=True)
16
+ class ReolinkBinarySensorEntityDescription(BinarySensorEntityDescription, ReolinkChannelEntityDescription):
17
+ value: Callable[[Host, int], 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=..., cmd_key=..., cmd_id=..., supported=..., value) -> None: ...
19
+
20
+ BINARY_PUSH_SENSORS: Incomplete
21
+ BINARY_SENSORS: Incomplete
22
+
23
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
+
25
+ class ReolinkBinarySensorEntity(ReolinkChannelCoordinatorEntity, BinarySensorEntity):
26
+ entity_description: ReolinkBinarySensorEntityDescription
27
+ _attr_translation_key: Incomplete
28
+ def __init__(self, reolink_data: ReolinkData, channel: int, entity_description: ReolinkBinarySensorEntityDescription) -> None: ...
29
+ @property
30
+ def is_on(self) -> bool: ...
31
+
32
+ class ReolinkPushBinarySensorEntity(ReolinkBinarySensorEntity):
33
+ async def async_added_to_hass(self) -> None: ...
34
+ async def _async_handle_event(self, event: str) -> None: ...
@@ -0,0 +1,48 @@
1
+ from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription, ReolinkHostCoordinatorEntity as ReolinkHostCoordinatorEntity, ReolinkHostEntityDescription as ReolinkHostEntityDescription
2
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
7
+ from homeassistant.components.camera import CameraEntityFeature as CameraEntityFeature
8
+ from homeassistant.const import EntityCategory as EntityCategory
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
12
+ from reolink_aio.api import Host as Host
13
+ from typing import Any
14
+
15
+ PARALLEL_UPDATES: int
16
+ ATTR_SPEED: str
17
+ SUPPORT_PTZ_SPEED: Incomplete
18
+ SERVICE_PTZ_MOVE: str
19
+
20
+ @dataclass(frozen=True, kw_only=True)
21
+ class ReolinkButtonEntityDescription(ButtonEntityDescription, ReolinkChannelEntityDescription):
22
+ enabled_default: Callable[[Host, int], bool] | None = ...
23
+ method: Callable[[Host, int], Any]
24
+ ptz_cmd: str | None = ...
25
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., cmd_key=..., cmd_id=..., supported=..., enabled_default=..., method, ptz_cmd=...) -> None: ...
26
+
27
+ @dataclass(frozen=True, kw_only=True)
28
+ class ReolinkHostButtonEntityDescription(ButtonEntityDescription, ReolinkHostEntityDescription):
29
+ method: Callable[[Host], Any]
30
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., cmd_key=..., cmd_id=..., supported=..., method) -> None: ...
31
+
32
+ BUTTON_ENTITIES: Incomplete
33
+ HOST_BUTTON_ENTITIES: Incomplete
34
+
35
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
36
+
37
+ class ReolinkButtonEntity(ReolinkChannelCoordinatorEntity, ButtonEntity):
38
+ entity_description: ReolinkButtonEntityDescription
39
+ _attr_entity_registry_enabled_default: Incomplete
40
+ _attr_supported_features: Incomplete
41
+ def __init__(self, reolink_data: ReolinkData, channel: int, entity_description: ReolinkButtonEntityDescription) -> None: ...
42
+ async def async_press(self) -> None: ...
43
+ async def async_ptz_move(self, **kwargs: Any) -> None: ...
44
+
45
+ class ReolinkHostButtonEntity(ReolinkHostCoordinatorEntity, ButtonEntity):
46
+ entity_description: ReolinkHostButtonEntityDescription
47
+ def __init__(self, reolink_data: ReolinkData, entity_description: ReolinkHostButtonEntityDescription) -> None: ...
48
+ async def async_press(self) -> None: ...
@@ -0,0 +1,28 @@
1
+ from .entity import ReolinkChannelCoordinatorEntity as ReolinkChannelCoordinatorEntity, ReolinkChannelEntityDescription as ReolinkChannelEntityDescription
2
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
3
+ from _typeshed import Incomplete
4
+ from dataclasses import dataclass
5
+ from homeassistant.components.camera import Camera as Camera, CameraEntityDescription as CameraEntityDescription, CameraEntityFeature as CameraEntityFeature
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+
10
+ _LOGGER: Incomplete
11
+ PARALLEL_UPDATES: int
12
+
13
+ @dataclass(frozen=True, kw_only=True)
14
+ class ReolinkCameraEntityDescription(CameraEntityDescription, ReolinkChannelEntityDescription):
15
+ stream: str
16
+ 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=..., cmd_key=..., cmd_id=..., supported=..., stream) -> None: ...
17
+
18
+ CAMERA_ENTITIES: Incomplete
19
+
20
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ReolinkConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
+
22
+ class ReolinkCamera(ReolinkChannelCoordinatorEntity, Camera):
23
+ entity_description: ReolinkCameraEntityDescription
24
+ _attr_supported_features: Incomplete
25
+ _attr_translation_key: Incomplete
26
+ def __init__(self, reolink_data: ReolinkData, channel: int, entity_description: ReolinkCameraEntityDescription) -> None: ...
27
+ async def stream_source(self) -> str | None: ...
28
+ async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
@@ -0,0 +1,35 @@
1
+ from .const import CONF_USE_HTTPS as CONF_USE_HTTPS, DOMAIN as DOMAIN
2
+ from .exceptions import PasswordIncompatible as PasswordIncompatible, ReolinkException as ReolinkException, ReolinkWebhookException as ReolinkWebhookException, UserNotAdmin as UserNotAdmin
3
+ from .host import ReolinkHost as ReolinkHost
4
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, is_connected as is_connected
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Mapping
7
+ from homeassistant.components import dhcp as dhcp
8
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
9
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
10
+ from homeassistant.core import callback as callback
11
+ from homeassistant.data_entry_flow import AbortFlow as AbortFlow
12
+ from homeassistant.helpers import selector as selector
13
+ from homeassistant.helpers.device_registry import format_mac as format_mac
14
+ from typing import Any
15
+
16
+ _LOGGER: Incomplete
17
+ DEFAULT_PROTOCOL: str
18
+ DEFAULT_OPTIONS: Incomplete
19
+
20
+ class ReolinkOptionsFlowHandler(OptionsFlow):
21
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
+
23
+ class ReolinkFlowHandler(ConfigFlow, domain=DOMAIN):
24
+ VERSION: int
25
+ _host: Incomplete
26
+ _username: str
27
+ _password: Incomplete
28
+ def __init__(self) -> None: ...
29
+ @staticmethod
30
+ def async_get_options_flow(config_entry: ReolinkConfigEntry) -> ReolinkOptionsFlowHandler: ...
31
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
32
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
34
+ async def async_step_dhcp(self, discovery_info: dhcp.DhcpServiceInfo) -> ConfigFlowResult: ...
35
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,2 @@
1
+ DOMAIN: str
2
+ CONF_USE_HTTPS: str
@@ -0,0 +1,5 @@
1
+ from .util import ReolinkConfigEntry as ReolinkConfigEntry, ReolinkData as ReolinkData
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from typing import Any
4
+
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ReolinkConfigEntry) -> dict[str, Any]: ...