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
@@ -0,0 +1,33 @@
1
+ from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components import media_source as media_source
4
+ from homeassistant.components.media_player import BrowseError as BrowseError, BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaType as MediaType
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from music_assistant_client import MusicAssistantClient as MusicAssistantClient
7
+ from music_assistant_models.media_items import MediaItemType as MediaItemType
8
+ from typing import Any
9
+
10
+ MEDIA_TYPE_RADIO: str
11
+ PLAYABLE_MEDIA_TYPES: Incomplete
12
+ LIBRARY_ARTISTS: str
13
+ LIBRARY_ALBUMS: str
14
+ LIBRARY_TRACKS: str
15
+ LIBRARY_PLAYLISTS: str
16
+ LIBRARY_RADIO: str
17
+ LIBRARY_TITLE_MAP: Incomplete
18
+ LIBRARY_MEDIA_CLASS_MAP: Incomplete
19
+ MEDIA_CONTENT_TYPE_FLAC: str
20
+ THUMB_SIZE: int
21
+
22
+ def media_source_filter(item: BrowseMedia) -> bool: ...
23
+ async def async_browse_media(hass: HomeAssistant, mass: MusicAssistantClient, media_content_id: str | None, media_content_type: str | None) -> BrowseMedia: ...
24
+ async def build_main_listing(hass: HomeAssistant) -> BrowseMedia: ...
25
+ async def build_playlists_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
26
+ async def build_playlist_items_listing(mass: MusicAssistantClient, identifier: str) -> BrowseMedia: ...
27
+ async def build_artists_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
28
+ async def build_artist_items_listing(mass: MusicAssistantClient, identifier: str) -> BrowseMedia: ...
29
+ async def build_albums_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
30
+ async def build_album_items_listing(mass: MusicAssistantClient, identifier: str) -> BrowseMedia: ...
31
+ async def build_tracks_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
32
+ async def build_radio_listing(mass: MusicAssistantClient) -> BrowseMedia: ...
33
+ def build_item(mass: MusicAssistantClient, item: MediaItemType, can_expand: bool = True, media_class: Any = None) -> BrowseMedia: ...
@@ -0,0 +1,96 @@
1
+ from . import MusicAssistantConfigEntry as MusicAssistantConfigEntry
2
+ from .const import ATTR_ACTIVE_QUEUE as ATTR_ACTIVE_QUEUE, ATTR_MASS_PLAYER_TYPE as ATTR_MASS_PLAYER_TYPE, DOMAIN as DOMAIN
3
+ from .entity import MusicAssistantEntity as MusicAssistantEntity
4
+ from .media_browser import async_browse_media as async_browse_media
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Awaitable, Callable as Callable, Coroutine, Mapping
7
+ from homeassistant.components import media_source as media_source
8
+ from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseMedia as BrowseMedia, MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
9
+ from homeassistant.const import STATE_OFF as STATE_OFF
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback, async_get_current_platform as async_get_current_platform
13
+ from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp
14
+ from music_assistant_client import MusicAssistantClient as MusicAssistantClient
15
+ from music_assistant_models.enums import MediaType, QueueOption
16
+ from music_assistant_models.event import MassEvent as MassEvent
17
+ from music_assistant_models.player import Player as Player
18
+ from music_assistant_models.player_queue import PlayerQueue as PlayerQueue
19
+ from typing import Any
20
+
21
+ SUPPORTED_FEATURES: Incomplete
22
+ QUEUE_OPTION_MAP: Incomplete
23
+ SERVICE_PLAY_MEDIA_ADVANCED: str
24
+ SERVICE_PLAY_ANNOUNCEMENT: str
25
+ SERVICE_TRANSFER_QUEUE: str
26
+ ATTR_RADIO_MODE: str
27
+ ATTR_MEDIA_ID: str
28
+ ATTR_MEDIA_TYPE: str
29
+ ATTR_ARTIST: str
30
+ ATTR_ALBUM: str
31
+ ATTR_URL: str
32
+ ATTR_USE_PRE_ANNOUNCE: str
33
+ ATTR_ANNOUNCE_VOLUME: str
34
+ ATTR_SOURCE_PLAYER: str
35
+ ATTR_AUTO_PLAY: str
36
+
37
+ def catch_musicassistant_error[_R, **P](func: Callable[..., Awaitable[_R]]) -> Callable[..., Coroutine[Any, Any, _R | None]]: ...
38
+ async def async_setup_entry(hass: HomeAssistant, entry: MusicAssistantConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
39
+
40
+ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
41
+ _attr_name: Incomplete
42
+ _attr_media_image_remotely_accessible: bool
43
+ _attr_media_content_type: Incomplete
44
+ _attr_icon: Incomplete
45
+ _attr_supported_features: Incomplete
46
+ _attr_device_class: Incomplete
47
+ _prev_time: int
48
+ def __init__(self, mass: MusicAssistantClient, player_id: str) -> None: ...
49
+ async def async_added_to_hass(self) -> None: ...
50
+ @property
51
+ def active_queue(self) -> PlayerQueue | None: ...
52
+ @property
53
+ def extra_state_attributes(self) -> Mapping[str, Any]: ...
54
+ _attr_state: Incomplete
55
+ _attr_group_members: Incomplete
56
+ _attr_volume_level: Incomplete
57
+ _attr_is_volume_muted: Incomplete
58
+ async def async_on_update(self) -> None: ...
59
+ async def async_media_play(self) -> None: ...
60
+ async def async_media_pause(self) -> None: ...
61
+ async def async_media_stop(self) -> None: ...
62
+ async def async_media_next_track(self) -> None: ...
63
+ async def async_media_previous_track(self) -> None: ...
64
+ async def async_media_seek(self, position: float) -> None: ...
65
+ async def async_mute_volume(self, mute: bool) -> None: ...
66
+ async def async_set_volume_level(self, volume: float) -> None: ...
67
+ async def async_volume_up(self) -> None: ...
68
+ async def async_volume_down(self) -> None: ...
69
+ async def async_turn_on(self) -> None: ...
70
+ async def async_turn_off(self) -> None: ...
71
+ async def async_set_shuffle(self, shuffle: bool) -> None: ...
72
+ async def async_set_repeat(self, repeat: RepeatMode) -> None: ...
73
+ async def async_clear_playlist(self) -> None: ...
74
+ async def async_play_media(self, media_type: MediaType | str, media_id: str, enqueue: MediaPlayerEnqueue | None = None, announce: bool | None = None, **kwargs: Any) -> None: ...
75
+ async def async_join_players(self, group_members: list[str]) -> None: ...
76
+ async def async_unjoin_player(self) -> None: ...
77
+ async def _async_handle_play_media(self, media_id: list[str], artist: str | None = None, album: str | None = None, enqueue: MediaPlayerEnqueue | QueueOption | None = None, radio_mode: bool | None = None, media_type: str | None = None) -> None: ...
78
+ async def _async_handle_play_announcement(self, url: str, use_pre_announce: bool | None = None, announce_volume: int | None = None) -> None: ...
79
+ async def _async_handle_transfer_queue(self, source_player: str | None = None, auto_play: bool | None = None) -> None: ...
80
+ async def async_browse_media(self, media_content_type: MediaType | str | None = None, media_content_id: str | None = None) -> BrowseMedia: ...
81
+ _attr_media_image_url: Incomplete
82
+ def _update_media_image_url(self, player: Player, queue: PlayerQueue | None) -> None: ...
83
+ _attr_media_artist: Incomplete
84
+ _attr_media_album_artist: Incomplete
85
+ _attr_media_album_name: Incomplete
86
+ _attr_media_title: Incomplete
87
+ _attr_media_content_id: Incomplete
88
+ _attr_media_duration: Incomplete
89
+ _attr_media_position: Incomplete
90
+ _attr_media_position_updated_at: Incomplete
91
+ _attr_app_id: Incomplete
92
+ _attr_shuffle: Incomplete
93
+ _attr_repeat: Incomplete
94
+ _attr_source: Incomplete
95
+ def _update_media_attributes(self, player: Player, queue: PlayerQueue | None) -> None: ...
96
+ def _convert_queueoption_to_media_player_enqueue(self, queue_option: MediaPlayerEnqueue | QueueOption | None) -> QueueOption | None: ...
@@ -0,0 +1,19 @@
1
+ from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, SUPPORT_EMAIL as SUPPORT_EMAIL
2
+ from .coordinator import NASwebCoordinator as NASwebCoordinator
3
+ from .nasweb_data import NASwebData as NASwebData
4
+ from _typeshed import Incomplete
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError
10
+ from homeassistant.util.hass_dict import HassKey as HassKey
11
+
12
+ PLATFORMS: list[Platform]
13
+ NASWEB_CONFIG_URL: str
14
+ _LOGGER: Incomplete
15
+ type NASwebConfigEntry = ConfigEntry[NASwebCoordinator]
16
+ DATA_NASWEB: HassKey[NASwebData]
17
+
18
+ async def async_setup_entry(hass: HomeAssistant, entry: NASwebConfigEntry) -> bool: ...
19
+ async def async_unload_entry(hass: HomeAssistant, entry: NASwebConfigEntry) -> bool: ...
@@ -0,0 +1,27 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import NASwebCoordinator as NASwebCoordinator
3
+ from .nasweb_data import NASwebData as NASwebData
4
+ from _typeshed import Incomplete
5
+ from homeassistant import config_entries as config_entries
6
+ from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult
7
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_USERNAME as CONF_USERNAME
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.data_entry_flow import AbortFlow as AbortFlow
10
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
+ from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError
12
+ from typing import Any
13
+
14
+ NASWEB_SCHEMA_IMG_URL: str
15
+ _LOGGER: Incomplete
16
+ STEP_USER_DATA_SCHEMA: Incomplete
17
+
18
+ async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, Any]: ...
19
+
20
+ class NASwebConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
21
+ VERSION: int
22
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+
24
+ class CannotConnect(HomeAssistantError): ...
25
+ class InvalidAuth(HomeAssistantError): ...
26
+ class MissingNASwebData(HomeAssistantError): ...
27
+ class MissingNASwebStatus(HomeAssistantError): ...
@@ -0,0 +1,5 @@
1
+ DOMAIN: str
2
+ MANUFACTURER: str
3
+ STATUS_UPDATE_MAX_TIME_INTERVAL: int
4
+ SUPPORT_EMAIL: str
5
+ WEBHOOK_URL: str
@@ -0,0 +1,42 @@
1
+ from .const import STATUS_UPDATE_MAX_TIME_INTERVAL as STATUS_UPDATE_MAX_TIME_INTERVAL
2
+ from _typeshed import Incomplete
3
+ from aiohttp.web import Request as Request, Response
4
+ from collections.abc import Callable as Callable
5
+ from datetime import datetime
6
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers import event as event
8
+ from homeassistant.helpers.update_coordinator import BaseDataUpdateCoordinatorProtocol as BaseDataUpdateCoordinatorProtocol
9
+ from typing import Any
10
+ from webio_api import WebioAPI as WebioAPI
11
+
12
+ _LOGGER: Incomplete
13
+
14
+ class NotificationCoordinator:
15
+ _coordinators: Incomplete
16
+ def __init__(self) -> None: ...
17
+ def add_coordinator(self, serial: str, coordinator: NASwebCoordinator) -> None: ...
18
+ def remove_coordinator(self, serial: str) -> None: ...
19
+ def has_coordinators(self) -> bool: ...
20
+ async def check_connection(self, serial: str) -> bool: ...
21
+ async def handle_webhook_request(self, hass: HomeAssistant, webhook_id: str, request: Request) -> Response | None: ...
22
+
23
+ class NASwebCoordinator(BaseDataUpdateCoordinatorProtocol):
24
+ _hass: Incomplete
25
+ name: Incomplete
26
+ webio_api: Incomplete
27
+ _last_update: Incomplete
28
+ _job: Incomplete
29
+ _unsub_last_update_check: Incomplete
30
+ _listeners: Incomplete
31
+ def __init__(self, hass: HomeAssistant, webio_api: WebioAPI, name: str = 'NASweb[default]') -> None: ...
32
+ def is_connection_confirmed(self) -> bool: ...
33
+ def async_add_listener(self, update_callback: CALLBACK_TYPE, context: Any = None) -> Callable[[], None]: ...
34
+ data: Incomplete
35
+ last_update: Incomplete
36
+ def async_set_updated_data(self, data: dict[str, Any]) -> None: ...
37
+ def async_update_listeners(self) -> None: ...
38
+ async def _handle_max_update_interval(self, now: datetime) -> None: ...
39
+ def _schedule_last_update_check(self) -> None: ...
40
+ def _async_unsub_last_update_check(self) -> None: ...
41
+ async def handle_push_notification(self, notification: dict) -> None: ...
42
+ async def process_status_update(self, new_status: dict) -> None: ...
@@ -0,0 +1,20 @@
1
+ from .const import DOMAIN as DOMAIN, WEBHOOK_URL as WEBHOOK_URL
2
+ from .coordinator import NotificationCoordinator as NotificationCoordinator
3
+ from _typeshed import Incomplete
4
+ from dataclasses import dataclass
5
+ from homeassistant.components.webhook import async_generate_id as async_generate_id
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.network import get_url as get_url
8
+
9
+ _LOGGER: Incomplete
10
+
11
+ @dataclass
12
+ class NASwebData:
13
+ notify_coordinator: NotificationCoordinator = ...
14
+ webhook_id = ...
15
+ def is_initialized(self) -> bool: ...
16
+ def can_be_deinitialized(self) -> bool: ...
17
+ def initialize(self, hass: HomeAssistant) -> None: ...
18
+ def deinitialize(self, hass: HomeAssistant) -> None: ...
19
+ def get_webhook_url(self, hass: HomeAssistant) -> str: ...
20
+ def __init__(self, notify_coordinator=...) -> None: ...
@@ -0,0 +1,35 @@
1
+ from . import NASwebConfigEntry as NASwebConfigEntry
2
+ from .const import DOMAIN as DOMAIN, STATUS_UPDATE_MAX_TIME_INTERVAL as STATUS_UPDATE_MAX_TIME_INTERVAL
3
+ from .coordinator import NASwebCoordinator as NASwebCoordinator
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+ from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
10
+ from homeassistant.helpers.update_coordinator import BaseCoordinatorEntity as BaseCoordinatorEntity, BaseDataUpdateCoordinatorProtocol as BaseDataUpdateCoordinatorProtocol
11
+ from typing import Any
12
+ from webio_api import Output as NASwebOutput
13
+
14
+ OUTPUT_TRANSLATION_KEY: str
15
+ _LOGGER: Incomplete
16
+
17
+ def _get_output(coordinator: NASwebCoordinator, index: int) -> NASwebOutput | None: ...
18
+ async def async_setup_entry(hass: HomeAssistant, config: NASwebConfigEntry, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
19
+
20
+ class RelaySwitch(SwitchEntity, BaseCoordinatorEntity):
21
+ _output: Incomplete
22
+ _attr_icon: str
23
+ _attr_has_entity_name: bool
24
+ _attr_translation_key: Incomplete
25
+ _attr_translation_placeholders: Incomplete
26
+ _attr_unique_id: Incomplete
27
+ _attr_device_info: Incomplete
28
+ def __init__(self, coordinator: BaseDataUpdateCoordinatorProtocol, nasweb_output: NASwebOutput) -> None: ...
29
+ async def async_added_to_hass(self) -> None: ...
30
+ _attr_is_on: Incomplete
31
+ _attr_available: bool
32
+ def _handle_coordinator_update(self) -> None: ...
33
+ async def async_update(self) -> None: ...
34
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
35
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -7,7 +7,7 @@ from collections.abc import Awaitable, Callable as Callable
7
7
  from google_nest_sdm.camera_traits import CameraLiveStreamTrait, RtspStream as RtspStream, WebRtcStream as WebRtcStream
8
8
  from google_nest_sdm.device import Device as Device
9
9
  from google_nest_sdm.device_manager import DeviceManager as DeviceManager
10
- from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature, StreamType as StreamType, WebRTCAnswer as WebRTCAnswer, WebRTCClientConfiguration as WebRTCClientConfiguration, WebRTCSendMessage as WebRTCSendMessage
10
+ from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature, WebRTCAnswer as WebRTCAnswer, WebRTCClientConfiguration as WebRTCClientConfiguration, WebRTCSendMessage as WebRTCSendMessage
11
11
  from homeassistant.components.stream import CONF_EXTRA_PART_WAIT_TIME as CONF_EXTRA_PART_WAIT_TIME
12
12
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -15,7 +15,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
15
15
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
16
16
  from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time
17
17
  from homeassistant.util.dt import utcnow as utcnow
18
- from webrtc_models import RTCIceCandidate as RTCIceCandidate
18
+ from webrtc_models import RTCIceCandidateInit as RTCIceCandidateInit
19
19
 
20
20
  _LOGGER: Incomplete
21
21
  PLACEHOLDER: Incomplete
@@ -68,14 +68,12 @@ class NestWebRTCEntity(NestCameraBaseEntity):
68
68
  _webrtc_sessions: Incomplete
69
69
  _refresh_unsub: Incomplete
70
70
  def __init__(self, device: Device) -> None: ...
71
- @property
72
- def frontend_stream_type(self) -> StreamType | None: ...
73
71
  async def _async_refresh_stream(self, session_id: str) -> datetime.datetime | None: ...
74
72
  async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
75
73
  @classmethod
76
74
  def placeholder_image(cls) -> bytes: ...
77
75
  async def async_handle_async_webrtc_offer(self, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
78
- async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidate) -> None: ...
76
+ async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidateInit) -> None: ...
79
77
  def close_webrtc_session(self, session_id: str) -> None: ...
