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,6 +1,8 @@
1
1
  from . import models as models
2
2
  from .const import CONF_ADAPTER as CONF_ADAPTER, CONF_DETAILS as CONF_DETAILS, CONF_PASSIVE as CONF_PASSIVE, DOMAIN as DOMAIN
3
+ from .util import adapter_title as adapter_title
3
4
  from _typeshed import Incomplete
5
+ from bluetooth_adapters import AdapterDetails
4
6
  from homeassistant.components import onboarding as onboarding
5
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
8
  from homeassistant.core import callback as callback
@@ -11,13 +13,17 @@ from typing import Any
11
13
  OPTIONS_SCHEMA: Incomplete
12
14
  OPTIONS_FLOW: Incomplete
13
15
 
16
+ def adapter_display_info(adapter: str, details: AdapterDetails) -> str: ...
17
+
14
18
  class BluetoothConfigFlow(ConfigFlow, domain=DOMAIN):
15
19
  VERSION: int
16
20
  _adapter: Incomplete
17
21
  _details: Incomplete
18
22
  _adapters: Incomplete
23
+ _placeholders: Incomplete
19
24
  def __init__(self) -> None: ...
20
25
  async def async_step_integration_discovery(self, discovery_info: DiscoveryInfoType) -> ConfigFlowResult: ...
26
+ def _async_set_adapter_info(self, adapter: str, details: AdapterDetails) -> None: ...
21
27
  async def async_step_single_adapter(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
28
  async def async_step_multiple_adapters(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
29
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,4 @@
1
- from . import _get_manager as _get_manager
1
+ from .api import _get_manager as _get_manager
2
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
4
  from typing import Any
@@ -1,6 +1,7 @@
1
1
  from .models import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
2
2
  from .storage import BluetoothStorage as BluetoothStorage
3
- from bluetooth_adapters import BluetoothAdapters as BluetoothAdapters
3
+ from bluetooth_adapters import AdapterDetails as AdapterDetails, BluetoothAdapters as BluetoothAdapters
4
4
  from homeassistant.core import callback as callback
5
5
 
6
6
  def async_load_history_from_system(adapters: BluetoothAdapters, storage: BluetoothStorage) -> tuple[dict[str, BluetoothServiceInfoBleak], dict[str, BluetoothServiceInfoBleak]]: ...
7
+ def adapter_title(adapter: str, details: AdapterDetails) -> str: ...
@@ -27,7 +27,8 @@ def _format_cbs_report(report: ConditionBasedService, unit_system: UnitSystem) -
27
27
  class BMWBinarySensorEntityDescription(BinarySensorEntityDescription):
28
28
  value_fn: Callable[[MyBMWVehicle], bool]
29
29
  attr_fn: Callable[[MyBMWVehicle, UnitSystem], dict[str, Any]] | None = ...
30
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, value_fn, attr_fn) -> None: ...
30
+ is_available: Callable[[MyBMWVehicle], bool] = ...
31
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, value_fn, attr_fn, is_available) -> None: ...
31
32
 
32
33
  SENSOR_TYPES: tuple[BMWBinarySensorEntityDescription, ...]
33
34
 
@@ -13,3 +13,4 @@ CONF_GCID: str
13
13
  DATA_HASS_CONFIG: str
14
14
  UNIT_MAP: Incomplete
15
15
  SCAN_INTERVALS: Incomplete
16
+ CLIMATE_ACTIVITY_STATE: list[str]
@@ -1,5 +1,5 @@
1
1
  from . import BMWBaseEntity as BMWBaseEntity
2
- from .const import DOMAIN as DOMAIN, UNIT_MAP as UNIT_MAP
2
+ from .const import CLIMATE_ACTIVITY_STATE as CLIMATE_ACTIVITY_STATE, DOMAIN as DOMAIN, UNIT_MAP as UNIT_MAP
3
3
  from .coordinator import BMWDataUpdateCoordinator as BMWDataUpdateCoordinator
4
4
  from _typeshed import Incomplete
5
5
  from bimmer_connected.models import ValueWithUnit as ValueWithUnit
@@ -20,11 +20,12 @@ class BMWSensorEntityDescription(SensorEntityDescription):
20
20
  key_class: str | None = ...
21
21
  unit_type: str | None = ...
22
22
  value: Callable = ...
23
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, key_class, unit_type, value) -> None: ...
23
+ is_available: Callable[[MyBMWVehicle], bool] = ...
24
+ def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, key_class, unit_type, value, is_available) -> None: ...
24
25
 
25
26
  def convert_and_round(state: ValueWithUnit, converter: Callable[[float | None, str], float], precision: int) -> float | None: ...
26
27
 
27
- SENSOR_TYPES: dict[str, BMWSensorEntityDescription]
28
+ SENSOR_TYPES: list[BMWSensorEntityDescription]
28
29
 
29
30
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
30
31
 
@@ -109,9 +109,9 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
109
109
  _create_stream_lock: Incomplete
110
110
  _rtsp_to_webrtc: bool
111
111
  def __init__(self) -> None: ...
112
- @property
112
+ @cached_property
113
113
  def entity_picture(self) -> str: ...
