homeassistant-stubs 2024.4.4__py3-none-any.whl → 2024.5.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. homeassistant-stubs/auth/__init__.pyi +3 -1
  2. homeassistant-stubs/auth/jwt_wrapper.pyi +1 -1
  3. homeassistant-stubs/auth/permissions/__init__.pyi +1 -2
  4. homeassistant-stubs/auth/permissions/events.pyi +3 -2
  5. homeassistant-stubs/auth/session.pyi +46 -0
  6. homeassistant-stubs/backports/enum.pyi +6 -2
  7. homeassistant-stubs/backports/functools.pyi +5 -15
  8. homeassistant-stubs/block_async_io.pyi +8 -1
  9. homeassistant-stubs/bootstrap.pyi +7 -1
  10. homeassistant-stubs/components/accuweather/__init__.pyi +9 -13
  11. homeassistant-stubs/components/accuweather/config_flow.pyi +2 -10
  12. homeassistant-stubs/components/accuweather/const.pyi +2 -2
  13. homeassistant-stubs/components/accuweather/coordinator.pyi +27 -0
  14. homeassistant-stubs/components/accuweather/diagnostics.pyi +1 -1
  15. homeassistant-stubs/components/accuweather/sensor.pyi +29 -8
  16. homeassistant-stubs/components/accuweather/weather.pyi +9 -5
  17. homeassistant-stubs/components/adax/climate.pyi +3 -1
  18. homeassistant-stubs/components/adguard/__init__.pyi +9 -1
  19. homeassistant-stubs/components/adguard/const.pyi +0 -2
  20. homeassistant-stubs/components/adguard/entity.pyi +4 -3
  21. homeassistant-stubs/components/adguard/sensor.pyi +3 -3
  22. homeassistant-stubs/components/adguard/switch.pyi +3 -3
  23. homeassistant-stubs/components/airtouch5/config_flow.pyi +3 -3
  24. homeassistant-stubs/components/airzone_cloud/entity.pyi +7 -0
  25. homeassistant-stubs/components/airzone_cloud/select.pyi +38 -0
  26. homeassistant-stubs/components/airzone_cloud/water_heater.pyi +35 -0
  27. homeassistant-stubs/components/alert/__init__.pyi +2 -2
  28. homeassistant-stubs/components/alexa/config.pyi +2 -0
  29. homeassistant-stubs/components/alexa/entities.pyi +0 -2
  30. homeassistant-stubs/components/alexa/intent.pyi +2 -1
  31. homeassistant-stubs/components/alexa/resources.pyi +3 -3
  32. homeassistant-stubs/components/alexa/state_report.pyi +3 -4
  33. homeassistant-stubs/components/ambient_network/__init__.pyi +10 -0
  34. homeassistant-stubs/components/ambient_network/config_flow.pyi +22 -0
  35. homeassistant-stubs/components/ambient_network/const.pyi +12 -0
  36. homeassistant-stubs/components/ambient_network/coordinator.pyi +18 -0
  37. homeassistant-stubs/components/ambient_network/entity.pyi +20 -0
  38. homeassistant-stubs/components/ambient_network/helper.pyi +4 -0
  39. homeassistant-stubs/components/ambient_network/sensor.pyi +46 -0
  40. homeassistant-stubs/components/ambient_station/sensor.pyi +3 -1
  41. homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -2
  42. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -0
  43. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -0
  44. homeassistant-stubs/components/api/__init__.pyi +2 -2
  45. homeassistant-stubs/components/apple_tv/remote.pyi +1 -1
  46. homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +5 -4
  47. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  48. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  49. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +5 -3
  50. homeassistant-stubs/components/auth/__init__.pyi +9 -2
  51. homeassistant-stubs/components/auth/login_flow.pyi +2 -2
  52. homeassistant-stubs/components/auth/mfa_setup_flow.pyi +1 -1
  53. homeassistant-stubs/components/automation/__init__.pyi +7 -9
  54. homeassistant-stubs/components/automation/logbook.pyi +3 -1
  55. homeassistant-stubs/components/axis/hub/event_source.pyi +23 -0
  56. homeassistant-stubs/components/axis/hub/hub.pyi +4 -9
  57. homeassistant-stubs/components/baf/fan.pyi +1 -0
  58. homeassistant-stubs/components/bayesian/binary_sensor.pyi +2 -2
  59. homeassistant-stubs/components/bluetooth/config_flow.pyi +6 -0
  60. homeassistant-stubs/components/bluetooth/diagnostics.pyi +1 -1
  61. homeassistant-stubs/components/bluetooth/util.pyi +2 -1
  62. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +2 -1
  63. homeassistant-stubs/components/bmw_connected_drive/const.pyi +1 -0
  64. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +4 -3
  65. homeassistant-stubs/components/camera/__init__.pyi +2 -2
  66. homeassistant-stubs/components/cloud/__init__.pyi +9 -4
  67. homeassistant-stubs/components/cloud/alexa_config.pyi +2 -2
  68. homeassistant-stubs/components/cloud/const.pyi +2 -1
  69. homeassistant-stubs/components/cloud/google_config.pyi +3 -3
  70. homeassistant-stubs/components/cloud/http_api.pyi +2 -2
  71. homeassistant-stubs/components/cloud/prefs.pyi +5 -3
  72. homeassistant-stubs/components/cloud/stt.pyi +1 -0
  73. homeassistant-stubs/components/cloud/tts.pyi +1 -0
  74. homeassistant-stubs/components/cloud/util.pyi +7 -0
  75. homeassistant-stubs/components/command_line/binary_sensor.pyi +4 -4
  76. homeassistant-stubs/components/command_line/const.pyi +4 -1
  77. homeassistant-stubs/components/command_line/cover.pyi +3 -3
  78. homeassistant-stubs/components/command_line/sensor.pyi +4 -5
  79. homeassistant-stubs/components/command_line/switch.pyi +3 -3
  80. homeassistant-stubs/components/config/__init__.pyi +1 -1
  81. homeassistant-stubs/components/deconz/binary_sensor.pyi +0 -1
  82. homeassistant-stubs/components/demo/notify.pyi +12 -10
  83. homeassistant-stubs/components/demo/sensor.pyi +1 -1
  84. homeassistant-stubs/components/derivative/sensor.pyi +2 -2
  85. homeassistant-stubs/components/device_tracker/config_entry.pyi +1 -1
  86. homeassistant-stubs/components/device_tracker/legacy.pyi +2 -1
  87. homeassistant-stubs/components/dhcp/__init__.pyi +2 -2
  88. homeassistant-stubs/components/dlna_dms/dms.pyi +2 -1
  89. homeassistant-stubs/components/ecovacs/event.pyi +1 -0
  90. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  91. homeassistant-stubs/components/ecovacs/util.pyi +5 -1
  92. homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -0
  93. homeassistant-stubs/components/emulated_hue/config.pyi +2 -2
  94. homeassistant-stubs/components/emulated_hue/hue_api.pyi +2 -2
  95. homeassistant-stubs/components/energenie_power_sockets/__init__.pyi +12 -0
  96. homeassistant-stubs/components/energenie_power_sockets/config_flow.pyi +6 -0
  97. homeassistant-stubs/components/energenie_power_sockets/const.pyi +5 -0
  98. homeassistant-stubs/components/energenie_power_sockets/switch.pyi +27 -0
  99. homeassistant-stubs/components/energy/data.pyi +1 -0
  100. homeassistant-stubs/components/energy/sensor.pyi +4 -4
  101. homeassistant-stubs/components/energy/websocket_api.pyi +1 -1
  102. homeassistant-stubs/components/enigma2/__init__.pyi +11 -0
  103. homeassistant-stubs/components/enigma2/config_flow.pyi +17 -0
  104. homeassistant-stubs/components/enigma2/const.pyi +1 -0
  105. homeassistant-stubs/components/enigma2/media_player.pyi +9 -6
  106. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +1 -0
  107. homeassistant-stubs/components/eq3btsmart/__init__.pyi +18 -0
  108. homeassistant-stubs/components/eq3btsmart/climate.pyi +55 -0
  109. homeassistant-stubs/components/eq3btsmart/config_flow.pyi +17 -0
  110. homeassistant-stubs/components/eq3btsmart/const.pyi +38 -0
  111. homeassistant-stubs/components/eq3btsmart/entity.pyi +10 -0
  112. homeassistant-stubs/components/eq3btsmart/models.pyi +20 -0
  113. homeassistant-stubs/components/eq3btsmart/schemas.pyi +6 -0
  114. homeassistant-stubs/components/esphome/datetime.pyi +14 -0
  115. homeassistant-stubs/components/esphome/entry_data.pyi +4 -5
  116. homeassistant-stubs/components/esphome/event.pyi +16 -0
  117. homeassistant-stubs/components/esphome/manager.pyi +5 -4
  118. homeassistant-stubs/components/esphome/update.pyi +0 -1
  119. homeassistant-stubs/components/esphome/valve.pyi +30 -0
  120. homeassistant-stubs/components/esphome/voice_assistant.pyi +24 -8
  121. homeassistant-stubs/components/filter/sensor.pyi +2 -2
  122. homeassistant-stubs/components/fritz/__init__.pyi +2 -2
  123. homeassistant-stubs/components/fritz/button.pyi +16 -3
  124. homeassistant-stubs/components/fritz/common.pyi +6 -3
  125. homeassistant-stubs/components/fritz/config_flow.pyi +7 -2
  126. homeassistant-stubs/components/fritz/const.pyi +5 -1
  127. homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
  128. homeassistant-stubs/components/fritzbox/config_flow.pyi +2 -0
  129. homeassistant-stubs/components/fritzbox/coordinator.pyi +4 -2
  130. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +4 -2
  131. homeassistant-stubs/components/generic_thermostat/climate.pyi +2 -2
  132. homeassistant-stubs/components/geo_location/trigger.pyi +2 -2
  133. homeassistant-stubs/components/glances/coordinator.pyi +1 -0
  134. homeassistant-stubs/components/glances/sensor.pyi +6 -5
  135. homeassistant-stubs/components/group/entity.pyi +9 -13
  136. homeassistant-stubs/components/group/event.pyi +2 -2
  137. homeassistant-stubs/components/group/media_player.pyi +2 -2
  138. homeassistant-stubs/components/group/notify.pyi +2 -1
  139. homeassistant-stubs/components/group/registry.pyi +7 -4
  140. homeassistant-stubs/components/history/websocket_api.pyi +6 -6
  141. homeassistant-stubs/components/history_stats/coordinator.pyi +2 -2
  142. homeassistant-stubs/components/history_stats/data.pyi +1 -2
  143. homeassistant-stubs/components/homeassistant/logbook.pyi +5 -3
  144. homeassistant-stubs/components/homeassistant/triggers/numeric_state.pyi +2 -2
  145. homeassistant-stubs/components/homeassistant/triggers/state.pyi +2 -2
  146. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -2
  147. homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +3 -1
  148. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +7 -9
  149. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +60 -6
  150. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +8 -0
  151. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +23 -2
  152. homeassistant-stubs/components/homekit/accessories.pyi +2 -2
  153. homeassistant-stubs/components/homekit/type_cameras.pyi +3 -2
  154. homeassistant-stubs/components/homekit/type_covers.pyi +2 -2
  155. homeassistant-stubs/components/homekit/type_humidifiers.pyi +2 -2
  156. homeassistant-stubs/components/homekit/type_thermostats.pyi +2 -2
  157. homeassistant-stubs/components/homekit/util.pyi +3 -4
  158. homeassistant-stubs/components/homeworks/__init__.pyi +7 -2
  159. homeassistant-stubs/components/homeworks/button.pyi +1 -1
  160. homeassistant-stubs/components/http/__init__.pyi +11 -7
  161. homeassistant-stubs/components/http/auth.pyi +11 -3
  162. homeassistant-stubs/components/http/const.pyi +7 -0
  163. homeassistant-stubs/components/http/session.pyi +29 -0
  164. homeassistant-stubs/components/hydrawise/__init__.pyi +3 -6
  165. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -4
  166. homeassistant-stubs/components/hydrawise/config_flow.pyi +8 -9
  167. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  168. homeassistant-stubs/components/hydrawise/switch.pyi +2 -5
  169. homeassistant-stubs/components/image/__init__.pyi +2 -2
  170. homeassistant-stubs/components/imap/__init__.pyi +20 -4
  171. homeassistant-stubs/components/imap/config_flow.pyi +2 -1
  172. homeassistant-stubs/components/imap/const.pyi +5 -2
  173. homeassistant-stubs/components/imap/coordinator.pyi +5 -2
  174. homeassistant-stubs/components/integration/sensor.pyi +12 -13
  175. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +1 -3
  176. homeassistant-stubs/components/islamic_prayer_times/coordinator.pyi +2 -2
  177. homeassistant-stubs/components/isy994/helpers.pyi +1 -1
  178. homeassistant-stubs/components/jvc_projector/select.pyi +30 -0
  179. homeassistant-stubs/components/knx/expose.pyi +2 -2
  180. homeassistant-stubs/components/knx/helpers/__init__.pyi +0 -0
  181. homeassistant-stubs/components/knx/notify.pyi +16 -3
  182. homeassistant-stubs/components/knx/repairs.pyi +7 -0
  183. homeassistant-stubs/components/logbook/__init__.pyi +1 -0
  184. homeassistant-stubs/components/logbook/helpers.pyi +5 -4
  185. homeassistant-stubs/components/logbook/models.pyi +4 -3
  186. homeassistant-stubs/components/logbook/processor.pyi +3 -2
  187. homeassistant-stubs/components/logger/helpers.pyi +4 -1
  188. homeassistant-stubs/components/media_extractor/__init__.pyi +4 -4
  189. homeassistant-stubs/components/media_extractor/const.pyi +5 -0
  190. homeassistant-stubs/components/min_max/sensor.pyi +2 -2
  191. homeassistant-stubs/components/minecraft_server/sensor.pyi +2 -2
  192. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  193. homeassistant-stubs/components/modbus/base_platform.pyi +1 -1
  194. homeassistant-stubs/components/modbus/climate.pyi +9 -3
  195. homeassistant-stubs/components/modbus/const.pyi +7 -0
  196. homeassistant-stubs/components/modbus/modbus.pyi +1 -0
  197. homeassistant-stubs/components/modbus/validators.pyi +2 -1
  198. homeassistant-stubs/components/mqtt/__init__.pyi +1 -2
  199. homeassistant-stubs/components/mqtt/client.pyi +30 -9
  200. homeassistant-stubs/components/mqtt/config_flow.pyi +9 -1
  201. homeassistant-stubs/components/mqtt/mixins.pyi +7 -4
  202. homeassistant-stubs/components/mqtt/models.pyi +1 -1
  203. homeassistant-stubs/components/mqtt/notify.pyi +31 -0
  204. homeassistant-stubs/components/netatmo/__init__.pyi +2 -0
  205. homeassistant-stubs/components/netatmo/binary_sensor.pyi +20 -0
  206. homeassistant-stubs/components/netatmo/camera.pyi +8 -11
  207. homeassistant-stubs/components/netatmo/climate.pyi +11 -19
  208. homeassistant-stubs/components/netatmo/cover.pyi +5 -7
  209. homeassistant-stubs/components/netatmo/entity.pyi +40 -10
  210. homeassistant-stubs/components/netatmo/fan.pyi +5 -8
  211. homeassistant-stubs/components/netatmo/light.pyi +11 -19
  212. homeassistant-stubs/components/netatmo/select.pyi +4 -7
  213. homeassistant-stubs/components/netatmo/sensor.pyi +36 -49
  214. homeassistant-stubs/components/netatmo/switch.pyi +5 -7
  215. homeassistant-stubs/components/nextdns/__init__.pyi +1 -38
  216. homeassistant-stubs/components/nextdns/binary_sensor.pyi +1 -1
  217. homeassistant-stubs/components/nextdns/button.pyi +1 -1
  218. homeassistant-stubs/components/nextdns/coordinator.pyi +42 -0
  219. homeassistant-stubs/components/nextdns/sensor.pyi +1 -1
  220. homeassistant-stubs/components/nextdns/switch.pyi +1 -1
  221. homeassistant-stubs/components/nfandroidtv/notify.pyi +2 -1
  222. homeassistant-stubs/components/notify/__init__.pyi +31 -2
  223. homeassistant-stubs/components/notify/const.pyi +2 -0
  224. homeassistant-stubs/components/number/const.pyi +1 -0
  225. homeassistant-stubs/components/number/significant_change.pyi +1 -1
  226. homeassistant-stubs/components/oncue/__init__.pyi +2 -1
  227. homeassistant-stubs/components/oncue/config_flow.pyi +7 -1
  228. homeassistant-stubs/components/open_meteo/weather.pyi +2 -1
  229. homeassistant-stubs/components/prometheus/__init__.pyi +1 -2
  230. homeassistant-stubs/components/proximity/__init__.pyi +1 -1
  231. homeassistant-stubs/components/proximity/coordinator.pyi +2 -2
  232. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  233. homeassistant-stubs/components/rabbitair/config_flow.pyi +4 -4
  234. homeassistant-stubs/components/recorder/__init__.pyi +1 -0
  235. homeassistant-stubs/components/recorder/auto_repairs/states/__init__.pyi +0 -0
  236. homeassistant-stubs/components/recorder/core.pyi +6 -5
  237. homeassistant-stubs/components/recorder/db_schema.pyi +3 -3
  238. homeassistant-stubs/components/recorder/history/__init__.pyi +5 -6
  239. homeassistant-stubs/components/recorder/history/legacy.pyi +7 -7
  240. homeassistant-stubs/components/recorder/history/modern.pyi +7 -7
  241. homeassistant-stubs/components/recorder/models/event.pyi +4 -1
  242. homeassistant-stubs/components/recorder/pool.pyi +1 -1
  243. homeassistant-stubs/components/recorder/services.pyi +1 -0
  244. homeassistant-stubs/components/recorder/statistics.pyi +4 -4
  245. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +4 -3
  246. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +5 -3
  247. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +3 -3
  248. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +2 -2
  249. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +3 -3
  250. homeassistant-stubs/components/recorder/tasks.pyi +2 -1
  251. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  252. homeassistant-stubs/components/rest/__init__.pyi +2 -2
  253. homeassistant-stubs/components/rest/const.pyi +1 -0
  254. homeassistant-stubs/components/rest/data.pyi +1 -0
  255. homeassistant-stubs/components/rest/schema.pyi +1 -1
  256. homeassistant-stubs/components/rfxtrx/__init__.pyi +1 -1
  257. homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -2
  258. homeassistant-stubs/components/ring/__init__.pyi +25 -0
  259. homeassistant-stubs/components/ring/binary_sensor.pyi +35 -0
  260. homeassistant-stubs/components/ring/button.pyi +20 -0
  261. homeassistant-stubs/components/ring/camera.pyi +43 -0
  262. homeassistant-stubs/components/ring/config_flow.pyi +26 -0
  263. homeassistant-stubs/components/ring/const.pyi +12 -0
  264. homeassistant-stubs/components/ring/coordinator.pyi +25 -0
  265. homeassistant-stubs/components/ring/diagnostics.pyi +11 -0
  266. homeassistant-stubs/components/ring/entity.pyi +33 -0
  267. homeassistant-stubs/components/ring/light.pyi +34 -0
  268. homeassistant-stubs/components/ring/sensor.pyi +39 -0
  269. homeassistant-stubs/components/ring/siren.pyi +23 -0
  270. homeassistant-stubs/components/ring/switch.pyi +31 -0
  271. homeassistant-stubs/components/romy/binary_sensor.pyi +19 -0
  272. homeassistant-stubs/components/romy/config_flow.pyi +7 -7
  273. homeassistant-stubs/components/romy/sensor.pyi +20 -0
  274. homeassistant-stubs/components/sensor/__init__.pyi +1 -1
  275. homeassistant-stubs/components/sensor/significant_change.pyi +1 -1
  276. homeassistant-stubs/components/shelly/__init__.pyi +2 -4
  277. homeassistant-stubs/components/shelly/coordinator.pyi +8 -7
  278. homeassistant-stubs/components/starlink/coordinator.pyi +1 -0
  279. homeassistant-stubs/components/statistics/sensor.pyi +2 -2
  280. homeassistant-stubs/components/switch/light.pyi +2 -2
  281. homeassistant-stubs/components/synology_dsm/__init__.pyi +2 -2
  282. homeassistant-stubs/components/synology_dsm/camera.pyi +3 -2
  283. homeassistant-stubs/components/synology_dsm/common.pyi +6 -2
  284. homeassistant-stubs/components/synology_dsm/coordinator.pyi +4 -4
  285. homeassistant-stubs/components/synology_dsm/diagnostics.pyi +0 -1
  286. homeassistant-stubs/components/system_log/__init__.pyi +3 -3
  287. homeassistant-stubs/components/threshold/binary_sensor.pyi +2 -2
  288. homeassistant-stubs/components/tibber/sensor.pyi +1 -0
  289. homeassistant-stubs/components/tplink/coordinator.pyi +2 -0
  290. homeassistant-stubs/components/tplink/entity.pyi +1 -0
  291. homeassistant-stubs/components/tplink/light.pyi +1 -1
  292. homeassistant-stubs/components/tplink/sensor.pyi +4 -3
  293. homeassistant-stubs/components/tplink_omada/switch.pyi +12 -14
  294. homeassistant-stubs/components/trend/binary_sensor.pyi +2 -2
  295. homeassistant-stubs/components/unifi/__init__.pyi +2 -0
  296. homeassistant-stubs/components/unifi/button.pyi +2 -1
  297. homeassistant-stubs/components/unifi/hub/entity_helper.pyi +44 -0
  298. homeassistant-stubs/components/unifi/hub/hub.pyi +8 -13
  299. homeassistant-stubs/components/unifi/sensor.pyi +2 -1
  300. homeassistant-stubs/components/velbus/cover.pyi +2 -0
  301. homeassistant-stubs/components/weather/significant_change.pyi +1 -1
  302. homeassistant-stubs/components/websocket_api/commands.pyi +2 -2
  303. homeassistant-stubs/components/websocket_api/messages.pyi +1 -2
  304. homeassistant-stubs/components/websocket_api/sensor.pyi +3 -7
  305. homeassistant-stubs/components/withings/__init__.pyi +2 -8
  306. homeassistant-stubs/components/withings/config_flow.pyi +1 -1
  307. homeassistant-stubs/components/withings/const.pyi +0 -2
  308. homeassistant-stubs/components/zone/__init__.pyi +8 -10
  309. homeassistant-stubs/components/zone/trigger.pyi +2 -2
  310. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -1
  311. homeassistant-stubs/config.pyi +1 -1
  312. homeassistant-stubs/config_entries.pyi +32 -29
  313. homeassistant-stubs/const.pyi +11 -6
  314. homeassistant-stubs/core.pyi +56 -24
  315. homeassistant-stubs/data_entry_flow.pyi +3 -3
  316. homeassistant-stubs/exceptions.pyi +4 -2
  317. homeassistant-stubs/helpers/aiohttp_client.pyi +1 -0
  318. homeassistant-stubs/helpers/area_registry.pyi +28 -6
  319. homeassistant-stubs/helpers/backports/__init__.pyi +0 -0
  320. homeassistant-stubs/helpers/backports/aiohttp_resolver.pyi +21 -0
  321. homeassistant-stubs/helpers/category_registry.pyi +16 -6
  322. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  323. homeassistant-stubs/helpers/deprecation.pyi +5 -0
  324. homeassistant-stubs/helpers/device_registry.pyi +25 -12
  325. homeassistant-stubs/helpers/dispatcher.pyi +1 -1
  326. homeassistant-stubs/helpers/entity.pyi +6 -3
  327. homeassistant-stubs/helpers/entity_registry.pyi +24 -16
  328. homeassistant-stubs/helpers/event.pyi +10 -17
  329. homeassistant-stubs/helpers/floor_registry.pyi +14 -3
  330. homeassistant-stubs/helpers/frame.pyi +2 -2
  331. homeassistant-stubs/helpers/httpx_client.pyi +1 -1
  332. homeassistant-stubs/helpers/icon.pyi +3 -2
  333. homeassistant-stubs/helpers/intent.pyi +1 -2
  334. homeassistant-stubs/helpers/label_registry.pyi +14 -3
  335. homeassistant-stubs/helpers/network.pyi +2 -2
  336. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +4 -6
  337. homeassistant-stubs/helpers/registry.pyi +19 -4
  338. homeassistant-stubs/helpers/reload.pyi +1 -1
  339. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +2 -2
  340. homeassistant-stubs/helpers/service.pyi +4 -1
  341. homeassistant-stubs/helpers/significant_change.pyi +4 -4
  342. homeassistant-stubs/helpers/start.pyi +3 -1
  343. homeassistant-stubs/helpers/template.pyi +6 -3
  344. homeassistant-stubs/helpers/translation.pyi +5 -9
  345. homeassistant-stubs/helpers/typing.pyi +11 -7
  346. homeassistant-stubs/requirements.pyi +2 -0
  347. homeassistant-stubs/setup.pyi +1 -0
  348. homeassistant-stubs/util/async_.pyi +1 -6
  349. homeassistant-stubs/util/dt.pyi +5 -4
  350. homeassistant-stubs/util/event_type.pyi +14 -0
  351. homeassistant-stubs/util/logging.pyi +3 -4
  352. homeassistant-stubs/util/loop.pyi +15 -0
  353. homeassistant-stubs/util/signal_type.pyi +1 -1
  354. homeassistant-stubs/util/timeout.pyi +6 -6
  355. homeassistant-stubs/util/yaml/loader.pyi +3 -4
  356. homeassistant-stubs/util/yaml/objects.pyi +12 -2
  357. {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/METADATA +2 -2
  358. {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/RECORD +360 -303
  359. {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/LICENSE +0 -0
  360. {homeassistant_stubs-2024.4.4.dist-info → homeassistant_stubs-2024.5.0b0.dist-info}/WHEEL +0 -0
@@ -1,4 +1,4 @@
1
- from .const import CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_DEVICE_NAME as DEFAULT_DEVICE_NAME, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, MeshRoles as MeshRoles, SERVICE_CLEANUP as SERVICE_CLEANUP, SERVICE_REBOOT as SERVICE_REBOOT, SERVICE_RECONNECT as SERVICE_RECONNECT, SERVICE_SET_GUEST_WIFI_PW as SERVICE_SET_GUEST_WIFI_PW
1
+ from .const import CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_DEVICE_NAME as DEFAULT_DEVICE_NAME, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_SSL as DEFAULT_SSL, DEFAULT_USERNAME as DEFAULT_USERNAME, DOMAIN as DOMAIN, FRITZ_EXCEPTIONS as FRITZ_EXCEPTIONS, MeshRoles as MeshRoles, SERVICE_CLEANUP as SERVICE_CLEANUP, SERVICE_REBOOT as SERVICE_REBOOT, SERVICE_RECONNECT as SERVICE_RECONNECT, SERVICE_SET_GUEST_WIFI_PW as SERVICE_SET_GUEST_WIFI_PW
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable, ValuesView
4
4
  from dataclasses import dataclass
@@ -72,6 +72,7 @@ class FritzBoxTools(update_coordinator.DataUpdateCoordinator[UpdateCoordinatorDa
72
72
  password: Incomplete
73
73
  port: Incomplete
74
74
  username: Incomplete
75
+ use_tls: Incomplete
75
76
  has_call_deflections: bool
76
77
  _model: Incomplete
77
78
  _current_firmware: Incomplete
@@ -79,7 +80,7 @@ class FritzBoxTools(update_coordinator.DataUpdateCoordinator[UpdateCoordinatorDa
79
80
  _update_available: bool
80
81
  _release_url: Incomplete
81
82
  _entity_update_functions: Incomplete
82
- def __init__(self, hass: HomeAssistant, password: str, username: str = ..., host: str = ..., port: int = ...) -> None: ...
83
+ def __init__(self, hass: HomeAssistant, password: str, port: int, username: str = ..., host: str = ..., use_tls: bool = ...) -> None: ...
83
84
  async def async_setup(self, options: MappingProxyType[str, Any] | None = None) -> None: ...
84
85
  def setup(self) -> None: ...
85
86
  async def async_register_entity_updates(self, key: str, update_fn: Callable[[FritzStatus, StateType], Any]) -> Callable[[], None]: ...
@@ -134,12 +135,14 @@ class AvmWrapper(FritzBoxTools):
134
135
  async def async_set_deflection_enable(self, index: int, turn_on: bool) -> dict[str, Any]: ...
135
136
  async def async_add_port_mapping(self, con_type: str, port_mapping: Any) -> dict[str, Any]: ...
136
137
  async def async_set_allow_wan_access(self, ip_address: str, turn_on: bool) -> dict[str, Any]: ...
138
+ async def async_wake_on_lan(self, mac_address: str) -> dict[str, Any]: ...
137
139
 
138
140
  @dataclass
139
141
  class FritzData:
140
142
  tracked: dict = ...
141
143
  profile_switches: dict = ...
142
- def __init__(self, tracked, profile_switches) -> None: ...
144
+ wol_buttons: dict = ...
145
+ def __init__(self, tracked, profile_switches, wol_buttons) -> None: ...
143
146
 
144
147
  class FritzDeviceBase(update_coordinator.CoordinatorEntity[AvmWrapper]):
145
148
  _avm_wrapper: Incomplete
@@ -1,10 +1,10 @@
1
- from .const import CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, ERROR_AUTH_INVALID as ERROR_AUTH_INVALID, ERROR_CANNOT_CONNECT as ERROR_CANNOT_CONNECT, ERROR_UNKNOWN as ERROR_UNKNOWN, ERROR_UPNP_NOT_CONFIGURED as ERROR_UPNP_NOT_CONFIGURED, FRITZ_AUTH_EXCEPTIONS as FRITZ_AUTH_EXCEPTIONS
1
+ from .const import CONF_OLD_DISCOVERY as CONF_OLD_DISCOVERY, DEFAULT_CONF_OLD_DISCOVERY as DEFAULT_CONF_OLD_DISCOVERY, DEFAULT_HOST as DEFAULT_HOST, DEFAULT_HTTPS_PORT as DEFAULT_HTTPS_PORT, DEFAULT_HTTP_PORT as DEFAULT_HTTP_PORT, DEFAULT_SSL as DEFAULT_SSL, DOMAIN as DOMAIN, ERROR_AUTH_INVALID as ERROR_AUTH_INVALID, ERROR_CANNOT_CONNECT as ERROR_CANNOT_CONNECT, ERROR_UNKNOWN as ERROR_UNKNOWN, ERROR_UPNP_NOT_CONFIGURED as ERROR_UPNP_NOT_CONFIGURED, FRITZ_AUTH_EXCEPTIONS as FRITZ_AUTH_EXCEPTIONS
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
4
  from homeassistant.components import ssdp as ssdp
5
5
  from homeassistant.components.device_tracker import CONF_CONSIDER_HOME as CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME as DEFAULT_CONSIDER_HOME
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
7
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
7
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME
8
8
  from homeassistant.core import callback as callback
9
9
  from typing import Any
10
10
  from urllib.parse import ParseResult as ParseResult
@@ -19,6 +19,7 @@ class FritzBoxToolsFlowHandler(ConfigFlow, domain=DOMAIN):
19
19
  _entry: Incomplete
20
20
  _name: str
21
21
  _password: str
22
+ _use_tls: bool
22
23
  _port: Incomplete
23
24
  _username: str
24
25
  _model: str
@@ -26,6 +27,7 @@ class FritzBoxToolsFlowHandler(ConfigFlow, domain=DOMAIN):
26
27
  def fritz_tools_init(self) -> str | None: ...
27
28
  async def async_check_configured_entry(self) -> ConfigEntry | None: ...
28
29
  def _async_create_entry(self) -> ConfigFlowResult: ...
30
+ def _determine_port(self, user_input: dict[str, Any]) -> int: ...
29
31
  async def async_step_ssdp(self, discovery_info: ssdp.SsdpServiceInfo) -> ConfigFlowResult: ...
30
32
  async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
33
  def _show_setup_form_init(self, errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
@@ -34,6 +36,9 @@ class FritzBoxToolsFlowHandler(ConfigFlow, domain=DOMAIN):
34
36
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
35
37
  def _show_setup_form_reauth_confirm(self, user_input: dict[str, Any], errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
36
38
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
39
+ async def async_step_reconfigure(self, _: Mapping[str, Any]) -> ConfigFlowResult: ...
40
+ def _show_setup_form_reconfigure_confirm(self, user_input: dict[str, Any], errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
41
+ async def async_step_reconfigure_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
37
42
 
38
43
  class FritzBoxToolsOptionsFlowHandler(OptionsFlowWithConfigEntry):
39
44
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -16,8 +16,10 @@ DATA_FRITZ: str
16
16
  DSL_CONNECTION: Literal['dsl']
17
17
  DEFAULT_DEVICE_NAME: str
18
18
  DEFAULT_HOST: str
19
- DEFAULT_PORT: int
19
+ DEFAULT_HTTP_PORT: int
20
+ DEFAULT_HTTPS_PORT: int
20
21
  DEFAULT_USERNAME: str
22
+ DEFAULT_SSL: bool
21
23
  ERROR_AUTH_INVALID: str
22
24
  ERROR_CANNOT_CONNECT: str
23
25
  ERROR_UPNP_NOT_CONFIGURED: str
@@ -31,7 +33,9 @@ SWITCH_TYPE_DEFLECTION: str
31
33
  SWITCH_TYPE_PORTFORWARD: str
32
34
  SWITCH_TYPE_PROFILE: str
33
35
  SWITCH_TYPE_WIFINETWORK: str
36
+ BUTTON_TYPE_WOL: str
34
37
  UPTIME_DEVIATION: int
35
38
  FRITZ_EXCEPTIONS: Incomplete
36
39
  FRITZ_AUTH_EXCEPTIONS: Incomplete
37
40
  WIFI_STANDARD: Incomplete
41
+ CONNECTION_TYPE_LAN: str
@@ -1,6 +1,6 @@
1
1
  from . import FritzBoxDeviceEntity as FritzBoxDeviceEntity
2
2
  from .common import get_coordinator as get_coordinator
3
- from .const import ATTR_STATE_BATTERY_LOW as ATTR_STATE_BATTERY_LOW, ATTR_STATE_HOLIDAY_MODE as ATTR_STATE_HOLIDAY_MODE, ATTR_STATE_SUMMER_MODE as ATTR_STATE_SUMMER_MODE, ATTR_STATE_WINDOW_OPEN as ATTR_STATE_WINDOW_OPEN
3
+ from .const import ATTR_STATE_BATTERY_LOW as ATTR_STATE_BATTERY_LOW, ATTR_STATE_HOLIDAY_MODE as ATTR_STATE_HOLIDAY_MODE, ATTR_STATE_SUMMER_MODE as ATTR_STATE_SUMMER_MODE, ATTR_STATE_WINDOW_OPEN as ATTR_STATE_WINDOW_OPEN, LOGGER as LOGGER
4
4
  from .model import ClimateExtraAttributes as ClimateExtraAttributes
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO
@@ -29,3 +29,5 @@ class FritzboxConfigFlow(ConfigFlow, domain=DOMAIN):
29
29
  async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
30
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
31
31
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
32
+ async def async_step_reconfigure(self, _: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
+ async def async_step_reconfigure_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -15,13 +15,15 @@ class FritzboxCoordinatorData:
15
15
  def __init__(self, devices, templates) -> None: ...
16
16
 
17
17
  class FritzboxDataUpdateCoordinator(DataUpdateCoordinator[FritzboxCoordinatorData]):
18
+ config_entry: ConfigEntry
18
19
  configuration_url: str
19
- entry: Incomplete
20
20
  fritz: Incomplete
21
21
  has_templates: Incomplete
22
22
  new_devices: Incomplete
23
23
  new_templates: Incomplete
24
24
  data: Incomplete
25
- def __init__(self, hass: HomeAssistant, entry: ConfigEntry, has_templates: bool) -> None: ...
25
+ def __init__(self, hass: HomeAssistant, name: str, has_templates: bool) -> None: ...
26
+ async def async_setup(self) -> None: ...
27
+ def cleanup_removed_devices(self, available_ains: list[str]) -> None: ...
26
28
  def _update_fritz_devices(self) -> FritzboxCoordinatorData: ...
27
29
  async def _async_update_data(self) -> FritzboxCoordinatorData: ...
@@ -4,10 +4,10 @@ from collections.abc import Callable as Callable
4
4
  from datetime import datetime, timedelta
5
5
  from homeassistant.components.humidifier import ATTR_HUMIDITY as ATTR_HUMIDITY, HumidifierAction as HumidifierAction, HumidifierDeviceClass as HumidifierDeviceClass, HumidifierEntity as HumidifierEntity, HumidifierEntityFeature as HumidifierEntityFeature, MODE_AWAY as MODE_AWAY, MODE_NORMAL as MODE_NORMAL, PLATFORM_SCHEMA as PLATFORM_SCHEMA
6
6
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_MODE as ATTR_MODE, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
7
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
7
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback
8
8
  from homeassistant.helpers import condition as condition
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
- from homeassistant.helpers.event import async_track_state_change as async_track_state_change, async_track_time_interval as async_track_time_interval
10
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event, async_track_time_interval as async_track_time_interval
11
11
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
13
13
  from typing import Any
@@ -70,8 +70,10 @@ class GenericHygrostat(HumidifierEntity, RestoreEntity):
70
70
  def min_humidity(self) -> float: ...
71
71
  @property
72
72
  def max_humidity(self) -> float: ...
73
+ async def _async_sensor_changed_event(self, event: Event[EventStateChangedData]) -> None: ...
73
74
  async def _async_sensor_changed(self, entity_id: str, old_state: State | None, new_state: State | None) -> None: ...
74
75
  async def _async_sensor_not_responding(self, now: datetime | None = None) -> None: ...
76
+ def _async_switch_changed_event(self, event: Event[EventStateChangedData]) -> None: ...
75
77
  def _async_switch_changed(self, entity_id: str, old_state: State | None, new_state: State | None) -> None: ...
76
78
  async def _async_update_humidity(self, humidity: str) -> None: ...
77
79
  async def _async_operate(self, time: datetime | None = None, force: bool = False) -> None: ...
@@ -3,11 +3,11 @@ from _typeshed import Incomplete
3
3
  from datetime import datetime, timedelta
4
4
  from homeassistant.components.climate import ATTR_PRESET_MODE as ATTR_PRESET_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PLATFORM_SCHEMA as PLATFORM_SCHEMA, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP
5
5
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
6
- from homeassistant.core import CoreState as CoreState, Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
6
+ from homeassistant.core import CoreState as CoreState, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback
7
7
  from homeassistant.exceptions import ConditionError as ConditionError
8
8
  from homeassistant.helpers import condition as condition
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event, async_track_time_interval as async_track_time_interval
10
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event, async_track_time_interval as async_track_time_interval
11
11
  from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
12
12
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
13
13
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
@@ -1,10 +1,10 @@
1
1
  from . import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import CONF_EVENT as CONF_EVENT, CONF_PLATFORM as CONF_PLATFORM, CONF_SOURCE as CONF_SOURCE, CONF_ZONE as CONF_ZONE
4
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
4
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
5
5
  from homeassistant.helpers import condition as condition
6
6
  from homeassistant.helpers.config_validation import entity_domain as entity_domain
7
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, TrackStates as TrackStates, async_track_state_change_filtered as async_track_state_change_filtered
7
+ from homeassistant.helpers.event import TrackStates as TrackStates, async_track_state_change_filtered as async_track_state_change_filtered
8
8
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
10
  from typing import Final
@@ -6,6 +6,7 @@ from homeassistant.const import CONF_HOST as CONF_HOST
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
8
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
+ from homeassistant.util.dt import parse_duration as parse_duration, utcnow as utcnow
9
10
  from typing import Any
10
11
 
11
12
  _LOGGER: Incomplete
@@ -2,10 +2,10 @@ from . import GlancesDataUpdateCoordinator as GlancesDataUpdateCoordinator
2
2
  from .const import CPU_ICON as CPU_ICON, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from dataclasses import dataclass
5
- from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass, StateType as StateType
5
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
- from homeassistant.const import PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfInformation as UnitOfInformation, UnitOfTemperature as UnitOfTemperature
8
- from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.const import PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfDataRate as UnitOfDataRate, UnitOfInformation as UnitOfInformation, UnitOfTemperature as UnitOfTemperature
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
@@ -29,5 +29,6 @@ class GlancesSensor(CoordinatorEntity[GlancesDataUpdateCoordinator], SensorEntit
29
29
  def __init__(self, coordinator: GlancesDataUpdateCoordinator, description: GlancesSensorEntityDescription, sensor_label: str = '') -> None: ...
30
30
  @property
31
31
  def available(self) -> bool: ...
32
- @property
33
- def native_value(self) -> StateType: ...
32
+ def _handle_coordinator_update(self) -> None: ...
33
+ _attr_native_value: Incomplete
34
+ def _update_native_value(self) -> None: ...
@@ -4,12 +4,12 @@ from .registry import GroupIntegrationRegistry as GroupIntegrationRegistry
4
4
  from _typeshed import Incomplete
5
5
  from abc import abstractmethod
6
6
  from collections.abc import Callable as Callable, Collection, Mapping
7
- from homeassistant.const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_ENTITY_ID as ATTR_ENTITY_ID, STATE_ON as STATE_ON
8
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
7
+ from homeassistant.const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_ENTITY_ID as ATTR_ENTITY_ID, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
8
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
9
9
  from homeassistant.helpers import start as start
10
10
  from homeassistant.helpers.entity import Entity as Entity, async_generate_entity_id as async_generate_entity_id
11
11
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
12
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
12
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
13
13
  from typing import Any
14
14
 
15
15
  ENTITY_ID_FORMAT: Incomplete
@@ -31,12 +31,13 @@ class GroupEntity(Entity, metaclass=abc.ABCMeta):
31
31
  class Group(Entity):
32
32
  _unrecorded_attributes: Incomplete
33
33
  _attr_should_poll: bool
34
+ single_active_domain: str | None
34
35
  tracking: tuple[str, ...]
35
36
  trackable: tuple[str, ...]
36
37
  hass: Incomplete
37
- _name: Incomplete
38
+ _attr_name: Incomplete
38
39
  _state: Incomplete
39
- _icon: Incomplete
40
+ _attr_icon: Incomplete
40
41
  _on_off: Incomplete
41
42
  _assumed: Incomplete
42
43
  _on_states: Incomplete
@@ -50,16 +51,10 @@ class Group(Entity):
50
51
  def async_create_group_entity(hass: HomeAssistant, name: str, *, created_by_service: bool, entity_ids: Collection[str] | None, icon: str | None, mode: bool | None, object_id: str | None, order: int | None) -> Group: ...
51
52
  @staticmethod
52
53
  async def async_create_group(hass: HomeAssistant, name: str, *, created_by_service: bool, entity_ids: Collection[str] | None, icon: str | None, mode: bool | None, object_id: str | None, order: int | None) -> Group: ...
53
- @property
54
- def name(self) -> str: ...
55
- @name.setter
56
- def name(self, value: str) -> None: ...
54
+ def set_name(self, value: str) -> None: ...
57
55
  @property
58
56
  def state(self) -> str | None: ...
59
- @property
60
- def icon(self) -> str | None: ...
61
- @icon.setter
62
- def icon(self, value: str | None) -> None: ...
57
+ def set_icon(self, value: str | None) -> None: ...
63
58
  @property
64
59
  def extra_state_attributes(self) -> dict[str, Any]: ...
65
60
  @property
@@ -76,6 +71,7 @@ class Group(Entity):
76
71
  async def _async_state_changed_listener(self, event: Event[EventStateChangedData]) -> None: ...
77
72
  def _reset_tracked_state(self) -> None: ...
78
73
  def _see_state(self, new_state: State) -> None: ...
74
+ def _detect_specific_on_off_state(self, group_is_on: bool) -> set[str]: ...
79
75
  def _async_update_group_state(self, tr_state: State | None = None) -> None: ...
80
76
 
81
77
  def async_get_component(hass: HomeAssistant) -> EntityComponent[Group]: ...
@@ -3,9 +3,9 @@ from _typeshed import Incomplete
3
3
  from homeassistant.components.event import ATTR_EVENT_TYPE as ATTR_EVENT_TYPE, ATTR_EVENT_TYPES as ATTR_EVENT_TYPES, DOMAIN as DOMAIN, EventEntity as EventEntity, PLATFORM_SCHEMA as PLATFORM_SCHEMA
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
6
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
8
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
10
10
  from typing import Any
11
11
 
@@ -3,9 +3,9 @@ from collections.abc import Callable as Callable, Mapping
3
3
  from homeassistant.components.media_player import ATTR_MEDIA_CONTENT_ID as ATTR_MEDIA_CONTENT_ID, ATTR_MEDIA_CONTENT_TYPE as ATTR_MEDIA_CONTENT_TYPE, ATTR_MEDIA_SEEK_POSITION as ATTR_MEDIA_SEEK_POSITION, ATTR_MEDIA_SHUFFLE as ATTR_MEDIA_SHUFFLE, ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, ATTR_MEDIA_VOLUME_MUTED as ATTR_MEDIA_VOLUME_MUTED, DOMAIN as DOMAIN, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, PLATFORM_SCHEMA as PLATFORM_SCHEMA, SERVICE_CLEAR_PLAYLIST as SERVICE_CLEAR_PLAYLIST, SERVICE_PLAY_MEDIA as SERVICE_PLAY_MEDIA
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PAUSE as SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PREVIOUS_TRACK as SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_MEDIA_SEEK as SERVICE_MEDIA_SEEK, SERVICE_MEDIA_STOP as SERVICE_MEDIA_STOP, SERVICE_SHUFFLE_SET as SERVICE_SHUFFLE_SET, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, SERVICE_VOLUME_MUTE as SERVICE_VOLUME_MUTE, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
6
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
6
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback
7
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
8
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
10
10
  from typing import Any
11
11
 
@@ -1,4 +1,5 @@
1
1
  from _typeshed import Incomplete
2
+ from collections.abc import Mapping
2
3
  from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, ATTR_MESSAGE as ATTR_MESSAGE, BaseNotificationService as BaseNotificationService, DOMAIN as DOMAIN, PLATFORM_SCHEMA as PLATFORM_SCHEMA
3
4
  from homeassistant.const import ATTR_SERVICE as ATTR_SERVICE
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -7,7 +8,7 @@ from typing import Any
7
8
 
8
9
  CONF_SERVICES: str
9
10
 
10
- def add_defaults(input_data: dict[str, Any], default_data: dict[str, Any]) -> dict[str, Any]: ...
11
+ def add_defaults(input_data: dict[str, Any], default_data: Mapping[str, Any]) -> dict[str, Any]: ...
11
12
  async def async_get_service(hass: HomeAssistant, config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> GroupNotifyPlatform: ...
12
13
 
13
14
  class GroupNotifyPlatform(BaseNotificationService):
@@ -1,4 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN, REG_KEY as REG_KEY
2
+ from _typeshed import Incomplete
2
3
  from contextvars import ContextVar
3
4
  from homeassistant.const import STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -15,9 +16,11 @@ class GroupProtocol(Protocol):
15
16
  def _process_group_platform(hass: HomeAssistant, domain: str, platform: GroupProtocol) -> None: ...
16
17
 
17
18
  class GroupIntegrationRegistry:
18
- on_off_mapping: dict[str, str]
19
- off_on_mapping: dict[str, str]
20
- on_states_by_domain: dict[str, set]
21
- exclude_domains: set
19
+ on_off_mapping: Incomplete
20
+ off_on_mapping: Incomplete
21
+ on_states_by_domain: Incomplete
22
+ off_state_by_domain: Incomplete
23
+ exclude_domains: Incomplete
24
+ def __init__(self) -> None: ...
22
25
  def exclude_domain(self) -> None: ...
23
26
  def on_off_states(self, on_states: set, off_state: str) -> None: ...
@@ -2,7 +2,7 @@ import asyncio
2
2
  from .const import EVENT_COALESCE_TIME as EVENT_COALESCE_TIME, MAX_PENDING_HISTORY_STATES as MAX_PENDING_HISTORY_STATES
3
3
  from .helpers import entities_may_have_state_changes_after as entities_may_have_state_changes_after, has_recorder_run_after as has_recorder_run_after
4
4
  from _typeshed import Incomplete
5
- from collections.abc import Callable as Callable, Iterable, MutableMapping
5
+ from collections.abc import Callable as Callable, Iterable
6
6
  from dataclasses import dataclass
7
7
  from datetime import datetime as dt
8
8
  from homeassistant.components import websocket_api as websocket_api
@@ -10,8 +10,8 @@ from homeassistant.components.recorder import get_instance as get_instance, hist
10
10
  from homeassistant.components.websocket_api import messages as messages
11
11
  from homeassistant.components.websocket_api.connection import ActiveConnection as ActiveConnection
12
12
  from homeassistant.const import COMPRESSED_STATE_ATTRIBUTES as COMPRESSED_STATE_ATTRIBUTES, COMPRESSED_STATE_LAST_CHANGED as COMPRESSED_STATE_LAST_CHANGED, COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE
13
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback, is_callback as is_callback, valid_entity_id as valid_entity_id
14
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_point_in_utc_time as async_track_point_in_utc_time, async_track_state_change_event as async_track_state_change_event
13
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback, is_callback as is_callback, valid_entity_id as valid_entity_id
14
+ from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time, async_track_state_change_event as async_track_state_change_event
15
15
  from homeassistant.helpers.json import json_bytes as json_bytes
16
16
  from homeassistant.util.async_ import create_eager_task as create_eager_task
17
17
  from typing import Any
@@ -30,13 +30,13 @@ class HistoryLiveStream:
30
30
  def async_setup(hass: HomeAssistant) -> None: ...
31
31
  def _ws_get_significant_states(hass: HomeAssistant, msg_id: int, start_time: dt, end_time: dt | None, entity_ids: list[str] | None, include_start_time_state: bool, significant_changes_only: bool, minimal_response: bool, no_attributes: bool) -> bytes: ...
32
32
  async def ws_get_history_during_period(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
33
- def _generate_stream_message(states: MutableMapping[str, list[dict[str, Any]]], start_day: dt, end_day: dt) -> dict[str, Any]: ...
33
+ def _generate_stream_message(states: dict[str, list[dict[str, Any]]], start_day: dt, end_day: dt) -> dict[str, Any]: ...
34
34
  def _async_send_empty_response(connection: ActiveConnection, msg_id: int, start_time: dt, end_time: dt | None) -> None: ...
35
- def _generate_websocket_response(msg_id: int, start_time: dt, end_time: dt, states: MutableMapping[str, list[dict[str, Any]]]) -> bytes: ...
35
+ def _generate_websocket_response(msg_id: int, start_time: dt, end_time: dt, states: dict[str, list[dict[str, Any]]]) -> bytes: ...
36
36
  def _generate_historical_response(hass: HomeAssistant, msg_id: int, start_time: dt, end_time: dt, entity_ids: list[str] | None, include_start_time_state: bool, significant_changes_only: bool, minimal_response: bool, no_attributes: bool, send_empty: bool) -> tuple[float, dt | None, bytes | None]: ...
37
37
  async def _async_send_historical_states(hass: HomeAssistant, connection: ActiveConnection, msg_id: int, start_time: dt, end_time: dt, entity_ids: list[str] | None, include_start_time_state: bool, significant_changes_only: bool, minimal_response: bool, no_attributes: bool, send_empty: bool) -> dt | None: ...
38
38
  def _history_compressed_state(state: State, no_attributes: bool) -> dict[str, Any]: ...
39
- def _events_to_compressed_states(events: Iterable[Event], no_attributes: bool) -> MutableMapping[str, list[dict[str, Any]]]: ...
39
+ def _events_to_compressed_states(events: Iterable[Event], no_attributes: bool) -> dict[str, list[dict[str, Any]]]: ...
40
40
  async def _async_events_consumer(subscriptions_setup_complete_time: dt, connection: ActiveConnection, msg_id: int, stream_queue: asyncio.Queue[Event], no_attributes: bool) -> None: ...
41
41
  def _async_subscribe_events(hass: HomeAssistant, subscriptions: list[CALLBACK_TYPE], target: Callable[[Event[Any]], None], entity_ids: list[str], significant_changes_only: bool, minimal_response: bool) -> None: ...
42
42
  async def ws_stream(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,8 +1,8 @@
1
1
  from .data import HistoryStats as HistoryStats, HistoryStatsState as HistoryStatsState
2
2
  from _typeshed import Incomplete
3
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as callback
3
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
4
4
  from homeassistant.exceptions import TemplateError as TemplateError
5
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
5
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
6
6
  from homeassistant.helpers.start import async_at_start as async_at_start
7
7
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
8
  from typing import Any
@@ -3,8 +3,7 @@ from .helpers import async_calculate_period as async_calculate_period, floored_t
3
3
  from _typeshed import Incomplete
4
4
  from dataclasses import dataclass
5
5
  from homeassistant.components.recorder import get_instance as get_instance, history as history
6
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, State as State
7
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData
6
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State
8
7
  from homeassistant.helpers.template import Template as Template
9
8
 
10
9
  MIN_TIME_UTC: Incomplete
@@ -1,10 +1,12 @@
1
1
  from . import DOMAIN as DOMAIN
2
- from _typeshed import Incomplete
3
2
  from collections.abc import Callable as Callable
4
3
  from homeassistant.components.logbook import LOGBOOK_ENTRY_ICON as LOGBOOK_ENTRY_ICON, LOGBOOK_ENTRY_MESSAGE as LOGBOOK_ENTRY_MESSAGE, LOGBOOK_ENTRY_NAME as LOGBOOK_ENTRY_NAME
5
4
  from homeassistant.const import EVENT_HOMEASSISTANT_START as EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
6
5
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.helpers.typing import NoEventData as NoEventData
7
+ from homeassistant.util.event_type import EventType as EventType
8
+ from typing import Any
7
9
 
8
- EVENT_TO_NAME: Incomplete
10
+ EVENT_TO_NAME: dict[EventType[Any] | str, str]
9
11
 
10
- def async_describe_events(hass: HomeAssistant, async_describe_event: Callable[[str, str, Callable[[Event], dict[str, str]]], None]) -> None: ...
12
+ def async_describe_events(hass: HomeAssistant, async_describe_event: Callable[[str, EventType[NoEventData] | str, Callable[[Event], dict[str, str]]], None]) -> None: ...
@@ -2,9 +2,9 @@ from _typeshed import Incomplete
2
2
  from collections.abc import Callable as Callable
3
3
  from homeassistant import exceptions as exceptions
4
4
  from homeassistant.const import CONF_ABOVE as CONF_ABOVE, CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_BELOW as CONF_BELOW, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_PLATFORM as CONF_PLATFORM, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
5
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
5
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
6
6
  from homeassistant.helpers import condition as condition, template as template
7
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_same_state as async_track_same_state, async_track_state_change_event as async_track_state_change_event
7
+ from homeassistant.helpers.event import async_track_same_state as async_track_same_state, async_track_state_change_event as async_track_state_change_event
8
8
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
10
  from typing import Any, TypeVar
@@ -2,9 +2,9 @@ from _typeshed import Incomplete
2
2
  from collections.abc import Callable as Callable
3
3
  from homeassistant import exceptions as exceptions
4
4
  from homeassistant.const import CONF_ATTRIBUTE as CONF_ATTRIBUTE, CONF_FOR as CONF_FOR, CONF_PLATFORM as CONF_PLATFORM, MATCH_ALL as MATCH_ALL
5
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
5
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
6
6
  from homeassistant.helpers import template as template
7
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_same_state as async_track_same_state, async_track_state_change_event as async_track_state_change_event, process_state_match as process_state_match
7
+ from homeassistant.helpers.event import async_track_same_state as async_track_same_state, async_track_state_change_event as async_track_state_change_event, process_state_match as process_state_match
8
8
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
10
 
@@ -1,8 +1,8 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.components import sensor as sensor
3
3
  from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, CONF_AT as CONF_AT, CONF_PLATFORM as CONF_PLATFORM, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
4
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
5
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_point_in_time as async_track_point_in_time, async_track_state_change_event as async_track_state_change_event, async_track_time_change as async_track_time_change
4
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HassJob as HassJob, HomeAssistant as HomeAssistant, State as State, callback as callback
5
+ from homeassistant.helpers.event import async_track_point_in_time as async_track_point_in_time, async_track_state_change_event as async_track_state_change_event, async_track_time_change as async_track_time_change
6
6
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
8
8
 
@@ -6,14 +6,16 @@ from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, c
6
6
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
7
  from homeassistant.helpers.debounce import Debouncer as Debouncer
8
8
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
9
- from homeassistant.helpers.start import async_at_start as async_at_start
9
+ from homeassistant.helpers.start import async_at_started as async_at_started
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
11
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
12
+ from homeassistant.setup import EventComponentLoaded as EventComponentLoaded
12
13
 
13
14
  COMPONENT_LOADED_COOLDOWN: int
14
15
  DOMAIN: str
15
16
  UPDATE_INTERVAL: Incomplete
16
17
  _LOGGER: Incomplete
18
+ REQUEST_TIMEOUT: Incomplete
17
19
  CONFIG_SCHEMA: Incomplete
18
20
 
19
21
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
@@ -1,12 +1,10 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .util import get_hardware_variant as get_hardware_variant, get_usb_service_info as get_usb_service_info
3
- from homeassistant.components import usb as usb
4
- from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import check_multi_pan_addon as check_multi_pan_addon, get_zigbee_socket as get_zigbee_socket, multi_pan_addon_using_device as multi_pan_addon_using_device
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_HARDWARE as SOURCE_HARDWARE
6
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
- from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady, HomeAssistantError as HomeAssistantError
8
- from homeassistant.helpers import discovery_flow as discovery_flow
1
+ from .util import guess_firmware_type as guess_firmware_type
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+
6
+ _LOGGER: Incomplete
9
7
 
10
- async def _async_usb_scan_done(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
11
8
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
9
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -1,21 +1,75 @@
1
- from .const import DOMAIN as DOMAIN, HardwareVariant as HardwareVariant
2
- from .util import get_hardware_variant as get_hardware_variant, get_usb_service_info as get_usb_service_info
1
+ import abc
2
+ from .const import DOCS_WEB_FLASHER_URL as DOCS_WEB_FLASHER_URL, DOMAIN as DOMAIN, HardwareVariant as HardwareVariant, ZHA_DOMAIN as ZHA_DOMAIN
3
+ from .util import get_hardware_variant as get_hardware_variant, get_otbr_addon_manager as get_otbr_addon_manager, get_usb_service_info as get_usb_service_info, get_zha_device_path as get_zha_device_path, get_zigbee_flasher_addon_manager as get_zigbee_flasher_addon_manager
4
+ from _typeshed import Incomplete
5
+ from abc import ABC, abstractmethod
3
6
  from homeassistant.components import usb as usb
7
+ from homeassistant.components.hassio import AddonError as AddonError, AddonInfo as AddonInfo, AddonManager as AddonManager, AddonState as AddonState, is_hassio as is_hassio
4
8
  from homeassistant.components.homeassistant_hardware import silabs_multiprotocol_addon as silabs_multiprotocol_addon
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
9
+ from homeassistant.components.zha.repairs.wrong_silabs_firmware import probe_silabs_firmware_type as probe_silabs_firmware_type
10
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigEntryBaseFlow as ConfigEntryBaseFlow, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry
6
11
  from homeassistant.core import callback as callback
12
+ from homeassistant.data_entry_flow import AbortFlow as AbortFlow
7
13
  from typing import Any
8
14
 
9
- class HomeAssistantSkyConnectConfigFlow(ConfigFlow, domain=DOMAIN):
15
+ _LOGGER: Incomplete
16
+ STEP_PICK_FIRMWARE_THREAD: str
17
+ STEP_PICK_FIRMWARE_ZIGBEE: str
18
+
19
+ class BaseFirmwareInstallFlow(ConfigEntryBaseFlow, ABC, metaclass=abc.ABCMeta):
20
+ _failed_addon_name: str
21
+ _failed_addon_reason: str
22
+ _usb_info: Incomplete
23
+ _hw_variant: Incomplete
24
+ _probed_firmware_type: Incomplete
25
+ addon_install_task: Incomplete
26
+ addon_start_task: Incomplete
27
+ addon_uninstall_task: Incomplete
28
+ def __init__(self, *args: Any, **kwargs: Any) -> None: ...
29
+ def _get_translation_placeholders(self) -> dict[str, str]: ...
30
+ async def _async_set_addon_config(self, config: dict, addon_manager: AddonManager) -> None: ...
31
+ async def _async_get_addon_info(self, addon_manager: AddonManager) -> AddonInfo: ...
32
+ async def async_step_pick_firmware(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
33
+ async def async_step_pick_firmware_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
34
+ async def async_step_install_zigbee_flasher_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
35
+ async def _install_addon(self, addon_manager: silabs_multiprotocol_addon.WaitingAddonManager, step_id: str, next_step_id: str) -> ConfigFlowResult: ...
36
+ async def async_step_addon_operation_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
37
+ async def async_step_run_zigbee_flasher_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
38
+ async def async_step_uninstall_zigbee_flasher_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
39
+ async def async_step_confirm_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
40
+ async def async_step_pick_firmware_thread(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
41
+ async def async_step_install_otbr_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
42
+ async def async_step_start_otbr_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
43
+ async def async_step_confirm_otbr(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
44
+ @abstractmethod
45
+ def _async_flow_finished(self) -> ConfigFlowResult: ...
46
+
47
+ class HomeAssistantSkyConnectConfigFlow(BaseFirmwareInstallFlow, ConfigFlow, domain=DOMAIN):
10
48
  VERSION: int
49
+ MINOR_VERSION: int
11
50
  @staticmethod
12
- def async_get_options_flow(config_entry: ConfigEntry) -> HomeAssistantSkyConnectOptionsFlow: ...
51
+ def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
52
+ _usb_info: Incomplete
53
+ _hw_variant: Incomplete
13
54
  async def async_step_usb(self, discovery_info: usb.UsbServiceInfo) -> ConfigFlowResult: ...
55
+ async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
56
+ def _async_flow_finished(self) -> ConfigFlowResult: ...
14
57
 
15
- class HomeAssistantSkyConnectOptionsFlow(silabs_multiprotocol_addon.OptionsFlowHandler):
58
+ class HomeAssistantSkyConnectMultiPanOptionsFlowHandler(silabs_multiprotocol_addon.OptionsFlowHandler):
16
59
  async def _async_serial_port_settings(self) -> silabs_multiprotocol_addon.SerialPortSettings: ...
17
60
  async def _async_zha_physical_discovery(self) -> dict[str, Any]: ...
18
61
  @property
19
62
  def _hw_variant(self) -> HardwareVariant: ...
20
63
  def _zha_name(self) -> str: ...
21
64
  def _hardware_name(self) -> str: ...
65
+
66
+ class HomeAssistantSkyConnectOptionsFlowHandler(BaseFirmwareInstallFlow, OptionsFlowWithConfigEntry):
67
+ _usb_info: Incomplete
68
+ _probed_firmware_type: Incomplete
69
+ _hw_variant: Incomplete
70
+ context: Incomplete
71
+ def __init__(self, *args: Any, **kwargs: Any) -> None: ...
72
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
73
+ async def async_step_pick_firmware_zigbee(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
74
+ async def async_step_pick_firmware_thread(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
75
+ def _async_flow_finished(self) -> ConfigFlowResult: ...