homeassistant-stubs 2024.11.3__py3-none-any.whl → 2024.12.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) 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/assist_pipeline/audio_enhancer.pyi +2 -3
  13. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -2
  14. homeassistant-stubs/components/assist_pipeline/vad.pyi +7 -4
  15. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  16. homeassistant-stubs/components/backup/http.pyi +7 -3
  17. homeassistant-stubs/components/backup/manager.pyi +8 -0
  18. homeassistant-stubs/components/backup/websocket.pyi +1 -0
  19. homeassistant-stubs/components/bang_olufsen/const.pyi +1 -6
  20. homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +6 -0
  21. homeassistant-stubs/components/bang_olufsen/media_player.pyi +11 -5
  22. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -2
  23. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +2 -2
  24. homeassistant-stubs/components/brother/sensor.pyi +0 -1
  25. homeassistant-stubs/components/cambridge_audio/__init__.pyi +1 -0
  26. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +1 -0
  27. homeassistant-stubs/components/cambridge_audio/media_player.pyi +1 -0
  28. homeassistant-stubs/components/cambridge_audio/select.pyi +3 -1
  29. homeassistant-stubs/components/cambridge_audio/switch.pyi +3 -1
  30. homeassistant-stubs/components/camera/__init__.pyi +5 -3
  31. homeassistant-stubs/components/camera/webrtc.pyi +10 -6
  32. homeassistant-stubs/components/canary/config_flow.pyi +0 -2
  33. homeassistant-stubs/components/climate/__init__.pyi +10 -3
  34. homeassistant-stubs/components/climate/const.pyi +6 -0
  35. homeassistant-stubs/components/climate/reproduce_state.pyi +1 -1
  36. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  37. homeassistant-stubs/components/cloud/prefs.pyi +1 -1
  38. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -2
  39. homeassistant-stubs/components/deconz/config_flow.pyi +1 -5
  40. homeassistant-stubs/components/demo/climate.pyi +8 -1
  41. homeassistant-stubs/components/demo/config_flow.pyi +0 -1
  42. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -5
  43. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -2
  44. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  45. homeassistant-stubs/components/doorbird/config_flow.pyi +0 -2
  46. homeassistant-stubs/components/dsmr/config_flow.pyi +0 -2
  47. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  48. homeassistant-stubs/components/elevenlabs/config_flow.pyi +2 -2
  49. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  50. homeassistant-stubs/components/eq3btsmart/__init__.pyi +7 -6
  51. homeassistant-stubs/components/eq3btsmart/binary_sensor.pyi +26 -0
  52. homeassistant-stubs/components/eq3btsmart/climate.pyi +4 -15
  53. homeassistant-stubs/components/eq3btsmart/const.pyi +14 -0
  54. homeassistant-stubs/components/eq3btsmart/entity.pyi +17 -3
  55. homeassistant-stubs/components/eq3btsmart/models.pyi +1 -3
  56. homeassistant-stubs/components/eq3btsmart/number.pyi +33 -0
  57. homeassistant-stubs/components/eq3btsmart/sensor.pyi +28 -0
  58. homeassistant-stubs/components/eq3btsmart/switch.pyi +30 -0
  59. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -0
  60. homeassistant-stubs/components/esphome/config_flow.pyi +0 -2
  61. homeassistant-stubs/components/esphome/entry_data.pyi +8 -1
  62. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +1 -0
  63. homeassistant-stubs/components/esphome/media_player.pyi +2 -1
  64. homeassistant-stubs/components/esphome/select.pyi +17 -1
  65. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  66. homeassistant-stubs/components/feedreader/config_flow.pyi +2 -2
  67. homeassistant-stubs/components/filesize/config_flow.pyi +2 -5
  68. homeassistant-stubs/components/fitbit/config_flow.pyi +0 -1
  69. homeassistant-stubs/components/fitbit/sensor.pyi +12 -15
  70. homeassistant-stubs/components/flux_led/config_flow.pyi +1 -3
  71. homeassistant-stubs/components/forecast_solar/config_flow.pyi +0 -2
  72. homeassistant-stubs/components/fritz/config_flow.pyi +4 -4
  73. homeassistant-stubs/components/fritzbox/config_flow.pyi +1 -1
  74. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +0 -2
  75. homeassistant-stubs/components/fully_kiosk/__init__.pyi +3 -2
  76. homeassistant-stubs/components/fully_kiosk/binary_sensor.pyi +2 -3
  77. homeassistant-stubs/components/fully_kiosk/button.pyi +2 -3
  78. homeassistant-stubs/components/fully_kiosk/camera.pyi +2 -3
  79. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +2 -3
  80. homeassistant-stubs/components/fully_kiosk/image.pyi +2 -3
  81. homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
  82. homeassistant-stubs/components/fully_kiosk/notify.pyi +2 -3
  83. homeassistant-stubs/components/fully_kiosk/number.pyi +2 -3
  84. homeassistant-stubs/components/fully_kiosk/sensor.pyi +2 -3
  85. homeassistant-stubs/components/fully_kiosk/switch.pyi +2 -3
  86. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  87. homeassistant-stubs/components/glances/__init__.pyi +0 -2
  88. homeassistant-stubs/components/go2rtc/__init__.pyi +2 -2
  89. homeassistant-stubs/components/google/config_flow.pyi +0 -2
  90. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +0 -2
  91. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  92. homeassistant-stubs/components/google_cloud/helpers.pyi +1 -1
  93. homeassistant-stubs/components/here_travel_time/config_flow.pyi +1 -2
  94. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +4 -3
  95. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +0 -1
  96. homeassistant-stubs/components/homekit/config_flow.pyi +1 -2
  97. homeassistant-stubs/components/homewizard/button.pyi +2 -0
  98. homeassistant-stubs/components/homewizard/config_flow.pyi +5 -1
  99. homeassistant-stubs/components/homewizard/const.pyi +1 -1
  100. homeassistant-stubs/components/homewizard/coordinator.pyi +3 -3
  101. homeassistant-stubs/components/homewizard/number.pyi +2 -0
  102. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  103. homeassistant-stubs/components/homewizard/switch.pyi +4 -2
  104. homeassistant-stubs/components/huawei_lte/config_flow.pyi +0 -2
  105. homeassistant-stubs/components/husqvarna_automower/api.pyi +6 -0
  106. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +7 -0
  107. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  108. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -1
  109. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -1
  110. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -0
  111. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  112. homeassistant-stubs/components/husqvarna_automower/switch.pyi +1 -0
  113. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -9
  114. homeassistant-stubs/components/hyperion/config_flow.pyi +0 -2
  115. homeassistant-stubs/components/ibeacon/config_flow.pyi +0 -3
  116. homeassistant-stubs/components/imap/config_flow.pyi +3 -3
  117. homeassistant-stubs/components/imap/sensor.pyi +1 -1
  118. homeassistant-stubs/components/intent/timers.pyi +6 -0
  119. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +0 -3
  120. homeassistant-stubs/components/isy994/config_flow.pyi +0 -2
  121. homeassistant-stubs/components/jellyfin/config_flow.pyi +3 -3
  122. homeassistant-stubs/components/jewish_calendar/__init__.pyi +6 -17
  123. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +2 -4
  124. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -4
  125. homeassistant-stubs/components/jewish_calendar/entity.pyi +15 -4
  126. homeassistant-stubs/components/jewish_calendar/sensor.pyi +3 -5
  127. homeassistant-stubs/components/knx/config_flow.pyi +0 -1
  128. homeassistant-stubs/components/knx/light.pyi +3 -3
  129. homeassistant-stubs/components/knx/telegrams.pyi +1 -0
  130. homeassistant-stubs/components/knx/websocket.pyi +1 -0
  131. homeassistant-stubs/components/kraken/config_flow.pyi +0 -3
  132. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  133. homeassistant-stubs/components/lamarzocco/button.pyi +7 -3
  134. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -1
  135. homeassistant-stubs/components/lamarzocco/config_flow.pyi +7 -5
  136. homeassistant-stubs/components/lamarzocco/coordinator.pyi +3 -3
  137. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  138. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -2
  139. homeassistant-stubs/components/lamarzocco/number.pyi +5 -3
  140. homeassistant-stubs/components/lamarzocco/select.pyi +3 -2
  141. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  142. homeassistant-stubs/components/lamarzocco/switch.pyi +4 -2
  143. homeassistant-stubs/components/lamarzocco/update.pyi +3 -1
  144. homeassistant-stubs/components/lcn/__init__.pyi +4 -4
  145. homeassistant-stubs/components/lcn/config_flow.pyi +0 -4
  146. homeassistant-stubs/components/lcn/helpers.pyi +2 -4
  147. homeassistant-stubs/components/lcn/schemas.pyi +2 -13
  148. homeassistant-stubs/components/lcn/services.pyi +2 -0
  149. homeassistant-stubs/components/lektrico/binary_sensor.pyi +27 -0
  150. homeassistant-stubs/components/linkplay/button.pyi +28 -0
  151. homeassistant-stubs/components/linkplay/diagnostics.pyi +5 -0
  152. homeassistant-stubs/components/linkplay/entity.pyi +16 -0
  153. homeassistant-stubs/components/linkplay/media_player.pyi +3 -8
  154. homeassistant-stubs/components/linkplay/utils.pyi +12 -0
  155. homeassistant-stubs/components/litejet/config_flow.pyi +0 -3
  156. homeassistant-stubs/components/media_extractor/__init__.pyi +1 -2
  157. homeassistant-stubs/components/media_extractor/config_flow.pyi +0 -1
  158. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -3
  159. homeassistant-stubs/components/mjpeg/config_flow.pyi +0 -3
  160. homeassistant-stubs/components/mold_indicator/sensor.pyi +3 -5
  161. homeassistant-stubs/components/monzo/coordinator.pyi +1 -1
  162. homeassistant-stubs/components/mopeka/config_flow.pyi +0 -2
  163. homeassistant-stubs/components/mqtt/__init__.pyi +1 -0
  164. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
  165. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -0
  166. homeassistant-stubs/components/mqtt/button.pyi +1 -0
  167. homeassistant-stubs/components/mqtt/camera.pyi +1 -0
  168. homeassistant-stubs/components/mqtt/climate.pyi +1 -0
  169. homeassistant-stubs/components/mqtt/config_flow.pyi +1 -3
  170. homeassistant-stubs/components/mqtt/cover.pyi +1 -0
  171. homeassistant-stubs/components/mqtt/device_tracker.pyi +1 -0
  172. homeassistant-stubs/components/mqtt/entity.pyi +1 -0
  173. homeassistant-stubs/components/mqtt/event.pyi +1 -0
  174. homeassistant-stubs/components/mqtt/fan.pyi +1 -0
  175. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -0
  176. homeassistant-stubs/components/mqtt/image.pyi +1 -0
  177. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -0
  178. homeassistant-stubs/components/mqtt/light/__init__.pyi +2 -0
  179. homeassistant-stubs/components/mqtt/lock.pyi +1 -0
  180. homeassistant-stubs/components/mqtt/notify.pyi +1 -0
  181. homeassistant-stubs/components/mqtt/number.pyi +1 -0
  182. homeassistant-stubs/components/mqtt/scene.pyi +1 -0
  183. homeassistant-stubs/components/mqtt/select.pyi +1 -0
  184. homeassistant-stubs/components/mqtt/sensor.pyi +1 -0
  185. homeassistant-stubs/components/mqtt/siren.pyi +1 -0
  186. homeassistant-stubs/components/mqtt/subscription.pyi +1 -1
  187. homeassistant-stubs/components/mqtt/switch.pyi +1 -0
  188. homeassistant-stubs/components/mqtt/text.pyi +1 -0
  189. homeassistant-stubs/components/mqtt/update.pyi +1 -0
  190. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -0
  191. homeassistant-stubs/components/mqtt/valve.pyi +1 -0
  192. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -0
  193. homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
  194. homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
  195. homeassistant-stubs/components/music_assistant/const.pyi +12 -0
  196. homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
  197. homeassistant-stubs/components/music_assistant/media_browser.pyi +33 -0
  198. homeassistant-stubs/components/music_assistant/media_player.pyi +96 -0
  199. homeassistant-stubs/components/nasweb/__init__.pyi +19 -0
  200. homeassistant-stubs/components/nasweb/config_flow.pyi +27 -0
  201. homeassistant-stubs/components/nasweb/const.pyi +5 -0
  202. homeassistant-stubs/components/nasweb/coordinator.pyi +42 -0
  203. homeassistant-stubs/components/nasweb/nasweb_data.pyi +20 -0
  204. homeassistant-stubs/components/nasweb/switch.pyi +35 -0
  205. homeassistant-stubs/components/nest/camera.pyi +3 -5
  206. homeassistant-stubs/components/netatmo/config_flow.pyi +0 -1
  207. homeassistant-stubs/components/nightscout/sensor.pyi +4 -3
  208. homeassistant-stubs/components/nordpool/__init__.pyi +9 -0
  209. homeassistant-stubs/components/nordpool/config_flow.pyi +19 -0
  210. homeassistant-stubs/components/nordpool/const.pyi +9 -0
  211. homeassistant-stubs/components/nordpool/coordinator.pyi +20 -0
  212. homeassistant-stubs/components/nordpool/diagnostics.pyi +5 -0
  213. homeassistant-stubs/components/nordpool/entity.pyi +14 -0
  214. homeassistant-stubs/components/nordpool/sensor.pyi +69 -0
  215. homeassistant-stubs/components/number/const.pyi +3 -1
  216. homeassistant-stubs/components/nut/__init__.pyi +4 -1
  217. homeassistant-stubs/components/nut/config_flow.pyi +0 -2
  218. homeassistant-stubs/components/nut/sensor.pyi +1 -1
  219. homeassistant-stubs/components/onewire/config_flow.pyi +4 -2
  220. homeassistant-stubs/components/onkyo/config_flow.pyi +3 -2
  221. homeassistant-stubs/components/openai_conversation/config_flow.pyi +0 -1
  222. homeassistant-stubs/components/opensky/config_flow.pyi +3 -3
  223. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -3
  224. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -2
  225. homeassistant-stubs/components/p1_monitor/sensor.pyi +1 -1
  226. homeassistant-stubs/components/ping/__init__.pyi +2 -6
  227. homeassistant-stubs/components/ping/config_flow.pyi +0 -2
  228. homeassistant-stubs/components/plugwise/climate.pyi +1 -0
  229. homeassistant-stubs/components/plugwise/entity.pyi +2 -2
  230. homeassistant-stubs/components/plugwise/number.pyi +2 -2
  231. homeassistant-stubs/components/plugwise/select.pyi +2 -1
  232. homeassistant-stubs/components/proximity/config_flow.pyi +0 -3
  233. homeassistant-stubs/components/pure_energie/__init__.pyi +4 -5
  234. homeassistant-stubs/components/pure_energie/diagnostics.pyi +2 -4
  235. homeassistant-stubs/components/pure_energie/sensor.pyi +3 -3
  236. homeassistant-stubs/components/purpleair/config_flow.pyi +1 -2
  237. homeassistant-stubs/components/rainmachine/config_flow.pyi +0 -3
  238. homeassistant-stubs/components/recollect_waste/config_flow.pyi +1 -3
  239. homeassistant-stubs/components/recorder/pool.pyi +1 -1
  240. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  241. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  242. homeassistant-stubs/components/renault/config_flow.pyi +4 -5
  243. homeassistant-stubs/components/renault/services.pyi +1 -0
  244. homeassistant-stubs/components/reolink/__init__.pyi +28 -0
  245. homeassistant-stubs/components/reolink/binary_sensor.pyi +34 -0
  246. homeassistant-stubs/components/reolink/button.pyi +48 -0
  247. homeassistant-stubs/components/reolink/camera.pyi +28 -0
  248. homeassistant-stubs/components/reolink/config_flow.pyi +35 -0
  249. homeassistant-stubs/components/reolink/const.pyi +2 -0
  250. homeassistant-stubs/components/reolink/diagnostics.pyi +5 -0
  251. homeassistant-stubs/components/reolink/entity.pyi +69 -0
  252. homeassistant-stubs/components/reolink/exceptions.pyi +7 -0
  253. homeassistant-stubs/components/reolink/host.pyi +82 -0
  254. homeassistant-stubs/components/reolink/light.pyi +55 -0
  255. homeassistant-stubs/components/reolink/media_source.pyi +27 -0
  256. homeassistant-stubs/components/reolink/number.pyi +69 -0
  257. homeassistant-stubs/components/reolink/select.pyi +54 -0
  258. homeassistant-stubs/components/reolink/sensor.pyi +55 -0
  259. homeassistant-stubs/components/reolink/services.pyi +12 -0
  260. homeassistant-stubs/components/reolink/siren.pyi +26 -0
  261. homeassistant-stubs/components/reolink/switch.pyi +65 -0
  262. homeassistant-stubs/components/reolink/update.pyi +71 -0
  263. homeassistant-stubs/components/reolink/util.pyi +18 -0
  264. homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -3
  265. homeassistant-stubs/components/ring/__init__.pyi +0 -1
  266. homeassistant-stubs/components/ring/camera.pyi +22 -6
  267. homeassistant-stubs/components/rituals_perfume_genie/select.pyi +1 -1
  268. homeassistant-stubs/components/roborock/config_flow.pyi +5 -3
  269. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  270. homeassistant-stubs/components/roku/config_flow.pyi +3 -3
  271. homeassistant-stubs/components/romy/sensor.pyi +1 -1
  272. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -0
  273. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -2
  274. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  275. homeassistant-stubs/components/sensor/const.pyi +4 -2
  276. homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
  277. homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
  278. homeassistant-stubs/components/shelly/config_flow.pyi +0 -2
  279. homeassistant-stubs/components/shelly/update.pyi +4 -1
  280. homeassistant-stubs/components/simplisafe/config_flow.pyi +0 -2
  281. homeassistant-stubs/components/smlight/config_flow.pyi +1 -1
  282. homeassistant-stubs/components/solarlog/coordinator.pyi +1 -0
  283. homeassistant-stubs/components/sonarr/config_flow.pyi +0 -2
  284. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +1 -2
  285. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  286. homeassistant-stubs/components/statistics/sensor.pyi +2 -4
  287. homeassistant-stubs/components/stookwijzer/__init__.pyi +15 -0
  288. homeassistant-stubs/components/stookwijzer/config_flow.pyi +10 -0
  289. homeassistant-stubs/components/stookwijzer/const.pyi +5 -0
  290. homeassistant-stubs/components/stookwijzer/coordinator.pyi +15 -0
  291. homeassistant-stubs/components/stookwijzer/diagnostics.pyi +5 -0
  292. homeassistant-stubs/components/stookwijzer/sensor.pyi +31 -0
  293. homeassistant-stubs/components/stream/const.pyi +3 -2
  294. homeassistant-stubs/components/stream/core.pyi +2 -2
  295. homeassistant-stubs/components/stream/worker.pyi +15 -13
  296. homeassistant-stubs/components/suez_water/__init__.pyi +3 -3
  297. homeassistant-stubs/components/suez_water/config_flow.pyi +2 -1
  298. homeassistant-stubs/components/suez_water/const.pyi +3 -0
  299. homeassistant-stubs/components/suez_water/coordinator.pyi +35 -0
  300. homeassistant-stubs/components/suez_water/sensor.pyi +23 -17
  301. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +3 -1
  302. homeassistant-stubs/components/switcher_kis/button.pyi +1 -1
  303. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
  304. homeassistant-stubs/components/switcher_kis/light.pyi +1 -1
  305. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -0
  306. homeassistant-stubs/components/synology_dsm/config_flow.pyi +0 -2
  307. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  308. homeassistant-stubs/components/tedee/coordinator.pyi +2 -2
  309. homeassistant-stubs/components/tedee/entity.pyi +1 -1
  310. homeassistant-stubs/components/tedee/lock.pyi +3 -1
  311. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  312. homeassistant-stubs/components/thethingsnetwork/__init__.pyi +1 -4
  313. homeassistant-stubs/components/threshold/binary_sensor.pyi +4 -0
  314. homeassistant-stubs/components/tibber/__init__.pyi +1 -2
  315. homeassistant-stubs/components/tibber/notify.pyi +1 -10
  316. homeassistant-stubs/components/tod/binary_sensor.pyi +3 -3
  317. homeassistant-stubs/components/tolo/config_flow.pyi +1 -1
  318. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  319. homeassistant-stubs/components/tplink/config_flow.pyi +6 -3
  320. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -2
  321. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +1 -1
  322. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +2 -3
  323. homeassistant-stubs/components/trafikverket_train/__init__.pyi +3 -0
  324. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +4 -3
  325. homeassistant-stubs/components/trafikverket_train/util.pyi +1 -2
  326. homeassistant-stubs/components/transmission/config_flow.pyi +0 -2
  327. homeassistant-stubs/components/tts/__init__.pyi +3 -1
  328. homeassistant-stubs/components/unifi/config_flow.pyi +2 -3
  329. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  330. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -2
  331. homeassistant-stubs/components/unifiprotect/const.pyi +5 -0
  332. homeassistant-stubs/components/unifiprotect/event.pyi +17 -4
  333. homeassistant-stubs/components/unifiprotect/views.pyi +7 -1
  334. homeassistant-stubs/components/upcloud/config_flow.pyi +0 -2
  335. homeassistant-stubs/components/watttime/config_flow.pyi +1 -3
  336. homeassistant-stubs/components/webostv/config_flow.pyi +0 -2
  337. homeassistant-stubs/components/websocket_api/http.pyi +2 -1
  338. homeassistant-stubs/components/wemo/config_flow.pyi +0 -3
  339. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  340. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  341. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -3
  342. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +0 -2
  343. homeassistant-stubs/components/youtube/config_flow.pyi +2 -2
  344. homeassistant-stubs/components/zeroconf/usage.pyi +1 -1
  345. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  346. homeassistant-stubs/components/zwave_js/api.pyi +9 -1
  347. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -2
  348. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  349. homeassistant-stubs/config_entries.pyi +15 -7
  350. homeassistant-stubs/const.pyi +26 -1
  351. homeassistant-stubs/core_config.pyi +1 -1
  352. homeassistant-stubs/data_entry_flow.pyi +3 -3
  353. homeassistant-stubs/helpers/device_registry.pyi +0 -1
  354. homeassistant-stubs/helpers/entity_platform.pyi +1 -0
  355. homeassistant-stubs/helpers/frame.pyi +12 -3
  356. homeassistant-stubs/helpers/intent.pyi +1 -0
  357. homeassistant-stubs/helpers/llm.pyi +2 -3
  358. homeassistant-stubs/helpers/restore_state.pyi +0 -3
  359. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -2
  360. homeassistant-stubs/helpers/trigger_template_entity.pyi +1 -1
  361. homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
  362. homeassistant-stubs/loader.pyi +1 -0
  363. homeassistant-stubs/runner.pyi +0 -4
  364. homeassistant-stubs/util/json.pyi +3 -3
  365. homeassistant-stubs/util/unit_conversion.pyi +20 -1
  366. homeassistant-stubs/util/unit_system.pyi +7 -4
  367. homeassistant-stubs/util/yaml/loader.pyi +0 -19
  368. {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/METADATA +2 -2
  369. {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/RECORD +371 -315
  370. {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/WHEEL +0 -0
  371. {homeassistant_stubs-2024.11.3.dist-info → homeassistant_stubs-2024.12.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -39,6 +39,4 @@ class ShellyConfigFlow(ConfigFlow, domain=DOMAIN):
39
39
  def async_supports_options_flow(cls, config_entry: ConfigEntry) -> bool: ...
40
40
 
41
41
  class OptionsFlowHandler(OptionsFlow):
42
- config_entry: Incomplete
43
- def __init__(self, config_entry: ConfigEntry) -> None: ...
44
42
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -51,6 +51,7 @@ class RpcUpdateEntity(ShellyRpcAttributeEntity, UpdateEntity):
51
51
  _attr_supported_features: Incomplete
52
52
  entity_description: RpcUpdateDescription
53
53
  _ota_in_progress: bool
54
+ _ota_progress_percentage: Incomplete
54
55
  _attr_release_url: Incomplete
55
56
  def __init__(self, coordinator: ShellyRpcCoordinator, key: str, attribute: str, description: RpcUpdateDescription) -> None: ...
56
57
  async def async_added_to_hass(self) -> None: ...
@@ -60,7 +61,9 @@ class RpcUpdateEntity(ShellyRpcAttributeEntity, UpdateEntity):
60
61
  @property
61
62
  def latest_version(self) -> str | None: ...
62
63
  @property
63
- def in_progress(self) -> bool | int: ...
64
+ def in_progress(self) -> bool: ...
65
+ @property
66
+ def update_percentage(self) -> int | None: ...
64
67
  async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
65
68
 
66
69
  class RpcSleepingUpdateEntity(ShellySleepingRpcAttributeEntity, UpdateEntity, RestoreEntity):
@@ -27,6 +27,4 @@ class SimpliSafeFlowHandler(ConfigFlow, domain=DOMAIN):
27
27
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
28
 
29
29
  class SimpliSafeOptionsFlowHandler(OptionsFlow):
30
- config_entry: Incomplete
31
- def __init__(self, config_entry: ConfigEntry) -> None: ...
32
30
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -12,8 +12,8 @@ STEP_USER_DATA_SCHEMA: Incomplete
12
12
  STEP_AUTH_DATA_SCHEMA: Incomplete
13
13
 
14
14
  class SmlightConfigFlow(ConfigFlow, domain=DOMAIN):
15
+ host: str
15
16
  client: Incomplete
16
- host: Incomplete
17
17
  def __init__(self) -> None: ...
18
18
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
19
  async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -5,6 +5,7 @@ from collections.abc import Callable as Callable
5
5
  from homeassistant.const import CONF_HOST as CONF_HOST
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
9
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
10
  from homeassistant.util import slugify as slugify
10
11
  from solarlog_cli.solarlog_models import SolarlogData
@@ -22,6 +22,4 @@ class SonarrConfigFlow(ConfigFlow, domain=DOMAIN):
22
22
  def _get_user_data_schema(self) -> dict[vol.Marker, type]: ...
23
23
 
24
24
  class SonarrOptionsFlowHandler(OptionsFlow):
25
- config_entry: Incomplete
26
- def __init__(self, config_entry: ConfigEntry) -> None: ...
27
25
  async def async_step_init(self, user_input: dict[str, int] | None = None) -> ConfigFlowResult: ...
@@ -12,7 +12,6 @@ class SpeedTestFlowHandler(ConfigFlow, domain=DOMAIN):
12
12
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
13
13
 
14
14
  class SpeedTestOptionsFlowHandler(OptionsFlow):
15
- config_entry: Incomplete
16
15
  _servers: Incomplete
17
- def __init__(self, config_entry: SpeedTestConfigEntry) -> None: ...
16
+ def __init__(self) -> None: ...
18
17
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -4,7 +4,7 @@ from .util import resolve_db_url as resolve_db_url
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.recorder import CONF_DB_URL as CONF_DB_URL, get_instance as get_instance
6
6
  from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
8
8
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
9
9
  from homeassistant.core import callback as callback
10
10
  from homeassistant.helpers import selector as selector
@@ -25,5 +25,5 @@ class SQLConfigFlow(ConfigFlow, domain=DOMAIN):
25
25
  def async_get_options_flow(config_entry: ConfigEntry) -> SQLOptionsFlowHandler: ...
26
26
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
27
27
 
28
- class SQLOptionsFlowHandler(OptionsFlowWithConfigEntry):
28
+ class SQLOptionsFlowHandler(OptionsFlow):
29
29
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -91,7 +91,7 @@ class StatisticsSensor(SensorEntity):
91
91
  _attr_available: bool
92
92
  states: Incomplete
93
93
  ages: Incomplete
94
- attributes: Incomplete
94
+ _attr_extra_state_attributes: Incomplete
95
95
  _state_characteristic_fn: Incomplete
96
96
  _update_listener: Incomplete
97
97
  _preview_callback: Incomplete
@@ -110,8 +110,6 @@ class StatisticsSensor(SensorEntity):
110
110
  def _calculate_unit_of_measurement(self, new_state: State) -> str | None: ...
111
111
  def _calculate_device_class(self, new_state: State, unit: str | None) -> SensorDeviceClass | None: ...
112
112
  def _calculate_state_class(self, new_state: State) -> SensorStateClass | None: ...
113
- @property
114
- def extra_state_attributes(self) -> dict[str, StateType] | None: ...
115
113
  def _purge_old_states(self, max_age: timedelta) -> None: ...
116
114
  def _async_next_to_purge_timestamp(self) -> datetime | None: ...
117
115
  async def async_update(self) -> None: ...
@@ -120,7 +118,7 @@ class StatisticsSensor(SensorEntity):
120
118
  def _async_scheduled_update(self, now: datetime) -> None: ...
121
119
  def _fetch_states_from_database(self) -> list[State]: ...
122
120
  async def _initialize_from_database(self) -> None: ...
123
- def _update_attributes(self) -> None: ...
121
+ def _update_extra_state_attributes(self) -> None: ...
124
122
  _attr_native_value: Incomplete
125
123
  def _update_value(self) -> None: ...
126
124
  def _callable_characteristic_fn(self, characteristic: str) -> Callable[[], float | int | datetime | None]: ...
@@ -0,0 +1,15 @@
1
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
2
+ from .coordinator import StookwijzerConfigEntry as StookwijzerConfigEntry, StookwijzerCoordinator as StookwijzerCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, Platform as Platform
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.helpers import entity_registry as er
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from typing import Any
9
+
10
+ PLATFORMS: Incomplete
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> bool: ...
13
+ async def async_unload_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> bool: ...
14
+ async def async_migrate_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> bool: ...
15
+ def async_migrate_entity_entry(entity_entry: er.RegistryEntry) -> dict[str, Any] | None: ...
@@ -0,0 +1,10 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE
4
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
5
+ from homeassistant.helpers.selector import LocationSelector as LocationSelector
6
+ from typing import Any
7
+
8
+ class StookwijzerFlowHandler(ConfigFlow, domain=DOMAIN):
9
+ VERSION: int
10
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,5 @@
1
+ from _typeshed import Incomplete
2
+ from typing import Final
3
+
4
+ DOMAIN: Final[str]
5
+ LOGGER: Incomplete
@@ -0,0 +1,15 @@
1
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
+
9
+ SCAN_INTERVAL: Incomplete
10
+ type StookwijzerConfigEntry = ConfigEntry[StookwijzerCoordinator]
11
+
12
+ class StookwijzerCoordinator(DataUpdateCoordinator[None]):
13
+ client: Incomplete
14
+ def __init__(self, hass: HomeAssistant, entry: StookwijzerConfigEntry) -> None: ...
15
+ async def _async_update_data(self) -> None: ...
@@ -0,0 +1,5 @@
1
+ from .coordinator import StookwijzerConfigEntry as StookwijzerConfigEntry
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from typing import Any
4
+
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,31 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import StookwijzerConfigEntry as StookwijzerConfigEntry, StookwijzerCoordinator as StookwijzerCoordinator
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
+ from homeassistant.const import UnitOfSpeed as UnitOfSpeed
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
10
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
+ from stookwijzer import Stookwijzer as Stookwijzer
13
+
14
+ @dataclass(kw_only=True, frozen=True)
15
+ class StookwijzerSensorDescription(SensorEntityDescription):
16
+ value_fn: Callable[[Stookwijzer], int | float | str | None]
17
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
18
+
19
+ STOOKWIJZER_SENSORS: Incomplete
20
+
21
+ async def async_setup_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
+
23
+ class StookwijzerSensor(CoordinatorEntity[StookwijzerCoordinator], SensorEntity):
24
+ entity_description: StookwijzerSensorDescription
25
+ _attr_attribution: str
26
+ _attr_has_entity_name: bool
27
+ _attr_unique_id: Incomplete
28
+ _attr_device_info: Incomplete
29
+ def __init__(self, description: StookwijzerSensorDescription, entry: StookwijzerConfigEntry) -> None: ...
30
+ @property
31
+ def native_value(self) -> int | float | str | None: ...
@@ -1,4 +1,5 @@
1
1
  from _typeshed import Incomplete
2
+ from typing import Final
2
3
 
3
4
  DOMAIN: str
4
5
  ATTR_ENDPOINTS: str
@@ -7,8 +8,8 @@ ATTR_STREAMS: str
7
8
  HLS_PROVIDER: str
8
9
  RECORDER_PROVIDER: str
9
10
  OUTPUT_FORMATS: Incomplete
10
- SEGMENT_CONTAINER_FORMAT: str
11
- RECORDER_CONTAINER_FORMAT: str
11
+ SEGMENT_CONTAINER_FORMAT: Final[str]
12
+ RECORDER_CONTAINER_FORMAT: Final[str]
12
13
  AUDIO_CODECS: Incomplete
13
14
  FORMAT_CONTENT_TYPE: Incomplete
14
15
  OUTPUT_IDLE_TIMEOUT: int
@@ -4,7 +4,7 @@ from . import Stream as Stream
4
4
  from .const import ATTR_STREAMS as ATTR_STREAMS, DOMAIN as DOMAIN, SEGMENT_DURATION_ADJUSTER as SEGMENT_DURATION_ADJUSTER, TARGET_SEGMENT_DURATION_NON_LL_HLS as TARGET_SEGMENT_DURATION_NON_LL_HLS
5
5
  from _typeshed import Incomplete
6
6
  from aiohttp import web
7
- from av import CodecContext, Packet as Packet
7
+ from av import Packet as Packet, VideoCodecContext as VideoCodecContext
8
8
  from collections import deque
9
9
  from collections.abc import Callable as Callable, Coroutine, Iterable
10
10
  from dataclasses import dataclass
@@ -132,7 +132,7 @@ class KeyFrameConverter:
132
132
  _dynamic_stream_settings: Incomplete
133
133
  def __init__(self, hass: HomeAssistant, stream_settings: StreamSettings, dynamic_stream_settings: DynamicStreamSettings) -> None: ...
134
134
  def stash_keyframe_packet(self, packet: Packet) -> None: ...
135
- def create_codec_context(self, codec_context: CodecContext) -> None: ...
135
+ def create_codec_context(self, codec_context: VideoCodecContext) -> None: ...
136
136
  @staticmethod
137
137
  def transform_image(image: np.ndarray, orientation: int) -> np.ndarray: ...
138
138
  def _generate_image(self, width: int | None, height: int | None) -> None: ...
@@ -1,4 +1,6 @@
1
1
  import av
2
+ import av.audio
3
+ import av.container
2
4
  from . import redact_credentials as redact_credentials
3
5
  from .const import AUDIO_CODECS as AUDIO_CODECS, HLS_PROVIDER as HLS_PROVIDER, MAX_MISSING_DTS as MAX_MISSING_DTS, MAX_TIMESTAMP_GAP as MAX_TIMESTAMP_GAP, PACKETS_TO_WAIT_FOR_AUDIO as PACKETS_TO_WAIT_FOR_AUDIO, SEGMENT_CONTAINER_FORMAT as SEGMENT_CONTAINER_FORMAT, SOURCE_TIMEOUT as SOURCE_TIMEOUT
4
6
  from .core import KeyFrameConverter as KeyFrameConverter, Part as Part, STREAM_SETTINGS_NON_LL_HLS as STREAM_SETTINGS_NON_LL_HLS, Segment as Segment, StreamOutput as StreamOutput, StreamSettings as StreamSettings
@@ -17,7 +19,7 @@ NEGATIVE_INF: Incomplete
17
19
 
18
20
  class StreamWorkerError(Exception): ...
19
21
 
20
- def redact_av_error_string(err: av.AVError) -> str: ...
22
+ def redact_av_error_string(err: av.FFmpegError) -> str: ...
21
23
 
22
24
  class StreamEndedError(StreamWorkerError): ...
23
25
 
@@ -40,25 +42,25 @@ class StreamState:
40
42
  def diagnostics(self) -> Diagnostics: ...
41
43
 
42
44
  class StreamMuxer:
45
+ _segment_start_dts: int
46
+ _memory_file: BytesIO
47
+ _av_output: av.container.OutputContainer
48
+ _output_video_stream: av.VideoStream
49
+ _output_audio_stream: av.audio.AudioStream | None
50
+ _segment: Segment | None
51
+ _memory_file_pos: int
52
+ _part_start_dts: float
43
53
  _hass: Incomplete
44
- _segment_start_dts: Incomplete
45
- _memory_file: Incomplete
46
- _av_output: Incomplete
47
54
  _input_video_stream: Incomplete
48
55
  _input_audio_stream: Incomplete
49
56
  _audio_bsf: Incomplete
50
57
  _audio_bsf_context: Incomplete
51
- _output_video_stream: Incomplete
52
- _output_audio_stream: Incomplete
53
- _segment: Incomplete
54
- _memory_file_pos: Incomplete
55
- _part_start_dts: Incomplete
56
58
  _part_has_keyframe: bool
57
59
  _stream_settings: Incomplete
58
60
  _stream_state: Incomplete
59
61
  _start_time: Incomplete
60
- def __init__(self, hass: HomeAssistant, video_stream: av.video.VideoStream, audio_stream: av.audio.stream.AudioStream | None, audio_bsf: av.BitStreamFilter | None, stream_state: StreamState, stream_settings: StreamSettings) -> None: ...
61
- def make_new_av(self, memory_file: BytesIO, sequence: int, input_vstream: av.video.VideoStream, input_astream: av.audio.stream.AudioStream | None) -> tuple[av.container.OutputContainer, av.video.VideoStream, av.audio.stream.AudioStream | None]: ...
62
+ def __init__(self, hass: HomeAssistant, video_stream: av.VideoStream, audio_stream: av.audio.AudioStream | None, audio_bsf: str | None, stream_state: StreamState, stream_settings: StreamSettings) -> None: ...
63
+ def make_new_av(self, memory_file: BytesIO, sequence: int, input_vstream: av.VideoStream, input_astream: av.audio.AudioStream | None) -> tuple[av.container.OutputContainer, av.VideoStream, av.audio.AudioStream | None]: ...
62
64
  def reset(self, video_dts: int) -> None: ...
63
65
  def mux_packet(self, packet: av.Packet) -> None: ...
64
66
  def create_segment(self) -> None: ...
@@ -66,7 +68,7 @@ class StreamMuxer:
66
68
  def flush(self, packet: av.Packet, last_part: bool) -> None: ...
67
69
  def close(self) -> None: ...
68
70
 
69
- class PeekIterator(Iterator):
71
+ class PeekIterator(Iterator[av.Packet]):
70
72
  _iterator: Incomplete
71
73
  _buffer: Incomplete
72
74
  _next: Incomplete
@@ -84,5 +86,5 @@ class TimestampValidator:
84
86
  def is_valid(self, packet: av.Packet) -> bool: ...
85
87
 
86
88
  def is_keyframe(packet: av.Packet) -> Any: ...
87
- def get_audio_bitstream_filter(packets: Iterator[av.Packet], audio_stream: Any) -> av.BitStreamFilterContext | None: ...
89
+ def get_audio_bitstream_filter(packets: Iterator[av.Packet], audio_stream: Any) -> str | None: ...
88
90
  def stream_worker(source: str, pyav_options: dict[str, str], stream_settings: StreamSettings, stream_state: StreamState, keyframe_converter: KeyFrameConverter, quit_event: Event) -> None: ...
@@ -1,8 +1,8 @@
1
- from .const import CONF_COUNTER_ID as CONF_COUNTER_ID, DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import SuezWaterCoordinator as SuezWaterCoordinator
2
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
- from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
4
+ from homeassistant.const import Platform as Platform
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
5
- from homeassistant.exceptions import ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
6
6
 
7
7
  PLATFORMS: list[Platform]
8
8
 
@@ -8,7 +8,7 @@ from typing import Any
8
8
  _LOGGER: Incomplete
9
9
  STEP_USER_DATA_SCHEMA: Incomplete
10
10
 
11
- def validate_input(data: dict[str, Any]) -> None: ...
11
+ async def validate_input(data: dict[str, Any]) -> None: ...
12
12
 
13
13
  class SuezWaterConfigFlow(ConfigFlow, domain=DOMAIN):
14
14
  VERSION: int
@@ -16,3 +16,4 @@ class SuezWaterConfigFlow(ConfigFlow, domain=DOMAIN):
16
16
 
17
17
  class CannotConnect(HomeAssistantError): ...
18
18
  class InvalidAuth(HomeAssistantError): ...
19
+ class CounterNotFound(HomeAssistantError): ...
@@ -1,2 +1,5 @@
1
+ from _typeshed import Incomplete
2
+
1
3
  DOMAIN: str
2
4
  CONF_COUNTER_ID: str
5
+ DATA_REFRESH_INTERVAL: Incomplete
@@ -0,0 +1,35 @@
1
+ from .const import CONF_COUNTER_ID as CONF_COUNTER_ID, DATA_REFRESH_INTERVAL as DATA_REFRESH_INTERVAL, DOMAIN as DOMAIN
2
+ from collections.abc import Mapping
3
+ from dataclasses import dataclass
4
+ from datetime import date
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, _LOGGER as _LOGGER
8
+ from homeassistant.exceptions import ConfigEntryError as ConfigEntryError
9
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
+ from pysuez import SuezClient
11
+ from typing import Any
12
+
13
+ @dataclass
14
+ class SuezWaterAggregatedAttributes:
15
+ this_month_consumption: dict[date, float]
16
+ previous_month_consumption: dict[date, float]
17
+ last_year_overall: dict[str, float]
18
+ this_year_overall: dict[str, float]
19
+ history: dict[date, float]
20
+ highest_monthly_consumption: float
21
+ def __init__(self, this_month_consumption, previous_month_consumption, last_year_overall, this_year_overall, history, highest_monthly_consumption) -> None: ...
22
+
23
+ @dataclass
24
+ class SuezWaterData:
25
+ aggregated_value: float
26
+ aggregated_attr: Mapping[str, Any]
27
+ price: float
28
+ def __init__(self, aggregated_value, aggregated_attr, price) -> None: ...
29
+
30
+ class SuezWaterCoordinator(DataUpdateCoordinator[SuezWaterData]):
31
+ _suez_client: SuezClient
32
+ config_entry: ConfigEntry
33
+ def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
34
+ async def _async_setup(self) -> None: ...
35
+ async def _async_update_data(self) -> SuezWaterData: ...
@@ -1,30 +1,36 @@
1
1
  from .const import CONF_COUNTER_ID as CONF_COUNTER_ID, DOMAIN as DOMAIN
2
+ from .coordinator import SuezWaterCoordinator as SuezWaterCoordinator, SuezWaterData as SuezWaterData
2
3
  from _typeshed import Incomplete
3
- from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
4
+ from collections.abc import Callable as Callable, Mapping
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
4
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
- from homeassistant.const import UnitOfVolume as UnitOfVolume
8
+ from homeassistant.const import CURRENCY_EURO as CURRENCY_EURO, UnitOfVolume as UnitOfVolume
6
9
  from homeassistant.core import HomeAssistant as HomeAssistant
7
10
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
8
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from pysuez import SuezClient as SuezClient
12
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
13
+ from pysuez.const import ATTRIBUTION
14
+ from typing import Any
10
15
 
11
- _LOGGER: Incomplete
12
- SCAN_INTERVAL: Incomplete
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class SuezWaterSensorEntityDescription(SensorEntityDescription):
18
+ value_fn: Callable[[SuezWaterData], float | str | None]
19
+ attr_fn: Callable[[SuezWaterData], Mapping[str, Any] | None] = ...
20
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn, attr_fn=...) -> None: ...
21
+
22
+ SENSORS: tuple[SuezWaterSensorEntityDescription, ...]
13
23
 
14
24
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
25
 
16
- class SuezSensor(SensorEntity):
26
+ class SuezWaterSensor(CoordinatorEntity[SuezWaterCoordinator], SensorEntity):
17
27
  _attr_has_entity_name: bool
18
- _attr_translation_key: str
19
- _attr_native_unit_of_measurement: Incomplete
20
- _attr_device_class: Incomplete
21
- client: Incomplete
22
- _attr_extra_state_attributes: Incomplete
28
+ _attr_attribution = ATTRIBUTION
29
+ entity_description: SuezWaterSensorEntityDescription
23
30
  _attr_unique_id: Incomplete
24
31
  _attr_device_info: Incomplete
25
- def __init__(self, client: SuezClient, counter_id: int) -> None: ...
26
- _attr_native_value: Incomplete
27
- _attr_available: bool
28
- _attr_attribution: Incomplete
29
- def _fetch_data(self) -> None: ...
30
- def update(self) -> None: ...
32
+ def __init__(self, coordinator: SuezWaterCoordinator, counter_id: int, entity_description: SuezWaterSensorEntityDescription) -> None: ...
33
+ @property
34
+ def native_value(self) -> float | str | None: ...
35
+ @property
36
+ def extra_state_attributes(self) -> Mapping[str, Any] | None: ...
@@ -5,7 +5,7 @@ from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
8
+ from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
@@ -13,7 +13,9 @@ from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
13
13
  SENSOR_TYPE_TEMPERATURE: str
14
14
  SENSOR_TYPE_HUMIDITY: str
15
15
  SENSOR_TYPE_BATTERY: str
16
+ SENSOR_TYPE_CO2: str
16
17
  METER_PLUS_SENSOR_DESCRIPTIONS: Incomplete
18
+ METER_PRO_CO2_SENSOR_DESCRIPTIONS: Incomplete
17
19
 
18
20
  async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
21
 
@@ -4,7 +4,7 @@ from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoor
4
4
  from .entity import SwitcherEntity as SwitcherEntity
5
5
  from .utils import get_breeze_remote_manager as get_breeze_remote_manager
6
6
  from _typeshed import Incomplete
7
- from aioswitcher.api import SwitcherApi as SwitcherApi, SwitcherBaseResponse as SwitcherBaseResponse
7
+ from aioswitcher.api import SwitcherApi, SwitcherBaseResponse as SwitcherBaseResponse
8
8
  from aioswitcher.api.remotes import SwitcherBreezeRemote
9
9
  from collections.abc import Callable as Callable, Coroutine
10
10
  from dataclasses import dataclass
@@ -39,7 +39,7 @@ class SwitcherSingleCoverEntity(SwitcherBaseCoverEntity):
39
39
  _attr_unique_id: Incomplete
40
40
  def __init__(self, coordinator: SwitcherDataUpdateCoordinator, cover_id: int) -> None: ...
41
41
 
42
- class SwitcherDualCoverEntity(SwitcherBaseCoverEntity):
42
+ class SwitcherMultiCoverEntity(SwitcherBaseCoverEntity):
43
43
  _attr_translation_key: str
44
44
  _cover_id: Incomplete
45
45
  _attr_translation_placeholders: Incomplete
@@ -35,7 +35,7 @@ class SwitcherSingleLightEntity(SwitcherBaseLightEntity):
35
35
  _attr_unique_id: Incomplete
36
36
  def __init__(self, coordinator: SwitcherDataUpdateCoordinator, light_id: int) -> None: ...
37
37
 
38
- class SwitcherDualLightEntity(SwitcherBaseLightEntity):
38
+ class SwitcherMultiLightEntity(SwitcherBaseLightEntity):
39
39
  _attr_translation_key: str
40
40
  _light_id: Incomplete
41
41
  control_result: Incomplete
@@ -12,8 +12,10 @@ from homeassistant.helpers.typing import StateType as StateType
12
12
 
13
13
  POWER_SENSORS: list[SensorEntityDescription]
14
14
  TIME_SENSORS: list[SensorEntityDescription]
15
+ TEMPERATURE_SENSORS: list[SensorEntityDescription]
15
16
  POWER_PLUG_SENSORS = POWER_SENSORS
16
17
  WATER_HEATER_SENSORS: Incomplete
18
+ THERMOSTAT_SENSORS = TEMPERATURE_SENSORS
17
19
 
18
20
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
21
 
@@ -44,8 +44,6 @@ class SynologyDSMFlowHandler(ConfigFlow, domain=DOMAIN):
44
44
  def _async_get_existing_entry(self, discovered_mac: str) -> ConfigEntry | None: ...
45
45
 
46
46
  class SynologyDSMOptionsFlowHandler(OptionsFlow):
47
- config_entry: Incomplete
48
- def __init__(self, config_entry: ConfigEntry) -> None: ...
49
47
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
50
48
 
51
49
  async def _login_and_fetch_syno_info(api: SynologyDSM, otp_code: str | None) -> str: ...
@@ -1,12 +1,12 @@
1
1
  from .coordinator import TedeeConfigEntry as TedeeConfigEntry
2
2
  from .entity import TedeeDescriptionEntity as TedeeDescriptionEntity
3
+ from aiotedee import TedeeLock as TedeeLock
3
4
  from collections.abc import Callable as Callable
4
5
  from dataclasses import dataclass
5
6
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
6
7
  from homeassistant.const import EntityCategory as EntityCategory
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant
8
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from pytedee_async import TedeeLock as TedeeLock
10
10
 
11
11
  @dataclass(frozen=True, kw_only=True)
12
12
  class TedeeBinarySensorEntityDescription(BinarySensorEntityDescription):
@@ -1,5 +1,7 @@
1
1
  from .const import CONF_LOCAL_ACCESS_TOKEN as CONF_LOCAL_ACCESS_TOKEN, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
+ from aiotedee import TedeeLock
4
+ from aiotedee.bridge import TedeeBridge as TedeeBridge
3
5
  from collections.abc import Awaitable, Callable as Callable
4
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
7
  from homeassistant.const import CONF_HOST as CONF_HOST
@@ -7,8 +9,6 @@ from homeassistant.core import HomeAssistant as HomeAssistant
7
9
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
10
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
11
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
- from pytedee_async import TedeeLock
11
- from pytedee_async.bridge import TedeeBridge as TedeeBridge
12
12
  from typing import Any
13
13
 
14
14
  SCAN_INTERVAL: Incomplete
@@ -1,11 +1,11 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import TedeeApiCoordinator as TedeeApiCoordinator
3
3
  from _typeshed import Incomplete
4
+ from aiotedee.lock import TedeeLock as TedeeLock
4
5
  from homeassistant.core import callback as callback
5
6
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
7
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
7
8
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
- from pytedee_async.lock import TedeeLock as TedeeLock
9
9
 
10
10
  class TedeeEntity(CoordinatorEntity[TedeeApiCoordinator]):
11
11
  _attr_has_entity_name: bool
@@ -2,13 +2,15 @@ from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import TedeeApiCoordinator as TedeeApiCoordinator, TedeeConfigEntry as TedeeConfigEntry
3
3
  from .entity import TedeeEntity as TedeeEntity
4
4
  from _typeshed import Incomplete
5
+ from aiotedee import TedeeLock as TedeeLock
5
6
  from homeassistant.components.lock import LockEntity as LockEntity, LockEntityFeature as LockEntityFeature
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
7
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from pytedee_async import TedeeLock as TedeeLock
10
10
  from typing import Any
11
11
 
12
+ PARALLEL_UPDATES: int
13
+
12
14
  async def async_setup_entry(hass: HomeAssistant, entry: TedeeConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
15
 
14
16
  class TedeeLockEntity(TedeeEntity, LockEntity):
@@ -1,12 +1,12 @@
1
1
  from .coordinator import TedeeConfigEntry as TedeeConfigEntry
2
2
  from .entity import TedeeDescriptionEntity as TedeeDescriptionEntity
3
+ from aiotedee import TedeeLock as TedeeLock
3
4
  from collections.abc import Callable as Callable
4
5
  from dataclasses import dataclass
5
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
6
7
  from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTime as UnitOfTime
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant
8
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from pytedee_async import TedeeLock as TedeeLock
10
10
 
11
11
  @dataclass(frozen=True, kw_only=True)
12
12
  class TedeeSensorEntityDescription(SensorEntityDescription):
@@ -1,14 +1,11 @@
1
- from .const import CONF_APP_ID as CONF_APP_ID, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS, TTN_API_HOST as TTN_API_HOST
1
+ from .const import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS, TTN_API_HOST as TTN_API_HOST
2
2
  from .coordinator import TTNCoordinator as TTNCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_HOST as CONF_HOST
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.helpers.typing import ConfigType as ConfigType
8
7
 
9
8
  _LOGGER: Incomplete
10
- CONFIG_SCHEMA: Incomplete
11
9
 
12
- async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
13
10
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
14
11
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -14,6 +14,9 @@ from typing import Any, Final
14
14
 
15
15
  _LOGGER: Incomplete
16
16
  DEFAULT_NAME: Final[str]
17
+
18
+ def no_missing_threshold(value: dict) -> dict: ...
19
+
17
20
  PLATFORM_SCHEMA: Incomplete
18
21
 
19
22
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -22,6 +25,7 @@ def _threshold_type(lower: float | None, upper: float | None) -> str: ...
22
25
 
23
26
  class ThresholdSensor(BinarySensorEntity):
24
27
  _attr_should_poll: bool
28
+ _unrecorded_attributes: Incomplete
25
29
  _preview_callback: Incomplete
26
30
  _attr_unique_id: Incomplete
27
31
  _attr_device_info: Incomplete