114
- @property
114
+ @cached_property
115
115
  def use_stream_for_stills(self) -> bool: ...
116
116
  @cached_property
117
117
  def supported_features(self) -> CameraEntityFeature: ...
@@ -8,19 +8,23 @@ from _typeshed import Incomplete
8
8
  from collections.abc import Awaitable, Callable as Callable
9
9
  from enum import Enum
10
10
  from hass_nabucasa import Cloud
11
- from homeassistant.components import alexa as alexa, google_assistant as google_assistant
11
+ from homeassistant.components import alexa as alexa, google_assistant as google_assistant, http as http
12
+ from homeassistant.components.auth import STRICT_CONNECTION_URL as STRICT_CONNECTION_URL
13
+ from homeassistant.components.http.auth import async_sign_path as async_sign_path
12
14
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_SYSTEM as SOURCE_SYSTEM
13
15
  from homeassistant.const import CONF_DESCRIPTION as CONF_DESCRIPTION, CONF_MODE as CONF_MODE, CONF_NAME as CONF_NAME, CONF_REGION as CONF_REGION, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
14
- from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
15
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
16
+ from homeassistant.core import Event as Event, HassJob as HassJob, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
17
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError, Unauthorized as Unauthorized, UnknownUser as UnknownUser
16
18
  from homeassistant.helpers import entityfilter as entityfilter
17
19
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
18
20
  from homeassistant.helpers.discovery import async_load_platform as async_load_platform
19
- from homeassistant.helpers.dispatcher import SignalType as SignalType, async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
21
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
20
22
  from homeassistant.helpers.event import async_call_later as async_call_later
23
+ from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableError, get_url as get_url
21
24
  from homeassistant.helpers.service import async_register_admin_service as async_register_admin_service
22
25
  from homeassistant.helpers.typing import ConfigType as ConfigType
23
26
  from homeassistant.loader import bind_hass as bind_hass
27
+ from homeassistant.util.signal_type import SignalType as SignalType
24
28
 
25
29
  DEFAULT_MODE = MODE_PROD
26
30
  PLATFORMS: Incomplete
@@ -54,3 +58,4 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
54
58
  def _remote_handle_prefs_updated(cloud: Cloud[CloudClient]) -> None: ...
55
59
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
56
60
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
61
+ def _setup_services(hass: HomeAssistant, prefs: CloudPreferences) -> None: ...
@@ -13,7 +13,7 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
13
13
  from homeassistant.const import CLOUD_NEVER_EXPOSED_ENTITIES as CLOUD_NEVER_EXPOSED_ENTITIES
14
14
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback, split_entity_id as split_entity_id
15
15
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
16
- from homeassistant.helpers import start as start
16
+ from homeassistant.helpers import entity_registry as er, start as start
17
17
  from homeassistant.helpers.entity import get_device_class as get_device_class
18
18
  from homeassistant.helpers.entityfilter import EntityFilter as EntityFilter
19
19
  from homeassistant.helpers.event import async_call_later as async_call_later
@@ -66,4 +66,4 @@ class CloudAlexaConfig(alexa_config.AbstractConfig):
66
66
  async def _sync_prefs(self, _now: datetime) -> None: ...
67
67
  async def async_sync_entities(self) -> bool: ...
68
68
  async def _sync_helper(self, to_update: list[str], to_remove: list[str]) -> bool: ...
69
- async def _handle_entity_registry_updated(self, event: Event) -> None: ...
69
+ async def _handle_entity_registry_updated(self, event: Event[er.EventEntityRegistryUpdatedData]) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.helpers.dispatcher import SignalType as SignalType
2
+ from homeassistant.util.signal_type import SignalType as SignalType
3
3
  from typing import Any
4
4
 
5
5
  DOMAIN: str
@@ -28,6 +28,7 @@ PREF_GOOGLE_SETTINGS_VERSION: str
28
28
  PREF_TTS_DEFAULT_VOICE: str
29
29
  PREF_GOOGLE_CONNECTED: str
30
30
  PREF_REMOTE_ALLOW_REMOTE_ENABLE: str
31
+ PREF_STRICT_CONNECTION: str
31
32
  DEFAULT_TTS_DEFAULT_VOICE: Incomplete
32
33
  DEFAULT_DISABLE_2FA: bool
33
34
  DEFAULT_ALEXA_REPORT_STATE: bool
@@ -10,7 +10,7 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
10
10
  from homeassistant.const import CLOUD_NEVER_EXPOSED_ENTITIES as CLOUD_NEVER_EXPOSED_ENTITIES
11
11
  from homeassistant.core import CoreState as CoreState, Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
12
12
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
- from homeassistant.helpers import start as start
13
+ from homeassistant.helpers import device_registry as dr, entity_registry as er, start as start
14
14
  from homeassistant.helpers.entity import get_device_class as get_device_class
15
15
  from homeassistant.helpers.entityfilter import EntityFilter as EntityFilter
16
16
  from homeassistant.setup import async_setup_component as async_setup_component
@@ -64,5 +64,5 @@ class CloudGoogleConfig(AbstractConfig):
64
64
  def async_get_agent_users(self) -> tuple: ...
