homeassistant-stubs 2024.10.3__py3-none-any.whl → 2024.11.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 (853) hide show
  1. homeassistant-stubs/auth/__init__.pyi +8 -5
  2. homeassistant-stubs/auth/mfa_modules/notify.pyi +1 -0
  3. homeassistant-stubs/auth/models.pyi +8 -5
  4. homeassistant-stubs/auth/permissions/types.pyi +7 -0
  5. homeassistant-stubs/auth/permissions/util.pyi +2 -0
  6. homeassistant-stubs/auth/providers/__init__.pyi +5 -4
  7. homeassistant-stubs/auth/providers/command_line.pyi +2 -2
  8. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -2
  9. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -3
  10. homeassistant-stubs/auth/providers/trusted_networks.pyi +5 -2
  11. homeassistant-stubs/bootstrap.pyi +1 -0
  12. homeassistant-stubs/components/abode/alarm_control_panel.pyi +2 -3
  13. homeassistant-stubs/components/accuweather/__init__.pyi +1 -9
  14. homeassistant-stubs/components/accuweather/coordinator.pyi +11 -2
  15. homeassistant-stubs/components/accuweather/diagnostics.pyi +1 -1
  16. homeassistant-stubs/components/accuweather/sensor.pyi +1 -2
  17. homeassistant-stubs/components/accuweather/system_health.pyi +1 -1
  18. homeassistant-stubs/components/accuweather/weather.pyi +1 -2
  19. homeassistant-stubs/components/acmeda/__init__.pyi +1 -0
  20. homeassistant-stubs/components/adguard/__init__.pyi +1 -0
  21. homeassistant-stubs/components/adguard/config_flow.pyi +1 -1
  22. homeassistant-stubs/components/aftership/__init__.pyi +2 -0
  23. homeassistant-stubs/components/airgradient/__init__.pyi +1 -0
  24. homeassistant-stubs/components/airgradient/update.pyi +0 -2
  25. homeassistant-stubs/components/airly/__init__.pyi +1 -0
  26. homeassistant-stubs/components/airnow/__init__.pyi +1 -0
  27. homeassistant-stubs/components/airthings/__init__.pyi +3 -0
  28. homeassistant-stubs/components/airthings_ble/__init__.pyi +2 -11
  29. homeassistant-stubs/components/airthings_ble/coordinator.pyi +21 -0
  30. homeassistant-stubs/components/airthings_ble/sensor.pyi +1 -1
  31. homeassistant-stubs/components/airtouch5/__init__.pyi +2 -1
  32. homeassistant-stubs/components/airvisual/__init__.pyi +1 -0
  33. homeassistant-stubs/components/airvisual/config_flow.pyi +1 -1
  34. homeassistant-stubs/components/airvisual_pro/__init__.pyi +1 -0
  35. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +2 -3
  36. homeassistant-stubs/components/airzone/__init__.pyi +1 -0
  37. homeassistant-stubs/components/airzone/switch.pyi +33 -0
  38. homeassistant-stubs/components/airzone_cloud/__init__.pyi +1 -0
  39. homeassistant-stubs/components/airzone_cloud/select.pyi +10 -2
  40. homeassistant-stubs/components/airzone_cloud/switch.pyi +33 -0
  41. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +13 -6
  42. homeassistant-stubs/components/alarm_control_panel/const.pyi +12 -0
  43. homeassistant-stubs/components/alarm_control_panel/device_condition.pyi +2 -2
  44. homeassistant-stubs/components/alarm_control_panel/device_trigger.pyi +2 -2
  45. homeassistant-stubs/components/alarm_control_panel/reproduce_state.pyi +2 -2
  46. homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
  47. homeassistant-stubs/components/alexa/handlers.pyi +2 -2
  48. homeassistant-stubs/components/amberelectric/__init__.pyi +1 -0
  49. homeassistant-stubs/components/ambient_network/__init__.pyi +1 -0
  50. homeassistant-stubs/components/ambient_station/__init__.pyi +1 -0
  51. homeassistant-stubs/components/analytics/__init__.pyi +2 -0
  52. homeassistant-stubs/components/analytics/analytics.pyi +1 -0
  53. homeassistant-stubs/components/analytics_insights/__init__.pyi +1 -0
  54. homeassistant-stubs/components/analytics_insights/config_flow.pyi +1 -1
  55. homeassistant-stubs/components/analytics_insights/const.pyi +1 -0
  56. homeassistant-stubs/components/analytics_insights/coordinator.pyi +8 -2
  57. homeassistant-stubs/components/analytics_insights/sensor.pyi +4 -0
  58. homeassistant-stubs/components/android_ip_webcam/__init__.pyi +3 -5
  59. homeassistant-stubs/components/android_ip_webcam/binary_sensor.pyi +3 -4
  60. homeassistant-stubs/components/android_ip_webcam/camera.pyi +2 -3
  61. homeassistant-stubs/components/android_ip_webcam/coordinator.pyi +3 -2
  62. homeassistant-stubs/components/android_ip_webcam/sensor.pyi +2 -4
  63. homeassistant-stubs/components/android_ip_webcam/switch.pyi +2 -4
  64. homeassistant-stubs/components/androidtv/__init__.pyi +3 -1
  65. homeassistant-stubs/components/androidtv/config_flow.pyi +2 -1
  66. homeassistant-stubs/components/androidtv/const.pyi +2 -1
  67. homeassistant-stubs/components/androidtv/entity.pyi +5 -2
  68. homeassistant-stubs/components/androidtv/media_player.pyi +5 -6
  69. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +5 -7
  70. homeassistant-stubs/components/anova/__init__.pyi +2 -1
  71. homeassistant-stubs/components/anova/config_flow.pyi +2 -1
  72. homeassistant-stubs/components/anova/models.pyi +1 -0
  73. homeassistant-stubs/components/anthemav/__init__.pyi +2 -0
  74. homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -1
  75. homeassistant-stubs/components/apcupsd/__init__.pyi +1 -0
  76. homeassistant-stubs/components/apple_tv/__init__.pyi +1 -0
  77. homeassistant-stubs/components/apple_tv/config_flow.pyi +5 -1
  78. homeassistant-stubs/components/apsystems/__init__.pyi +1 -0
  79. homeassistant-stubs/components/apsystems/sensor.pyi +2 -2
  80. homeassistant-stubs/components/aquostv/media_player.pyi +1 -1
  81. homeassistant-stubs/components/aranet/__init__.pyi +3 -3
  82. homeassistant-stubs/components/aranet/sensor.pyi +4 -4
  83. homeassistant-stubs/components/arcam_fmj/__init__.pyi +1 -0
  84. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -0
  85. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -1
  86. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +4 -6
  87. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +2 -4
  88. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +2 -3
  89. homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +2 -0
  90. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +2 -4
  91. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -1
  92. homeassistant-stubs/components/asuswrt/__init__.pyi +1 -0
  93. homeassistant-stubs/components/asuswrt/bridge.pyi +4 -2
  94. homeassistant-stubs/components/autarco/__init__.pyi +1 -0
  95. homeassistant-stubs/components/auth/__init__.pyi +5 -0
  96. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  97. homeassistant-stubs/components/auth/mfa_setup_flow.pyi +4 -2
  98. homeassistant-stubs/components/automation/__init__.pyi +0 -14
  99. homeassistant-stubs/components/awair/__init__.pyi +4 -6
  100. homeassistant-stubs/components/awair/config_flow.pyi +1 -0
  101. homeassistant-stubs/components/awair/coordinator.pyi +1 -0
  102. homeassistant-stubs/components/awair/sensor.pyi +2 -2
  103. homeassistant-stubs/components/axis/__init__.pyi +1 -0
  104. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  105. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  106. homeassistant-stubs/components/backup/const.pyi +3 -0
  107. homeassistant-stubs/components/backup/http.pyi +1 -1
  108. homeassistant-stubs/components/backup/manager.pyi +25 -11
  109. homeassistant-stubs/components/backup/websocket.pyi +2 -2
  110. homeassistant-stubs/components/baf/__init__.pyi +2 -0
  111. homeassistant-stubs/components/bang_olufsen/__init__.pyi +3 -2
  112. homeassistant-stubs/components/bang_olufsen/const.pyi +3 -2
  113. homeassistant-stubs/components/bang_olufsen/media_player.pyi +14 -6
  114. homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -0
  115. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -3
  116. homeassistant-stubs/components/blue_current/__init__.pyi +4 -3
  117. homeassistant-stubs/components/blue_current/config_flow.pyi +1 -2
  118. homeassistant-stubs/components/blue_current/sensor.pyi +2 -3
  119. homeassistant-stubs/components/blueprint/__init__.pyi +2 -2
  120. homeassistant-stubs/components/bluesound/__init__.pyi +2 -1
  121. homeassistant-stubs/components/bluesound/const.pyi +0 -4
  122. homeassistant-stubs/components/bluesound/media_player.pyi +6 -14
  123. homeassistant-stubs/components/bluesound/services.pyi +21 -0
  124. homeassistant-stubs/components/bluetooth/active_update_coordinator.pyi +1 -1
  125. homeassistant-stubs/components/bluetooth/active_update_processor.pyi +1 -1
  126. homeassistant-stubs/components/bluetooth/match.pyi +1 -1
  127. homeassistant-stubs/components/bluetooth/models.pyi +4 -0
  128. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +4 -4
  129. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +1 -0
  130. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +4 -2
  131. homeassistant-stubs/components/bond/__init__.pyi +1 -0
  132. homeassistant-stubs/components/braviatv/config_flow.pyi +1 -2
  133. homeassistant-stubs/components/braviatv/coordinator.pyi +1 -1
  134. homeassistant-stubs/components/brother/__init__.pyi +1 -0
  135. homeassistant-stubs/components/brother/config_flow.pyi +2 -4
  136. homeassistant-stubs/components/bryant_evolution/__init__.pyi +2 -0
  137. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +1 -4
  138. homeassistant-stubs/components/bthome/config_flow.pyi +1 -1
  139. homeassistant-stubs/components/bthome/coordinator.pyi +1 -1
  140. homeassistant-stubs/components/bthome/types.pyi +2 -0
  141. homeassistant-stubs/components/button/__init__.pyi +0 -3
  142. homeassistant-stubs/components/calendar/trigger.pyi +3 -1
  143. homeassistant-stubs/components/cambridge_audio/__init__.pyi +14 -0
  144. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +14 -0
  145. homeassistant-stubs/components/cambridge_audio/const.pyi +9 -0
  146. homeassistant-stubs/components/cambridge_audio/diagnostics.pyi +5 -0
  147. homeassistant-stubs/components/cambridge_audio/entity.pyi +21 -0
  148. homeassistant-stubs/components/cambridge_audio/media_player.pyi +71 -0
  149. homeassistant-stubs/components/cambridge_audio/select.pyi +34 -0
  150. homeassistant-stubs/components/cambridge_audio/switch.pyi +30 -0
  151. homeassistant-stubs/components/camera/__init__.pyi +39 -22
  152. homeassistant-stubs/components/camera/const.pyi +1 -2
  153. homeassistant-stubs/components/camera/diagnostics.pyi +1 -1
  154. homeassistant-stubs/components/camera/helper.pyi +6 -0
  155. homeassistant-stubs/components/camera/webrtc.pyi +96 -0
  156. homeassistant-stubs/components/canary/alarm_control_panel.pyi +2 -3
  157. homeassistant-stubs/components/canary/sensor.pyi +1 -0
  158. homeassistant-stubs/components/cert_expiry/__init__.pyi +1 -0
  159. homeassistant-stubs/components/climate/__init__.pyi +0 -24
  160. homeassistant-stubs/components/cloud/client.pyi +5 -1
  161. homeassistant-stubs/components/cloud/const.pyi +1 -0
  162. homeassistant-stubs/components/cloud/http_api.pyi +2 -2
  163. homeassistant-stubs/components/cloud/prefs.pyi +4 -2
  164. homeassistant-stubs/components/co2signal/__init__.pyi +1 -0
  165. homeassistant-stubs/components/co2signal/config_flow.pyi +1 -2
  166. homeassistant-stubs/components/config/automation.pyi +1 -1
  167. homeassistant-stubs/components/config/script.pyi +1 -1
  168. homeassistant-stubs/components/config/view.pyi +2 -2
  169. homeassistant-stubs/components/configurator/__init__.pyi +2 -0
  170. homeassistant-stubs/components/counter/__init__.pyi +1 -1
  171. homeassistant-stubs/components/cover/__init__.pyi +12 -8
  172. homeassistant-stubs/components/cover/device_condition.pyi +2 -2
  173. homeassistant-stubs/components/cover/device_trigger.pyi +2 -2
  174. homeassistant-stubs/components/cover/reproduce_state.pyi +2 -2
  175. homeassistant-stubs/components/date/__init__.pyi +0 -4
  176. homeassistant-stubs/components/datetime/__init__.pyi +0 -4
  177. homeassistant-stubs/components/deako/__init__.pyi +2 -0
  178. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +2 -3
  179. homeassistant-stubs/components/deconz/binary_sensor.pyi +10 -1
  180. homeassistant-stubs/components/deconz/config_flow.pyi +1 -1
  181. homeassistant-stubs/components/deconz/device_trigger.pyi +4 -0
  182. homeassistant-stubs/components/deconz/entity.pyi +6 -2
  183. homeassistant-stubs/components/deconz/light.pyi +1 -1
  184. homeassistant-stubs/components/deconz/number.pyi +3 -1
  185. homeassistant-stubs/components/demo/alarm_control_panel.pyi +2 -1
  186. homeassistant-stubs/components/demo/update.pyi +5 -2
  187. homeassistant-stubs/components/derivative/sensor.pyi +1 -4
  188. homeassistant-stubs/components/device_automation/__init__.pyi +2 -0
  189. homeassistant-stubs/components/device_tracker/config_entry.pyi +0 -10
  190. homeassistant-stubs/components/device_tracker/legacy.pyi +0 -2
  191. homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -0
  192. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +2 -2
  193. homeassistant-stubs/components/devolo_home_network/__init__.pyi +4 -2
  194. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +2 -2
  195. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +4 -1
  196. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +13 -0
  197. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +4 -3
  198. homeassistant-stubs/components/devolo_home_network/entity.pyi +8 -3
  199. homeassistant-stubs/components/devolo_home_network/image.pyi +2 -2
  200. homeassistant-stubs/components/devolo_home_network/sensor.pyi +9 -10
  201. homeassistant-stubs/components/devolo_home_network/switch.pyi +6 -6
  202. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -3
  203. homeassistant-stubs/components/diagnostics/util.pyi +1 -1
  204. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  205. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -2
  206. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -0
  207. homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -1
  208. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -3
  209. homeassistant-stubs/components/doorbird/config_flow.pyi +1 -1
  210. homeassistant-stubs/components/doorbird/device.pyi +0 -6
  211. homeassistant-stubs/components/doorbird/models.pyi +1 -0
  212. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +1 -2
  213. homeassistant-stubs/components/dsmr/__init__.pyi +1 -0
  214. homeassistant-stubs/components/duotecno/entity.pyi +1 -1
  215. homeassistant-stubs/components/ecovacs/__init__.pyi +1 -0
  216. homeassistant-stubs/components/ecowitt/__init__.pyi +2 -0
  217. homeassistant-stubs/components/efergy/__init__.pyi +2 -0
  218. homeassistant-stubs/components/electric_kiwi/config_flow.pyi +1 -4
  219. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  220. homeassistant-stubs/components/elgato/__init__.pyi +1 -0
  221. homeassistant-stubs/components/elkm1/__init__.pyi +1 -0
  222. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -3
  223. homeassistant-stubs/components/elkm1/config_flow.pyi +3 -1
  224. homeassistant-stubs/components/energy/data.pyi +1 -0
  225. homeassistant-stubs/components/energy/types.pyi +2 -0
  226. homeassistant-stubs/components/energy/websocket_api.pyi +3 -0
  227. homeassistant-stubs/components/enigma2/__init__.pyi +1 -0
  228. homeassistant-stubs/components/enigma2/config_flow.pyi +0 -2
  229. homeassistant-stubs/components/enigma2/media_player.pyi +1 -6
  230. homeassistant-stubs/components/enphase_envoy/__init__.pyi +3 -1
  231. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +4 -6
  232. homeassistant-stubs/components/enphase_envoy/const.pyi +2 -0
  233. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +1 -0
  234. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +5 -6
  235. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -1
  236. homeassistant-stubs/components/esphome/config_flow.pyi +6 -5
  237. homeassistant-stubs/components/esphome/entity.pyi +3 -3
  238. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  239. homeassistant-stubs/components/esphome/enum_mapper.pyi +1 -1
  240. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +7 -3
  241. homeassistant-stubs/components/esphome/update.pyi +3 -1
  242. homeassistant-stubs/components/event/__init__.pyi +0 -3
  243. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  244. homeassistant-stubs/components/evohome/climate.pyi +2 -3
  245. homeassistant-stubs/components/evohome/entity.pyi +1 -1
  246. homeassistant-stubs/components/fan/__init__.pyi +0 -8
  247. homeassistant-stubs/components/fastdotcom/__init__.pyi +1 -1
  248. homeassistant-stubs/components/feedreader/__init__.pyi +1 -0
  249. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -3
  250. homeassistant-stubs/components/feedreader/event.pyi +1 -0
  251. homeassistant-stubs/components/filesize/__init__.pyi +1 -0
  252. homeassistant-stubs/components/fitbit/api.pyi +1 -1
  253. homeassistant-stubs/components/fitbit/config_flow.pyi +1 -2
  254. homeassistant-stubs/components/flexit_bacnet/sensor.pyi +2 -1
  255. homeassistant-stubs/components/flux_led/config_flow.pyi +3 -1
  256. homeassistant-stubs/components/forecast_solar/__init__.pyi +1 -0
  257. homeassistant-stubs/components/fritz/config_flow.pyi +5 -5
  258. homeassistant-stubs/components/fritz/update.pyi +1 -1
  259. homeassistant-stubs/components/fritzbox/climate.pyi +1 -0
  260. homeassistant-stubs/components/fritzbox/config_flow.pyi +5 -6
  261. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -0
  262. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +2 -1
  263. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +5 -0
  264. homeassistant-stubs/components/fronius/__init__.pyi +2 -1
  265. homeassistant-stubs/components/fronius/config_flow.pyi +1 -2
  266. homeassistant-stubs/components/fronius/const.pyi +1 -0
  267. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  268. homeassistant-stubs/components/frontend/__init__.pyi +0 -3
  269. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +1 -0
  270. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +1 -2
  271. homeassistant-stubs/components/fully_kiosk/config_flow.pyi +1 -0
  272. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  273. homeassistant-stubs/components/fyta/config_flow.pyi +0 -2
  274. homeassistant-stubs/components/fyta/coordinator.pyi +6 -1
  275. homeassistant-stubs/components/geo_location/__init__.pyi +0 -5
  276. homeassistant-stubs/components/gios/__init__.pyi +1 -0
  277. homeassistant-stubs/components/glances/__init__.pyi +1 -0
  278. homeassistant-stubs/components/glances/config_flow.pyi +1 -2
  279. homeassistant-stubs/components/go2rtc/__init__.pyi +41 -0
  280. homeassistant-stubs/components/go2rtc/config_flow.pyi +7 -0
  281. homeassistant-stubs/components/go2rtc/const.pyi +7 -0
  282. homeassistant-stubs/components/go2rtc/server.pyi +44 -0
  283. homeassistant-stubs/components/goalzero/config_flow.pyi +1 -2
  284. homeassistant-stubs/components/goalzero/coordinator.pyi +1 -0
  285. homeassistant-stubs/components/google/__init__.pyi +1 -1
  286. homeassistant-stubs/components/google/api.pyi +2 -2
  287. homeassistant-stubs/components/google/calendar.pyi +6 -5
  288. homeassistant-stubs/components/google/config_flow.pyi +2 -3
  289. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +1 -2
  290. homeassistant-stubs/components/google_photos/config_flow.pyi +2 -3
  291. homeassistant-stubs/components/google_photos/types.pyi +2 -0
  292. homeassistant-stubs/components/google_sheets/__init__.pyi +1 -0
  293. homeassistant-stubs/components/google_sheets/config_flow.pyi +1 -3
  294. homeassistant-stubs/components/govee_ble/__init__.pyi +11 -0
  295. homeassistant-stubs/components/govee_ble/binary_sensor.pyi +22 -0
  296. homeassistant-stubs/components/govee_ble/config_flow.pyi +16 -0
  297. homeassistant-stubs/components/govee_ble/const.pyi +2 -0
  298. homeassistant-stubs/components/govee_ble/coordinator.pyi +24 -0
  299. homeassistant-stubs/components/govee_ble/device.pyi +4 -0
  300. homeassistant-stubs/components/govee_ble/event.pyi +27 -0
  301. homeassistant-stubs/components/govee_ble/sensor.pyi +25 -0
  302. homeassistant-stubs/components/gpsd/__init__.pyi +2 -0
  303. homeassistant-stubs/components/greeneye_monitor/sensor.pyi +1 -0
  304. homeassistant-stubs/components/group/cover.pyi +2 -2
  305. homeassistant-stubs/components/group/registry.pyi +2 -1
  306. homeassistant-stubs/components/group/sensor.pyi +10 -11
  307. homeassistant-stubs/components/guardian/config_flow.pyi +0 -1
  308. homeassistant-stubs/components/guardian/util.pyi +1 -1
  309. homeassistant-stubs/components/hardkernel/__init__.pyi +2 -1
  310. homeassistant-stubs/components/here_travel_time/config_flow.pyi +4 -5
  311. homeassistant-stubs/components/history_stats/__init__.pyi +1 -0
  312. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -1
  313. homeassistant-stubs/components/history_stats/sensor.pyi +2 -1
  314. homeassistant-stubs/components/holiday/config_flow.pyi +1 -3
  315. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -0
  316. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -1
  317. homeassistant-stubs/components/homeassistant/triggers/time.pyi +7 -1
  318. homeassistant-stubs/components/homeassistant_alerts/coordinator.pyi +2 -1
  319. homeassistant-stubs/components/homeassistant_green/__init__.pyi +2 -1
  320. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +2 -1
  321. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +2 -1
  322. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +2 -1
  323. homeassistant-stubs/components/homeassistant_hardware/util.pyi +2 -1
  324. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +3 -3
  325. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +2 -1
  326. homeassistant-stubs/components/homekit/__init__.pyi +0 -1
  327. homeassistant-stubs/components/homekit/models.pyi +1 -0
  328. homeassistant-stubs/components/homekit/type_covers.pyi +2 -2
  329. homeassistant-stubs/components/homekit/type_security_systems.pyi +2 -2
  330. homeassistant-stubs/components/homekit_controller/alarm_control_panel.pyi +4 -4
  331. homeassistant-stubs/components/homekit_controller/config_flow.pyi +4 -1
  332. homeassistant-stubs/components/homekit_controller/utils.pyi +1 -0
  333. homeassistant-stubs/components/homewizard/__init__.pyi +1 -0
  334. homeassistant-stubs/components/homewizard/config_flow.pyi +1 -2
  335. homeassistant-stubs/components/homewizard/helpers.pyi +1 -1
  336. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  337. homeassistant-stubs/components/homeworks/config_flow.pyi +2 -5
  338. homeassistant-stubs/components/http/ban.pyi +2 -1
  339. homeassistant-stubs/components/http/data_validator.pyi +1 -1
  340. homeassistant-stubs/components/http/decorators.pyi +7 -4
  341. homeassistant-stubs/components/huawei_lte/config_flow.pyi +2 -0
  342. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -0
  343. homeassistant-stubs/components/humidifier/__init__.pyi +0 -10
  344. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  345. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -1
  346. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -3
  347. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -3
  348. homeassistant-stubs/components/husqvarna_automower/entity.pyi +5 -4
  349. homeassistant-stubs/components/husqvarna_automower/number.pyi +8 -8
  350. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +24 -3
  351. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -5
  352. homeassistant-stubs/components/hydrawise/config_flow.pyi +1 -4
  353. homeassistant-stubs/components/hyperion/config_flow.pyi +1 -0
  354. homeassistant-stubs/components/ibeacon/__init__.pyi +1 -0
  355. homeassistant-stubs/components/image/__init__.pyi +7 -6
  356. homeassistant-stubs/components/imap/__init__.pyi +1 -0
  357. homeassistant-stubs/components/imap/config_flow.pyi +1 -2
  358. homeassistant-stubs/components/imgw_pib/__init__.pyi +1 -0
  359. homeassistant-stubs/components/intent/__init__.pyi +5 -0
  360. homeassistant-stubs/components/intent/timers.pyi +1 -2
  361. homeassistant-stubs/components/iotty/__init__.pyi +1 -0
  362. homeassistant-stubs/components/iotty/coordinator.pyi +1 -1
  363. homeassistant-stubs/components/ipp/__init__.pyi +1 -0
  364. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +1 -0
  365. homeassistant-stubs/components/jellyfin/__init__.pyi +2 -2
  366. homeassistant-stubs/components/jellyfin/config_flow.pyi +0 -1
  367. homeassistant-stubs/components/jellyfin/coordinator.pyi +8 -15
  368. homeassistant-stubs/components/jellyfin/entity.pyi +22 -7
  369. homeassistant-stubs/components/jellyfin/media_player.pyi +6 -18
  370. homeassistant-stubs/components/jellyfin/remote.pyi +19 -0
  371. homeassistant-stubs/components/jellyfin/sensor.pyi +10 -8
  372. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -0
  373. homeassistant-stubs/components/jvc_projector/__init__.pyi +1 -0
  374. homeassistant-stubs/components/jvc_projector/config_flow.pyi +1 -2
  375. homeassistant-stubs/components/knocki/__init__.pyi +1 -0
  376. homeassistant-stubs/components/knx/__init__.pyi +0 -1
  377. homeassistant-stubs/components/knx/climate.pyi +2 -0
  378. homeassistant-stubs/components/knx/const.pyi +4 -0
  379. homeassistant-stubs/components/knx/notify.pyi +3 -15
  380. homeassistant-stubs/components/knx/schema.pyi +1 -0
  381. homeassistant-stubs/components/knx/storage/config_store.pyi +2 -2
  382. homeassistant-stubs/components/knx/websocket.pyi +4 -1
  383. homeassistant-stubs/components/kraken/const.pyi +1 -0
  384. homeassistant-stubs/components/lacrosse_view/config_flow.pyi +1 -2
  385. homeassistant-stubs/components/lamarzocco/__init__.pyi +1 -1
  386. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  387. homeassistant-stubs/components/lamarzocco/button.pyi +3 -1
  388. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -2
  389. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -5
  390. homeassistant-stubs/components/lamarzocco/coordinator.pyi +5 -4
  391. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  392. homeassistant-stubs/components/lamarzocco/number.pyi +3 -2
  393. homeassistant-stubs/components/lamarzocco/select.pyi +5 -1
  394. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  395. homeassistant-stubs/components/lamarzocco/switch.pyi +3 -2
  396. homeassistant-stubs/components/lamarzocco/update.pyi +3 -2
  397. homeassistant-stubs/components/lametric/config_flow.pyi +1 -2
  398. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  399. homeassistant-stubs/components/lawn_mower/__init__.pyi +0 -3
  400. homeassistant-stubs/components/lcn/__init__.pyi +2 -2
  401. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -0
  402. homeassistant-stubs/components/lcn/config_flow.pyi +2 -5
  403. homeassistant-stubs/components/lcn/const.pyi +1 -0
  404. homeassistant-stubs/components/lcn/helpers.pyi +4 -0
  405. homeassistant-stubs/components/lcn/sensor.pyi +4 -1
  406. homeassistant-stubs/components/lcn/switch.pyi +24 -1
  407. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  408. homeassistant-stubs/components/lektrico/__init__.pyi +1 -0
  409. homeassistant-stubs/components/lektrico/switch.pyi +31 -0
  410. homeassistant-stubs/components/lidarr/__init__.pyi +4 -2
  411. homeassistant-stubs/components/lidarr/config_flow.pyi +1 -5
  412. homeassistant-stubs/components/lidarr/coordinator.pyi +4 -1
  413. homeassistant-stubs/components/lifx/config_flow.pyi +3 -1
  414. homeassistant-stubs/components/lifx/coordinator.pyi +0 -6
  415. homeassistant-stubs/components/light/__init__.pyi +0 -15
  416. homeassistant-stubs/components/linear_garage_door/config_flow.pyi +1 -2
  417. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +1 -1
  418. homeassistant-stubs/components/linkplay/__init__.pyi +2 -1
  419. homeassistant-stubs/components/linkplay/const.pyi +4 -0
  420. homeassistant-stubs/components/linkplay/media_player.pyi +12 -4
  421. homeassistant-stubs/components/litterrobot/__init__.pyi +1 -0
  422. homeassistant-stubs/components/litterrobot/vacuum.pyi +0 -1
  423. homeassistant-stubs/components/local_todo/__init__.pyi +1 -0
  424. homeassistant-stubs/components/lock/__init__.pyi +0 -10
  425. homeassistant-stubs/components/logbook/models.pyi +0 -7
  426. homeassistant-stubs/components/lookin/coordinator.pyi +1 -1
  427. homeassistant-stubs/components/madvr/__init__.pyi +1 -0
  428. homeassistant-stubs/components/madvr/config_flow.pyi +2 -5
  429. homeassistant-stubs/components/manual/alarm_control_panel.pyi +19 -10
  430. homeassistant-stubs/components/mastodon/__init__.pyi +1 -0
  431. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -0
  432. homeassistant-stubs/components/matter/api.pyi +1 -1
  433. homeassistant-stubs/components/matter/climate.pyi +1 -0
  434. homeassistant-stubs/components/matter/config_flow.pyi +3 -1
  435. homeassistant-stubs/components/matter/entity.pyi +2 -2
  436. homeassistant-stubs/components/matter/fan.pyi +1 -0
  437. homeassistant-stubs/components/matter/light.pyi +1 -0
  438. homeassistant-stubs/components/matter/lock.pyi +1 -0
  439. homeassistant-stubs/components/matter/models.pyi +2 -0
  440. homeassistant-stubs/components/matter/select.pyi +2 -0
  441. homeassistant-stubs/components/matter/switch.pyi +1 -0
  442. homeassistant-stubs/components/matter/update.pyi +1 -0
  443. homeassistant-stubs/components/matter/vacuum.pyi +47 -0
  444. homeassistant-stubs/components/matter/valve.pyi +1 -0
  445. homeassistant-stubs/components/media_player/__init__.pyi +0 -33
  446. homeassistant-stubs/components/mikrotik/__init__.pyi +1 -0
  447. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -1
  448. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  449. homeassistant-stubs/components/modbus/const.pyi +0 -2
  450. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  451. homeassistant-stubs/components/modbus/modbus.pyi +1 -2
  452. homeassistant-stubs/components/modbus/validators.pyi +1 -1
  453. homeassistant-stubs/components/mold_indicator/config_flow.pyi +9 -0
  454. homeassistant-stubs/components/mold_indicator/sensor.pyi +6 -2
  455. homeassistant-stubs/components/monzo/config_flow.pyi +1 -2
  456. homeassistant-stubs/components/mopeka/__init__.pyi +1 -0
  457. homeassistant-stubs/components/mqtt/__init__.pyi +2 -1
  458. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +3 -3
  459. homeassistant-stubs/components/mqtt/client.pyi +4 -0
  460. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -2
  461. homeassistant-stubs/components/mqtt/const.pyi +3 -1
  462. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  463. homeassistant-stubs/components/mqtt/discovery.pyi +26 -9
  464. homeassistant-stubs/components/mqtt/entity.pyi +5 -2
  465. homeassistant-stubs/components/mqtt/models.pyi +11 -0
  466. homeassistant-stubs/components/mqtt/schemas.pyi +15 -7
  467. homeassistant-stubs/components/mqtt/update.pyi +7 -11
  468. homeassistant-stubs/components/mysensors/const.pyi +6 -1
  469. homeassistant-stubs/components/myuplink/__init__.pyi +1 -0
  470. homeassistant-stubs/components/myuplink/config_flow.pyi +1 -2
  471. homeassistant-stubs/components/myuplink/helpers.pyi +6 -0
  472. homeassistant-stubs/components/nam/__init__.pyi +1 -0
  473. homeassistant-stubs/components/nam/config_flow.pyi +4 -7
  474. homeassistant-stubs/components/nanoleaf/__init__.pyi +1 -0
  475. homeassistant-stubs/components/nanoleaf/config_flow.pyi +1 -2
  476. homeassistant-stubs/components/nest/__init__.pyi +1 -1
  477. homeassistant-stubs/components/nest/api.pyi +5 -3
  478. homeassistant-stubs/components/nest/camera.pyi +37 -16
  479. homeassistant-stubs/components/nest/config_flow.pyi +10 -4
  480. homeassistant-stubs/components/nest/const.pyi +2 -1
  481. homeassistant-stubs/components/netatmo/climate.pyi +1 -0
  482. homeassistant-stubs/components/network/websocket.pyi +2 -0
  483. homeassistant-stubs/components/nextdns/__init__.pyi +1 -0
  484. homeassistant-stubs/components/nextdns/config_flow.pyi +1 -2
  485. homeassistant-stubs/components/notify/__init__.pyi +0 -2
  486. homeassistant-stubs/components/notion/config_flow.pyi +1 -3
  487. homeassistant-stubs/components/number/__init__.pyi +0 -8
  488. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  489. homeassistant-stubs/components/onboarding/views.pyi +1 -0
  490. homeassistant-stubs/components/oncue/config_flow.pyi +1 -3
  491. homeassistant-stubs/components/oncue/types.pyi +3 -0
  492. homeassistant-stubs/components/onewire/__init__.pyi +1 -0
  493. homeassistant-stubs/components/onkyo/__init__.pyi +25 -0
  494. homeassistant-stubs/components/onkyo/config_flow.pyi +30 -0
  495. homeassistant-stubs/components/onkyo/const.pyi +68 -0
  496. homeassistant-stubs/components/onkyo/media_player.pyi +24 -26
  497. homeassistant-stubs/components/onkyo/receiver.pyi +23 -3
  498. homeassistant-stubs/components/onkyo/services.pyi +14 -0
  499. homeassistant-stubs/components/openai_conversation/__init__.pyi +19 -0
  500. homeassistant-stubs/components/openai_conversation/config_flow.pyi +30 -0
  501. homeassistant-stubs/components/openai_conversation/const.pyi +14 -0
  502. homeassistant-stubs/components/openai_conversation/conversation.pyi +36 -0
  503. homeassistant-stubs/components/openexchangerates/config_flow.pyi +1 -2
  504. homeassistant-stubs/components/oralb/__init__.pyi +1 -0
  505. homeassistant-stubs/components/otbr/__init__.pyi +1 -0
  506. homeassistant-stubs/components/otbr/config_flow.pyi +2 -1
  507. homeassistant-stubs/components/otbr/silabs_multiprotocol.pyi +1 -1
  508. homeassistant-stubs/components/otbr/util.pyi +1 -1
  509. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +12 -12
  510. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.pyi +0 -3
  511. homeassistant-stubs/components/overkiz/config_flow.pyi +1 -2
  512. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -2
  513. homeassistant-stubs/components/p1_monitor/config_flow.pyi +2 -2
  514. homeassistant-stubs/components/p1_monitor/coordinator.pyi +1 -1
  515. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -1
  516. homeassistant-stubs/components/panel_custom/__init__.pyi +28 -0
  517. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -0
  518. homeassistant-stubs/components/pi_hole/update.pyi +1 -1
  519. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  520. homeassistant-stubs/components/plugwise/__init__.pyi +1 -0
  521. homeassistant-stubs/components/plugwise/config_flow.pyi +8 -6
  522. homeassistant-stubs/components/plugwise/const.pyi +4 -1
  523. homeassistant-stubs/components/plugwise/util.pyi +1 -1
  524. homeassistant-stubs/components/powerwall/config_flow.pyi +0 -1
  525. homeassistant-stubs/components/powerwall/models.pyi +1 -0
  526. homeassistant-stubs/components/private_ble_device/coordinator.pyi +3 -0
  527. homeassistant-stubs/components/prometheus/__init__.pyi +7 -4
  528. homeassistant-stubs/components/proximity/coordinator.pyi +1 -0
  529. homeassistant-stubs/components/purpleair/config_flow.pyi +0 -1
  530. homeassistant-stubs/components/pvoutput/config_flow.pyi +1 -2
  531. homeassistant-stubs/components/qnap_qsw/sensor.pyi +8 -2
  532. homeassistant-stubs/components/radarr/__init__.pyi +1 -0
  533. homeassistant-stubs/components/radarr/config_flow.pyi +1 -3
  534. homeassistant-stubs/components/radio_browser/__init__.pyi +10 -0
  535. homeassistant-stubs/components/radio_browser/config_flow.pyi +8 -0
  536. homeassistant-stubs/components/radio_browser/const.pyi +5 -0
  537. homeassistant-stubs/components/radio_browser/media_source.pyi +28 -0
  538. homeassistant-stubs/components/rainforest_raven/__init__.pyi +3 -5
  539. homeassistant-stubs/components/rainforest_raven/coordinator.pyi +3 -12
  540. homeassistant-stubs/components/rainforest_raven/diagnostics.pyi +2 -4
  541. homeassistant-stubs/components/rainforest_raven/sensor.pyi +4 -5
  542. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  543. homeassistant-stubs/components/rainmachine/switch.pyi +1 -1
  544. homeassistant-stubs/components/rainmachine/update.pyi +7 -1
  545. homeassistant-stubs/components/raspberry_pi/__init__.pyi +2 -1
  546. homeassistant-stubs/components/recorder/core.pyi +2 -6
  547. homeassistant-stubs/components/recorder/migration.pyi +36 -16
  548. homeassistant-stubs/components/recorder/models/state.pyi +0 -7
  549. homeassistant-stubs/components/recorder/queries.pyi +1 -0
  550. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +2 -2
  551. homeassistant-stubs/components/recorder/util.pyi +10 -5
  552. homeassistant-stubs/components/remote/__init__.pyi +0 -4
  553. homeassistant-stubs/components/renault/__init__.pyi +1 -0
  554. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -1
  555. homeassistant-stubs/components/repairs/issue_handler.pyi +1 -1
  556. homeassistant-stubs/components/rfxtrx/cover.pyi +1 -2
  557. homeassistant-stubs/components/rfxtrx/entity.pyi +1 -1
  558. homeassistant-stubs/components/ring/__init__.pyi +1 -0
  559. homeassistant-stubs/components/ring/config_flow.pyi +5 -2
  560. homeassistant-stubs/components/ring/coordinator.pyi +1 -1
  561. homeassistant-stubs/components/ring/entity.pyi +2 -2
  562. homeassistant-stubs/components/roborock/__init__.pyi +1 -0
  563. homeassistant-stubs/components/roborock/config_flow.pyi +1 -2
  564. homeassistant-stubs/components/roborock/coordinator.pyi +0 -5
  565. homeassistant-stubs/components/roku/browse_media.pyi +2 -0
  566. homeassistant-stubs/components/roku/helpers.pyi +5 -2
  567. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -3
  568. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +1 -1
  569. homeassistant-stubs/components/samsungtv/__init__.pyi +2 -2
  570. homeassistant-stubs/components/samsungtv/bridge.pyi +1 -1
  571. homeassistant-stubs/components/samsungtv/config_flow.pyi +2 -2
  572. homeassistant-stubs/components/scrape/__init__.pyi +1 -0
  573. homeassistant-stubs/components/scrape/coordinator.pyi +2 -1
  574. homeassistant-stubs/components/script/__init__.pyi +0 -16
  575. homeassistant-stubs/components/select/__init__.pyi +0 -3
  576. homeassistant-stubs/components/sensibo/__init__.pyi +1 -0
  577. homeassistant-stubs/components/sensibo/config_flow.pyi +5 -2
  578. homeassistant-stubs/components/sensibo/entity.pyi +1 -1
  579. homeassistant-stubs/components/sensibo/update.pyi +1 -1
  580. homeassistant-stubs/components/sensor/__init__.pyi +0 -9
  581. homeassistant-stubs/components/sensor/websocket_api.pyi +3 -0
  582. homeassistant-stubs/components/sensoterra/__init__.pyi +1 -0
  583. homeassistant-stubs/components/senz/__init__.pyi +2 -0
  584. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +2 -2
  585. homeassistant-stubs/components/sfr_box/button.pyi +1 -1
  586. homeassistant-stubs/components/sfr_box/config_flow.pyi +1 -2
  587. homeassistant-stubs/components/sfr_box/coordinator.pyi +1 -1
  588. homeassistant-stubs/components/sfr_box/sensor.pyi +2 -2
  589. homeassistant-stubs/components/shell_command/__init__.pyi +13 -0
  590. homeassistant-stubs/components/shelly/binary_sensor.pyi +1 -1
  591. homeassistant-stubs/components/shelly/button.pyi +1 -1
  592. homeassistant-stubs/components/shelly/config_flow.pyi +1 -3
  593. homeassistant-stubs/components/shelly/const.pyi +1 -1
  594. homeassistant-stubs/components/shelly/coordinator.pyi +2 -4
  595. homeassistant-stubs/components/shelly/light.pyi +13 -2
  596. homeassistant-stubs/components/shelly/number.pyi +1 -1
  597. homeassistant-stubs/components/shelly/select.pyi +1 -1
  598. homeassistant-stubs/components/shelly/sensor.pyi +1 -1
  599. homeassistant-stubs/components/shelly/switch.pyi +10 -1
  600. homeassistant-stubs/components/shelly/text.pyi +1 -1
  601. homeassistant-stubs/components/shelly/update.pyi +2 -2
  602. homeassistant-stubs/components/shelly/utils.pyi +3 -2
  603. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -3
  604. homeassistant-stubs/components/simplisafe/typing.pyi +4 -0
  605. homeassistant-stubs/components/siren/__init__.pyi +0 -3
  606. homeassistant-stubs/components/sleepiq/config_flow.pyi +1 -3
  607. homeassistant-stubs/components/sleepiq/entity.pyi +3 -2
  608. homeassistant-stubs/components/smhi/config_flow.pyi +1 -3
  609. homeassistant-stubs/components/smlight/__init__.pyi +1 -0
  610. homeassistant-stubs/components/smlight/config_flow.pyi +0 -2
  611. homeassistant-stubs/components/smlight/coordinator.pyi +1 -1
  612. homeassistant-stubs/components/smlight/update.pyi +4 -2
  613. homeassistant-stubs/components/solarlog/__init__.pyi +1 -0
  614. homeassistant-stubs/components/solarlog/config_flow.pyi +1 -4
  615. homeassistant-stubs/components/solarlog/coordinator.pyi +6 -0
  616. homeassistant-stubs/components/sonarr/config_flow.pyi +1 -4
  617. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +2 -1
  618. homeassistant-stubs/components/spotify/__init__.pyi +5 -0
  619. homeassistant-stubs/components/spotify/application_credentials.pyi +4 -0
  620. homeassistant-stubs/components/spotify/browse_media.pyi +49 -0
  621. homeassistant-stubs/components/spotify/config_flow.pyi +19 -0
  622. homeassistant-stubs/components/spotify/const.pyi +9 -0
  623. homeassistant-stubs/components/spotify/coordinator.pyi +34 -0
  624. homeassistant-stubs/components/spotify/diagnostics.pyi +5 -0
  625. homeassistant-stubs/components/spotify/entity.pyi +10 -0
  626. homeassistant-stubs/components/spotify/media_player.pyi +82 -0
  627. homeassistant-stubs/components/spotify/models.pyi +12 -0
  628. homeassistant-stubs/components/spotify/sensor.pyi +31 -0
  629. homeassistant-stubs/components/spotify/system_health.pyi +6 -0
  630. homeassistant-stubs/components/spotify/util.pyi +7 -0
  631. homeassistant-stubs/components/squeezebox/__init__.pyi +6 -3
  632. homeassistant-stubs/components/squeezebox/const.pyi +5 -0
  633. homeassistant-stubs/components/squeezebox/coordinator.pyi +15 -3
  634. homeassistant-stubs/components/squeezebox/media_player.pyi +12 -13
  635. homeassistant-stubs/components/ssdp/__init__.pyi +1 -0
  636. homeassistant-stubs/components/statistics/config_flow.pyi +8 -2
  637. homeassistant-stubs/components/statistics/sensor.pyi +20 -22
  638. homeassistant-stubs/components/steamist/config_flow.pyi +3 -1
  639. homeassistant-stubs/components/sun/entity.pyi +1 -0
  640. homeassistant-stubs/components/surepetcare/config_flow.pyi +1 -2
  641. homeassistant-stubs/components/switch/__init__.pyi +0 -2
  642. homeassistant-stubs/components/switch_as_x/__init__.pyi +3 -0
  643. homeassistant-stubs/components/switch_as_x/config_flow.pyi +18 -0
  644. homeassistant-stubs/components/switch_as_x/const.pyi +5 -0
  645. homeassistant-stubs/components/switch_as_x/cover.pyi +18 -0
  646. homeassistant-stubs/components/switch_as_x/entity.pyi +35 -0
  647. homeassistant-stubs/components/switch_as_x/fan.pyi +17 -0
  648. homeassistant-stubs/components/switch_as_x/light.pyi +13 -0
  649. homeassistant-stubs/components/switch_as_x/lock.pyi +17 -0
  650. homeassistant-stubs/components/switch_as_x/siren.pyi +12 -0
  651. homeassistant-stubs/components/switch_as_x/valve.pyi +19 -0
  652. homeassistant-stubs/components/switchbee/entity.pyi +2 -2
  653. homeassistant-stubs/components/switchbee/switch.pyi +2 -1
  654. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  655. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -0
  656. homeassistant-stubs/components/switchbot_cloud/lock.pyi +18 -0
  657. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -0
  658. homeassistant-stubs/components/switcher_kis/button.pyi +2 -5
  659. homeassistant-stubs/components/switcher_kis/climate.pyi +2 -5
  660. homeassistant-stubs/components/switcher_kis/config_flow.pyi +1 -2
  661. homeassistant-stubs/components/switcher_kis/coordinator.pyi +1 -1
  662. homeassistant-stubs/components/switcher_kis/cover.pyi +16 -9
  663. homeassistant-stubs/components/switcher_kis/entity.pyi +9 -0
  664. homeassistant-stubs/components/switcher_kis/light.pyi +44 -0
  665. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -5
  666. homeassistant-stubs/components/switcher_kis/switch.pyi +2 -5
  667. homeassistant-stubs/components/synology_dsm/coordinator.pyi +2 -2
  668. homeassistant-stubs/components/synology_dsm/entity.pyi +2 -1
  669. homeassistant-stubs/components/synology_dsm/update.pyi +1 -1
  670. homeassistant-stubs/components/system_log/__init__.pyi +1 -0
  671. homeassistant-stubs/components/systemmonitor/__init__.pyi +1 -0
  672. homeassistant-stubs/components/tailscale/config_flow.pyi +1 -2
  673. homeassistant-stubs/components/tailwind/config_flow.pyi +1 -2
  674. homeassistant-stubs/components/tailwind/typing.pyi +2 -0
  675. homeassistant-stubs/components/tautulli/__init__.pyi +1 -0
  676. homeassistant-stubs/components/technove/helpers.pyi +1 -1
  677. homeassistant-stubs/components/tedee/__init__.pyi +1 -1
  678. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  679. homeassistant-stubs/components/tedee/config_flow.pyi +2 -5
  680. homeassistant-stubs/components/tedee/coordinator.pyi +5 -5
  681. homeassistant-stubs/components/tedee/lock.pyi +2 -2
  682. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  683. homeassistant-stubs/components/text/__init__.pyi +0 -6
  684. homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +1 -2
  685. homeassistant-stubs/components/thethingsnetwork/sensor.pyi +2 -1
  686. homeassistant-stubs/components/threshold/binary_sensor.pyi +1 -3
  687. homeassistant-stubs/components/tibber/sensor.pyi +1 -0
  688. homeassistant-stubs/components/tile/device_tracker.pyi +3 -6
  689. homeassistant-stubs/components/time/__init__.pyi +0 -4
  690. homeassistant-stubs/components/timer/__init__.pyi +1 -1
  691. homeassistant-stubs/components/tod/binary_sensor.pyi +2 -1
  692. homeassistant-stubs/components/todo/__init__.pyi +0 -2
  693. homeassistant-stubs/components/tplink/__init__.pyi +1 -0
  694. homeassistant-stubs/components/tplink/button.pyi +1 -1
  695. homeassistant-stubs/components/tplink/config_flow.pyi +5 -3
  696. homeassistant-stubs/components/tplink/entity.pyi +4 -4
  697. homeassistant-stubs/components/tplink_omada/__init__.pyi +4 -3
  698. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +3 -5
  699. homeassistant-stubs/components/tplink_omada/const.pyi +11 -0
  700. homeassistant-stubs/components/tplink_omada/coordinator.pyi +1 -1
  701. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +3 -4
  702. homeassistant-stubs/components/tplink_omada/entity.pyi +3 -1
  703. homeassistant-stubs/components/tplink_omada/sensor.pyi +34 -0
  704. homeassistant-stubs/components/tplink_omada/switch.pyi +3 -5
  705. homeassistant-stubs/components/tplink_omada/update.pyi +3 -6
  706. homeassistant-stubs/components/trace/__init__.pyi +5 -25
  707. homeassistant-stubs/components/trace/const.pyi +1 -1
  708. homeassistant-stubs/components/trace/models.pyi +2 -0
  709. homeassistant-stubs/components/trace/util.pyi +17 -0
  710. homeassistant-stubs/components/trace/websocket_api.pyi +1 -1
  711. homeassistant-stubs/components/tractive/__init__.pyi +1 -0
  712. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +2 -2
  713. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -2
  714. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +0 -1
  715. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -2
  716. homeassistant-stubs/components/transmission/__init__.pyi +1 -0
  717. homeassistant-stubs/components/transmission/config_flow.pyi +1 -2
  718. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -2
  719. homeassistant-stubs/components/tts/__init__.pyi +0 -5
  720. homeassistant-stubs/components/tts/const.pyi +1 -0
  721. homeassistant-stubs/components/twentemilieu/__init__.pyi +4 -0
  722. homeassistant-stubs/components/unifi/__init__.pyi +1 -0
  723. homeassistant-stubs/components/unifi/config_flow.pyi +1 -2
  724. homeassistant-stubs/components/unifi/device_tracker.pyi +0 -3
  725. homeassistant-stubs/components/unifi/update.pyi +1 -1
  726. homeassistant-stubs/components/unifiprotect/camera.pyi +3 -2
  727. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -1
  728. homeassistant-stubs/components/unifiprotect/data.pyi +2 -0
  729. homeassistant-stubs/components/update/__init__.pyi +7 -12
  730. homeassistant-stubs/components/update/const.pyi +2 -0
  731. homeassistant-stubs/components/vacuum/__init__.pyi +0 -6
  732. homeassistant-stubs/components/vallox/config_flow.pyi +2 -5
  733. homeassistant-stubs/components/velbus/entity.pyi +1 -1
  734. homeassistant-stubs/components/vlc_telnet/__init__.pyi +1 -0
  735. homeassistant-stubs/components/vlc_telnet/config_flow.pyi +2 -3
  736. homeassistant-stubs/components/vlc_telnet/media_player.pyi +1 -1
  737. homeassistant-stubs/components/wallbox/__init__.pyi +1 -1
  738. homeassistant-stubs/components/wallbox/config_flow.pyi +2 -4
  739. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -3
  740. homeassistant-stubs/components/water_heater/__init__.pyi +0 -9
  741. homeassistant-stubs/components/weather/__init__.pyi +0 -19
  742. homeassistant-stubs/components/webostv/config_flow.pyi +2 -2
  743. homeassistant-stubs/components/webostv/media_player.pyi +1 -1
  744. homeassistant-stubs/components/websocket_api/connection.pyi +3 -0
  745. homeassistant-stubs/components/websocket_api/const.pyi +4 -1
  746. homeassistant-stubs/components/wemo/__init__.pyi +4 -1
  747. homeassistant-stubs/components/wemo/coordinator.pyi +3 -0
  748. homeassistant-stubs/components/withings/__init__.pyi +4 -2
  749. homeassistant-stubs/components/withings/config_flow.pyi +1 -2
  750. homeassistant-stubs/components/withings/coordinator.pyi +7 -2
  751. homeassistant-stubs/components/withings/entity.pyi +14 -2
  752. homeassistant-stubs/components/withings/sensor.pyi +19 -4
  753. homeassistant-stubs/components/wiz/__init__.pyi +1 -0
  754. homeassistant-stubs/components/wled/__init__.pyi +1 -0
  755. homeassistant-stubs/components/wled/helpers.pyi +1 -1
  756. homeassistant-stubs/components/workday/__init__.pyi +13 -0
  757. homeassistant-stubs/components/workday/binary_sensor.pyi +46 -0
  758. homeassistant-stubs/components/workday/config_flow.pyi +33 -0
  759. homeassistant-stubs/components/workday/const.pyi +18 -0
  760. homeassistant-stubs/components/workday/diagnostics.pyi +5 -0
  761. homeassistant-stubs/components/workday/repairs.pyi +28 -0
  762. homeassistant-stubs/components/xiaomi_ble/config_flow.pyi +7 -2
  763. homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +1 -1
  764. homeassistant-stubs/components/xiaomi_ble/types.pyi +2 -0
  765. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +1 -0
  766. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +2 -3
  767. homeassistant-stubs/components/yale_smart_alarm/binary_sensor.pyi +7 -0
  768. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +0 -1
  769. homeassistant-stubs/components/yale_smart_alarm/const.pyi +2 -1
  770. homeassistant-stubs/components/yale_smart_alarm/select.pyi +21 -0
  771. homeassistant-stubs/components/yalexs_ble/__init__.pyi +1 -0
  772. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +6 -2
  773. homeassistant-stubs/components/youtube/config_flow.pyi +1 -2
  774. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  775. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -4
  776. homeassistant-stubs/components/zwave_js/discovery.pyi +2 -1
  777. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +1 -1
  778. homeassistant-stubs/components/zwave_js/light.pyi +8 -6
  779. homeassistant-stubs/components/zwave_js/services.pyi +4 -1
  780. homeassistant-stubs/components/zwave_js/update.pyi +2 -1
  781. homeassistant-stubs/config.pyi +3 -24
  782. homeassistant-stubs/config_entries.pyi +52 -27
  783. homeassistant-stubs/const.pyi +16 -12
  784. homeassistant-stubs/core.pyi +40 -109
  785. homeassistant-stubs/core_config.pyi +108 -0
  786. homeassistant-stubs/data_entry_flow.pyi +22 -18
  787. homeassistant-stubs/helpers/area_registry.pyi +6 -8
  788. homeassistant-stubs/helpers/category_registry.pyi +1 -0
  789. homeassistant-stubs/helpers/check_config.pyi +2 -1
  790. homeassistant-stubs/helpers/collection.pyi +6 -4
  791. homeassistant-stubs/helpers/condition.pyi +1 -0
  792. homeassistant-stubs/helpers/config_entry_flow.pyi +3 -2
  793. homeassistant-stubs/helpers/config_validation.pyi +6 -6
  794. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  795. homeassistant-stubs/helpers/debounce.pyi +1 -1
  796. homeassistant-stubs/helpers/deprecation.pyi +9 -4
  797. homeassistant-stubs/helpers/device_registry.pyi +7 -8
  798. homeassistant-stubs/helpers/discovery_flow.pyi +5 -5
  799. homeassistant-stubs/helpers/dispatcher.pyi +9 -8
  800. homeassistant-stubs/helpers/entity.pyi +2 -31
  801. homeassistant-stubs/helpers/entity_registry.pyi +7 -9
  802. homeassistant-stubs/helpers/event.pyi +2 -1
  803. homeassistant-stubs/helpers/floor_registry.pyi +3 -3
  804. homeassistant-stubs/helpers/frame.pyi +1 -5
  805. homeassistant-stubs/helpers/hassio.pyi +4 -0
  806. homeassistant-stubs/helpers/http.pyi +2 -0
  807. homeassistant-stubs/helpers/intent.pyi +6 -5
  808. homeassistant-stubs/helpers/json.pyi +3 -0
  809. homeassistant-stubs/helpers/label_registry.pyi +3 -3
  810. homeassistant-stubs/helpers/llm.pyi +1 -2
  811. homeassistant-stubs/helpers/network.pyi +1 -0
  812. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +6 -3
  813. homeassistant-stubs/helpers/ratelimit.pyi +1 -1
  814. homeassistant-stubs/helpers/redact.pyi +2 -2
  815. homeassistant-stubs/helpers/registry.pyi +5 -3
  816. homeassistant-stubs/helpers/script.pyi +3 -7
  817. homeassistant-stubs/helpers/selector.pyi +1 -1
  818. homeassistant-stubs/helpers/service.pyi +2 -2
  819. homeassistant-stubs/helpers/service_info/hassio.pyi +11 -0
  820. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -0
  821. homeassistant-stubs/helpers/significant_change.pyi +3 -0
  822. homeassistant-stubs/helpers/singleton.pyi +3 -2
  823. homeassistant-stubs/helpers/storage.pyi +4 -5
  824. homeassistant-stubs/helpers/sun.pyi +2 -0
  825. homeassistant-stubs/helpers/system_info.pyi +1 -0
  826. homeassistant-stubs/helpers/template.pyi +4 -3
  827. homeassistant-stubs/helpers/trace.pyi +3 -3
  828. homeassistant-stubs/helpers/typing.pyi +13 -0
  829. homeassistant-stubs/helpers/update_coordinator.pyi +4 -4
  830. homeassistant-stubs/loader.pyi +5 -21
  831. homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -1
  832. homeassistant-stubs/util/__init__.pyi +1 -1
  833. homeassistant-stubs/util/async_.pyi +2 -2
  834. homeassistant-stubs/util/decorator.pyi +2 -1
  835. homeassistant-stubs/util/dt.pyi +3 -2
  836. homeassistant-stubs/util/enum.pyi +2 -2
  837. homeassistant-stubs/util/hass_dict.pyi +17 -17
  838. homeassistant-stubs/util/json.pyi +3 -0
  839. homeassistant-stubs/util/limited_size_dict.pyi +1 -1
  840. homeassistant-stubs/util/logging.pyi +8 -8
  841. homeassistant-stubs/util/loop.pyi +1 -1
  842. homeassistant-stubs/util/percentage.pyi +2 -2
  843. homeassistant-stubs/util/read_only_dict.pyi +1 -1
  844. homeassistant-stubs/util/signal_type.pyi +3 -3
  845. homeassistant-stubs/util/timeout.pyi +3 -1
  846. homeassistant-stubs/util/variance.pyi +3 -3
  847. homeassistant-stubs/util/yaml/loader.pyi +2 -4
  848. {homeassistant_stubs-2024.10.3.dist-info → homeassistant_stubs-2024.11.0.dist-info}/METADATA +2 -2
  849. {homeassistant_stubs-2024.10.3.dist-info → homeassistant_stubs-2024.11.0.dist-info}/RECORD +851 -772
  850. homeassistant-stubs/components/jellyfin/models.pyi +0 -10
  851. homeassistant-stubs/components/map/__init__.pyi +0 -14
  852. {homeassistant_stubs-2024.10.3.dist-info → homeassistant_stubs-2024.11.0.dist-info}/WHEEL +0 -0
  853. {homeassistant_stubs-2024.10.3.dist-info → homeassistant_stubs-2024.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,16 +1,17 @@
1
1
  from .abbreviations import ABBREVIATIONS as ABBREVIATIONS, DEVICE_ABBREVIATIONS as DEVICE_ABBREVIATIONS, ORIGIN_ABBREVIATIONS as ORIGIN_ABBREVIATIONS
2
2
  from .client import async_subscribe_internal as async_subscribe_internal
3
- from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_ORIGIN as CONF_ORIGIN, CONF_TOPIC as CONF_TOPIC, DOMAIN as DOMAIN, SUPPORTED_COMPONENTS as SUPPORTED_COMPONENTS
4
- from .models import DATA_MQTT as DATA_MQTT, MqttOriginInfo as MqttOriginInfo, ReceiveMessage as ReceiveMessage
5
- from .schemas import MQTT_ORIGIN_INFO_SCHEMA as MQTT_ORIGIN_INFO_SCHEMA
3
+ from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_COMPONENTS as CONF_COMPONENTS, CONF_ORIGIN as CONF_ORIGIN, CONF_TOPIC as CONF_TOPIC, DOMAIN as DOMAIN, SUPPORTED_COMPONENTS as SUPPORTED_COMPONENTS
4
+ from .models import DATA_MQTT as DATA_MQTT, MqttComponentConfig as MqttComponentConfig, MqttOriginInfo as MqttOriginInfo, ReceiveMessage as ReceiveMessage
5
+ from .schemas import DEVICE_DISCOVERY_SCHEMA as DEVICE_DISCOVERY_SCHEMA, MQTT_ORIGIN_INFO_SCHEMA as MQTT_ORIGIN_INFO_SCHEMA, SHARED_OPTIONS as SHARED_OPTIONS
6
6
  from .util import async_forward_entry_setup_and_setup_discovery as async_forward_entry_setup_and_setup_discovery
7
7
  from _typeshed import Incomplete
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from dataclasses import dataclass
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_MQTT as SOURCE_MQTT, signal_discovered_config_entry_removed as signal_discovered_config_entry_removed
9
10
  from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_PLATFORM as CONF_PLATFORM
10
11
  from homeassistant.core import HassJobType as HassJobType, HomeAssistant as HomeAssistant, callback as callback
11
- from homeassistant.data_entry_flow import FlowResultType as FlowResultType
12
+ from homeassistant.helpers import discovery_flow as discovery_flow
12
13
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
13
- from homeassistant.helpers.service_info.mqtt import MqttServiceInfo as MqttServiceInfo
14
+ from homeassistant.helpers.service_info.mqtt import MqttServiceInfo as MqttServiceInfo, ReceivePayloadType as ReceivePayloadType
14
15
  from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
15
16
  from homeassistant.loader import async_get_mqtt as async_get_mqtt
16
17
  from homeassistant.util.json import json_loads_object as json_loads_object
@@ -26,16 +27,32 @@ MQTT_DISCOVERY_UPDATED: SignalTypeFormat[MQTTDiscoveryPayload]
26
27
  MQTT_DISCOVERY_NEW: SignalTypeFormat[MQTTDiscoveryPayload]
27
28
  MQTT_DISCOVERY_DONE: SignalTypeFormat[Any]
28
29
  TOPIC_BASE: str
30
+ CONF_MIGRATE_DISCOVERY: str
31
+ MIGRATE_DISCOVERY_SCHEMA: Incomplete
29
32
 
30
33
  class MQTTDiscoveryPayload(dict[str, Any]):
34
+ device_discovery: bool
35
+ migrate_discovery: bool
31
36
  discovery_data: DiscoveryInfoType
32
37
 
38
+ @dataclass(frozen=True)
39
+ class MQTTIntegrationDiscoveryConfig:
40
+ integration: str
41
+ msg: ReceiveMessage
42
+ def __init__(self, integration, msg) -> None: ...
43
+
44
+ def _async_process_discovery_migration(payload: MQTTDiscoveryPayload) -> bool: ...
33
45
  def clear_discovery_hash(hass: HomeAssistant, discovery_hash: tuple[str, str]) -> None: ...
34
46
  def set_discovery_hash(hass: HomeAssistant, discovery_hash: tuple[str, str]) -> None: ...
47
+ def get_origin_log_string(discovery_payload: MQTTDiscoveryPayload, *, include_url: bool) -> str: ...
48
+ def get_origin_support_url(discovery_payload: MQTTDiscoveryPayload) -> str | None: ...
35
49
  def async_log_discovery_origin_info(message: str, discovery_payload: MQTTDiscoveryPayload, level: int = ...) -> None: ...
36
- def _replace_abbreviations(payload: Any | dict[str, Any], abbreviations: dict[str, str], abbreviations_set: set[str]) -> None: ...
37
- def _replace_all_abbreviations(discovery_payload: Any | dict[str, Any]) -> None: ...
38
- def _replace_topic_base(discovery_payload: dict[str, Any]) -> None: ...
50
+ def _replace_abbreviations(payload: dict[str, Any] | str, abbreviations: dict[str, str], abbreviations_set: set[str]) -> None: ...
51
+ def _replace_all_abbreviations(discovery_payload: dict[str, Any], component_only: bool = False) -> None: ...
52
+ def _replace_topic_base(discovery_payload: MQTTDiscoveryPayload) -> None: ...
53
+ def _generate_device_config(hass: HomeAssistant, object_id: str, node_id: str | None, migrate_discovery: bool = False) -> MQTTDiscoveryPayload: ...
54
+ def _parse_device_payload(hass: HomeAssistant, payload: ReceivePayloadType, object_id: str, node_id: str | None) -> MQTTDiscoveryPayload: ...
39
55
  def _valid_origin_info(discovery_payload: MQTTDiscoveryPayload) -> bool: ...
56
+ def _merge_common_device_options(component_config: MQTTDiscoveryPayload, device_config: dict[str, Any]) -> None: ...
40
57
  async def async_start(hass: HomeAssistant, discovery_topic: str, config_entry: ConfigEntry) -> None: ...
41
58
  async def async_stop(hass: HomeAssistant) -> None: ...
@@ -2,9 +2,9 @@ import abc
2
2
  import voluptuous as vol
3
3
  from . import debug_info as debug_info, subscription as subscription
4
4
  from .client import async_publish as async_publish
5
- from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, AVAILABILITY_ALL as AVAILABILITY_ALL, AVAILABILITY_ANY as AVAILABILITY_ANY, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_SCHEMA as CONF_SCHEMA, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_ENCODING as DEFAULT_ENCODING, DOMAIN as DOMAIN, MQTT_CONNECTION_STATE as MQTT_CONNECTION_STATE
5
+ from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, AVAILABILITY_ALL as AVAILABILITY_ALL, AVAILABILITY_ANY as AVAILABILITY_ANY, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_SCHEMA as CONF_SCHEMA, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_ENCODING as DEFAULT_ENCODING, DOMAIN as DOMAIN, MQTT_CONNECTION_STATE as MQTT_CONNECTION_STATE
6
6
  from .debug_info import log_message as log_message
7
- from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload, MQTT_DISCOVERY_DONE as MQTT_DISCOVERY_DONE, MQTT_DISCOVERY_NEW as MQTT_DISCOVERY_NEW, MQTT_DISCOVERY_UPDATED as MQTT_DISCOVERY_UPDATED, clear_discovery_hash as clear_discovery_hash, set_discovery_hash as set_discovery_hash
7
+ from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload, MQTT_DISCOVERY_DONE as MQTT_DISCOVERY_DONE, MQTT_DISCOVERY_NEW as MQTT_DISCOVERY_NEW, MQTT_DISCOVERY_UPDATED as MQTT_DISCOVERY_UPDATED, clear_discovery_hash as clear_discovery_hash, get_origin_log_string as get_origin_log_string, get_origin_support_url as get_origin_support_url, set_discovery_hash as set_discovery_hash
8
8
  from .models import DATA_MQTT as DATA_MQTT, MessageCallbackType as MessageCallbackType, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
9
9
  from .subscription import EntitySubscription as EntitySubscription, async_prepare_subscribe_topics as async_prepare_subscribe_topics, async_subscribe_topics_internal as async_subscribe_topics_internal, async_unsubscribe_topics as async_unsubscribe_topics
10
10
  from .util import mqtt_config_entry_enabled as mqtt_config_entry_enabled
@@ -89,6 +89,7 @@ class MqttDiscoveryDeviceUpdateMixin(ABC, metaclass=abc.ABCMeta):
89
89
  _config_entry: Incomplete
90
90
  _config_entry_id: Incomplete
91
91
  _skip_device_removal: bool
92
+ _migrate_discovery: Incomplete
92
93
  _remove_discovery_updated: Incomplete
93
94
  _remove_device_updated: Incomplete
94
95
  def __init__(self, hass: HomeAssistant, discovery_data: DiscoveryInfoType, device_id: str | None, config_entry: ConfigEntry, log_name: str) -> None: ...
@@ -107,6 +108,7 @@ class MqttDiscoveryUpdateMixin(Entity):
107
108
  _remove_discovery_updated: Incomplete
108
109
  _removed_from_hass: bool
109
110
  _registry_hooks: Incomplete
111
+ _migrate_discovery: Incomplete
110
112
  def __init__(self, hass: HomeAssistant, discovery_data: DiscoveryInfoType | None, discovery_update: Callable[[MQTTDiscoveryPayload], Coroutine[Any, Any, None]] | None = None) -> None: ...
111
113
  async def async_added_to_hass(self) -> None: ...
112
114
  async def _async_remove_state_and_registry_entry(self) -> None: ...
@@ -157,6 +159,7 @@ class MqttEntity(MqttAttributesMixin, MqttAvailabilityMixin, MqttDiscoveryUpdate
157
159
  _attr_entity_category: Incomplete
158
160
  _attr_entity_registry_enabled_default: Incomplete
159
161
  _attr_icon: Incomplete
162
+ _attr_entity_picture: Incomplete
160
163
  def _setup_common_attributes_from_config(self, config: ConfigType) -> None: ...
161
164
  def _setup_from_config(self, config: ConfigType) -> None: ...
162
165
  @abstractmethod
@@ -7,6 +7,7 @@ from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload
7
7
  from .tag import MQTTTagScanner as MQTTTagScanner
8
8
  from _typeshed import Incomplete
9
9
  from collections import deque
10
+ from collections.abc import Callable
10
11
  from dataclasses import dataclass
11
12
  from enum import StrEnum
12
13
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_NAME as ATTR_NAME, Platform as Platform
@@ -26,6 +27,7 @@ class PayloadSentinel(StrEnum):
26
27
 
27
28
  _LOGGER: Incomplete
28
29
  ATTR_THIS: str
30
+ type PublishPayloadType = str | bytes | int | float | None
29
31
 
30
32
  def convert_outgoing_mqtt_payload(payload: PublishPayloadType) -> PublishPayloadType: ...
31
33
 
@@ -46,6 +48,7 @@ class ReceiveMessage:
46
48
  subscribed_topic: str
47
49
  timestamp: float
48
50
  def __init__(self, topic, payload, qos, retain, subscribed_topic, timestamp) -> None: ...
51
+ type MessageCallbackType = Callable[[ReceiveMessage], None]
49
52
 
50
53
  class SubscriptionDebugInfo(TypedDict):
51
54
  messages: deque[ReceiveMessage]
@@ -128,5 +131,13 @@ class MqttData:
128
131
  tags: dict[str, dict[str, MQTTTagScanner]] = ...
129
132
  def __init__(self, client, config, debug_info_entities=..., debug_info_triggers=..., device_triggers=..., data_config_flow_lock=..., discovery_already_discovered=..., discovery_pending_discovered=..., discovery_registry_hooks=..., discovery_unsubscribe=..., integration_unsubscribe=..., last_discovery=..., platforms_loaded=..., reload_dispatchers=..., reload_handlers=..., reload_schema=..., state_write_requests=..., subscriptions_to_restore=..., tags=...) -> None: ...
130
133
 
134
+ @dataclass(slots=True)
135
+ class MqttComponentConfig:
136
+ component: str
137
+ object_id: str
138
+ node_id: str | None
139
+ discovery_payload: MQTTDiscoveryPayload
140
+ def __init__(self, component, object_id, node_id, discovery_payload) -> None: ...
141
+
131
142
  DATA_MQTT: HassKey[MqttData]
132
143
  DATA_MQTT_AVAILABLE: HassKey[asyncio.Future[bool]]
@@ -1,16 +1,24 @@
1
- from .const import AVAILABILITY_LATEST as AVAILABILITY_LATEST, AVAILABILITY_MODES as AVAILABILITY_MODES, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SUPPORT_URL as CONF_SUPPORT_URL, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE
2
- from .util import valid_subscribe_topic as valid_subscribe_topic
1
+ from .const import AVAILABILITY_LATEST as AVAILABILITY_LATEST, AVAILABILITY_MODES as AVAILABILITY_MODES, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_COMPONENTS as CONF_COMPONENTS, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DEPRECATED_VIA_HUB as CONF_DEPRECATED_VIA_HUB, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_ORIGIN as CONF_ORIGIN, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SUPPORT_URL as CONF_SUPPORT_URL, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, ENTITY_PLATFORMS as ENTITY_PLATFORMS, SUPPORTED_COMPONENTS as SUPPORTED_COMPONENTS
2
+ from .util import valid_publish_topic as valid_publish_topic, valid_qos_schema as valid_qos_schema, valid_subscribe_topic as valid_subscribe_topic
3
3
  from _typeshed import Incomplete
4
- from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_MODEL_ID as CONF_MODEL_ID, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
4
+ from homeassistant.const import CONF_DEVICE as CONF_DEVICE, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ICON as CONF_ICON, CONF_MODEL as CONF_MODEL, CONF_MODEL_ID as CONF_MODEL_ID, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
5
5
  from homeassistant.helpers.entity import ENTITY_CATEGORIES_SCHEMA as ENTITY_CATEGORIES_SCHEMA
6
6
  from homeassistant.helpers.typing import ConfigType as ConfigType
7
+ from typing import Any
7
8
 
8
- MQTT_AVAILABILITY_SINGLE_SCHEMA: Incomplete
9
- MQTT_AVAILABILITY_LIST_SCHEMA: Incomplete
10
- MQTT_AVAILABILITY_SCHEMA: Incomplete
9
+ SHARED_OPTIONS: Incomplete
10
+ MQTT_ORIGIN_INFO_SCHEMA: Incomplete
11
+ _MQTT_AVAILABILITY_SINGLE_SCHEMA: Incomplete
12
+ _MQTT_AVAILABILITY_LIST_SCHEMA: Incomplete
13
+ _MQTT_AVAILABILITY_SCHEMA: Incomplete
11
14
 
12
15
  def validate_device_has_at_least_one_identifier(value: ConfigType) -> ConfigType: ...
13
16
 
14
17
  MQTT_ENTITY_DEVICE_INFO_SCHEMA: Incomplete
15
- MQTT_ORIGIN_INFO_SCHEMA: Incomplete
16
18
  MQTT_ENTITY_COMMON_SCHEMA: Incomplete
19
+ _UNIQUE_ID_SCHEMA: Incomplete
20
+
21
+ def check_unique_id(config: dict[str, Any]) -> dict[str, Any]: ...
22
+
23
+ _COMPONENT_CONFIG_SCHEMA: Incomplete
24
+ DEVICE_DISCOVERY_SCHEMA: Incomplete
@@ -15,11 +15,11 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
15
15
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
16
16
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
17
17
  from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
18
- from typing import Any, TypedDict
18
+ from typing import Any
19
19
 
20
20
  _LOGGER: Incomplete
21
21
  DEFAULT_NAME: str
22
- CONF_ENTITY_PICTURE: str
22
+ CONF_DISPLAY_PRECISION: str
23
23
  CONF_LATEST_VERSION_TEMPLATE: str
24
24
  CONF_LATEST_VERSION_TOPIC: str
25
25
  CONF_PAYLOAD_INSTALL: str
@@ -28,26 +28,19 @@ CONF_RELEASE_URL: str
28
28
  CONF_TITLE: str
29
29
  PLATFORM_SCHEMA_MODERN: Incomplete
30
30
  DISCOVERY_SCHEMA: Incomplete
31
-
32
- class _MqttUpdatePayloadType(TypedDict, total=False):
33
- installed_version: str
34
- latest_version: str
35
- title: str
36
- release_summary: str
37
- release_url: str
38
- entity_picture: str
31
+ MQTT_JSON_UPDATE_SCHEMA: Incomplete
39
32
 
40
33
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
41
34
 
42
35
  class MqttUpdate(MqttEntity, UpdateEntity, RestoreEntity):
43
36
  _default_name = DEFAULT_NAME
44
37
  _entity_id_format: Incomplete
45
- _entity_picture: str | None
46
38
  @property
47
39
  def entity_picture(self) -> str | None: ...
48
40
  @staticmethod
49
41
  def config_schema() -> VolSchemaType: ...
50
42
  _attr_device_class: Incomplete
43
+ _attr_display_precision: Incomplete
51
44
  _attr_release_summary: Incomplete
52
45
  _attr_release_url: Incomplete
53
46
  _attr_title: Incomplete
@@ -55,6 +48,9 @@ class MqttUpdate(MqttEntity, UpdateEntity, RestoreEntity):
55
48
  def _setup_from_config(self, config: ConfigType) -> None: ...
56
49
  _attr_installed_version: Incomplete
57
50
  _attr_latest_version: Incomplete
51
+ _attr_entity_picture: Incomplete
52
+ _attr_update_percentage: Incomplete
53
+ _attr_in_progress: Incomplete
58
54
  def _handle_state_message_received(self, msg: ReceiveMessage) -> None: ...
59
55
  def _handle_latest_version_received(self, msg: ReceiveMessage) -> None: ...
60
56
  def _prepare_subscribe_topics(self) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.const import Platform as Platform
3
- from typing import Final, TypedDict
3
+ from typing import Final, Literal, TypedDict
4
4
 
5
5
  ATTR_DEVICES: Final[str]
6
6
  ATTR_GATEWAY_ID: Final[str]
@@ -13,6 +13,7 @@ CONF_TOPIC_IN_PREFIX: Final[str]
13
13
  CONF_TOPIC_OUT_PREFIX: Final[str]
14
14
  CONF_VERSION: Final[str]
15
15
  CONF_GATEWAY_TYPE: Final[str]
16
+ type ConfGatewayType = Literal['Serial', 'TCP', 'MQTT']
16
17
  CONF_GATEWAY_TYPE_SERIAL: ConfGatewayType
17
18
  CONF_GATEWAY_TYPE_TCP: ConfGatewayType
18
19
  CONF_GATEWAY_TYPE_MQTT: ConfGatewayType
@@ -39,6 +40,10 @@ class NodeDiscoveryInfo(TypedDict):
39
40
  node_id: int
40
41
 
41
42
  SERVICE_SEND_IR_CODE: Final[str]
43
+ type SensorType = str
44
+ type ValueType = str
45
+ type GatewayId = str
46
+ type DevId = tuple[GatewayId, int, int, int]
42
47
  BINARY_SENSOR_TYPES: dict[SensorType, set[ValueType]]
43
48
  CLIMATE_TYPES: dict[SensorType, set[ValueType]]
44
49
  COVER_TYPES: dict[SensorType, set[ValueType]]
@@ -9,6 +9,7 @@ from homeassistant.helpers import aiohttp_client as aiohttp_client, config_entry
9
9
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
10
10
 
11
11
  PLATFORMS: list[Platform]
12
+ type MyUplinkConfigEntry = ConfigEntry[MyUplinkDataCoordinator]
12
13
 
13
14
  async def async_setup_entry(hass: HomeAssistant, config_entry: MyUplinkConfigEntry) -> bool: ...
14
15
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -1,13 +1,12 @@
1
1
  import logging
2
2
  from .const import DOMAIN as DOMAIN, OAUTH2_SCOPES as OAUTH2_SCOPES
3
3
  from collections.abc import Mapping
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult
4
+ from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
5
5
  from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
6
6
  from typing import Any
7
7
 
8
8
  class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
9
9
  DOMAIN = DOMAIN
10
- config_entry_reauth: ConfigEntry | None
11
10
  @property
12
11
  def logger(self) -> logging.Logger: ...
13
12
  @property
@@ -1,7 +1,13 @@
1
+ from _typeshed import Incomplete
1
2
  from homeassistant.components.number import NumberEntityDescription as NumberEntityDescription
2
3
  from homeassistant.components.sensor import SensorEntityDescription as SensorEntityDescription
3
4
  from homeassistant.const import Platform as Platform
4
5
  from myuplink import DevicePoint as DevicePoint
5
6
 
6
7
  def find_matching_platform(device_point: DevicePoint, description: SensorEntityDescription | NumberEntityDescription | None = None) -> Platform: ...
8
+
9
+ WEEKDAYS: Incomplete
10
+ PARAMETER_ID_TO_EXCLUDE_F730: Incomplete
11
+ PARAMETER_ID_TO_INCLUDE_SMO20: Incomplete
12
+
7
13
  def skip_entity(model: str, device_point: DevicePoint) -> bool: ...
@@ -9,6 +9,7 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession as asyn
9
9
 
10
10
  _LOGGER: Incomplete
11
11
  PLATFORMS: Incomplete
12
+ type NAMConfigEntry = ConfigEntry[NAMDataUpdateCoordinator]
12
13
 
13
14
  async def async_setup_entry(hass: HomeAssistant, entry: NAMConfigEntry) -> bool: ...
14
15
  async def async_unload_entry(hass: HomeAssistant, entry: NAMConfigEntry) -> bool: ...
@@ -3,7 +3,7 @@ from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
4
  from dataclasses import dataclass
5
5
  from homeassistant.components import zeroconf as zeroconf
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -24,15 +24,12 @@ async def async_check_credentials(hass: HomeAssistant, host: str, data: dict[str
24
24
 
25
25
  class NAMFlowHandler(ConfigFlow, domain=DOMAIN):
26
26
  VERSION: int
27
- host: Incomplete
28
- entry: Incomplete
29
- _config: Incomplete
30
- def __init__(self) -> None: ...
27
+ _config: NamConfig
28
+ host: str
31
29
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
32
30
  async def async_step_credentials(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
31
  async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
34
32
  async def async_step_confirm_discovery(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
35
33
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
36
34
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
37
- async def async_step_reconfigure(self, _: dict[str, Any] | None = None) -> ConfigFlowResult: ...
38
- async def async_step_reconfigure_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
35
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -10,6 +10,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_send as async_disp
10
10
 
11
11
  _LOGGER: Incomplete
12
12
  PLATFORMS: Incomplete
13
+ type NanoleafConfigEntry = ConfigEntry[NanoleafCoordinator]
13
14
 
14
15
  async def async_setup_entry(hass: HomeAssistant, entry: NanoleafConfigEntry) -> bool: ...
15
16
  async def async_unload_entry(hass: HomeAssistant, entry: NanoleafConfigEntry) -> bool: ...
@@ -3,7 +3,7 @@ from _typeshed import Incomplete
3
3
  from aionanoleaf import Nanoleaf
4
4
  from collections.abc import Mapping
5
5
  from homeassistant.components import ssdp as ssdp, zeroconf as zeroconf
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
7
7
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_TOKEN as CONF_TOKEN
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
9
  from homeassistant.helpers.json import save_json as save_json
@@ -15,7 +15,6 @@ CONFIG_FILE: Final[str]
15
15
  USER_SCHEMA: Final[Incomplete]
16
16
 
17
17
  class NanoleafConfigFlow(ConfigFlow, domain=DOMAIN):
18
- reauth_entry: ConfigEntry | None
19
18
  nanoleaf: Nanoleaf
20
19
  discovery_conf: JsonObjectType
21
20
  device_id: str
@@ -1,6 +1,6 @@
1
1
  import abc
2
2
  from . import api as api
3
- from .const import CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, CONF_SUBSCRIBER_ID_IMPORTED as CONF_SUBSCRIBER_ID_IMPORTED, DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DATA_SDM as DATA_SDM, DATA_SUBSCRIBER as DATA_SUBSCRIBER, DOMAIN as DOMAIN
3
+ from .const import CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, CONF_SUBSCRIBER_ID_IMPORTED as CONF_SUBSCRIBER_ID_IMPORTED, CONF_SUBSCRIPTION_NAME as CONF_SUBSCRIPTION_NAME, DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DATA_SDM as DATA_SDM, DATA_SUBSCRIBER as DATA_SUBSCRIBER, DOMAIN as DOMAIN
4
4
  from .events import EVENT_NAME_MAP as EVENT_NAME_MAP, NEST_EVENT as NEST_EVENT
5
5
  from .media_source import EVENT_MEDIA_API_URL_FORMAT as EVENT_MEDIA_API_URL_FORMAT, EVENT_THUMBNAIL_URL_FORMAT as EVENT_THUMBNAIL_URL_FORMAT, async_get_media_event_store as async_get_media_event_store, async_get_media_source_devices as async_get_media_source_devices, async_get_transcoder as async_get_transcoder
6
6
  from _typeshed import Incomplete
@@ -1,7 +1,8 @@
1
- from .const import API_URL as API_URL, CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, OAUTH2_TOKEN as OAUTH2_TOKEN, SDM_SCOPES as SDM_SCOPES
1
+ from .const import API_URL as API_URL, CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, CONF_SUBSCRIPTION_NAME as CONF_SUBSCRIPTION_NAME, OAUTH2_TOKEN as OAUTH2_TOKEN, SDM_SCOPES as SDM_SCOPES
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp import ClientSession as ClientSession
4
4
  from google.oauth2.credentials import Credentials
5
+ from google_nest_sdm.admin_client import AdminClient
5
6
  from google_nest_sdm.auth import AbstractAuth
6
7
  from google_nest_sdm.google_nest_subscriber import GoogleNestSubscriber
7
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -20,9 +21,10 @@ class AsyncConfigEntryAuth(AbstractAuth):
20
21
 
21
22
  class AccessTokenAuthImpl(AbstractAuth):
22
23
  _access_token: Incomplete
23
- def __init__(self, websession: ClientSession, access_token: str) -> None: ...
24
+ def __init__(self, websession: ClientSession, access_token: str, host: str) -> None: ...
24
25
  async def async_get_access_token(self) -> str: ...
25
26
  async def async_get_creds(self) -> Credentials: ...
26
27
 
27
28
  async def new_subscriber(hass: HomeAssistant, entry: ConfigEntry) -> GoogleNestSubscriber | None: ...
28
- def new_subscriber_with_token(hass: HomeAssistant, access_token: str, project_id: str, subscriber_id: str) -> GoogleNestSubscriber: ...
29
+ def new_subscriber_with_token(hass: HomeAssistant, access_token: str, project_id: str, subscription_name: str) -> GoogleNestSubscriber: ...
30
+ def new_pubsub_admin_client(hass: HomeAssistant, access_token: str, cloud_project_id: str) -> AdminClient: ...
@@ -1,15 +1,17 @@
1
+ import abc
1
2
  import datetime
2
3
  from .const import DATA_DEVICE_MANAGER as DATA_DEVICE_MANAGER, DOMAIN as DOMAIN
3
4
  from .device_info import NestDeviceInfo as NestDeviceInfo
4
5
  from _typeshed import Incomplete
6
+ from abc import ABC, abstractmethod
5
7
  from collections.abc import Callable as Callable
6
- from google_nest_sdm.camera_traits import RtspStream as RtspStream
8
+ from google_nest_sdm.camera_traits import CameraLiveStreamTrait, RtspStream as RtspStream, WebRtcStream as WebRtcStream
7
9
  from google_nest_sdm.device import Device as Device
8
10
  from google_nest_sdm.device_manager import DeviceManager as DeviceManager
9
- from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature, StreamType as StreamType
11
+ from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature, StreamType as StreamType, WebRTCAnswer as WebRTCAnswer, WebRTCClientConfiguration as WebRTCClientConfiguration, WebRTCSendMessage as WebRTCSendMessage
10
12
  from homeassistant.components.stream import CONF_EXTRA_PART_WAIT_TIME as CONF_EXTRA_PART_WAIT_TIME
11
13
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
- from homeassistant.core import HomeAssistant as HomeAssistant
14
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
15
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
14
16
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
15
17
  from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time
@@ -21,34 +23,53 @@ STREAM_EXPIRATION_BUFFER: Incomplete
21
23
 
22
24
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
25
 
24
- class NestCamera(Camera):
26
+ class NestCameraBaseEntity(Camera, ABC, metaclass=abc.ABCMeta):
25
27
  _attr_has_entity_name: bool
26
28
  _attr_name: Incomplete
29
+ _attr_is_streaming: bool
30
+ _attr_supported_features: Incomplete
27
31
  _device: Incomplete
28
32
  _attr_device_info: Incomplete
29
33
  _attr_brand: Incomplete
30
34
  _attr_model: Incomplete
31
- _stream: Incomplete
32
- _create_stream_url_lock: Incomplete
33
- _stream_refresh_unsub: Incomplete
34
- _attr_is_streaming: bool
35
- _attr_supported_features: Incomplete
36
- _rtsp_live_stream_trait: Incomplete
37
35
  _attr_unique_id: Incomplete
36
+ _stream_refresh_unsub: Incomplete
37
+ def __init__(self, device: Device) -> None: ...
38
+ @abstractmethod
39
+ def _stream_expires_at(self) -> datetime.datetime | None: ...
40
+ @abstractmethod
41
+ async def _async_refresh_stream(self) -> None: ...
42
+ def _schedule_stream_refresh(self) -> None: ...
43
+ async def _handle_stream_refresh(self, _: datetime.datetime) -> None: ...
44
+ async def async_added_to_hass(self) -> None: ...
45
+ async def async_will_remove_from_hass(self) -> None: ...
46
+
47
+ class NestRTSPEntity(NestCameraBaseEntity):
48
+ _rtsp_stream: RtspStream | None
49
+ _rtsp_live_stream_trait: CameraLiveStreamTrait
50
+ _create_stream_url_lock: Incomplete
38
51
  def __init__(self, device: Device) -> None: ...
39
52
  @property
40
53
  def use_stream_for_stills(self) -> bool: ...
41
54
  @property
42
- def frontend_stream_type(self) -> StreamType | None: ...
43
- @property
44
55
  def available(self) -> bool: ...
45
56
  async def stream_source(self) -> str | None: ...
46
- def _schedule_stream_refresh(self) -> None: ...
57
+ def _stream_expires_at(self) -> datetime.datetime | None: ...
47
58
  stream: Incomplete
48
- async def _handle_stream_refresh(self, now: datetime.datetime) -> None: ...
59
+ async def _async_refresh_stream(self) -> None: ...
49
60
  async def async_will_remove_from_hass(self) -> None: ...
50
- async def async_added_to_hass(self) -> None: ...
61
+
62
+ class NestWebRTCEntity(NestCameraBaseEntity):
63
+ _webrtc_sessions: Incomplete
64
+ def __init__(self, device: Device) -> None: ...
65
+ @property
66
+ def frontend_stream_type(self) -> StreamType | None: ...
67
+ def _stream_expires_at(self) -> datetime.datetime | None: ...
68
+ async def _async_refresh_stream(self) -> None: ...
51
69
  async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
52
70
  @classmethod
53
71
  def placeholder_image(cls) -> bytes: ...
54
- async def async_handle_web_rtc_offer(self, offer_sdp: str) -> str | None: ...
72
+ async def async_handle_async_webrtc_offer(self, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
73
+ def close_webrtc_session(self, session_id: str) -> None: ...
74
+ def _async_get_webrtc_client_configuration(self) -> WebRTCClientConfiguration: ...
75
+ async def async_will_remove_from_hass(self) -> None: ...
@@ -1,10 +1,11 @@
1
1
  import logging
2
2
  from . import api as api
3
- from .const import CONF_CLOUD_PROJECT_ID as CONF_CLOUD_PROJECT_ID, CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID as CONF_SUBSCRIBER_ID, DATA_NEST_CONFIG as DATA_NEST_CONFIG, DATA_SDM as DATA_SDM, DOMAIN as DOMAIN, OAUTH2_AUTHORIZE as OAUTH2_AUTHORIZE, SDM_SCOPES as SDM_SCOPES
3
+ from .const import CONF_CLOUD_PROJECT_ID as CONF_CLOUD_PROJECT_ID, CONF_PROJECT_ID as CONF_PROJECT_ID, CONF_SUBSCRIBER_ID_IMPORTED as CONF_SUBSCRIBER_ID_IMPORTED, CONF_SUBSCRIPTION_NAME as CONF_SUBSCRIPTION_NAME, CONF_TOPIC_NAME as CONF_TOPIC_NAME, DATA_SDM as DATA_SDM, DOMAIN as DOMAIN, OAUTH2_AUTHORIZE as OAUTH2_AUTHORIZE, SDM_SCOPES as SDM_SCOPES
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Iterable, Mapping
6
+ from google_nest_sdm.admin_client import AdminClient as AdminClient, EligibleSubscriptions as EligibleSubscriptions, EligibleTopics as EligibleTopics
6
7
  from google_nest_sdm.structure import Structure as Structure
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
8
+ from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
8
9
  from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
9
10
  from homeassistant.util import get_random_string as get_random_string
10
11
  from typing import Any
@@ -18,6 +19,7 @@ SDM_API_URL: str
18
19
  PUBSUB_API_URL: str
19
20
  DEVICE_ACCESS_CONSOLE_URL: str
20
21
  DEVICE_ACCESS_CONSOLE_EDIT_URL: str
22
+ CREATE_NEW_SUBSCRIPTION_KEY: str
21
23
  _LOGGER: Incomplete
22
24
 
23
25
  def _generate_subscription_id(cloud_project_id: str) -> str: ...
@@ -28,8 +30,10 @@ class NestFlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain
28
30
  VERSION: int
29
31
  _data: Incomplete
30
32
  _structure_config_title: Incomplete
33
+ _admin_client: Incomplete
34
+ _eligible_topics: Incomplete
35
+ _eligible_subscriptions: Incomplete
31
36
  def __init__(self) -> None: ...
32
- def _async_reauth_entry(self) -> ConfigEntry | None: ...
33
37
  @property
34
38
  def logger(self) -> logging.Logger: ...
35
39
  @property
@@ -43,4 +47,6 @@ class NestFlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain
43
47
  async def async_step_cloud_project(self, user_input: dict | None = None) -> ConfigFlowResult: ...
44
48
  async def async_step_device_project(self, user_input: dict | None = None) -> ConfigFlowResult: ...
45
49
  async def async_step_pubsub(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
46
- async def async_step_finish(self, data: dict[str, Any] | None = None) -> ConfigFlowResult: ...
50
+ async def async_step_pubsub_topic(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
51
+ async def async_step_pubsub_subscription(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
52
+ async def _async_finish(self) -> ConfigFlowResult: ...
@@ -4,10 +4,11 @@ DOMAIN: str
4
4
  DATA_SDM: str
5
5
  DATA_SUBSCRIBER: str
6
6
  DATA_DEVICE_MANAGER: str
7
- DATA_NEST_CONFIG: str
8
7
  WEB_AUTH_DOMAIN = DOMAIN
9
8
  INSTALLED_AUTH_DOMAIN: Incomplete
10
9
  CONF_PROJECT_ID: str
10
+ CONF_TOPIC_NAME: str
11
+ CONF_SUBSCRIPTION_NAME: str
11
12
  CONF_SUBSCRIBER_ID: str
12
13
  CONF_SUBSCRIBER_ID_IMPORTED: str
13
14
  CONF_CLOUD_PROJECT_ID: str
@@ -42,6 +42,7 @@ class NetatmoThermostat(NetatmoRoomEntity, ClimateEntity):
42
42
  _attr_supported_features = SUPPORT_FLAGS
43
43
  _attr_target_temperature_step = PRECISION_HALVES
44
44
  _attr_temperature_unit: Incomplete
45
+ _attr_translation_key: str
45
46
  _attr_name: Incomplete
46
47
  _away: bool | None
47
48
  _connected: bool | None
@@ -3,8 +3,10 @@ from .network import async_get_network as async_get_network
3
3
  from homeassistant.components import websocket_api as websocket_api
4
4
  from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
6
7
  from typing import Any
7
8
 
8
9
  def async_register_websocket_commands(hass: HomeAssistant) -> None: ...
9
10
  async def websocket_network_adapters(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
10
11
  async def websocket_network_adapters_configure(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
12
+ def websocket_network_url(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -10,6 +10,7 @@ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFai
10
10
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
11
11
  from nextdns import AnalyticsDnssec as AnalyticsDnssec, AnalyticsEncryption as AnalyticsEncryption, AnalyticsIpVersions as AnalyticsIpVersions, AnalyticsProtocols as AnalyticsProtocols, AnalyticsStatus as AnalyticsStatus, ConnectionStatus as ConnectionStatus, Settings as Settings
12
12
 
13
+ type NextDnsConfigEntry = ConfigEntry[NextDnsData]
13
14
  @dataclass
14
15
  class NextDnsData:
15
16
  connection: NextDnsUpdateCoordinator[ConnectionStatus]
@@ -1,7 +1,7 @@
1
1
  from .const import CONF_PROFILE_ID as CONF_PROFILE_ID, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
5
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_PROFILE_NAME as CONF_PROFILE_NAME
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -16,7 +16,6 @@ class NextDnsFlowHandler(ConfigFlow, domain=DOMAIN):
16
16
  VERSION: int
17
17
  nextdns: Incomplete
18
18
  api_key: Incomplete
19
- entry: Incomplete
20
19
  def __init__(self) -> None: ...
21
20
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
21
  async def async_step_profiles(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -3,7 +3,6 @@ from .legacy import BaseNotificationService as BaseNotificationService, async_re
3
3
  from .repairs import migrate_notify_issue as migrate_notify_issue
4
4
  from _typeshed import Incomplete
5
5
  from enum import IntFlag
6
- from functools import cached_property as cached_property
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, STATE_UNAVAILABLE as STATE_UNAVAILABLE
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
@@ -40,7 +39,6 @@ class NotifyEntity(RestoreEntity):
40
39
  _attr_device_class: None
41
40
  _attr_state: None
42
41
  __last_notified_isoformat: str | None
43
- @cached_property
44
42
  def state(self) -> str | None: ...
45
43
  def __set_state(self, state: str | None) -> None: ...
46
44
  async def async_internal_added_to_hass(self) -> None: ...
@@ -3,7 +3,7 @@ from .util import async_get_client_with_credentials as async_get_client_with_cre
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
5
  from dataclasses import dataclass
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
7
7
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from typing import Any
@@ -22,8 +22,6 @@ async def async_validate_credentials(hass: HomeAssistant, username: str, passwor
22
22
 
23
23
  class NotionFlowHandler(ConfigFlow, domain=DOMAIN):
24
24
  VERSION: int
25
- _reauth_entry: Incomplete
26
- def __init__(self) -> None: ...
27
25
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
28
26
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
27
  async def async_step_user(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...