homeassistant-stubs 2023.3.6__py3-none-any.whl → 2023.4.0b1__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 (333) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -1
  2. homeassistant-stubs/auth/jwt_wrapper.pyi +14 -0
  3. homeassistant-stubs/auth/permissions/models.pyi +3 -3
  4. homeassistant-stubs/bootstrap.pyi +1 -1
  5. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +0 -2
  6. homeassistant-stubs/components/aladdin_connect/cover.pyi +5 -7
  7. homeassistant-stubs/components/alarm_control_panel/device_action.pyi +0 -1
  8. homeassistant-stubs/components/alarm_control_panel/device_condition.pyi +1 -1
  9. homeassistant-stubs/components/alarm_control_panel/device_trigger.pyi +0 -1
  10. homeassistant-stubs/components/amazon_polly/tts.pyi +2 -2
  11. homeassistant-stubs/components/amcrest/camera.pyi +0 -1
  12. homeassistant-stubs/components/awair/sensor.pyi +2 -1
  13. homeassistant-stubs/components/backup/manager.pyi +2 -1
  14. homeassistant-stubs/components/bayesian/issues.pyi +0 -1
  15. homeassistant-stubs/components/bluetooth/wrappers.pyi +1 -0
  16. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +3 -0
  17. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
  18. homeassistant-stubs/components/braviatv/media_player.pyi +2 -2
  19. homeassistant-stubs/components/button/device_action.pyi +0 -1
  20. homeassistant-stubs/components/button/device_trigger.pyi +0 -1
  21. homeassistant-stubs/components/calendar/__init__.pyi +8 -4
  22. homeassistant-stubs/components/calendar/const.pyi +2 -2
  23. homeassistant-stubs/components/calendar/trigger.pyi +25 -8
  24. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  25. homeassistant-stubs/components/cover/device_action.pyi +0 -1
  26. homeassistant-stubs/components/cover/device_condition.pyi +1 -1
  27. homeassistant-stubs/components/cover/device_trigger.pyi +0 -1
  28. homeassistant-stubs/components/demo/sensor.pyi +2 -1
  29. homeassistant-stubs/components/demo/stt.pyi +2 -2
  30. homeassistant-stubs/components/device_automation/condition.pyi +2 -4
  31. homeassistant-stubs/components/device_tracker/device_condition.pyi +1 -1
  32. homeassistant-stubs/components/device_tracker/device_trigger.pyi +0 -1
  33. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +0 -1
  34. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -0
  35. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
  36. homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -2
  37. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +1 -1
  38. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +5 -1
  39. homeassistant-stubs/components/efergy/sensor.pyi +2 -2
  40. homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -0
  41. homeassistant-stubs/components/energy/types.pyi +2 -2
  42. homeassistant-stubs/components/energy/websocket_api.pyi +1 -0
  43. homeassistant-stubs/components/esphome/bluetooth/client.pyi +3 -1
  44. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  45. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  46. homeassistant-stubs/components/fan/device_condition.pyi +1 -1
  47. homeassistant-stubs/components/filesize/__init__.pyi +1 -2
  48. homeassistant-stubs/components/fitbit/sensor.pyi +1 -1
  49. homeassistant-stubs/components/fritz/binary_sensor.pyi +7 -11
  50. homeassistant-stubs/components/fritz/common.pyi +25 -3
  51. homeassistant-stubs/components/fritz/sensor.pyi +6 -15
  52. homeassistant-stubs/components/fritzbox/sensor.pyi +0 -1
  53. homeassistant-stubs/components/fronius/coordinator.pyi +2 -3
  54. homeassistant-stubs/components/fronius/sensor.pyi +13 -8
  55. homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
  56. homeassistant-stubs/components/fully_kiosk/sensor.pyi +3 -3
  57. homeassistant-stubs/components/gios/__init__.pyi +3 -3
  58. homeassistant-stubs/components/gios/const.pyi +0 -2
  59. homeassistant-stubs/components/gios/sensor.pyi +10 -13
  60. homeassistant-stubs/components/google/__init__.pyi +1 -1
  61. homeassistant-stubs/components/google/calendar.pyi +1 -1
  62. homeassistant-stubs/components/google/const.pyi +1 -0
  63. homeassistant-stubs/components/group/media_player.pyi +4 -3
  64. homeassistant-stubs/components/group/notify.pyi +1 -1
  65. homeassistant-stubs/components/group/sensor.pyi +2 -0
  66. homeassistant-stubs/components/guardian/util.pyi +0 -1
  67. homeassistant-stubs/components/history/websocket_api.pyi +2 -1
  68. homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +4 -2
  69. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +7 -2
  70. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -8
  71. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -7
  72. homeassistant-stubs/components/homekit/__init__.pyi +6 -6
  73. homeassistant-stubs/components/homekit/config_flow.pyi +2 -2
  74. homeassistant-stubs/components/homekit/type_triggers.pyi +0 -1
  75. homeassistant-stubs/components/http/__init__.pyi +18 -1
  76. homeassistant-stubs/components/http/auth.pyi +1 -0
  77. homeassistant-stubs/components/http/security_filter.pyi +1 -0
  78. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -1
  79. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +0 -1
  80. homeassistant-stubs/components/isy994/lock.pyi +8 -3
  81. homeassistant-stubs/components/isy994/services.pyi +6 -0
  82. homeassistant-stubs/components/jellyfin/coordinator.pyi +4 -2
  83. homeassistant-stubs/components/jellyfin/media_player.pyi +3 -3
  84. homeassistant-stubs/components/knx/__init__.pyi +3 -2
  85. homeassistant-stubs/components/knx/device.pyi +18 -0
  86. homeassistant-stubs/components/knx/light.pyi +2 -2
  87. homeassistant-stubs/components/knx/sensor.pyi +33 -2
  88. homeassistant-stubs/components/kraken/sensor.pyi +0 -1
  89. homeassistant-stubs/components/lametric/__init__.pyi +1 -2
  90. homeassistant-stubs/components/lidarr/const.pyi +0 -2
  91. homeassistant-stubs/components/lifx/__init__.pyi +2 -2
  92. homeassistant-stubs/components/light/intent.pyi +1 -1
  93. homeassistant-stubs/components/litejet/__init__.pyi +14 -0
  94. homeassistant-stubs/components/litejet/config_flow.pyi +18 -0
  95. homeassistant-stubs/components/litejet/const.pyi +8 -0
  96. homeassistant-stubs/components/litejet/diagnostics.pyi +7 -0
  97. homeassistant-stubs/components/litejet/light.pyi +39 -0
  98. homeassistant-stubs/components/litejet/scene.pyi +32 -0
  99. homeassistant-stubs/components/litejet/switch.pyi +37 -0
  100. homeassistant-stubs/components/litejet/trigger.pyi +16 -0
  101. homeassistant-stubs/components/litterrobot/select.pyi +11 -6
  102. homeassistant-stubs/components/lock/device_action.pyi +0 -1
  103. homeassistant-stubs/components/lock/device_condition.pyi +1 -1
  104. homeassistant-stubs/components/lock/device_trigger.pyi +0 -1
  105. homeassistant-stubs/components/logbook/__init__.pyi +3 -3
  106. homeassistant-stubs/components/logbook/const.pyi +0 -2
  107. homeassistant-stubs/components/logbook/helpers.pyi +1 -1
  108. homeassistant-stubs/components/logbook/models.pyi +25 -7
  109. homeassistant-stubs/components/logbook/processor.pyi +8 -7
  110. homeassistant-stubs/components/logbook/queries/__init__.pyi +3 -1
  111. homeassistant-stubs/components/logbook/queries/all.pyi +4 -4
  112. homeassistant-stubs/components/logbook/queries/common.pyi +2 -2
  113. homeassistant-stubs/components/logbook/queries/devices.pyi +1 -1
  114. homeassistant-stubs/components/logbook/queries/entities.pyi +6 -6
  115. homeassistant-stubs/components/logbook/queries/entities_and_devices.pyi +5 -5
  116. homeassistant-stubs/components/logbook/websocket_api.pyi +2 -2
  117. homeassistant-stubs/components/logger/helpers.pyi +1 -1
  118. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  119. homeassistant-stubs/components/matter/binary_sensor.pyi +5 -1
  120. homeassistant-stubs/components/matter/entity.pyi +5 -1
  121. homeassistant-stubs/components/matter/lock.pyi +44 -0
  122. homeassistant-stubs/components/matter/models.pyi +2 -9
  123. homeassistant-stubs/components/matter/sensor.pyi +5 -1
  124. homeassistant-stubs/components/media_player/__init__.pyi +2 -2
  125. homeassistant-stubs/components/media_player/device_condition.pyi +1 -1
  126. homeassistant-stubs/components/media_player/device_trigger.pyi +0 -1
  127. homeassistant-stubs/components/metoffice/__init__.pyi +0 -2
  128. homeassistant-stubs/components/metoffice/sensor.pyi +2 -1
  129. homeassistant-stubs/components/mikrotik/const.pyi +2 -0
  130. homeassistant-stubs/components/mikrotik/device_tracker.pyi +0 -1
  131. homeassistant-stubs/components/mikrotik/hub.pyi +2 -1
  132. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  133. homeassistant-stubs/components/modbus/climate.pyi +3 -1
  134. homeassistant-stubs/components/modbus/const.pyi +1 -0
  135. homeassistant-stubs/components/modbus/modbus.pyi +1 -1
  136. homeassistant-stubs/components/modem_callerid/button.pyi +2 -2
  137. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  138. homeassistant-stubs/components/moon/config_flow.pyi +0 -2
  139. homeassistant-stubs/components/moon/sensor.pyi +2 -7
  140. homeassistant-stubs/components/mqtt/__init__.pyi +5 -7
  141. homeassistant-stubs/components/mqtt/client.pyi +24 -2
  142. homeassistant-stubs/components/mqtt/config_integration.pyi +1 -1
  143. homeassistant-stubs/components/mqtt/const.pyi +0 -1
  144. homeassistant-stubs/components/mqtt/models.pyi +2 -1
  145. homeassistant-stubs/components/mysensors/__init__.pyi +4 -9
  146. homeassistant-stubs/components/mysensors/const.pyi +1 -3
  147. homeassistant-stubs/components/mysensors/device.pyi +1 -1
  148. homeassistant-stubs/components/mysensors/light.pyi +1 -1
  149. homeassistant-stubs/components/mysensors/switch.pyi +6 -20
  150. homeassistant-stubs/components/nam/__init__.pyi +0 -2
  151. homeassistant-stubs/components/nam/sensor.pyi +0 -1
  152. homeassistant-stubs/components/netatmo/device_trigger.pyi +0 -1
  153. homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -3
  154. homeassistant-stubs/components/notify/legacy.pyi +2 -2
  155. homeassistant-stubs/components/number/const.pyi +2 -0
  156. homeassistant-stubs/components/number/device_action.pyi +0 -1
  157. homeassistant-stubs/components/otbr/__init__.pyi +3 -0
  158. homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
  159. homeassistant-stubs/components/otbr/util.pyi +6 -0
  160. homeassistant-stubs/components/otbr/websocket_api.pyi +7 -3
  161. homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +1 -0
  162. homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater.pyi +2 -0
  163. homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +2 -0
  164. homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_towel_dryer.pyi +2 -0
  165. homeassistant-stubs/components/overkiz/climate_entities/atlantic_heat_recovery_ventilation.pyi +2 -0
  166. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +2 -0
  167. homeassistant-stubs/components/overkiz/climate_entities/somfy_thermostat.pyi +2 -2
  168. homeassistant-stubs/components/overkiz/climate_entities/valve_heating_temperature_interface.pyi +37 -0
  169. homeassistant-stubs/components/overkiz/const.pyi +2 -1
  170. homeassistant-stubs/components/overkiz/sensor.pyi +3 -1
  171. homeassistant-stubs/components/overkiz/switch.pyi +2 -2
  172. homeassistant-stubs/components/pi_hole/sensor.pyi +2 -2
  173. homeassistant-stubs/components/rainmachine/util.pyi +0 -1
  174. homeassistant-stubs/components/recorder/__init__.pyi +3 -3
  175. homeassistant-stubs/components/recorder/auto_repairs/__init__.pyi +0 -0
  176. homeassistant-stubs/components/recorder/auto_repairs/events/__init__.pyi +0 -0
  177. homeassistant-stubs/components/recorder/auto_repairs/events/schema.pyi +6 -0
  178. homeassistant-stubs/components/recorder/auto_repairs/schema.pyi +23 -0
  179. homeassistant-stubs/components/recorder/auto_repairs/states/schema.pyi +9 -0
  180. homeassistant-stubs/components/recorder/auto_repairs/statistics/__init__.pyi +0 -0
  181. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +19 -0
  182. homeassistant-stubs/components/recorder/auto_repairs/statistics/schema.pyi +9 -0
  183. homeassistant-stubs/components/recorder/const.pyi +10 -0
  184. homeassistant-stubs/components/recorder/core.pyi +33 -29
  185. homeassistant-stubs/components/recorder/db_schema.pyi +36 -6
  186. homeassistant-stubs/components/recorder/entity_registry.pyi +10 -0
  187. homeassistant-stubs/components/recorder/filters.pyi +13 -11
  188. homeassistant-stubs/components/recorder/history/__init__.pyi +13 -0
  189. homeassistant-stubs/components/recorder/history/common.pyi +4 -0
  190. homeassistant-stubs/components/recorder/history/const.pyi +9 -0
  191. homeassistant-stubs/components/recorder/{history.pyi → history/legacy.pyi} +9 -14
  192. homeassistant-stubs/components/recorder/history/modern.pyi +41 -0
  193. homeassistant-stubs/components/recorder/migration.pyi +34 -6
  194. homeassistant-stubs/components/recorder/models/__init__.pyi +5 -0
  195. homeassistant-stubs/components/recorder/models/context.pyi +6 -0
  196. homeassistant-stubs/components/recorder/models/database.pyi +14 -0
  197. homeassistant-stubs/components/recorder/models/legacy.pyi +39 -0
  198. homeassistant-stubs/components/recorder/models/state.pyi +43 -0
  199. homeassistant-stubs/components/recorder/models/state_attributes.pyi +9 -0
  200. homeassistant-stubs/components/recorder/models/statistics.pyi +50 -0
  201. homeassistant-stubs/components/recorder/models/time.pyi +20 -0
  202. homeassistant-stubs/components/recorder/purge.pyi +9 -12
  203. homeassistant-stubs/components/recorder/queries.pyi +19 -3
  204. homeassistant-stubs/components/recorder/services.pyi +1 -1
  205. homeassistant-stubs/components/recorder/statistics.pyi +40 -42
  206. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +20 -0
  207. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +26 -0
  208. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +20 -0
  209. homeassistant-stubs/components/recorder/{run_history.pyi → table_managers/recorder_runs.pyi} +3 -3
  210. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +29 -0
  211. homeassistant-stubs/components/recorder/table_managers/states.pyi +14 -0
  212. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +23 -0
  213. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +35 -0
  214. homeassistant-stubs/components/recorder/tasks.pyi +39 -4
  215. homeassistant-stubs/components/recorder/util.pyi +2 -1
  216. homeassistant-stubs/components/recorder/websocket_api.pyi +2 -2
  217. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -0
  218. homeassistant-stubs/components/rest/__init__.pyi +1 -1
  219. homeassistant-stubs/components/rest/const.pyi +2 -0
  220. homeassistant-stubs/components/rest/data.pyi +3 -2
  221. homeassistant-stubs/components/rest/schema.pyi +1 -1
  222. homeassistant-stubs/components/ridwell/calendar.pyi +22 -0
  223. homeassistant-stubs/components/ridwell/coordinator.pyi +2 -2
  224. homeassistant-stubs/components/ridwell/entity.pyi +2 -4
  225. homeassistant-stubs/components/ridwell/sensor.pyi +2 -1
  226. homeassistant-stubs/components/ridwell/switch.pyi +4 -0
  227. homeassistant-stubs/components/roku/media_player.pyi +4 -4
  228. homeassistant-stubs/components/samsungtv/device_trigger.pyi +19 -0
  229. homeassistant-stubs/components/samsungtv/helpers.pyi +8 -0
  230. homeassistant-stubs/components/samsungtv/media_player.pyi +7 -2
  231. homeassistant-stubs/components/samsungtv/trigger.pyi +12 -0
  232. homeassistant-stubs/components/samsungtv/triggers/__init__.pyi +0 -0
  233. homeassistant-stubs/components/samsungtv/triggers/turn_on.pyi +14 -0
  234. homeassistant-stubs/components/scrape/config_flow.pyi +1 -1
  235. homeassistant-stubs/components/scrape/const.pyi +2 -0
  236. homeassistant-stubs/components/scrape/sensor.pyi +3 -6
  237. homeassistant-stubs/components/select/device_action.pyi +0 -1
  238. homeassistant-stubs/components/select/device_condition.pyi +1 -1
  239. homeassistant-stubs/components/select/device_trigger.pyi +0 -1
  240. homeassistant-stubs/components/sensor/const.pyi +2 -0
  241. homeassistant-stubs/components/sensor/recorder.pyi +3 -1
  242. homeassistant-stubs/components/sfr_box/__init__.pyi +1 -1
  243. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +3 -1
  244. homeassistant-stubs/components/sfr_box/models.pyi +4 -2
  245. homeassistant-stubs/components/sfr_box/sensor.pyi +2 -1
  246. homeassistant-stubs/components/sleepiq/entity.pyi +0 -1
  247. homeassistant-stubs/components/statistics/sensor.pyi +2 -2
  248. homeassistant-stubs/components/sun/__init__.pyi +1 -1
  249. homeassistant-stubs/components/sun/sensor.pyi +36 -0
  250. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
  251. homeassistant-stubs/components/switcher_kis/button.pyi +0 -1
  252. homeassistant-stubs/components/switcher_kis/climate.pyi +0 -1
  253. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -1
  254. homeassistant-stubs/components/switcher_kis/sensor.pyi +0 -1
  255. homeassistant-stubs/components/switcher_kis/switch.pyi +1 -1
  256. homeassistant-stubs/components/synology_dsm/sensor.pyi +5 -4
  257. homeassistant-stubs/components/threshold/__init__.pyi +7 -0
  258. homeassistant-stubs/components/threshold/binary_sensor.pyi +55 -0
  259. homeassistant-stubs/components/threshold/config_flow.pyi +19 -0
  260. homeassistant-stubs/components/threshold/const.pyi +5 -0
  261. homeassistant-stubs/components/tibber/config_flow.pyi +3 -0
  262. homeassistant-stubs/components/tibber/sensor.pyi +2 -1
  263. homeassistant-stubs/components/tplink/light.pyi +1 -1
  264. homeassistant-stubs/components/tplink_omada/__init__.pyi +1 -0
  265. homeassistant-stubs/components/tplink_omada/controller.pyi +21 -0
  266. homeassistant-stubs/components/tplink_omada/coordinator.pyi +3 -4
  267. homeassistant-stubs/components/tplink_omada/entity.pyi +6 -4
  268. homeassistant-stubs/components/tplink_omada/switch.pyi +4 -6
  269. homeassistant-stubs/components/tplink_omada/update.pyi +43 -0
  270. homeassistant-stubs/components/tradfri/sensor.pyi +0 -1
  271. homeassistant-stubs/components/tts/__init__.pyi +2 -1
  272. homeassistant-stubs/components/unifi/__init__.pyi +33 -0
  273. homeassistant-stubs/components/unifi/config_flow.pyi +46 -0
  274. homeassistant-stubs/components/unifi/const.pyi +30 -0
  275. homeassistant-stubs/components/unifi/controller.pyi +77 -0
  276. homeassistant-stubs/components/unifi/device_tracker.pyi +70 -0
  277. homeassistant-stubs/components/unifi/diagnostics.pyi +19 -0
  278. homeassistant-stubs/components/unifi/entity.pyi +58 -0
  279. homeassistant-stubs/components/unifi/errors.pyi +8 -0
  280. homeassistant-stubs/components/unifi/sensor.pyi +37 -0
  281. homeassistant-stubs/components/unifi/services.pyi +17 -0
  282. homeassistant-stubs/components/unifi/switch.pyi +55 -0
  283. homeassistant-stubs/components/unifi/update.pyi +1 -1
  284. homeassistant-stubs/components/unifiprotect/select.pyi +2 -2
  285. homeassistant-stubs/components/vacuum/device_action.pyi +0 -1
  286. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
  287. homeassistant-stubs/components/vacuum/device_trigger.pyi +0 -1
  288. homeassistant-stubs/components/velbus/__init__.pyi +0 -2
  289. homeassistant-stubs/components/velbus/light.pyi +1 -1
  290. homeassistant-stubs/components/velbus/select.pyi +21 -0
  291. homeassistant-stubs/components/water_heater/device_action.pyi +0 -1
  292. homeassistant-stubs/components/weather/__init__.pyi +2 -23
  293. homeassistant-stubs/components/weather/const.pyi +25 -0
  294. homeassistant-stubs/components/weather/websocket_api.pyi +7 -0
  295. homeassistant-stubs/components/webostv/trigger.pyi +3 -3
  296. homeassistant-stubs/components/webostv/triggers/__init__.pyi +0 -5
  297. homeassistant-stubs/components/websocket_api/commands.pyi +2 -2
  298. homeassistant-stubs/components/websocket_api/connection.pyi +7 -1
  299. homeassistant-stubs/components/zwave_js/__init__.pyi +4 -4
  300. homeassistant-stubs/components/zwave_js/api.pyi +0 -1
  301. homeassistant-stubs/components/zwave_js/device_action.pyi +0 -1
  302. homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
  303. homeassistant-stubs/components/zwave_js/diagnostics.pyi +2 -1
  304. homeassistant-stubs/components/zwave_js/discovery.pyi +1 -1
  305. homeassistant-stubs/components/zwave_js/update.pyi +18 -8
  306. homeassistant-stubs/config_entries.pyi +4 -1
  307. homeassistant-stubs/core.pyi +4 -3
  308. homeassistant-stubs/helpers/condition.pyi +11 -3
  309. homeassistant-stubs/helpers/config_validation.pyi +1 -1
  310. homeassistant-stubs/helpers/debounce.pyi +1 -0
  311. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  312. homeassistant-stubs/helpers/entity.pyi +1 -0
  313. homeassistant-stubs/helpers/entity_platform.pyi +2 -1
  314. homeassistant-stubs/helpers/entity_registry.pyi +9 -1
  315. homeassistant-stubs/helpers/event.pyi +3 -1
  316. homeassistant-stubs/helpers/httpx_client.pyi +1 -0
  317. homeassistant-stubs/helpers/integration_platform.pyi +3 -3
  318. homeassistant-stubs/helpers/script.pyi +5 -3
  319. homeassistant-stubs/helpers/selector.pyi +29 -12
  320. homeassistant-stubs/helpers/service.pyi +11 -0
  321. homeassistant-stubs/helpers/template.pyi +24 -3
  322. homeassistant-stubs/scripts/check_config.pyi +0 -1
  323. homeassistant-stubs/util/ssl.pyi +8 -0
  324. homeassistant-stubs/util/ulid.pyi +2 -1
  325. homeassistant-stubs/util/yaml/dumper.pyi +1 -1
  326. homeassistant-stubs/util/yaml/loader.pyi +4 -5
  327. homeassistant-stubs/util/yaml/objects.pyi +1 -0
  328. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/METADATA +2 -2
  329. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/RECORD +331 -265
  330. homeassistant-stubs/components/mysensors/notify.pyi +0 -23
  331. homeassistant-stubs/components/recorder/models.pyi +0 -148
  332. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/LICENSE +0 -0
  333. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/WHEEL +0 -0