65
65
  async def _async_prefs_updated(self, prefs: CloudPreferences) -> None: ...
66
66
  def _async_exposed_entities_updated(self) -> None: ...
67
- def _handle_entity_registry_updated(self, event: Event) -> None: ...
68
- async def _handle_device_registry_updated(self, event: Event) -> None: ...
67
+ def _handle_entity_registry_updated(self, event: Event[er.EventEntityRegistryUpdatedData]) -> None: ...
68
+ async def _handle_device_registry_updated(self, event: Event[dr.EventDeviceRegistryUpdatedData]) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from .assist_pipeline import async_create_cloud_pipeline as async_create_cloud_pipeline
2
2
  from .client import CloudClient as CloudClient
3
- from .const import DOMAIN as DOMAIN, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_DISABLE_2FA as PREF_DISABLE_2FA, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_ENABLE_GOOGLE as PREF_ENABLE_GOOGLE, PREF_GOOGLE_REPORT_STATE as PREF_GOOGLE_REPORT_STATE, PREF_GOOGLE_SECURE_DEVICES_PIN as PREF_GOOGLE_SECURE_DEVICES_PIN, PREF_REMOTE_ALLOW_REMOTE_ENABLE as PREF_REMOTE_ALLOW_REMOTE_ENABLE, PREF_TTS_DEFAULT_VOICE as PREF_TTS_DEFAULT_VOICE, REQUEST_TIMEOUT as REQUEST_TIMEOUT
3
+ from .const import DOMAIN as DOMAIN, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_DISABLE_2FA as PREF_DISABLE_2FA, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_ENABLE_GOOGLE as PREF_ENABLE_GOOGLE, PREF_GOOGLE_REPORT_STATE as PREF_GOOGLE_REPORT_STATE, PREF_GOOGLE_SECURE_DEVICES_PIN as PREF_GOOGLE_SECURE_DEVICES_PIN, PREF_REMOTE_ALLOW_REMOTE_ENABLE as PREF_REMOTE_ALLOW_REMOTE_ENABLE, PREF_STRICT_CONNECTION as PREF_STRICT_CONNECTION, PREF_TTS_DEFAULT_VOICE as PREF_TTS_DEFAULT_VOICE, REQUEST_TIMEOUT as REQUEST_TIMEOUT
4
4
  from .google_config import CLOUD_GOOGLE as CLOUD_GOOGLE
5
5
  from .repairs import async_manage_legacy_subscription_issue as async_manage_legacy_subscription_issue
6
6
  from .subscription import async_subscription_info as async_subscription_info
@@ -8,7 +8,7 @@ from _typeshed import Incomplete
8
8
  from aiohttp import web as web
9
9
  from collections.abc import Awaitable, Callable as Callable, Coroutine
10
10
  from hass_nabucasa import Cloud as Cloud
11
- from homeassistant.components import websocket_api as websocket_api
11
+ from homeassistant.components import http as http, websocket_api as websocket_api
12
12
  from homeassistant.components.homeassistant import exposed_entities as exposed_entities
13
13
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS, require_admin as require_admin
14
14
  from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