80
78
  def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
81
79
  async def async_will_remove_from_hass(self) -> None: ...
@@ -25,7 +25,6 @@ class NetatmoFlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, dom
25
25
  async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
26
26
 
27
27
  class NetatmoOptionsFlowHandler(OptionsFlow):
28
- config_entry: Incomplete
29
28
  options: Incomplete
30
29
  def __init__(self, config_entry: ConfigEntry) -> None: ...
31
30
  async def async_step_init(self, user_input: dict | None = None) -> ConfigFlowResult: ...
@@ -1,8 +1,8 @@
1
1
  from .const import ATTR_DELTA as ATTR_DELTA, ATTR_DEVICE as ATTR_DEVICE, ATTR_DIRECTION as ATTR_DIRECTION, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.sensor import SensorEntity as SensorEntity
3
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
- from homeassistant.const import ATTR_DATE as ATTR_DATE
5
+ from homeassistant.const import ATTR_DATE as ATTR_DATE, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
8
  from py_nightscout import Api as NightscoutAPI
@@ -14,7 +14,8 @@ DEFAULT_NAME: str
14
14
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
15
 
16
16
  class NightscoutSensor(SensorEntity):
17
- _attr_native_unit_of_measurement: str
17
+ _attr_device_class: Incomplete
18
+ _attr_native_unit_of_measurement: Incomplete
18
19
  _attr_icon: str
