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
@@ -2,10 +2,9 @@ from .const import DATA_HASS_CONFIG as DATA_HASS_CONFIG, DOMAIN as DOMAIN
2
2
  from .services import async_setup_services as async_setup_services
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
- from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_NAME as CONF_NAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
5
+ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
6
6
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
- from homeassistant.helpers import discovery as discovery
9
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
10
 
@@ -1,23 +1,14 @@
1
1
  from . import DOMAIN as TIBBER_DOMAIN
2
2
  from _typeshed import Incomplete
3
- from collections.abc import Callable as Callable
4
- from homeassistant.components.notify import ATTR_TITLE as ATTR_TITLE, ATTR_TITLE_DEFAULT as ATTR_TITLE_DEFAULT, BaseNotificationService as BaseNotificationService, NotifyEntity as NotifyEntity, NotifyEntityFeature as NotifyEntityFeature, migrate_notify_issue as migrate_notify_issue
3
+ from homeassistant.components.notify import ATTR_TITLE_DEFAULT as ATTR_TITLE_DEFAULT, NotifyEntity as NotifyEntity, NotifyEntityFeature as NotifyEntityFeature
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
7
6
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
10
8
  from tibber import Tibber as Tibber
11
- from typing import Any
12
9
 
13
- async def async_get_service(hass: HomeAssistant, config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> TibberNotificationService: ...
14
10
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
11
 
16
- class TibberNotificationService(BaseNotificationService):
17
- _notify: Incomplete
18
- def __init__(self, notify: Callable) -> None: ...
19
- async def async_send_message(self, message: str = '', **kwargs: Any) -> None: ...
20
-
21
12
  class TibberNotificationEntity(NotifyEntity):
22
13
  _attr_supported_features: Incomplete
23
14
  _attr_name = TIBBER_DOMAIN
@@ -25,11 +25,11 @@ def _is_sun_event(sun_event: time | SunEventType) -> TypeGuard[SunEventType]: ..
25
25
 
26
26
  class TodSensor(BinarySensorEntity):
27
27
  _attr_should_poll: bool
28
+ _time_before: datetime
29
+ _time_after: datetime
30
+ _next_update: datetime
28
31
  _attr_unique_id: Incomplete
29
32
  _attr_name: Incomplete
30
- _time_before: Incomplete
31
- _time_after: Incomplete
32
- _next_update: Incomplete
33
33
  _after_offset: Incomplete
34
34
  _before_offset: Incomplete
35
35
  _before: Incomplete
@@ -10,7 +10,7 @@ _LOGGER: Incomplete
10
10
 
11
11
  class ToloSaunaConfigFlow(ConfigFlow, domain=DOMAIN):
12
12
  VERSION: int
13
- _discovered_host: str | None
13
+ _discovered_host: str
14
14
  @staticmethod
15
15
  def _check_device_availability(host: str) -> bool: ...
16
16
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -7,7 +7,7 @@ from collections.abc import Iterable
7
7
  from homeassistant import config_entries as config_entries
8
8
  from homeassistant.components import network as network
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
- from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_AUTHENTICATION as CONF_AUTHENTICATION, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
10
+ from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_AUTHENTICATION as CONF_AUTHENTICATION, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
13
13
  from homeassistant.helpers import device_registry as dr, discovery_flow as discovery_flow
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
5
  from homeassistant.components import dhcp as dhcp
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
7
- from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
+ from homeassistant.const import CONF_ALIAS as CONF_ALIAS, CONF_DEVICE as CONF_DEVICE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
8
8
  from homeassistant.core import callback as callback
9
9
  from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
10
10
  from kasa import Credentials, Device
@@ -17,6 +17,7 @@ class TPLinkConfigFlow(ConfigFlow, domain=DOMAIN):
17
17
  VERSION: int
18
18
  MINOR_VERSION = CONF_CONFIG_ENTRY_MINOR_VERSION
19
19
  host: str | None
20
+ port: int | None
20
21
  _discovered_devices: Incomplete
21
22
  _discovered_device: Incomplete
22
23
  def __init__(self) -> None: ...
@@ -29,13 +30,15 @@ class TPLinkConfigFlow(ConfigFlow, domain=DOMAIN):
29
30
  async def async_step_discovery_auth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
31
  def _async_make_placeholders_from_discovery(self) -> dict[str, str]: ...
31
32
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
+ @staticmethod
34
+ def _async_get_host_port(host_str: str) -> tuple[str, int | None]: ...
32
35
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
36
  async def async_step_user_auth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
34
37
  async def async_step_pick_device(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
35
38
  async def _async_reload_requires_auth_entries(self) -> None: ...
36
39
  def _async_create_entry_from_device(self, device: Device) -> ConfigFlowResult: ...
37
- async def _async_try_connect_all(self, host: str, credentials: Credentials | None, raise_on_progress: bool) -> Device | None: ...
38
- async def _async_try_discover_and_update(self, host: str, credentials: Credentials | None, raise_on_progress: bool, raise_on_timeout: bool) -> Device | None: ...
40
+ async def _async_try_connect_all(self, host: str, credentials: Credentials | None, raise_on_progress: bool, *, port: int | None = None) -> Device | None: ...
41
+ async def _async_try_discover_and_update(self, host: str, credentials: Credentials | None, raise_on_progress: bool, raise_on_timeout: bool, *, port: int | None = None) -> Device | None: ...
39
42
  async def _async_try_connect(self, discovered_device: Device, credentials: Credentials | None) -> Device: ...
40
43
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
41
44
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,9 +1,9 @@
1
1
  from .config_flow import CONF_SITE as CONF_SITE, create_omada_client as create_omada_client
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from .controller import OmadaSiteController as OmadaSiteController
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState
5
5
  from homeassistant.const import Platform as Platform
6
- from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
7
7
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
8
  from tplink_omada_client.devices import OmadaListDevice as OmadaListDevice
9
9
 
@@ -4,7 +4,7 @@ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowRes
4
4
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_ID as CONF_ID, CONF_LOCATION as CONF_LOCATION
5
5
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
6
  from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TextSelector as TextSelector
7
- from pytrafikverket.models import CameraInfoModel as CameraInfoModel
7
+ from pytrafikverket import CameraInfoModel as CameraInfoModel
8
8
  from typing import Any
9
9
 
10
10
  class TVCameraConfigFlow(ConfigFlow, domain=DOMAIN):
@@ -7,7 +7,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
9
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
- from pytrafikverket.models import CameraInfoModel as CameraInfoModel
10
+ from pytrafikverket import CameraInfoModel as CameraInfoModel
11
11
 
12
12
  _LOGGER: Incomplete
13
13
  TIME_BETWEEN_UPDATES: Incomplete
@@ -19,9 +19,8 @@ class CameraData:
19
19
  def __init__(self, data, image) -> None: ...
20
20
 
21
21
  class TVDataUpdateCoordinator(DataUpdateCoordinator[CameraData]):
22
- config_entry: TVCameraConfigEntry
23
22
  session: Incomplete
24
23
  _camera_api: Incomplete
25
24
  _id: Incomplete
26
- def __init__(self, hass: HomeAssistant) -> None: ...
25
+ def __init__(self, hass: HomeAssistant, config_entry: TVCameraConfigEntry) -> None: ...
27
26
  async def _async_update_data(self) -> CameraData: ...
@@ -1,10 +1,13 @@
1
1
  from .const import PLATFORMS as PLATFORMS
2
2
  from .coordinator import TVDataUpdateCoordinator as TVDataUpdateCoordinator
3
+ from _typeshed import Incomplete
3
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
5
6
 
6
7
  TVTrainConfigEntry = ConfigEntry[TVDataUpdateCoordinator]
8
+ _LOGGER: Incomplete
7
9
 
8
10
  async def async_setup_entry(hass: HomeAssistant, entry: TVTrainConfigEntry) -> bool: ...
9
11
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
12
  async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
13
+ async def async_migrate_entry(hass: HomeAssistant, entry: TVTrainConfigEntry) -> bool: ...
@@ -1,8 +1,8 @@
1
1
  from .const import CONF_FILTER_PRODUCT as CONF_FILTER_PRODUCT, CONF_FROM as CONF_FROM, CONF_TIME as CONF_TIME, CONF_TO as CONF_TO, DOMAIN as DOMAIN
2
- from .util import create_unique_id as create_unique_id, next_departuredate as next_departuredate
2
+ from .util import next_departuredate as next_departuredate
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
6
6
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_NAME as CONF_NAME, CONF_WEEKDAY as CONF_WEEKDAY, WEEKDAYS as WEEKDAYS
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -18,11 +18,12 @@ async def validate_input(hass: HomeAssistant, api_key: str, train_from: str, tra
18
18
 
19
19
  class TVTrainConfigFlow(ConfigFlow, domain=DOMAIN):
20
20
  VERSION: int
21
+ MINOR_VERSION: int
21
22
  @staticmethod
22
23
  def async_get_options_flow(config_entry: ConfigEntry) -> TVTrainOptionsFlowHandler: ...
23
24
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
24
25
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
26
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
27
 
27
- class TVTrainOptionsFlowHandler(OptionsFlowWithConfigEntry):
28
+ class TVTrainOptionsFlowHandler(OptionsFlow):
28
29
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,6 +1,5 @@
1
- from datetime import date, time
1
+ from datetime import date
2
2
  from homeassistant.const import WEEKDAYS as WEEKDAYS
3
3
 
4
- def create_unique_id(from_station: str, to_station: str, depart_time: time | str | None, weekdays: list) -> str: ...
5
4
  def next_weekday(fromdate: date, weekday: int) -> date: ...
6
5
  def next_departuredate(departure: list[str]) -> date: ...
@@ -20,6 +20,4 @@ class TransmissionFlowHandler(ConfigFlow, domain=DOMAIN):
20
20
  async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
21
21
 
22
22
  class TransmissionOptionsFlowHandler(OptionsFlow):
23
- config_entry: Incomplete
24
- def __init__(self, config_entry: ConfigEntry) -> None: ...
25
23
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -58,6 +58,8 @@ class SpeechManager:
58
58
  time_memory: Incomplete
59
59
  file_cache: Incomplete
60
60
  mem_cache: Incomplete
61
+ filename_to_token: Incomplete
62
+ token_to_filename: Incomplete
61
63
  def __init__(self, hass: HomeAssistant, use_cache: bool, cache_dir: str, time_memory: int) -> None: ...
62
64
  def _init_cache(self) -> dict[str, str]: ...
63
65
  async def async_init_cache(self) -> None: ...
@@ -71,7 +73,7 @@ class SpeechManager:
71
73
  async def _async_save_tts_audio(self, cache_key: str, filename: str, data: bytes) -> None: ...
72
74
  async def _async_file_to_mem(self, cache_key: str) -> None: ...
73
75
  def _async_store_to_memcache(self, cache_key: str, filename: str, data: bytes) -> None: ...
74
- async def async_read_tts(self, filename: str) -> tuple[str | None, bytes]: ...
76
+ async def async_read_tts(self, token: str) -> tuple[str | None, bytes]: ...
75
77
  @staticmethod
76
78
  def write_tags(filename: str, data: bytes, engine_name: str, message: str, language: str, options: dict | None) -> bytes: ...
77
79
 
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
6
6
  from aiounifi.interfaces.sites import Sites as Sites
7
7
  from collections.abc import Mapping
8
8
  from homeassistant.components import ssdp as ssdp
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
9
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
10
10
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.helpers.device_registry import format_mac as format_mac
@@ -21,7 +21,7 @@ class UnifiFlowHandler(ConfigFlow, domain=UNIFI_DOMAIN):
21
21
  VERSION: int
22
22
  sites: Sites
23
23
  @staticmethod
24
- def async_get_options_flow(config_entry: ConfigEntry) -> UnifiOptionsFlowHandler: ...
24
+ def async_get_options_flow(config_entry: UnifiConfigEntry) -> UnifiOptionsFlowHandler: ...
25
25
  config: Incomplete
26
26
  reauth_schema: Incomplete
27
27
  def __init__(self) -> None: ...
@@ -32,7 +32,6 @@ class UnifiFlowHandler(ConfigFlow, domain=UNIFI_DOMAIN):
32
32
 
33
33
  class UnifiOptionsFlowHandler(OptionsFlow):
34
34
  hub: UnifiHub
35
- config_entry: Incomplete
36
35
  options: Incomplete
37
36
  def __init__(self, config_entry: UnifiConfigEntry) -> None: ...
38
37
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -4,7 +4,7 @@ from .discovery import async_start_discovery as async_start_discovery
4
4
  from .migrate import async_migrate_data as async_migrate_data
5
5
  from .services import async_setup_services as async_setup_services
6
6
  from .utils import _async_unifi_mac_from_hass as _async_unifi_mac_from_hass, async_create_api_client as async_create_api_client, async_get_devices as async_get_devices
7
- from .views import ThumbnailProxyView as ThumbnailProxyView, VideoProxyView as VideoProxyView
7
+ from .views import ThumbnailProxyView as ThumbnailProxyView, VideoEventProxyView as VideoEventProxyView, VideoProxyView as VideoProxyView
8
8
  from _typeshed import Incomplete
9
9
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -41,6 +41,4 @@ class ProtectFlowHandler(ConfigFlow, domain=DOMAIN):
41
41
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
42
42
 
43
43
  class OptionsFlowHandler(OptionsFlow):
44
- config_entry: Incomplete
45
- def __init__(self, config_entry: ConfigEntry) -> None: ...
46
44
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,5 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.const import Platform as Platform
3
+ from typing import Final
3
4
 
4
5
  DOMAIN: str
5
6
  AUTH_RETRIES: int
@@ -34,3 +35,7 @@ PLATFORMS: Incomplete
34
35
  DISPATCH_ADD: str
35
36
  DISPATCH_ADOPT: str
36
37
  DISPATCH_CHANNELS: str
38
+ EVENT_TYPE_FINGERPRINT_IDENTIFIED: Final[str]
39
+ EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED: Final[str]
40
+ EVENT_TYPE_NFC_SCANNED: Final[str]
41
+ EVENT_TYPE_DOORBELL_RING: Final[str]
@@ -1,5 +1,5 @@
1
1
  import dataclasses
2
- from .const import ATTR_EVENT_ID as ATTR_EVENT_ID
2
+ from .const import ATTR_EVENT_ID as ATTR_EVENT_ID, EVENT_TYPE_DOORBELL_RING as EVENT_TYPE_DOORBELL_RING, EVENT_TYPE_FINGERPRINT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_IDENTIFIED, EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED as EVENT_TYPE_FINGERPRINT_NOT_IDENTIFIED, EVENT_TYPE_NFC_SCANNED as EVENT_TYPE_NFC_SCANNED
3
3
  from .data import ProtectData as ProtectData, ProtectDeviceType as ProtectDeviceType, UFPConfigEntry as UFPConfigEntry
4
4
  from .entity import EventEntityMixin as EventEntityMixin, ProtectDeviceEntity as ProtectDeviceEntity, ProtectEventMixin as ProtectEventMixin
5
5
  from _typeshed import Incomplete
@@ -10,15 +10,28 @@ from uiprotect.data import ProtectAdoptableDeviceModel as ProtectAdoptableDevice
10
10
 
11
11
  @dataclasses.dataclass(frozen=True, kw_only=True)
12
12
  class ProtectEventEntityDescription(ProtectEventMixin, EventEntityDescription):
13
- def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., event_types=..., ufp_required_field=..., ufp_value=..., ufp_value_fn=..., ufp_enabled=..., ufp_perm=..., has_required=..., get_ufp_enabled=..., ufp_event_obj=..., ufp_obj_type=...) -> None: ...
13
+ entity_class: type[ProtectDeviceEntity]
14
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., event_types=..., ufp_required_field=..., ufp_value=..., ufp_value_fn=..., ufp_enabled=..., ufp_perm=..., has_required=..., get_ufp_enabled=..., ufp_event_obj=..., ufp_obj_type=..., entity_class) -> None: ...
14
15
 
15
- EVENT_DESCRIPTIONS: tuple[ProtectEventEntityDescription, ...]
16
+ class ProtectDeviceRingEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
17
+ entity_description: ProtectEventEntityDescription
18
+ _event: Incomplete
19
+ _event_end: Incomplete
20
+ def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
21
+
22
+ class ProtectDeviceNFCEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
23
+ entity_description: ProtectEventEntityDescription
24
+ _event: Incomplete
25
+ _event_end: Incomplete
26
+ def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
16
27
 
17
- class ProtectDeviceEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
28
+ class ProtectDeviceFingerprintEventEntity(EventEntityMixin, ProtectDeviceEntity, EventEntity):
18
29
  entity_description: ProtectEventEntityDescription
19
30
  _event: Incomplete
20
31
  _event_end: Incomplete
21
32
  def _async_update_device_from_protect(self, device: ProtectDeviceType) -> None: ...
22
33
 
34
+ EVENT_DESCRIPTIONS: tuple[ProtectEventEntityDescription, ...]
35
+
23
36
  def _async_event_entities(data: ProtectData, ufp_device: ProtectAdoptableDeviceModel | None = None) -> list[ProtectDeviceEntity]: ...
24
37
  async def async_setup_entry(hass: HomeAssistant, entry: UFPConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -11,6 +11,7 @@ _LOGGER: Incomplete
11
11
 
12
12
  def async_generate_thumbnail_url(event_id: str, nvr_id: str, width: int | None = None, height: int | None = None) -> str: ...
13
13
  def async_generate_event_video_url(event: Event) -> str: ...
14
+ def async_generate_proxy_event_video_url(nvr_id: str, event_id: str) -> str: ...
14
15
  def _client_error(message: Any, code: HTTPStatus) -> web.Response: ...
15
16
  def _400(message: Any) -> web.Response: ...
16
17
  def _403(message: Any) -> web.Response: ...
@@ -22,6 +23,7 @@ class ProtectProxyView(HomeAssistantView):
22
23
  hass: Incomplete
23
24
  def __init__(self, hass: HomeAssistant) -> None: ...
24
25
  def _get_data_or_404(self, nvr_id_or_entry_id: str) -> ProtectData | web.Response: ...
26
+ def _async_get_camera(self, data: ProtectData, camera_id: str) -> Camera | None: ...
25
27
 
26
28
  class ThumbnailProxyView(ProtectProxyView):
27
29
  url: str
@@ -31,5 +33,9 @@ class ThumbnailProxyView(ProtectProxyView):
31
33
  class VideoProxyView(ProtectProxyView):
32
34
  url: str
33
35
  name: str
34
- def _async_get_camera(self, data: ProtectData, camera_id: str) -> Camera | None: ...
35
36
  async def get(self, request: web.Request, nvr_id: str, camera_id: str, start: str, end: str) -> web.StreamResponse: ...
37
+
38
+ class VideoEventProxyView(ProtectProxyView):
39
+ url: str
40
+ name: str
41
+ async def get(self, request: web.Request, nvr_id: str, event_id: str) -> web.StreamResponse: ...
@@ -17,6 +17,4 @@ class UpCloudConfigFlow(ConfigFlow, domain=DOMAIN):
17
17
  def async_get_options_flow(config_entry: ConfigEntry) -> UpCloudOptionsFlow: ...
18
18
 
19
19
  class UpCloudOptionsFlow(OptionsFlow):
20
- config_entry: Incomplete
21
- def __init__(self, config_entry: ConfigEntry) -> None: ...
22
20
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -25,7 +25,7 @@ class WattTimeConfigFlow(ConfigFlow, domain=DOMAIN):
25
25
  def __init__(self) -> None: ...
26
26
  async def _async_validate_credentials(self, username: str, password: str, error_step_id: str, error_schema: vol.Schema) -> ConfigFlowResult: ...
27
27
  @staticmethod
28
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
28
+ def async_get_options_flow(config_entry: ConfigEntry) -> WattTimeOptionsFlowHandler: ...
29
29
  async def async_step_coordinates(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
30
  async def async_step_location(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
31
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
@@ -33,6 +33,4 @@ class WattTimeConfigFlow(ConfigFlow, domain=DOMAIN):
33
33
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
34
34
 
35
35
  class WattTimeOptionsFlowHandler(OptionsFlow):
36
- entry: Incomplete
37
- def __init__(self, entry: ConfigEntry) -> None: ...
38
36
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -30,8 +30,6 @@ class FlowHandler(ConfigFlow, domain=DOMAIN):
30
30
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
31
 
32
32
  class OptionsFlowHandler(OptionsFlow):
33
- config_entry: Incomplete
34
- options: Incomplete
35
33
  host: Incomplete
36
34
  key: Incomplete
37
35
  def __init__(self, config_entry: ConfigEntry) -> None: ...
@@ -19,6 +19,7 @@ from homeassistant.util.async_ import create_eager_task as create_eager_task
19
19
  from homeassistant.util.json import json_loads as json_loads
20
20
  from typing import Any, Final
21
21
 
22
+ CLOSE_MSG_TYPES: Incomplete
22
23
  _WS_LOGGER: Final[Incomplete]
23
24
 
24
25
  class WebsocketAPIView(HomeAssistantView):
@@ -60,5 +61,5 @@ class WebSocketHandler:
60
61
  async def async_handle(self) -> web.WebSocketResponse: ...
61
62
  async def _async_handle_auth_phase(self, auth: AuthPhase, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> ActiveConnection: ...
62
63
  def _async_increase_writer_limit(self, writer: WebSocketWriter) -> None: ...
63
- async def _async_websocket_command_phase(self, connection: ActiveConnection, send_bytes_text: Callable[[bytes], Coroutine[Any, Any, None]]) -> None: ...
64
+ async def _async_websocket_command_phase(self, connection: ActiveConnection) -> None: ...
64
65
  async def _async_cleanup_writer_and_close(self, disconnect_warn: str | None, connection: ActiveConnection | None) -> None: ...
@@ -1,7 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from .coordinator import Options as Options, OptionsValidationError as OptionsValidationError
4
- from _typeshed import Incomplete
5
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
6
  from homeassistant.helpers.config_entry_flow import DiscoveryFlowHandler as DiscoveryFlowHandler
@@ -15,8 +14,6 @@ class WemoFlow(DiscoveryFlowHandler, domain=DOMAIN):
15
14
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
16
15
 
17
16
  class WemoOptionsFlow(OptionsFlow):
18
- config_entry: Incomplete
19
- def __init__(self, config_entry: ConfigEntry) -> None: ...
20
17
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
18
 
22
19
  def _schema_for_options(options: Options) -> vol.Schema: ...
@@ -1,6 +1,6 @@
1
1
  from .const import CONF_KEEP_MAIN_LIGHT as CONF_KEEP_MAIN_LIGHT, DEFAULT_KEEP_MAIN_LIGHT as DEFAULT_KEEP_MAIN_LIGHT, DOMAIN as DOMAIN
2
2
  from homeassistant.components import onboarding as onboarding, zeroconf as zeroconf
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC
5
5
  from homeassistant.core import callback as callback
6
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -18,5 +18,5 @@ class WLEDFlowHandler(ConfigFlow, domain=DOMAIN):
18
18
  async def async_step_zeroconf_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
19
  async def _async_get_device(self, host: str) -> Device: ...
20
20
 
21
- class WLEDOptionsFlowHandler(OptionsFlowWithConfigEntry):
21
+ class WLEDOptionsFlowHandler(OptionsFlow):
22
22
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,7 +1,7 @@
1
1
  import voluptuous as vol
2
2
  from .const import ALLOWED_DAYS as ALLOWED_DAYS, CONF_ADD_HOLIDAYS as CONF_ADD_HOLIDAYS, CONF_CATEGORY as CONF_CATEGORY, CONF_EXCLUDES as CONF_EXCLUDES, CONF_OFFSET as CONF_OFFSET, CONF_PROVINCE as CONF_PROVINCE, CONF_REMOVE_HOLIDAYS as CONF_REMOVE_HOLIDAYS, CONF_WORKDAYS as CONF_WORKDAYS, DEFAULT_EXCLUDES as DEFAULT_EXCLUDES, DEFAULT_NAME as DEFAULT_NAME, DEFAULT_OFFSET as DEFAULT_OFFSET, DEFAULT_WORKDAYS as DEFAULT_WORKDAYS, DOMAIN as DOMAIN, LOGGER as LOGGER
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_COUNTRY as CONF_COUNTRY, CONF_LANGUAGE as CONF_LANGUAGE, CONF_NAME as CONF_NAME
6
6
  from homeassistant.core import callback as callback
7
7
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
@@ -23,7 +23,7 @@ class WorkdayConfigFlow(ConfigFlow, domain=DOMAIN):
23
23
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
24
  async def async_step_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
25
 
26
- class WorkdayOptionsFlowHandler(OptionsFlowWithConfigEntry):
26
+ class WorkdayOptionsFlowHandler(OptionsFlow):
27
27
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
28
 
29
29
  class AddDatesError(HomeAssistantError): ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_AREA_ID as CONF_AREA_ID, CONF_LOCK_CODE_DIGITS as CONF_LOCK_CODE_DIGITS, DEFAULT_AREA_ID as DEFAULT_AREA_ID, DEFAULT_LOCK_CODE_DIGITS as DEFAULT_LOCK_CODE_DIGITS, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, LOGGER as LOGGER, YALE_BASE_ERRORS as YALE_BASE_ERRORS
1
+ from .const import CONF_AREA_ID as CONF_AREA_ID, CONF_LOCK_CODE_DIGITS as CONF_LOCK_CODE_DIGITS, DEFAULT_AREA_ID as DEFAULT_AREA_ID, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, YALE_BASE_ERRORS as YALE_BASE_ERRORS
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
@@ -8,6 +8,9 @@ from typing import Any
8
8
 
9
9
  DATA_SCHEMA: Incomplete
10
10
  DATA_SCHEMA_AUTH: Incomplete
11
+ OPTIONS_SCHEMA: Incomplete
12
+
13
+ def validate_credentials(username: str, password: str) -> dict[str, Any]: ...
11
14
 
12
15
  class YaleConfigFlow(ConfigFlow, domain=DOMAIN):
13
16
  VERSION: int
@@ -15,9 +18,8 @@ class YaleConfigFlow(ConfigFlow, domain=DOMAIN):
15
18
  def async_get_options_flow(config_entry: ConfigEntry) -> YaleOptionsFlowHandler: ...
16
19
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
17
20
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
22
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
23
 
20
24
  class YaleOptionsFlowHandler(OptionsFlow):
21
- entry: Incomplete
22
- def __init__(self, entry: ConfigEntry) -> None: ...
23
25
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -36,7 +36,5 @@ class YalexsConfigFlow(ConfigFlow, domain=DOMAIN):
36
36
  def async_get_options_flow(config_entry: ConfigEntry) -> YaleXSBLEOptionsFlowHandler: ...
37
37
 
38
38
  class YaleXSBLEOptionsFlowHandler(OptionsFlow):
39
- 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: ...
42
40
  async def async_step_device_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,7 +1,7 @@
1
1
  import logging
2
2
  from .const import CHANNEL_CREATION_HELP_URL as CHANNEL_CREATION_HELP_URL, CONF_CHANNELS as CONF_CHANNELS, DEFAULT_ACCESS as DEFAULT_ACCESS, DOMAIN as DOMAIN, LOGGER as LOGGER
3
3
  from collections.abc import Mapping
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry, SOURCE_REAUTH as SOURCE_REAUTH
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
5
5
  from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_TOKEN as CONF_TOKEN
6
6
  from homeassistant.core import callback as callback
7
7
  from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
@@ -27,5 +27,5 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
27
27
  async def async_oauth_create_entry(self, data: dict[str, Any]) -> ConfigFlowResult: ...
28
28
  async def async_step_channels(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
29
 
30
- class YouTubeOptionsFlowHandler(OptionsFlowWithConfigEntry):
30
+ class YouTubeOptionsFlowHandler(OptionsFlow):
31
31
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,4 @@
1
1
  from .models import HaZeroconf as HaZeroconf
2
- from homeassistant.helpers.frame import report as report
2
+ from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
3
3
 
4
4
  def install_multiple_zeroconf_catcher(hass_zc: HaZeroconf) -> None: ...
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  from .addon import get_addon_manager as get_addon_manager
3
3
  from .api import async_register_api as async_register_api
4
- from .const import ATTR_ACKNOWLEDGED_FRAMES as ATTR_ACKNOWLEDGED_FRAMES, ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_DATA_TYPE as ATTR_DATA_TYPE, ATTR_DATA_TYPE_LABEL as ATTR_DATA_TYPE_LABEL, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_EVENT as ATTR_EVENT, ATTR_EVENT_DATA as ATTR_EVENT_DATA, ATTR_EVENT_LABEL as ATTR_EVENT_LABEL, ATTR_EVENT_TYPE as ATTR_EVENT_TYPE, ATTR_EVENT_TYPE_LABEL as ATTR_EVENT_TYPE_LABEL, ATTR_HOME_ID as ATTR_HOME_ID, ATTR_LABEL as ATTR_LABEL, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, ATTR_STATUS as ATTR_STATUS, ATTR_TEST_NODE_ID as ATTR_TEST_NODE_ID, ATTR_TYPE as ATTR_TYPE, ATTR_VALUE as ATTR_VALUE, ATTR_VALUE_RAW as ATTR_VALUE_RAW, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_NETWORK_KEY as CONF_NETWORK_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, EVENT_VALUE_UPDATED as EVENT_VALUE_UPDATED, LIB_LOGGER as LIB_LOGGER, LOGGER as LOGGER, LR_ADDON_VERSION as LR_ADDON_VERSION, USER_AGENT as USER_AGENT, ZWAVE_JS_NOTIFICATION_EVENT as ZWAVE_JS_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_NOTIFICATION_EVENT as ZWAVE_JS_VALUE_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_UPDATED_EVENT as ZWAVE_JS_VALUE_UPDATED_EVENT
4
+ from .const import ATTR_ACKNOWLEDGED_FRAMES as ATTR_ACKNOWLEDGED_FRAMES, ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_COMMAND_CLASS_NAME as ATTR_COMMAND_CLASS_NAME, ATTR_DATA_TYPE as ATTR_DATA_TYPE, ATTR_DATA_TYPE_LABEL as ATTR_DATA_TYPE_LABEL, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_EVENT as ATTR_EVENT, ATTR_EVENT_DATA as ATTR_EVENT_DATA, ATTR_EVENT_LABEL as ATTR_EVENT_LABEL, ATTR_EVENT_TYPE as ATTR_EVENT_TYPE, ATTR_EVENT_TYPE_LABEL as ATTR_EVENT_TYPE_LABEL, ATTR_HOME_ID as ATTR_HOME_ID, ATTR_LABEL as ATTR_LABEL, ATTR_NODE_ID as ATTR_NODE_ID, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_PROPERTY as ATTR_PROPERTY, ATTR_PROPERTY_KEY as ATTR_PROPERTY_KEY, ATTR_PROPERTY_KEY_NAME as ATTR_PROPERTY_KEY_NAME, ATTR_PROPERTY_NAME as ATTR_PROPERTY_NAME, ATTR_STATUS as ATTR_STATUS, ATTR_TEST_NODE_ID as ATTR_TEST_NODE_ID, ATTR_TYPE as ATTR_TYPE, ATTR_VALUE as ATTR_VALUE, ATTR_VALUE_RAW as ATTR_VALUE_RAW, CONF_ADDON_DEVICE as CONF_ADDON_DEVICE, CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY as CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY, CONF_ADDON_LR_S2_AUTHENTICATED_KEY as CONF_ADDON_LR_S2_AUTHENTICATED_KEY, CONF_ADDON_NETWORK_KEY as CONF_ADDON_NETWORK_KEY, CONF_ADDON_S0_LEGACY_KEY as CONF_ADDON_S0_LEGACY_KEY, CONF_ADDON_S2_ACCESS_CONTROL_KEY as CONF_ADDON_S2_ACCESS_CONTROL_KEY, CONF_ADDON_S2_AUTHENTICATED_KEY as CONF_ADDON_S2_AUTHENTICATED_KEY, CONF_ADDON_S2_UNAUTHENTICATED_KEY as CONF_ADDON_S2_UNAUTHENTICATED_KEY, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INSTALLER_MODE as CONF_INSTALLER_MODE, CONF_INTEGRATION_CREATED_ADDON as CONF_INTEGRATION_CREATED_ADDON, CONF_LR_S2_ACCESS_CONTROL_KEY as CONF_LR_S2_ACCESS_CONTROL_KEY, CONF_LR_S2_AUTHENTICATED_KEY as CONF_LR_S2_AUTHENTICATED_KEY, CONF_NETWORK_KEY as CONF_NETWORK_KEY, CONF_S0_LEGACY_KEY as CONF_S0_LEGACY_KEY, CONF_S2_ACCESS_CONTROL_KEY as CONF_S2_ACCESS_CONTROL_KEY, CONF_S2_AUTHENTICATED_KEY as CONF_S2_AUTHENTICATED_KEY, CONF_S2_UNAUTHENTICATED_KEY as CONF_S2_UNAUTHENTICATED_KEY, CONF_USB_PATH as CONF_USB_PATH, CONF_USE_ADDON as CONF_USE_ADDON, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, EVENT_VALUE_UPDATED as EVENT_VALUE_UPDATED, LIB_LOGGER as LIB_LOGGER, LOGGER as LOGGER, LR_ADDON_VERSION as LR_ADDON_VERSION, USER_AGENT as USER_AGENT, ZWAVE_JS_NOTIFICATION_EVENT as ZWAVE_JS_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_NOTIFICATION_EVENT as ZWAVE_JS_VALUE_NOTIFICATION_EVENT, ZWAVE_JS_VALUE_UPDATED_EVENT as ZWAVE_JS_VALUE_UPDATED_EVENT
5
5
  from .discovery import ZwaveDiscoveryInfo as ZwaveDiscoveryInfo, async_discover_node_values as async_discover_node_values, async_discover_single_value as async_discover_single_value
6
6
  from .helpers import async_disable_server_logging_if_needed as async_disable_server_logging_if_needed, async_enable_server_logging_if_needed as async_enable_server_logging_if_needed, async_enable_statistics as async_enable_statistics, get_device_id as get_device_id, get_device_id_ext as get_device_id_ext, get_network_identifier_for_notification as get_network_identifier_for_notification, get_unique_id as get_unique_id, get_valueless_base_unique_id as get_valueless_base_unique_id
7
7
  from .migrate import async_migrate_discovered_value as async_migrate_discovered_value
@@ -1,6 +1,6 @@
1
1
  import homeassistant.helpers.device_registry as dr
2
2
  from .config_validation import BITMASK_SCHEMA as BITMASK_SCHEMA
3
- from .const import CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, DATA_CLIENT as DATA_CLIENT, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, USER_AGENT as USER_AGENT
3
+ from .const import ATTR_COMMAND_CLASS as ATTR_COMMAND_CLASS, ATTR_ENDPOINT as ATTR_ENDPOINT, ATTR_METHOD_NAME as ATTR_METHOD_NAME, ATTR_PARAMETERS as ATTR_PARAMETERS, ATTR_WAIT_FOR_RESULT as ATTR_WAIT_FOR_RESULT, CONF_DATA_COLLECTION_OPTED_IN as CONF_DATA_COLLECTION_OPTED_IN, CONF_INSTALLER_MODE as CONF_INSTALLER_MODE, DATA_CLIENT as DATA_CLIENT, DOMAIN as DOMAIN, EVENT_DEVICE_ADDED_TO_REGISTRY as EVENT_DEVICE_ADDED_TO_REGISTRY, USER_AGENT as USER_AGENT
4
4
  from .helpers import async_enable_statistics as async_enable_statistics, async_get_node_from_device_id as async_get_node_from_device_id, get_device_id as get_device_id
5
5
  from _typeshed import Incomplete
6
6
  from aiohttp import web as web
@@ -18,6 +18,7 @@ from zwave_js_server.const import InclusionStrategy
18
18
  from zwave_js_server.model.controller import ControllerStatistics as ControllerStatistics
19
19
  from zwave_js_server.model.controller.firmware import ControllerFirmwareUpdateProgress as ControllerFirmwareUpdateProgress, ControllerFirmwareUpdateResult as ControllerFirmwareUpdateResult
20
20
  from zwave_js_server.model.driver import Driver as Driver
21
+ from zwave_js_server.model.endpoint import Endpoint as Endpoint
21
22
  from zwave_js_server.model.log_message import LogMessage as LogMessage
22
23
  from zwave_js_server.model.node import Node as Node, NodeStatistics as NodeStatistics
23
24
  from zwave_js_server.model.node.firmware import NodeFirmwareUpdateProgress as NodeFirmwareUpdateProgress, NodeFirmwareUpdateResult as NodeFirmwareUpdateResult
@@ -34,6 +35,8 @@ PROPERTY: str
34
35
  PROPERTY_KEY: str
35
36
  ENDPOINT: str
36
37
  VALUE: str
38
+ VALUE_SIZE: str
39
+ VALUE_FORMAT: str
37
40
  CONFIG: str
38
41
  LEVEL: str
39
42
  LOG_TO_FILE: str
@@ -108,6 +111,8 @@ async def websocket_refresh_node_values(hass: HomeAssistant, connection: ActiveC
108
111
  async def websocket_refresh_node_cc_values(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
109
112
  async def websocket_set_config_parameter(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
110
113
  async def websocket_get_config_parameters(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
114
+ async def websocket_set_raw_config_parameter(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
115
+ async def websocket_get_raw_config_parameter(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
111
116
  def filename_is_present_if_logging_to_file(obj: dict) -> dict: ...
112
117
  async def websocket_subscribe_log_updates(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
113
118
  async def websocket_update_log_config(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
@@ -136,3 +141,6 @@ async def websocket_subscribe_controller_statistics(hass: HomeAssistant, connect
136
141
  def _get_node_statistics_dict(hass: HomeAssistant, statistics: NodeStatistics) -> dict[str, Any]: ...
137
142
  async def websocket_subscribe_node_statistics(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
138
143
  async def websocket_hard_reset_controller(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], entry: ConfigEntry, client: Client, driver: Driver) -> None: ...
144
+ async def websocket_node_capabilities(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
145
+ async def websocket_invoke_cc_api(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any], node: Node) -> None: ...
146
+ def websocket_get_integration_settings(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -104,10 +104,9 @@ class ZWaveJSConfigFlow(BaseZwaveJSFlow, ConfigFlow, domain=DOMAIN):
104
104
  def _async_create_entry_from_vars(self) -> ConfigFlowResult: ...
105
105
 
106
106
  class OptionsFlowHandler(BaseZwaveJSFlow, OptionsFlow):
107
- config_entry: Incomplete
108
107
  original_addon_config: Incomplete
109
108
  revert_reason: Incomplete
110
- def __init__(self, config_entry: ConfigEntry) -> None: ...
109
+ def __init__(self) -> None: ...
111
110
  @property
112
111
  def flow_manager(self) -> OptionsFlowManager: ...
113
112
  def _async_update_entry(self, data: dict[str, Any]) -> None: ...
@@ -13,6 +13,7 @@ CONF_ADDON_S2_AUTHENTICATED_KEY: str
13
13
  CONF_ADDON_S2_UNAUTHENTICATED_KEY: str
14
14
  CONF_ADDON_LR_S2_ACCESS_CONTROL_KEY: str
15
15
  CONF_ADDON_LR_S2_AUTHENTICATED_KEY: str
16
+ CONF_INSTALLER_MODE: str
16
17
  CONF_INTEGRATION_CREATED_ADDON: str
17
18
  CONF_NETWORK_KEY: str
18
19
  CONF_S0_LEGACY_KEY: str