@@ -1,9 +1,9 @@
1
- from .const import DEFAULT_ALEXA_REPORT_STATE as DEFAULT_ALEXA_REPORT_STATE, DEFAULT_EXPOSED_DOMAINS as DEFAULT_EXPOSED_DOMAINS, DEFAULT_GOOGLE_REPORT_STATE as DEFAULT_GOOGLE_REPORT_STATE, DEFAULT_TTS_DEFAULT_VOICE as DEFAULT_TTS_DEFAULT_VOICE, DOMAIN as DOMAIN, PREF_ALEXA_DEFAULT_EXPOSE as PREF_ALEXA_DEFAULT_EXPOSE, PREF_ALEXA_ENTITY_CONFIGS as PREF_ALEXA_ENTITY_CONFIGS, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_ALEXA_SETTINGS_VERSION as PREF_ALEXA_SETTINGS_VERSION, PREF_CLOUDHOOKS as PREF_CLOUDHOOKS, PREF_CLOUD_USER as PREF_CLOUD_USER, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_ENABLE_GOOGLE as PREF_ENABLE_GOOGLE, PREF_ENABLE_REMOTE as PREF_ENABLE_REMOTE, PREF_GOOGLE_CONNECTED as PREF_GOOGLE_CONNECTED, PREF_GOOGLE_DEFAULT_EXPOSE as PREF_GOOGLE_DEFAULT_EXPOSE, PREF_GOOGLE_ENTITY_CONFIGS as PREF_GOOGLE_ENTITY_CONFIGS, PREF_GOOGLE_LOCAL_WEBHOOK_ID as PREF_GOOGLE_LOCAL_WEBHOOK_ID, PREF_GOOGLE_REPORT_STATE as PREF_GOOGLE_REPORT_STATE, PREF_GOOGLE_SECURE_DEVICES_PIN as PREF_GOOGLE_SECURE_DEVICES_PIN, PREF_GOOGLE_SETTINGS_VERSION as PREF_GOOGLE_SETTINGS_VERSION, PREF_INSTANCE_ID as PREF_INSTANCE_ID, PREF_REMOTE_ALLOW_REMOTE_ENABLE as PREF_REMOTE_ALLOW_REMOTE_ENABLE, PREF_REMOTE_DOMAIN as PREF_REMOTE_DOMAIN, PREF_TTS_DEFAULT_VOICE as PREF_TTS_DEFAULT_VOICE, PREF_USERNAME as PREF_USERNAME
1
+ from .const import DEFAULT_ALEXA_REPORT_STATE as DEFAULT_ALEXA_REPORT_STATE, DEFAULT_EXPOSED_DOMAINS as DEFAULT_EXPOSED_DOMAINS, DEFAULT_GOOGLE_REPORT_STATE as DEFAULT_GOOGLE_REPORT_STATE, DEFAULT_TTS_DEFAULT_VOICE as DEFAULT_TTS_DEFAULT_VOICE, DOMAIN as DOMAIN, PREF_ALEXA_DEFAULT_EXPOSE as PREF_ALEXA_DEFAULT_EXPOSE, PREF_ALEXA_ENTITY_CONFIGS as PREF_ALEXA_ENTITY_CONFIGS, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_ALEXA_SETTINGS_VERSION as PREF_ALEXA_SETTINGS_VERSION, PREF_CLOUDHOOKS as PREF_CLOUDHOOKS, PREF_CLOUD_USER as PREF_CLOUD_USER, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_ENABLE_GOOGLE as PREF_ENABLE_GOOGLE, PREF_ENABLE_REMOTE as PREF_ENABLE_REMOTE, PREF_GOOGLE_CONNECTED as PREF_GOOGLE_CONNECTED, PREF_GOOGLE_DEFAULT_EXPOSE as PREF_GOOGLE_DEFAULT_EXPOSE, PREF_GOOGLE_ENTITY_CONFIGS as PREF_GOOGLE_ENTITY_CONFIGS, PREF_GOOGLE_LOCAL_WEBHOOK_ID as PREF_GOOGLE_LOCAL_WEBHOOK_ID, PREF_GOOGLE_REPORT_STATE as PREF_GOOGLE_REPORT_STATE, PREF_GOOGLE_SECURE_DEVICES_PIN as PREF_GOOGLE_SECURE_DEVICES_PIN, PREF_GOOGLE_SETTINGS_VERSION as PREF_GOOGLE_SETTINGS_VERSION, PREF_INSTANCE_ID as PREF_INSTANCE_ID, PREF_REMOTE_ALLOW_REMOTE_ENABLE as PREF_REMOTE_ALLOW_REMOTE_ENABLE, PREF_REMOTE_DOMAIN as PREF_REMOTE_DOMAIN, PREF_STRICT_CONNECTION as PREF_STRICT_CONNECTION, PREF_TTS_DEFAULT_VOICE as PREF_TTS_DEFAULT_VOICE, PREF_USERNAME as PREF_USERNAME
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Callable as Callable, Coroutine
4
4
  from homeassistant.auth.const import GROUP_ID_ADMIN as GROUP_ID_ADMIN
5
5
  from homeassistant.auth.models import User as User
6
- from homeassistant.components import webhook as webhook
6
+ from homeassistant.components import http as http, webhook as webhook
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.storage import Store as Store
9
9
  from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
@@ -28,7 +28,7 @@ class CloudPreferences:
28
28
  def __init__(self, hass: HomeAssistant) -> None: ...
29
29
  async def async_initialize(self) -> None: ...
30
30
  def async_listen_updates(self, listener: Callable[[CloudPreferences], Coroutine[Any, Any, None]]) -> Callable[[], None]: ...
31
- async def async_update(self, *, google_enabled: bool | UndefinedType = ..., alexa_enabled: bool | UndefinedType = ..., remote_enabled: bool | UndefinedType = ..., google_secure_devices_pin: str | None | UndefinedType = ..., cloudhooks: dict[str, dict[str, str | bool]] | UndefinedType = ..., cloud_user: str | UndefinedType = ..., alexa_report_state: bool | UndefinedType = ..., google_report_state: bool | UndefinedType = ..., tts_default_voice: tuple[str, str] | UndefinedType = ..., remote_domain: str | None | UndefinedType = ..., alexa_settings_version: int | UndefinedType = ..., google_settings_version: int | UndefinedType = ..., google_connected: bool | UndefinedType = ..., remote_allow_remote_enable: bool | UndefinedType = ...) -> None: ...
31
+ async def async_update(self, *, google_enabled: bool | UndefinedType = ..., alexa_enabled: bool | UndefinedType = ..., remote_enabled: bool | UndefinedType = ..., google_secure_devices_pin: str | None | UndefinedType = ..., cloudhooks: dict[str, dict[str, str | bool]] | UndefinedType = ..., cloud_user: str | UndefinedType = ..., alexa_report_state: bool | UndefinedType = ..., google_report_state: bool | UndefinedType = ..., tts_default_voice: tuple[str, str] | UndefinedType = ..., remote_domain: str | None | UndefinedType = ..., alexa_settings_version: int | UndefinedType = ..., google_settings_version: int | UndefinedType = ..., google_connected: bool | UndefinedType = ..., remote_allow_remote_enable: bool | UndefinedType = ..., strict_connection: http.const.StrictConnectionMode | UndefinedType = ...) -> None: ...
32
32
  async def async_set_username(self, username: str | None) -> bool: ...