19
20
  api: Incomplete
20
21
  _attr_unique_id: Incomplete
@@ -0,0 +1,9 @@
1
+ from .const import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
+ from .coordinator import NordPoolDataUpdateCoordinator as NordPoolDataUpdateCoordinator
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
6
+
7
+ type NordPoolConfigEntry = ConfigEntry[NordPoolDataUpdateCoordinator]
8
+ async def async_setup_entry(hass: HomeAssistant, entry: NordPoolConfigEntry) -> bool: ...
9
+ async def async_unload_entry(hass: HomeAssistant, entry: NordPoolConfigEntry) -> bool: ...
@@ -0,0 +1,19 @@
1
+ from .const import CONF_AREAS as CONF_AREAS, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
4
+ from homeassistant.const import CONF_CURRENCY as CONF_CURRENCY
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.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
8
+ from typing import Any
9
+
10
+ SELECT_AREAS: Incomplete
11
+ SELECT_CURRENCY: Incomplete
12
+ DATA_SCHEMA: Incomplete
13
+
14
+ async def test_api(hass: HomeAssistant, user_input: dict[str, Any]) -> dict[str, str]: ...
15
+
16
+ class NordpoolConfigFlow(ConfigFlow, domain=DOMAIN):
17
+ VERSION: int
18
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,9 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant.const import Platform as Platform
3
+
4
+ LOGGER: Incomplete
5
+ DEFAULT_SCAN_INTERVAL: int
6
+ DOMAIN: str
7
+ PLATFORMS: Incomplete
8
+ DEFAULT_NAME: str
9
+ CONF_AREAS: str
@@ -0,0 +1,20 @@
1
+ from . import NordPoolConfigEntry as NordPoolConfigEntry
2
+ from .const import CONF_AREAS as CONF_AREAS, DOMAIN as DOMAIN, LOGGER as LOGGER
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from datetime import datetime
6
+ from homeassistant.const import CONF_CURRENCY as CONF_CURRENCY
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time
10
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
11
+ from pynordpool import DeliveryPeriodData
12
+
13
+ class NordPoolDataUpdateCoordinator(DataUpdateCoordinator[DeliveryPeriodData]):
14
+ config_entry: NordPoolConfigEntry
15
+ client: Incomplete
16
+ unsub: Incomplete
17
+ def __init__(self, hass: HomeAssistant, config_entry: NordPoolConfigEntry) -> None: ...
18
+ def get_next_interval(self, now: datetime) -> datetime: ...
19
+ async def async_shutdown(self) -> None: ...
20
+ async def fetch_data(self, now: datetime) -> None: ...
@@ -0,0 +1,5 @@
1
+ from . import NordPoolConfigEntry as NordPoolConfigEntry
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: NordPoolConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,14 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import NordPoolDataUpdateCoordinator as NordPoolDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
5
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
+
8
+ class NordpoolBaseEntity(CoordinatorEntity[NordPoolDataUpdateCoordinator]):
9
+ _attr_has_entity_name: bool
10
+ entity_description: Incomplete
11
+ _attr_unique_id: Incomplete
12
+ area: Incomplete
13
+ _attr_device_info: Incomplete
14
+ def __init__(self, coordinator: NordPoolDataUpdateCoordinator, entity_description: EntityDescription, area: str) -> None: ...
@@ -0,0 +1,69 @@
1
+ from . import NordPoolConfigEntry as NordPoolConfigEntry
2
+ from .const import LOGGER as LOGGER
3
+ from .coordinator import NordPoolDataUpdateCoordinator as NordPoolDataUpdateCoordinator
4
+ from .entity import NordpoolBaseEntity as NordpoolBaseEntity
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
8
+ from datetime import datetime
9
+ from homeassistant.components.sensor import EntityCategory as EntityCategory, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.util import slugify as slugify
13
+ from pynordpool import DeliveryPeriodData as DeliveryPeriodData
14
+
15
+ PARALLEL_UPDATES: int
16
+
17
+ def get_prices(data: DeliveryPeriodData) -> dict[str, tuple[float, float, float]]: ...
18
+ def get_blockprices(data: DeliveryPeriodData) -> dict[str, dict[str, tuple[datetime, datetime, float, float, float]]]: ...
19
+
20
+ @dataclass(frozen=True, kw_only=True)
21
+ class NordpoolDefaultSensorEntityDescription(SensorEntityDescription):
22
+ value_fn: Callable[[DeliveryPeriodData], str | float | datetime | None]
23
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
24
+
25
+ @dataclass(frozen=True, kw_only=True)
26
+ class NordpoolPricesSensorEntityDescription(SensorEntityDescription):
27
+ value_fn: Callable[[tuple[float, float, float]], float | None]
28
+ 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: ...
29
+
30
+ @dataclass(frozen=True, kw_only=True)
31
+ class NordpoolBlockPricesSensorEntityDescription(SensorEntityDescription):
32
+ value_fn: Callable[[tuple[datetime, datetime, float, float, float]], float | datetime | None]
33
+ 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: ...
34
+
35
+ DEFAULT_SENSOR_TYPES: tuple[NordpoolDefaultSensorEntityDescription, ...]
36
+ PRICES_SENSOR_TYPES: tuple[NordpoolPricesSensorEntityDescription, ...]
37
+ BLOCK_PRICES_SENSOR_TYPES: tuple[NordpoolBlockPricesSensorEntityDescription, ...]
38
+ DAILY_AVERAGE_PRICES_SENSOR_TYPES: tuple[SensorEntityDescription, ...]
39
+
40
+ async def async_setup_entry(hass: HomeAssistant, entry: NordPoolConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
41
+
42
+ class NordpoolSensor(NordpoolBaseEntity, SensorEntity):
43
+ entity_description: NordpoolDefaultSensorEntityDescription
44
+ @property
45
+ def native_value(self) -> str | float | datetime | None: ...
46
+
47
+ class NordpoolPriceSensor(NordpoolBaseEntity, SensorEntity):
48
+ entity_description: NordpoolPricesSensorEntityDescription
49
+ _attr_native_unit_of_measurement: Incomplete
50
+ def __init__(self, coordinator: NordPoolDataUpdateCoordinator, entity_description: NordpoolPricesSensorEntityDescription, area: str, currency: str) -> None: ...
51
+ @property
52
+ def native_value(self) -> float | None: ...
53
+
54
+ class NordpoolBlockPriceSensor(NordpoolBaseEntity, SensorEntity):
55
+ entity_description: NordpoolBlockPricesSensorEntityDescription
56
+ _attr_native_unit_of_measurement: Incomplete
57
+ _attr_unique_id: Incomplete
58
+ block_name: Incomplete
59
+ _attr_translation_placeholders: Incomplete
60
+ def __init__(self, coordinator: NordPoolDataUpdateCoordinator, entity_description: NordpoolBlockPricesSensorEntityDescription, area: str, currency: str, block_name: str) -> None: ...
61
+ @property
62
+ def native_value(self) -> float | datetime | None: ...
63
+
64
+ class NordpoolDailyAveragePriceSensor(NordpoolBaseEntity, SensorEntity):
65
+ entity_description: SensorEntityDescription
66
+ _attr_native_unit_of_measurement: Incomplete
67
+ def __init__(self, coordinator: NordPoolDataUpdateCoordinator, entity_description: SensorEntityDescription, area: str, currency: str) -> None: ...
68
+ @property
69
+ def native_value(self) -> float | None: ...
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from enum import StrEnum
3
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
3
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
4
  from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
5
5
  from homeassistant.util.unit_conversion import BaseUnitConverter as BaseUnitConverter, TemperatureConverter as TemperatureConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
6
6
  from typing import Final
@@ -28,8 +28,10 @@ _DEPRECATED_MODE_SLIDER: Final[Incomplete]
28
28
  class NumberDeviceClass(StrEnum):
29
29
  APPARENT_POWER = 'apparent_power'
30
30
  AQI = 'aqi'
31
+ AREA = 'area'
31
32
  ATMOSPHERIC_PRESSURE = 'atmospheric_pressure'
32
33
  BATTERY = 'battery'
34
+ BLOOD_GLUCOSE_CONCENTRATION = 'blood_glucose_concentration'
33
35
  CO = 'carbon_monoxide'
34
36
  CO2 = 'carbon_dioxide'
35
37
  CONDUCTIVITY = 'conductivity'
@@ -32,8 +32,11 @@ def _unique_id_from_status(status: dict[str, str]) -> str | None: ...
32
32
  class NUTDeviceInfo:
33
33
  manufacturer: str | None = ...
34
34
  model: str | None = ...
35
+ model_id: str | None = ...
35
36
  firmware: str | None = ...
36
- def __init__(self, manufacturer=..., model=..., firmware=...) -> None: ...
37
+ serial: str | None = ...
38
+ device_location: str | None = ...
39
+ def __init__(self, manufacturer=..., model=..., model_id=..., firmware=..., serial=..., device_location=...) -> None: ...
37
40
 
38
41
  class PyNUTData:
39
42
  _host: Incomplete
@@ -36,6 +36,4 @@ class NutConfigFlow(ConfigFlow, domain=DOMAIN):
36
36
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
37
37
 
38
38
  class OptionsFlowHandler(OptionsFlow):
39
- config_entry: Incomplete
40
- def __init__(self, config_entry: ConfigEntry) -> None: ...
41
39
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -2,7 +2,7 @@ from . import NutConfigEntry as NutConfigEntry, PyNUTData as PyNUTData
2
2
  from .const import DOMAIN as DOMAIN, KEY_STATUS as KEY_STATUS, KEY_STATUS_DISPLAY as KEY_STATUS_DISPLAY, STATE_TYPES as STATE_TYPES
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
5
- from homeassistant.const import ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_SW_VERSION as ATTR_SW_VERSION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
5
+ from homeassistant.const import ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_SERIAL_NUMBER as ATTR_SERIAL_NUMBER, ATTR_SW_VERSION as ATTR_SW_VERSION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -1,7 +1,7 @@
1
1
  from .const import DEFAULT_HOST as DEFAULT_HOST, DEFAULT_PORT as DEFAULT_PORT, DEVICE_SUPPORT_OPTIONS as DEVICE_SUPPORT_OPTIONS, DOMAIN as DOMAIN, INPUT_ENTRY_CLEAR_OPTIONS as INPUT_ENTRY_CLEAR_OPTIONS, INPUT_ENTRY_DEVICE_SELECTION as INPUT_ENTRY_DEVICE_SELECTION, OPTION_ENTRY_DEVICE_OPTIONS as OPTION_ENTRY_DEVICE_OPTIONS, OPTION_ENTRY_SENSOR_PRECISION as OPTION_ENTRY_SENSOR_PRECISION, PRECISION_MAPPING_FAMILY_28 as PRECISION_MAPPING_FAMILY_28
2
2
  from .onewirehub import CannotConnect as CannotConnect, OneWireHub as OneWireHub
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
@@ -19,10 +19,12 @@ class OneWireFlowHandler(ConfigFlow, domain=DOMAIN):
19
19
  @staticmethod
20
20
  def async_get_options_flow(config_entry: ConfigEntry) -> OnewireOptionsFlowHandler: ...
21
21
 
22
- class OnewireOptionsFlowHandler(OptionsFlowWithConfigEntry):
22
+ class OnewireOptionsFlowHandler(OptionsFlow):
23
23
  configurable_devices: dict[str, str]
24
24
  devices_to_configure: dict[str, str]
25
25
  current_device: str
26
+ options: Incomplete
27
+ def __init__(self, config_entry: ConfigEntry) -> None: ...
26
28
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
27
29
  async def async_step_device_selection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
30
  async def async_step_configure_device(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_RECEIVER_MAX_VOLUME as CONF_RECEIVER_MAX_VOLUME, CONF_SOURCES as CONF_SOURCES, DOMAIN as DOMAIN, InputSource as InputSource, OPTION_INPUT_SOURCES as OPTION_INPUT_SOURCES, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_MAX_VOLUME_DEFAULT as OPTION_MAX_VOLUME_DEFAULT, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION, OPTION_VOLUME_RESOLUTION_DEFAULT as OPTION_VOLUME_RESOLUTION_DEFAULT, VOLUME_RESOLUTION_ALLOWED as VOLUME_RESOLUTION_ALLOWED
2
2
  from .receiver import ReceiverInfo as ReceiverInfo, async_discover as async_discover, async_interview as async_interview
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
5
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
6
6
  from homeassistant.core import callback as callback
7
7
  from homeassistant.helpers.selector import NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig, NumberSelectorMode as NumberSelectorMode, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, Selector as Selector, TextSelector as TextSelector
@@ -25,6 +25,7 @@ class OnkyoConfigFlow(ConfigFlow, domain=DOMAIN):
25
25
  @staticmethod
26
26
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
27
27
 
28
- class OnkyoOptionsFlowHandler(OptionsFlowWithConfigEntry):
28
+ class OnkyoOptionsFlowHandler(OptionsFlow):
29
+ _input_sources: Incomplete
29
30
  def __init__(self, config_entry: ConfigEntry) -> None: ...
30
31
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -22,7 +22,6 @@ class OpenAIConfigFlow(ConfigFlow, domain=DOMAIN):
22
22
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
23
23
 
24
24
  class OpenAIOptionsFlow(OptionsFlow):
25
- config_entry: Incomplete
26
25
  last_rendered_recommended: Incomplete
27
26
  def __init__(self, config_entry: ConfigEntry) -> None: ...
28
27
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...