@@ -1,4 +1,4 @@
1
- from . import auth_store as auth_store, models as models
1
+ from . import auth_store as auth_store, jwt_wrapper as jwt_wrapper, models as models
2
2
  from .const import ACCESS_TOKEN_EXPIRATION as ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN as GROUP_ID_ADMIN
3
3
  from .mfa_modules import MultiFactorAuthModule as MultiFactorAuthModule, auth_mfa_module_from_config as auth_mfa_module_from_config
4
4
  from .providers import AuthProvider as AuthProvider, LoginFlow as LoginFlow, auth_provider_from_config as auth_provider_from_config
@@ -0,0 +1,14 @@
1
+ from _typeshed import Incomplete
2
+ from datetime import timedelta
3
+ from jwt import PyJWS, PyJWT
4
+ from typing import Any
5
+
6
+ class _PyJWSWithLoadCache(PyJWS):
7
+ def _load(self, jwt: Union[str, bytes]) -> tuple[bytes, bytes, dict, bytes]: ...
8
+
9
+ class _PyJWTWithVerify(PyJWT):
10
+ def decode_payload(self, jwt: str, key: str, options: dict[str, Any], algorithms: list[str]) -> dict[str, Any]: ...
11
+ def verify_and_decode(self, jwt: str, key: str, algorithms: list[str], issuer: Union[str, None] = ..., leeway: Union[int, float, timedelta] = ..., options: Union[dict[str, Any], None] = ...) -> dict[str, Any]: ...
12
+
13
+ verify_and_decode: Incomplete
14
+ unverified_hs256_token_decode: Incomplete
@@ -1,8 +1,8 @@
1
- from homeassistant.helpers import device_registry as dev_reg, entity_registry as ent_reg
1
+ from homeassistant.helpers import device_registry as dr, entity_registry as er
2
2
 