33
33
  async def async_erase_config(self) -> None: ...
34
34
  def as_dict(self) -> dict[str, Any]: ...
@@ -70,6 +70,8 @@ class CloudPreferences:
70
70
  def instance_id(self) -> str | None: ...
71
71
  @property
72
72
  def tts_default_voice(self) -> tuple[str, str]: ...
73
+ @property
74
+ def strict_connection(self) -> http.const.StrictConnectionMode: ...
73
75
  async def get_cloud_user(self) -> str: ...
74
76
  async def _load_cloud_user(self) -> User | None: ...
75
77
  async def _save_prefs(self, prefs: dict[str, Any]) -> None: ...
@@ -9,6 +9,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.const import Platform as Platform
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.setup import async_when_setup as async_when_setup
12
13
 
13
14
  _LOGGER: Incomplete
14
15
 
@@ -12,6 +12,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, async_get_hass as
12
12
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
13
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
15
+ from homeassistant.setup import async_when_setup as async_when_setup
15
16
  from typing import Any
16
17
 
17
18
  ATTR_GENDER: str
@@ -0,0 +1,7 @@
1
+ from .client import CloudClient as CloudClient
2
+ from .const import DOMAIN as DOMAIN
3
+ from hass_nabucasa import Cloud as Cloud
4
+ from homeassistant.components import http as http
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+
7
+ def get_strict_connection_mode(hass: HomeAssistant) -> http.const.StrictConnectionMode: ...
@@ -1,14 +1,14 @@
1
- from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, LOGGER as LOGGER
1
+ from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, LOGGER as LOGGER, TRIGGER_ENTITY_OPTIONS as TRIGGER_ENTITY_OPTIONS
2
2
  from .sensor import CommandSensorData as CommandSensorData
3
3
  from _typeshed import Incomplete
4
4
  from datetime import datetime, timedelta
5
- from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
6
- from homeassistant.const import CONF_COMMAND as CONF_COMMAND, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
5
+ from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity
6
+ from homeassistant.const import CONF_COMMAND as CONF_COMMAND, CONF_NAME as CONF_NAME, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
9
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
10
10
  from homeassistant.helpers.template import Template as Template
11
- from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, ManualTriggerEntity as ManualTriggerEntity
11
+ from homeassistant.helpers.trigger_template_entity import ManualTriggerEntity as ManualTriggerEntity
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
13
13
 
14
14
  DEFAULT_NAME: str
@@ -1,8 +1,11 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.const import Platform as Platform
2
+ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
3
+ from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ICON as CONF_ICON, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, Platform as Platform
4
+ from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE
3
5
 
4
6
  LOGGER: Incomplete
5
7
  CONF_COMMAND_TIMEOUT: str
6
8
  DEFAULT_TIMEOUT: int
7
9
  DOMAIN: str
8
10
  PLATFORMS: Incomplete
11
+ TRIGGER_ENTITY_OPTIONS: Incomplete
@@ -1,14 +1,14 @@
1
- from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, LOGGER as LOGGER
1
+ from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, LOGGER as LOGGER, TRIGGER_ENTITY_OPTIONS as TRIGGER_ENTITY_OPTIONS
2
2
  from .utils import async_call_shell_with_timeout as async_call_shell_with_timeout, async_check_output_or_log as async_check_output_or_log
3
3
  from _typeshed import Incomplete
4
4
  from datetime import datetime, timedelta
5
5
  from homeassistant.components.cover import CoverEntity as CoverEntity
6
- from homeassistant.const import CONF_COMMAND_CLOSE as CONF_COMMAND_CLOSE, CONF_COMMAND_OPEN as CONF_COMMAND_OPEN, CONF_COMMAND_STATE as CONF_COMMAND_STATE, CONF_COMMAND_STOP as CONF_COMMAND_STOP, CONF_NAME as CONF_NAME, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
6
+ from homeassistant.const import CONF_COMMAND_CLOSE as CONF_COMMAND_CLOSE, CONF_COMMAND_OPEN as CONF_COMMAND_OPEN, CONF_COMMAND_STATE as CONF_COMMAND_STATE, CONF_COMMAND_STOP as CONF_COMMAND_STOP, CONF_NAME as CONF_NAME, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
9
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
10
10
  from homeassistant.helpers.template import Template as Template
11
- from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, ManualTriggerEntity as ManualTriggerEntity
11
+ from homeassistant.helpers.trigger_template_entity import ManualTriggerEntity as ManualTriggerEntity
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
13
13
  from homeassistant.util import slugify as slugify
14
14
  from typing import Any
@@ -1,22 +1,21 @@
1
- from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, LOGGER as LOGGER
1
+ from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, LOGGER as LOGGER, TRIGGER_ENTITY_OPTIONS as TRIGGER_ENTITY_OPTIONS
2
2
  from .utils import async_check_output_or_log as async_check_output_or_log
3
3
  from _typeshed import Incomplete
4
4
  from datetime import datetime, timedelta
5
- from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, SensorDeviceClass as SensorDeviceClass
5
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
6
6
  from homeassistant.components.sensor.helpers import async_parse_date_datetime as async_parse_date_datetime
7
- from homeassistant.const import CONF_COMMAND as CONF_COMMAND, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
7
+ from homeassistant.const import CONF_COMMAND as CONF_COMMAND, CONF_NAME as CONF_NAME, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.exceptions import TemplateError as TemplateError
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
11
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
12
12
  from homeassistant.helpers.template import Template as Template
13
- from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_PICTURE as CONF_PICTURE, ManualTriggerSensorEntity as ManualTriggerSensorEntity
13
+ from homeassistant.helpers.trigger_template_entity import ManualTriggerSensorEntity as ManualTriggerSensorEntity
14
14
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
15
15
  from typing import Any
16
16
 
17
17
  CONF_JSON_ATTRIBUTES: str
18
18
  DEFAULT_NAME: str
19
- TRIGGER_ENTITY_OPTIONS: Incomplete
20
19
  SCAN_INTERVAL: Incomplete
21
20
 
22
21
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
@@ -1,14 +1,14 @@
1
- from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, LOGGER as LOGGER
1
+ from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, LOGGER as LOGGER, TRIGGER_ENTITY_OPTIONS as TRIGGER_ENTITY_OPTIONS
2
2
  from .utils import async_call_shell_with_timeout as async_call_shell_with_timeout, async_check_output_or_log as async_check_output_or_log
3
3
  from _typeshed import Incomplete
4
4
  from datetime import datetime, timedelta
5
5
  from homeassistant.components.switch import ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, SwitchEntity as SwitchEntity
6
- from homeassistant.const import CONF_COMMAND_OFF as CONF_COMMAND_OFF, CONF_COMMAND_ON as CONF_COMMAND_ON, CONF_COMMAND_STATE as CONF_COMMAND_STATE, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
6
+ from homeassistant.const import CONF_COMMAND_OFF as CONF_COMMAND_OFF, CONF_COMMAND_ON as CONF_COMMAND_ON, CONF_COMMAND_STATE as CONF_COMMAND_STATE, CONF_NAME as CONF_NAME, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
9
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
10
10
  from homeassistant.helpers.template import Template as Template
11
- from homeassistant.helpers.trigger_template_entity import CONF_AVAILABILITY as CONF_AVAILABILITY, ManualTriggerEntity as ManualTriggerEntity
11
+ from homeassistant.helpers.trigger_template_entity import ManualTriggerEntity as ManualTriggerEntity
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
13
13
  from homeassistant.util import slugify as slugify
14
14
  from typing import Any
@@ -5,7 +5,7 @@ from homeassistant.components import frontend as frontend
5
5
  from homeassistant.const import EVENT_COMPONENT_LOADED as EVENT_COMPONENT_LOADED
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
8
- from homeassistant.setup import ATTR_COMPONENT as ATTR_COMPONENT
8
+ from homeassistant.setup import EventComponentLoaded as EventComponentLoaded
9
9
 
10
10
  SECTIONS: Incomplete
11
11
  CONFIG_SCHEMA: Incomplete
@@ -22,7 +22,6 @@ from pydeconz.models.sensor.vibration import Vibration
22
22
  from pydeconz.models.sensor.water import Water
23
23
  from typing import Generic, TypeVar
24
24
 
25
- _SensorDeviceT = TypeVar('_SensorDeviceT', bound=PydeconzSensorBase)
26
25
  ATTR_ORIENTATION: str
27
26
  ATTR_TILTANGLE: str
28
27
  ATTR_VIBRATIONSTRENGTH: str
@@ -1,16 +1,18 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.components.notify import BaseNotificationService as BaseNotificationService
2
+ from homeassistant.components.notify import DOMAIN as DOMAIN, NotifyEntity as NotifyEntity
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
4
  from homeassistant.core import HomeAssistant as HomeAssistant
4
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
5
- from typing import Any
5
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
6
7
 
7
8
  EVENT_NOTIFY: str
8
9
 
9
- def get_service(hass: HomeAssistant, config: ConfigType, discovery_info: DiscoveryInfoType | None = None) -> BaseNotificationService: ...
10
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
10
11
 
11
- class DemoNotificationService(BaseNotificationService):
12
- hass: Incomplete
13
- def __init__(self, hass: HomeAssistant) -> None: ...
14
- @property
15
- def targets(self) -> dict[str, str]: ...
16
- def send_message(self, message: str = '', **kwargs: Any) -> None: ...
12
+ class DemoNotifyEntity(NotifyEntity):
13
+ _attr_has_entity_name: bool
14
+ _attr_name: Incomplete
15
+ _attr_unique_id: Incomplete
16
+ _attr_device_info: Incomplete
17
+ def __init__(self, unique_id: str, device_name: str) -> None: ...
18
+ async def async_send_message(self, message: str) -> None: ...
@@ -24,7 +24,7 @@ class DemoSensor(SensorEntity):
24
24
  _attr_translation_key: Incomplete
25
25
  _attr_device_info: Incomplete
26
26
  _attr_extra_state_attributes: Incomplete