3
3
  class PermissionLookup:
4
- entity_registry: ent_reg.EntityRegistry
5
- device_registry: dev_reg.DeviceRegistry
4
+ entity_registry: er.EntityRegistry
5
+ device_registry: dr.DeviceRegistry
6
6
  def __init__(self, entity_registry, device_registry) -> None: ...
7
7
  def __lt__(self, other): ...
8
8
  def __le__(self, other): ...
@@ -2,7 +2,7 @@ from . import config_entries as config_entries, core as core, loader as loader
2
2
  from .components import http as http
3
3
  from .const import REQUIRED_NEXT_PYTHON_HA_RELEASE as REQUIRED_NEXT_PYTHON_HA_RELEASE, REQUIRED_NEXT_PYTHON_VER as REQUIRED_NEXT_PYTHON_VER, SIGNAL_BOOTSTRAP_INTEGRATIONS as SIGNAL_BOOTSTRAP_INTEGRATIONS
4
4
  from .exceptions import HomeAssistantError as HomeAssistantError
5
- from .helpers import area_registry as area_registry, device_registry as device_registry, entity as entity, entity_registry as entity_registry, issue_registry as issue_registry, recorder as recorder
5
+ from .helpers import area_registry as area_registry, device_registry as device_registry, entity as entity, entity_registry as entity_registry, issue_registry as issue_registry, recorder as recorder, template as template
6
6
  from .helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