27
- def __init__(self, unique_id: str, device_name: str | None, state: float | int | str | None, device_class: SensorDeviceClass, state_class: SensorStateClass | None, unit_of_measurement: str | None, battery: int | None, options: list[str] | None = None, translation_key: str | None = None) -> None: ...
27
+ def __init__(self, unique_id: str, device_name: str | None, state: float | str | None, device_class: SensorDeviceClass, state_class: SensorStateClass | None, unit_of_measurement: str | None, battery: int | None, options: list[str] | None = None, translation_key: str | None = None) -> None: ...
28
28
 
29
29
  class DemoSumSensor(RestoreSensor):
30
30
  _attr_should_poll: bool
@@ -5,10 +5,10 @@ from decimal import Decimal
5
5
  from homeassistant.components.sensor import PLATFORM_SCHEMA as PLATFORM_SCHEMA, RestoreSensor as RestoreSensor, SensorEntity as SensorEntity
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_SOURCE as CONF_SOURCE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTime as UnitOfTime
8
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, 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
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
11
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
13
13
 
14
14
  _LOGGER: Incomplete
@@ -6,7 +6,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import ATTR_BATTERY_LEVEL as ATTR_BATTERY_LEVEL, ATTR_GPS_ACCURACY as ATTR_GPS_ACCURACY, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, EntityCategory as EntityCategory, STATE_HOME as STATE_HOME, STATE_NOT_HOME as STATE_NOT_HOME
7
7
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers import device_registry as dr
9
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
9
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
10
10
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
11
11
  from homeassistant.helpers.entity import Entity as Entity
12
12
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
@@ -4,8 +4,8 @@ from .const import ATTR_ATTRIBUTES as ATTR_ATTRIBUTES, ATTR_BATTERY as ATTR_BATT
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable, Coroutine, Sequence
6
6
  from datetime import datetime, timedelta
7
+ from functools import cached_property as cached_property
7
8
  from homeassistant import util as util
8
- from homeassistant.backports.functools import cached_property as cached_property
9
9
  from homeassistant.components import zone as zone
10
10
  from homeassistant.components.zone import ENTITY_ID_HOME as ENTITY_ID_HOME
11
11
  from homeassistant.config import async_log_schema_error as async_log_schema_error, config_per_platform as config_per_platform, load_yaml_config_file as load_yaml_config_file
@@ -46,6 +46,7 @@ class DeviceTrackerPlatform:
46
46
  name: str
47
47
  platform: ModuleType
48
48
  config: dict
49
+ @cached_property
49
50
  def type(self) -> str | None: ...
50
51
  async def async_setup_legacy(self, hass: HomeAssistant, tracker: DeviceTracker, discovery_info: dict[str, Any] | None = None) -> None: ...
51
52
  def __init__(self, name, platform, config) -> None: ...
@@ -7,12 +7,12 @@ from dataclasses import dataclass
7
7
  from homeassistant import config_entries as config_entries
8
8
  from homeassistant.components.device_tracker import ATTR_HOST_NAME as ATTR_HOST_NAME, ATTR_IP as ATTR_IP, ATTR_MAC as ATTR_MAC, ATTR_SOURCE_TYPE as ATTR_SOURCE_TYPE, CONNECTED_DEVICE_REGISTERED as CONNECTED_DEVICE_REGISTERED, SourceType as SourceType
9
9
  from homeassistant.const import EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, STATE_HOME as STATE_HOME
10
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback
10
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback
11
11
  from homeassistant.data_entry_flow import BaseServiceInfo as BaseServiceInfo
12
12
  from homeassistant.helpers import discovery_flow as discovery_flow
13
13
  from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceRegistry as DeviceRegistry, async_get as async_get, format_mac as format_mac
14
14
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
15
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_added_domain as async_track_state_added_domain, async_track_time_interval as async_track_time_interval
15
+ from homeassistant.helpers.event import async_track_state_added_domain as async_track_state_added_domain, async_track_time_interval as async_track_time_interval
16
16
  from homeassistant.helpers.typing import ConfigType as ConfigType
17
17
  from homeassistant.loader import DHCPMatcher as DHCPMatcher, async_get_dhcp as async_get_dhcp
18
18
  from typing import Any, Final
@@ -8,7 +8,7 @@ from collections.abc import Callable as Callable, Coroutine
8
8
  from dataclasses import dataclass
9
9
  from didl_lite import didl_lite
10
10
  from enum import StrEnum
11
- from homeassistant.backports.functools import cached_property as cached_property
11
+ from functools import cached_property as cached_property
12
12
  from homeassistant.components import ssdp as ssdp
13
13
  from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
14
14
  from homeassistant.components.media_source.error import Unresolvable as Unresolvable
@@ -82,6 +82,7 @@ class DmsDeviceSource:
82
82
  def _didl_to_media_source(self, item: didl_lite.DidlObject, browsed_children: DmsDevice.BrowseResult | None = None) -> BrowseMediaSource: ...
83
83
  def _didl_thumbnail_url(self, item: didl_lite.DidlObject) -> str | None: ...
84
84
  def _make_identifier(self, action: Action, object_id: str) -> str: ...
85
+ @cached_property
85
86
  def _sort_criteria(self) -> list[str]: ...
86
87
 
87
88
  class Action(StrEnum):
@@ -1,6 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .controller import EcovacsController as EcovacsController
3
3
  from .entity import EcovacsEntity as EcovacsEntity
4
+ from .util import get_name_key as get_name_key
4
5
  from _typeshed import Incomplete
5
6
  from deebot_client.capabilities import Capabilities, CapabilityEvent
6
7
  from deebot_client.device import Device as Device
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .controller import EcovacsController as EcovacsController
3
3
  from .entity import CapabilityDevice as CapabilityDevice, EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity, EventT as EventT
4
- from .util import get_supported_entitites as get_supported_entitites
4
+ from .util import get_name_key as get_name_key, get_supported_entitites as get_supported_entitites
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
7
7
  from dataclasses import dataclass
@@ -1,5 +1,9 @@
1
1
  from .controller import EcovacsController as EcovacsController
2
2
  from .entity import EcovacsCapabilityEntityDescription as EcovacsCapabilityEntityDescription, EcovacsDescriptionEntity as EcovacsDescriptionEntity, EcovacsEntity as EcovacsEntity
3
+ from enum import Enum
4
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
+ from homeassistant.util import slugify as slugify
3
6
 
4
- def get_client_device_id() -> str: ...
7
+ def get_client_device_id(hass: HomeAssistant, self_hosted: bool) -> str: ...
5
8
  def get_supported_entitites(controller: EcovacsController, entity_class: type[EcovacsDescriptionEntity], descriptions: tuple[EcovacsCapabilityEntityDescription, ...]) -> list[EcovacsEntity]: ...
9
+ def get_name_key(enum: Enum) -> str: ...
@@ -2,6 +2,7 @@ import sucks
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from .controller import EcovacsController as EcovacsController
4
4
  from .entity import EcovacsEntity as EcovacsEntity
5
+ from .util import get_name_key as get_name_key
5
6
  from _typeshed import Incomplete
6
7
  from collections.abc import Mapping
7
8
  from deebot_client.capabilities import VacuumCapabilities
@@ -1,9 +1,9 @@
1
1
  from _typeshed import Incomplete
2
2
  from homeassistant.components import climate as climate, cover as cover, fan as fan, humidifier as humidifier, light as light, media_player as media_player, scene as scene, script as script
3
3
  from homeassistant.const import CONF_ENTITIES as CONF_ENTITIES, CONF_TYPE as CONF_TYPE
4
- from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
4
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, State as State, callback as callback, split_entity_id as split_entity_id
5
5
  from homeassistant.helpers import storage as storage
6
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_added_domain as async_track_state_added_domain, async_track_state_removed_domain as async_track_state_removed_domain
6
+ from homeassistant.helpers.event import async_track_state_added_domain as async_track_state_added_domain, async_track_state_removed_domain as async_track_state_removed_domain
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
8
8
 
9
9
  SUPPORTED_DOMAINS: Incomplete
@@ -12,8 +12,8 @@ from homeassistant.components.humidifier import ATTR_HUMIDITY as ATTR_HUMIDITY,
12
12
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP as ATTR_COLOR_TEMP, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_TRANSITION as ATTR_TRANSITION, ATTR_XY_COLOR as ATTR_XY_COLOR, ColorMode as ColorMode, LightEntityFeature as LightEntityFeature
13
13
  from homeassistant.components.media_player import ATTR_MEDIA_VOLUME_LEVEL as ATTR_MEDIA_VOLUME_LEVEL, MediaPlayerEntityFeature as MediaPlayerEntityFeature
14
14
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_TEMPERATURE as ATTR_TEMPERATURE, SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER, SERVICE_SET_COVER_POSITION as SERVICE_SET_COVER_POSITION, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, SERVICE_VOLUME_SET as SERVICE_VOLUME_SET, STATE_CLOSED as STATE_CLOSED, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE
15
- from homeassistant.core import Event as Event, State as State
16
- from homeassistant.helpers.event import EventStateChangedData as EventStateChangedData, async_track_state_change_event as async_track_state_change_event
15
+ from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, State as State
16
+ from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
17
17
  from homeassistant.util.json import json_loads as json_loads
18
18
  from homeassistant.util.network import is_local as is_local
19
19
  from typing import Any
@@ -0,0 +1,12 @@
1
+ from .const import CONF_DEVICE_API_ID as CONF_DEVICE_API_ID, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.const import Platform as Platform
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
7
+ from pyegps import PowerStripUSB as PowerStripUSB
8
+
9
+ PLATFORMS: Incomplete
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
+ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -0,0 +1,6 @@
1
+ from .const import CONF_DEVICE_API_ID as CONF_DEVICE_API_ID, DOMAIN as DOMAIN, LOGGER as LOGGER
2
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from typing import Any
4
+
5
+ class EGPSConfigFlow(ConfigFlow, domain=DOMAIN):
6
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,5 @@
1
+ from _typeshed import Incomplete
2
+
3
+ LOGGER: Incomplete
4
+ CONF_DEVICE_API_ID: str
5
+ DOMAIN: str