7
7
  from .helpers.typing import ConfigType as ConfigType
8
8
  from .runner import RuntimeConfig as RuntimeConfig
@@ -9,7 +9,6 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
9
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
10
  from typing import Any
11
11
 
12
- _LOGGER: Incomplete
13
12
  STEP_USER_DATA_SCHEMA: Incomplete
14
13
  REAUTH_SCHEMA: Incomplete
15
14
 
@@ -21,6 +20,5 @@ class ConfigFlow(config_entries.ConfigFlow):
21
20
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult: ...
22
21
  async def async_step_reauth_confirm(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
23
22
  async def async_step_user(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
24
- async def async_step_import(self, import_data: Union[dict[str, Any], None] = ...) -> FlowResult: ...
25
23
 
26
24
  class InvalidAuth(HomeAssistantError): ...
@@ -3,26 +3,23 @@ from .model import DoorDevice as DoorDevice
3
3
  from AIOAladdinConnect import AladdinConnectClient as AladdinConnectClient
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
7
- from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPENING as STATE_OPENING
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.const import STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPENING as STATE_OPENING
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.exceptions import PlatformNotReady as PlatformNotReady
10
10
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
11
11
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
13
- from typing import Any, Final
12
+ from typing import Any
14
13
 
15
- _LOGGER: Final[Incomplete]
16
- PLATFORM_SCHEMA: Final[Incomplete]
17
14
  SCAN_INTERVAL: Incomplete
18
15
 
19
- async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: Union[DiscoveryInfoType, None] = ...) -> None: ...
20
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
21
17
 
22
18
  class AladdinDevice(CoverEntity):
23
19
  _attr_device_class: Incomplete
24
20
  _attr_supported_features: Incomplete
25
21
  _acc: Incomplete
22
+ _entry_id: Incomplete
26
23
  _device_id: Incomplete
27
24
  _number: Incomplete
28
25
  _name: Incomplete
@@ -36,6 +33,7 @@ class AladdinDevice(CoverEntity):
36
33
  async def async_will_remove_from_hass(self) -> None: ...
37
34
  async def async_close_cover(self, **kwargs: Any) -> None: ...
38
35
  async def async_open_cover(self, **kwargs: Any) -> None: ...
36
+ _attr_available: bool
39
37
  async def async_update(self) -> None: ...
40
38
  @property
41
39
  def is_closed(self) -> Union[bool, None]: ...
@@ -4,7 +4,6 @@ from .const import SUPPORT_ALARM_ARM_AWAY as SUPPORT_ALARM_ARM_AWAY, SUPPORT_ALA
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.const import ATTR_CODE as ATTR_CODE, ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_CODE as CONF_CODE, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, SERVICE_ALARM_ARM_AWAY as SERVICE_ALARM_ARM_AWAY, SERVICE_ALARM_ARM_HOME as SERVICE_ALARM_ARM_HOME, SERVICE_ALARM_ARM_NIGHT as SERVICE_ALARM_ARM_NIGHT, SERVICE_ALARM_ARM_VACATION as SERVICE_ALARM_ARM_VACATION, SERVICE_ALARM_DISARM as SERVICE_ALARM_DISARM, SERVICE_ALARM_TRIGGER as SERVICE_ALARM_TRIGGER
6
6
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
7
- from homeassistant.helpers import entity_registry as entity_registry
8
7
  from homeassistant.helpers.entity import get_supported_features as get_supported_features
9
8
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
10
9
  from typing import Final
@@ -3,7 +3,7 @@ from .const import CONDITION_ARMED_AWAY as CONDITION_ARMED_AWAY, CONDITION_ARMED
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, STATE_ALARM_ARMED_AWAY as STATE_ALARM_ARMED_AWAY, STATE_ALARM_ARMED_CUSTOM_BYPASS as STATE_ALARM_ARMED_CUSTOM_BYPASS, STATE_ALARM_ARMED_HOME as STATE_ALARM_ARMED_HOME, STATE_ALARM_ARMED_NIGHT as STATE_ALARM_ARMED_NIGHT, STATE_ALARM_ARMED_VACATION as STATE_ALARM_ARMED_VACATION, STATE_ALARM_DISARMED as STATE_ALARM_DISARMED, STATE_ALARM_TRIGGERED as STATE_ALARM_TRIGGERED
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
- from homeassistant.helpers import condition as condition, entity_registry as entity_registry
6
+ from homeassistant.helpers import condition as condition
7
7
  from homeassistant.helpers.config_validation import DEVICE_CONDITION_BASE_SCHEMA as DEVICE_CONDITION_BASE_SCHEMA
8
8
  from homeassistant.helpers.entity import get_supported_features as get_supported_features
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
@@ -5,7 +5,6 @@ from _typeshed import Incomplete
5
5
  from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA
6
6
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE, STATE_ALARM_ARMED_AWAY as STATE_ALARM_ARMED_AWAY, STATE_ALARM_ARMED_HOME as STATE_ALARM_ARMED_HOME, STATE_ALARM_ARMED_NIGHT as STATE_ALARM_ARMED_NIGHT, STATE_ALARM_ARMED_VACATION as STATE_ALARM_ARMED_VACATION, STATE_ALARM_ARMING as STATE_ALARM_ARMING, STATE_ALARM_DISARMED as STATE_ALARM_DISARMED, STATE_ALARM_TRIGGERED as STATE_ALARM_TRIGGERED
7
7
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
8
- from homeassistant.helpers import entity_registry as entity_registry
9
8
  from homeassistant.helpers.entity import get_supported_features as get_supported_features
10
9
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
11
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -5,7 +5,7 @@ from homeassistant.components.tts import Provider as Provider, TtsAudioType as T
5
5
  from homeassistant.const import ATTR_CREDENTIALS as ATTR_CREDENTIALS, CONF_PROFILE_NAME as CONF_PROFILE_NAME
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
8
- from typing import Final
8
+ from typing import Any, Final
9
9
 
10
10
  _LOGGER: Final[Incomplete]
11
11
  PLATFORM_SCHEMA: Final[Incomplete]
@@ -28,4 +28,4 @@ class AmazonPollyProvider(Provider):
28
28
  def default_options(self) -> dict[str, str]: ...
29
29
  @property
30
30
  def supported_options(self) -> list[str]: ...
31
- def get_tts_audio(self, message: str, language: Union[str, None] = ..., options: Union[dict[str, str], None] = ...) -> TtsAudioType: ...
31
+ def get_tts_audio(self, message: str, language: str, options: Union[dict[str, Any], None] = ...) -> TtsAudioType: ...
@@ -8,7 +8,6 @@ from homeassistant.components.camera import Camera as Camera, CameraEntityFeatur
8
8
  from homeassistant.components.ffmpeg import FFmpegManager as FFmpegManager, get_ffmpeg_manager as get_ffmpeg_manager
9
9
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_NAME as CONF_NAME, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
- from homeassistant.helpers import entity_registry as entity_registry
12
11
  from homeassistant.helpers.aiohttp_client import async_aiohttp_proxy_stream as async_aiohttp_proxy_stream, async_aiohttp_proxy_web as async_aiohttp_proxy_web, async_get_clientsession as async_get_clientsession
13
12
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
14
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -10,6 +10,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
10
10
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
11
11
  from python_awair.air_data import AirData as AirData
12
12
  from python_awair.devices import AwairBaseDevice as AwairBaseDevice
13
+ from typing import Any
13
14
 
14
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
16
 
@@ -26,7 +27,7 @@ class AwairSensor(CoordinatorEntity[AwairDataUpdateCoordinator], SensorEntity):
26
27
  @property
27
28
  def native_value(self) -> Union[float, None]: ...
28
29
  @property
29
- def extra_state_attributes(self) -> dict: ...
30
+ def extra_state_attributes(self) -> dict[str, Any]: ...
30
31
  @property
31
32
  def device_info(self) -> DeviceInfo: ...
32
33
  @property
@@ -5,6 +5,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
5
5
  from homeassistant.helpers import integration_platform as integration_platform
6
6
  from homeassistant.helpers.json import save_json as save_json
7
7
  from homeassistant.util import dt as dt
8
+ from homeassistant.util.json import json_loads_object as json_loads_object
8
9
  from pathlib import Path
9
10
  from typing import Any, Protocol
10
11
 
@@ -38,6 +39,6 @@ class BackupManager:
38
39
  async def get_backup(self, slug: str) -> Union[Backup, None]: ...
39
40
  async def remove_backup(self, slug: str) -> None: ...
40
41
  async def generate_backup(self) -> Backup: ...
41
- def _generate_backup_contents(self, tar_file_path: Path, backup_data: dict[str, Any]) -> None: ...
42
+ def _mkdir_and_generate_backup_contents(self, tar_file_path: Path, backup_data: dict[str, Any]) -> int: ...
42
43
 
43
44
  def _generate_slug(date: str, name: str) -> str: ...
@@ -1,7 +1,6 @@
1
1
  from . import DOMAIN as DOMAIN
2
2
  from .helpers import Observation as Observation
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
- from homeassistant.helpers import issue_registry as issue_registry
5
4
 
6
5
  def raise_mirrored_entries(hass: HomeAssistant, observations: list[Observation], text: str = ...) -> None: ...
7
6
  def raise_no_prob_given_false(hass: HomeAssistant, text: str) -> None: ...
@@ -52,6 +52,7 @@ class HaBleakClientWrapper(BleakClient):
52
52
  def is_connected(self) -> bool: ...
53
53
  async def clear_cache(self) -> bool: ...
54
54
  def set_disconnected_callback(self, callback: Union[Callable[[BleakClient], None], None], **kwargs: Any) -> None: ...
55
+ def _make_disconnected_callback(self, callback: Union[Callable[[BleakClient], None], None]) -> Union[Callable[[], None], None]: ...
55
56
  async def connect(self, **kwargs: Any) -> bool: ...
56
57
  def _async_get_backend_for_ble_device(self, manager: BluetoothManager, scanner: BaseHaScanner, ble_device: BLEDevice) -> Union[_HaWrappedBleakBackend, None]: ...
57
58
  def _async_get_best_available_backend_and_device(self, manager: BluetoothManager) -> _HaWrappedBleakBackend: ...
@@ -1,6 +1,7 @@
1
1
  from . import DOMAIN as DOMAIN
2
2
  from .const import CONF_ALLOWED_REGIONS as CONF_ALLOWED_REGIONS, CONF_READ_ONLY as CONF_READ_ONLY, CONF_REFRESH_TOKEN as CONF_REFRESH_TOKEN
3
3
  from _typeshed import Incomplete
4
+ from collections.abc import Mapping
4
5
  from homeassistant import config_entries as config_entries, core as core, exceptions as exceptions
5
6
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_REGION as CONF_REGION, CONF_SOURCE as CONF_SOURCE, CONF_USERNAME as CONF_USERNAME
6
7
  from homeassistant.core import callback as callback
@@ -13,7 +14,9 @@ async def validate_input(hass: core.HomeAssistant, data: dict[str, Any]) -> dict
13
14
 
14
15
  class BMWConfigFlow(config_entries.ConfigFlow):
15
16
  VERSION: int
17
+ _reauth_entry: Union[config_entries.ConfigEntry, None]
16
18
  async def async_step_user(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
19
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult: ...
17
20
  @staticmethod
18
21
  def async_get_options_flow(config_entry: config_entries.ConfigEntry) -> BMWOptionsFlow: ...
19
22
 
@@ -4,6 +4,7 @@ from bimmer_connected.account import MyBMWAccount
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_REGION as CONF_REGION, CONF_USERNAME as CONF_USERNAME
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
7
8
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
8
9
 
9
10
  DEFAULT_SCAN_INTERVAL_SECONDS: int
@@ -40,11 +40,11 @@ class BraviaTVMediaPlayer(BraviaTVEntity, MediaPlayerEntity):
40
40
  async def async_volume_up(self) -> None: ...
41
41
  async def async_volume_down(self) -> None: ...
42
42
  async def async_mute_volume(self, mute: bool) -> None: ...
43
- async def async_browse_media(self, media_content_type: Union[str, None] = ..., media_content_id: Union[str, None] = ...) -> BrowseMedia: ...
43
+ async def async_browse_media(self, media_content_type: Union[MediaType, str, None] = ..., media_content_id: Union[str, None] = ...) -> BrowseMedia: ...
44
44
  async def async_browse_media_root(self) -> BrowseMedia: ...
45
45
  async def async_browse_media_apps(self, expanded: bool = ...) -> BrowseMedia: ...
46
46
  async def async_browse_media_channels(self, expanded: bool = ...) -> BrowseMedia: ...
47
- async def async_get_browse_image(self, media_content_type: str, media_content_id: str, media_image_id: Union[str, None] = ...) -> tuple[Union[bytes, None], Union[str, None]]: ...
47
+ async def async_get_browse_image(self, media_content_type: Union[MediaType, str], media_content_id: str, media_image_id: Union[str, None] = ...) -> tuple[Union[bytes, None], Union[str, None]]: ...
48
48
  async def async_play_media(self, media_type: Union[MediaType, str], media_id: str, **kwargs: Any) -> None: ...
49
49
  async def async_select_source(self, source: str) -> None: ...
50
50
  async def async_media_play(self) -> None: ...
@@ -2,7 +2,6 @@ from .const import DOMAIN as DOMAIN, SERVICE_PRESS as SERVICE_PRESS
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE
4
4
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
5
- from homeassistant.helpers import entity_registry as entity_registry
6
5
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
7
6
 
8
7
  ACTION_TYPES: Incomplete
@@ -3,7 +3,6 @@ from _typeshed import Incomplete
3
3
  from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA
4
4
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE
5
5
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
6
- from homeassistant.helpers import entity_registry as entity_registry
7
6
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
8
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
9
8
 
@@ -1,5 +1,5 @@
1
1
  import datetime
2
- from .const import CONF_EVENT as CONF_EVENT, CalendarEntityFeature as CalendarEntityFeature, EVENT_DESCRIPTION as EVENT_DESCRIPTION, EVENT_END as EVENT_END, EVENT_END_DATE as EVENT_END_DATE, EVENT_END_DATETIME as EVENT_END_DATETIME, EVENT_IN as EVENT_IN, EVENT_IN_DAYS as EVENT_IN_DAYS, EVENT_IN_WEEKS as EVENT_IN_WEEKS, EVENT_RECURRENCE_ID as EVENT_RECURRENCE_ID, EVENT_RECURRENCE_RANGE as EVENT_RECURRENCE_RANGE, EVENT_RRULE as EVENT_RRULE, EVENT_START as EVENT_START, EVENT_START_DATE as EVENT_START_DATE, EVENT_START_DATETIME as EVENT_START_DATETIME, EVENT_SUMMARY as EVENT_SUMMARY, EVENT_TIME_FIELDS as EVENT_TIME_FIELDS, EVENT_TYPES as EVENT_TYPES, EVENT_UID as EVENT_UID
2
+ from .const import CONF_EVENT as CONF_EVENT, CalendarEntityFeature as CalendarEntityFeature, EVENT_DESCRIPTION as EVENT_DESCRIPTION, EVENT_END as EVENT_END, EVENT_END_DATE as EVENT_END_DATE, EVENT_END_DATETIME as EVENT_END_DATETIME, EVENT_IN as EVENT_IN, EVENT_IN_DAYS as EVENT_IN_DAYS, EVENT_IN_WEEKS as EVENT_IN_WEEKS, EVENT_LOCATION as EVENT_LOCATION, EVENT_RECURRENCE_ID as EVENT_RECURRENCE_ID, EVENT_RECURRENCE_RANGE as EVENT_RECURRENCE_RANGE, EVENT_RRULE as EVENT_RRULE, EVENT_START as EVENT_START, EVENT_START_DATE as EVENT_START_DATE, EVENT_START_DATETIME as EVENT_START_DATETIME, EVENT_SUMMARY as EVENT_SUMMARY, EVENT_TIME_FIELDS as EVENT_TIME_FIELDS, EVENT_TYPES as EVENT_TYPES, EVENT_UID as EVENT_UID
3
3
  from _typeshed import Incomplete
4
4
  from aiohttp import web
5
5
  from collections.abc import Callable as Callable, Iterable
@@ -24,12 +24,17 @@ ENTITY_ID_FORMAT: Incomplete
24
24
  SCAN_INTERVAL: Incomplete
25
25
  VALID_FREQS: Incomplete
26
26
 
27
+ def _has_timezone(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
27
28
  def _has_consistent_timezone(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
28
29
  def _as_local_timezone(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
29
- def _is_sorted(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
30
+ def _has_duration(start_key: str, end_key: str) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
31
+ def _has_same_type(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
32
+ def _validate_rrule(value: Any) -> str: ...
30
33
 
31
34
  CREATE_EVENT_SERVICE: str
32
35
  CREATE_EVENT_SCHEMA: Incomplete
36
+ WEBSOCKET_EVENT_SCHEMA: Incomplete
37
+ CALENDAR_EVENT_SCHEMA: Incomplete
33
38
 
34
39
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
35
40
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -52,6 +57,7 @@ class CalendarEvent:
52
57
  @property
53
58
  def all_day(self) -> bool: ...
54
59
  def as_dict(self) -> dict[str, Any]: ...
60
+ def __post_init__(self) -> None: ...
55
61
  def __init__(self, start, end, summary, description, location, uid, recurrence_id, rrule) -> None: ...
56
62
 
57
63
  def _event_dict_factory(obj: Iterable[tuple[str, Any]]) -> dict[str, str]: ...
@@ -60,7 +66,6 @@ def _get_datetime_local(dt_or_d: Union[datetime.datetime, datetime.date]) -> dat
60
66
  def _get_api_date(dt_or_d: Union[datetime.datetime, datetime.date]) -> dict[str, str]: ...
61
67
  def extract_offset(summary: str, offset_prefix: str) -> tuple[str, datetime.timedelta]: ...
62
68
  def is_offset_reached(start: datetime.datetime, offset_time: datetime.timedelta) -> bool: ...
63
- def _validate_rrule(value: Any) -> str: ...
64
69
 
65
70
  class CalendarEntity(Entity):
66
71
  @property
@@ -88,7 +93,6 @@ class CalendarListView(http.HomeAssistantView):
88
93
  def __init__(self, component: EntityComponent[CalendarEntity]) -> None: ...
89
94
  async def get(self, request: web.Request) -> web.Response: ...
90
95
 
91
- def _has_same_type(*keys: Any) -> Callable[[dict[str, Any]], dict[str, Any]]: ...
92
96
  async def handle_calendar_event_create(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
93
97
  async def handle_calendar_event_delete(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
94
98
  async def handle_calendar_event_update(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,9 +1,9 @@
1
1
  from _typeshed import Incomplete
2
- from enum import IntEnum
2
+ from enum import IntFlag
3
3
 
4
4
  CONF_EVENT: str
5
5
 
6
- class CalendarEntityFeature(IntEnum):
6
+ class CalendarEntityFeature(IntFlag):
7
7
  CREATE_EVENT: int
8
8
  DELETE_EVENT: int
9
9
  UPDATE_EVENT: int
@@ -1,12 +1,12 @@
1
1
  import datetime
2
2
  from . import CalendarEntity as CalendarEntity, CalendarEvent as CalendarEvent, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
- from collections.abc import Coroutine
4
+ from collections.abc import Awaitable, Callable, Coroutine
5
5
  from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_EVENT as CONF_EVENT, CONF_OFFSET as CONF_OFFSET, CONF_PLATFORM as CONF_PLATFORM
6
6
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
8
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
9
- from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time, async_track_time_interval as async_track_time_interval
9
+ from homeassistant.helpers.event import async_track_point_in_time as async_track_point_in_time, async_track_time_interval as async_track_time_interval
10
10
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
11
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
12
  from typing import Any
@@ -17,24 +17,41 @@ EVENT_END: str
17
17
  UPDATE_INTERVAL: Incomplete
18
18
  TRIGGER_SCHEMA: Incomplete
19
19
 
20
+ class QueuedCalendarEvent:
21
+ trigger_time: datetime.datetime
22
+ event: CalendarEvent
23
+ def __init__(self, trigger_time, event) -> None: ...
24
+
25
+ class Timespan:
26
+ start: datetime.datetime
27
+ end: datetime.datetime
28
+ def with_offset(self, offset: datetime.timedelta) -> Timespan: ...
29
+ def __contains__(self, trigger: datetime.datetime) -> bool: ...
30
+ def next_upcoming(self, now: datetime.datetime, interval: datetime.timedelta) -> Timespan: ...
31
+ def __str__(self) -> str: ...
32
+ def __init__(self, start, end) -> None: ...
33
+ EventFetcher = Callable[[Timespan], Awaitable[list[CalendarEvent]]]
34
+ QueuedEventFetcher = Callable[[Timespan], Awaitable[list[QueuedCalendarEvent]]]
35
+
36
+ def event_fetcher(hass: HomeAssistant, entity: CalendarEntity) -> EventFetcher: ...
37
+ def queued_event_fetcher(fetcher: EventFetcher, event_type: str, offset: datetime.timedelta) -> QueuedEventFetcher: ...
38
+
20
39
  class CalendarEventListener:
21
40
  _hass: Incomplete
22
41
  _job: Incomplete
23
42
  _trigger_data: Incomplete
24
- _entity: Incomplete
25
- _offset: Incomplete
26
43
  _unsub_event: Incomplete
27
44
  _unsub_refresh: Incomplete
45
+ _fetcher: Incomplete
46
+ _timespan: Incomplete
28
47
  _events: Incomplete
29
- _event_type: Incomplete
30
- def __init__(self, hass: HomeAssistant, job: HassJob[..., Coroutine[Any, Any, None]], trigger_data: dict[str, Any], entity: CalendarEntity, event_type: str, offset: datetime.timedelta) -> None: ...
48
+ def __init__(self, hass: HomeAssistant, job: HassJob[..., Coroutine[Any, Any, None]], trigger_data: dict[str, Any], fetcher: QueuedEventFetcher) -> None: ...
31
49
  async def async_attach(self) -> None: ...
32
50
  def async_detach(self) -> None: ...
33
- async def _fetch_events(self, last_endtime: datetime.datetime) -> None: ...
34
51
  def _listen_next_calendar_event(self) -> None: ...
35
52
  def _clear_event_listener(self) -> None: ...
36
53
  async def _handle_calendar_event(self, now: datetime.datetime) -> None: ...
37
54
  def _dispatch_events(self, now: datetime.datetime) -> None: ...
38
- async def _handle_refresh(self, now: datetime.datetime) -> None: ...
55
+ async def _handle_refresh(self, now_utc: datetime.datetime) -> None: ...
39
56
 
40
57
  async def async_attach_trigger(hass: HomeAssistant, config: ConfigType, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
@@ -11,7 +11,7 @@ from homeassistant.components.media_player import ATTR_MEDIA_CONTENT_ID as ATTR_
11
11
  from homeassistant.components.stream import FORMAT_CONTENT_TYPE as FORMAT_CONTENT_TYPE, OUTPUT_FORMATS as OUTPUT_FORMATS, Orientation as Orientation, Stream as Stream, create_stream as create_stream
12
12
  from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection
13
13
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
14
- from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_FILENAME as CONF_FILENAME, CONTENT_TYPE_MULTIPART as CONTENT_TYPE_MULTIPART, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
14
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_FILENAME as CONF_FILENAME, CONTENT_TYPE_MULTIPART as CONTENT_TYPE_MULTIPART, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
15
15
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
16
16
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
17
17
  from homeassistant.helpers.config_validation import PLATFORM_SCHEMA as PLATFORM_SCHEMA, PLATFORM_SCHEMA_BASE as PLATFORM_SCHEMA_BASE
@@ -3,7 +3,6 @@ from . import ATTR_POSITION as ATTR_POSITION, ATTR_TILT_POSITION as ATTR_TILT_PO
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, SERVICE_CLOSE_COVER as SERVICE_CLOSE_COVER, SERVICE_CLOSE_COVER_TILT as SERVICE_CLOSE_COVER_TILT, SERVICE_OPEN_COVER as SERVICE_OPEN_COVER, SERVICE_OPEN_COVER_TILT as SERVICE_OPEN_COVER_TILT, SERVICE_SET_COVER_POSITION as SERVICE_SET_COVER_POSITION, SERVICE_SET_COVER_TILT_POSITION as SERVICE_SET_COVER_TILT_POSITION, SERVICE_STOP_COVER as SERVICE_STOP_COVER
5
5
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
6
- from homeassistant.helpers import entity_registry as entity_registry
7
6
  from homeassistant.helpers.entity import get_supported_features as get_supported_features
8
7
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
9
8
 
@@ -3,7 +3,7 @@ from . import DOMAIN as DOMAIN, SUPPORT_CLOSE as SUPPORT_CLOSE, SUPPORT_OPEN as
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_ABOVE as CONF_ABOVE, CONF_BELOW as CONF_BELOW, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
- from homeassistant.helpers import condition as condition, entity_registry as entity_registry
6
+ from homeassistant.helpers import condition as condition
7
7
  from homeassistant.helpers.config_validation import DEVICE_CONDITION_BASE_SCHEMA as DEVICE_CONDITION_BASE_SCHEMA
8
8
  from homeassistant.helpers.entity import get_supported_features as get_supported_features
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
@@ -4,7 +4,6 @@ from _typeshed import Incomplete
4
4
  from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA
5
5
  from homeassistant.const import CONF_ABOVE as CONF_ABOVE, CONF_BELOW as CONF_BELOW, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
6
6
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
7
- from homeassistant.helpers import entity_registry as entity_registry
8
7
  from homeassistant.helpers.entity import get_supported_features as get_supported_features
9
8
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
10
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -17,6 +17,7 @@ class DemoSensor(SensorEntity):
17
17
  _attr_should_poll: bool
18
18
  _attr_device_class: Incomplete
19
19
  _attr_name: Incomplete
20
+ _attr_has_entity_name: bool
20
21
  _attr_native_unit_of_measurement: Incomplete
21
22
  _attr_native_value: Incomplete
22
23
  _attr_state_class: Incomplete
@@ -25,7 +26,7 @@ class DemoSensor(SensorEntity):
25
26
  _attr_translation_key: Incomplete
26
27
  _attr_device_info: Incomplete
27
28
  _attr_extra_state_attributes: Incomplete
28
- def __init__(self, unique_id: str, name: str, state: StateType, device_class: SensorDeviceClass, state_class: Union[SensorStateClass, None], unit_of_measurement: Union[str, None], battery: StateType, options: Union[list[str], None] = ..., translation_key: Union[str, None] = ...) -> None: ...
29
+ def __init__(self, unique_id: str, name: Union[str, None], state: StateType, device_class: SensorDeviceClass, state_class: Union[SensorStateClass, None], unit_of_measurement: Union[str, None], battery: StateType, options: Union[list[str], None] = ..., translation_key: Union[str, None] = ...) -> None: ...
29
30
 
30
31
  class DemoSumSensor(RestoreSensor):
31
32
  _attr_should_poll: bool
@@ -1,5 +1,5 @@
1
1
  from _typeshed import Incomplete
2
- from aiohttp import StreamReader as StreamReader
2
+ from collections.abc import AsyncIterable
3
3
  from homeassistant.components.stt import AudioBitRates as AudioBitRates, AudioChannels as AudioChannels, AudioCodecs as AudioCodecs, AudioFormats as AudioFormats, AudioSampleRates as AudioSampleRates, Provider as Provider, SpeechMetadata as SpeechMetadata, SpeechResult as SpeechResult, SpeechResultState as SpeechResultState
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
5
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
@@ -21,4 +21,4 @@ class DemoProvider(Provider):
21
21
  def supported_sample_rates(self) -> list[AudioSampleRates]: ...
22
22
  @property
23
23
  def supported_channels(self) -> list[AudioChannels]: ...
24
- async def async_process_audio_stream(self, metadata: SpeechMetadata, stream: StreamReader) -> SpeechResult: ...
24
+ async def async_process_audio_stream(self, metadata: SpeechMetadata, stream: AsyncIterable[bytes]) -> SpeechResult: ...
@@ -4,13 +4,11 @@ from .helpers import async_validate_device_automation_config as async_validate_d
4
4
  from homeassistant.const import CONF_DOMAIN as CONF_DOMAIN
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.helpers import condition as condition
7
+ from homeassistant.helpers.condition import ConditionProtocol as ConditionProtocol, trace_condition_function as trace_condition_function
7
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
8
9
  from typing import Any, Protocol
9
10
 
10
- class DeviceAutomationConditionProtocol(Protocol):
11
- CONDITION_SCHEMA: vol.Schema
12
- async def async_validate_condition_config(self, hass: HomeAssistant, config: ConfigType) -> ConfigType: ...
13
- def async_condition_from_config(self, hass: HomeAssistant, config: ConfigType) -> condition.ConditionCheckerType: ...
11
+ class DeviceAutomationConditionProtocol(ConditionProtocol, Protocol):
14
12
  async def async_get_condition_capabilities(self, hass: HomeAssistant, config: ConfigType) -> dict[str, vol.Schema]: ...
15
13
  async def async_get_conditions(self, hass: HomeAssistant, device_id: str) -> list[dict[str, Any]]: ...
16
14
 
@@ -2,7 +2,7 @@ from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, STATE_HOME as STATE_HOME
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
- from homeassistant.helpers import condition as condition, entity_registry as entity_registry
5
+ from homeassistant.helpers import condition as condition
6
6
  from homeassistant.helpers.config_validation import DEVICE_CONDITION_BASE_SCHEMA as DEVICE_CONDITION_BASE_SCHEMA
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
8
8
 
@@ -4,7 +4,6 @@ from _typeshed import Incomplete
4
4
  from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA
5
5
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_EVENT as CONF_EVENT, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE, CONF_ZONE as CONF_ZONE
6
6
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
7
- from homeassistant.helpers import entity_registry as entity_registry
8
7
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
9
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
9
  from typing import Final
@@ -6,7 +6,6 @@ from homeassistant.components.device_tracker import ScannerEntity as ScannerEnti
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import STATE_UNKNOWN as STATE_UNKNOWN, UnitOfFrequency as UnitOfFrequency
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
- from homeassistant.helpers import entity_registry as entity_registry
10
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
10
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
12
11
 
@@ -15,5 +15,6 @@ class DevoloEntity(CoordinatorEntity[DataUpdateCoordinator[_DataT]]):
15
15
  device: Incomplete
16
16
  entry: Incomplete
17
17
  _attr_device_info: Incomplete
18
+ _attr_translation_key: Incomplete
18
19
  _attr_unique_id: Incomplete
19
20
  def __init__(self, entry: ConfigEntry, coordinator: DataUpdateCoordinator[_DataT], device: Device) -> None: ...
@@ -8,7 +8,6 @@ from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_HOST as C
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from homeassistant.data_entry_flow import FlowResult as FlowResult
10
10
  from homeassistant.exceptions import IntegrationError as IntegrationError
11
- from homeassistant.helpers import device_registry as device_registry
12
11
  from typing import Any
13
12
 
14
13
  LOGGER: Incomplete
@@ -11,7 +11,6 @@ from homeassistant.components import media_source as media_source, ssdp as ssdp
11
11
  from homeassistant.components.media_player import ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseMedia as BrowseMedia, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
12
12
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_MAC as CONF_MAC, CONF_TYPE as CONF_TYPE, CONF_URL as CONF_URL
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant
14
- from homeassistant.helpers import device_registry as device_registry, entity_registry as entity_registry
15
14
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
16
15
  from typing import Any, Concatenate, TypeVar
17
16
 
@@ -82,7 +81,7 @@ class DlnaDmrEntity(MediaPlayerEntity):
82
81
  @property
83
82
  def sound_mode_list(self) -> Union[list[str], None]: ...
84
83
  async def async_select_sound_mode(self, sound_mode: str) -> None: ...
85
- async def async_browse_media(self, media_content_type: Union[str, None] = ..., media_content_id: Union[str, None] = ...) -> BrowseMedia: ...
84
+ async def async_browse_media(self, media_content_type: Union[MediaType, str, None] = ..., media_content_id: Union[str, None] = ...) -> BrowseMedia: ...
86
85
  def _get_content_filter(self) -> Callable[[BrowseMedia], bool]: ...
87
86
  @property
88
87
  def media_title(self) -> Union[str, None]: ...
@@ -6,7 +6,7 @@ from homeassistant.components.bluetooth.match import ADDRESS as ADDRESS, Bluetoo
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
8
8
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
9
- from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
10
10
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
11
11
 
12
12
  PLATFORMS: list[Platform]
@@ -1,7 +1,8 @@
1
1
  from .const import CONF_ASSOCIATION_DATA as CONF_ASSOCIATION_DATA, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
+ from collections.abc import Mapping
3
4
  from homeassistant import config_entries as config_entries
4
- from homeassistant.components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak, async_discovered_service_info as async_discovered_service_info
5
+ from homeassistant.components.bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak, async_discovered_service_info as async_discovered_service_info, async_last_service_info as async_last_service_info
5
6
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
6
7
  from homeassistant.data_entry_flow import FlowResult as FlowResult
7
8
  from typing import Any
@@ -11,6 +12,7 @@ STEP_ASSOCIATE_SCHEMA: Incomplete
11
12
 
12
13
  class ConfigFlow(config_entries.ConfigFlow):
13
14
  VERSION: int
15
+ _reauth_entry: Union[config_entries.ConfigEntry, None]
14
16
  _lock: Incomplete
15
17
  _discovered_devices: Incomplete
16
18
  _discovery_info: Incomplete
@@ -18,4 +20,6 @@ class ConfigFlow(config_entries.ConfigFlow):
18
20
  async def async_step_user(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
19
21
  async def async_step_bluetooth(self, discovery_info: BluetoothServiceInfoBleak) -> FlowResult: ...
20
22
  async def async_step_bluetooth_confirm(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
23
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult: ...
24
+ async def async_step_reauth_confirm(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
21
25
  async def async_step_associate(self, user_input: Union[dict[str, Any], None] = ...) -> FlowResult: ...
@@ -5,13 +5,13 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.helpers import entity_platform as entity_platform
8
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
9
  from homeassistant.helpers.typing import StateType as StateType
10
10
  from pyefergy import Efergy as Efergy
11
11
 
12
12
  SENSOR_TYPES: tuple[SensorEntityDescription, ...]
13
13
 
14
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: entity_platform.AddEntitiesCallback) -> None: ...
14
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
15
 
16
16
  class EfergySensor(EfergyEntity, SensorEntity):
17
17
  entity_description: Incomplete