homeassistant-stubs 2023.8.4__py3-none-any.whl → 2023.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (794) hide show
  1. homeassistant-stubs/__main__.pyi +0 -1
  2. homeassistant-stubs/components/abode/__init__.pyi +2 -1
  3. homeassistant-stubs/components/abode/sensor.pyi +18 -6
  4. homeassistant-stubs/components/accuweather/__init__.pyi +1 -2
  5. homeassistant-stubs/components/accuweather/const.pyi +2 -0
  6. homeassistant-stubs/components/accuweather/sensor.pyi +4 -6
  7. homeassistant-stubs/components/accuweather/weather.pyi +6 -5
  8. homeassistant-stubs/components/actiontec/model.pyi +0 -1
  9. homeassistant-stubs/components/adguard/entity.pyi +2 -2
  10. homeassistant-stubs/components/adguard/sensor.pyi +0 -2
  11. homeassistant-stubs/components/adguard/switch.pyi +0 -2
  12. homeassistant-stubs/components/airly/sensor.pyi +1 -3
  13. homeassistant-stubs/components/airzone/binary_sensor.pyi +0 -1
  14. homeassistant-stubs/components/airzone/entity.pyi +7 -1
  15. homeassistant-stubs/components/airzone/select.pyi +0 -2
  16. homeassistant-stubs/components/airzone/sensor.pyi +9 -1
  17. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +8 -2
  18. homeassistant-stubs/components/airzone_cloud/entity.pyi +7 -1
  19. homeassistant-stubs/components/aladdin_connect/cover.pyi +1 -1
  20. homeassistant-stubs/components/aladdin_connect/sensor.pyi +1 -3
  21. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -1
  22. homeassistant-stubs/components/alexa/__init__.pyi +16 -0
  23. homeassistant-stubs/components/alexa/auth.pyi +31 -0
  24. homeassistant-stubs/components/alexa/capabilities.pyi +281 -0
  25. homeassistant-stubs/components/alexa/config.pyi +57 -0
  26. homeassistant-stubs/components/alexa/const.pyi +51 -0
  27. homeassistant-stubs/components/alexa/entities.pyi +176 -0
  28. homeassistant-stubs/components/alexa/errors.pyi +69 -0
  29. homeassistant-stubs/components/alexa/flash_briefings.pyi +22 -0
  30. homeassistant-stubs/components/alexa/handlers.pyi +64 -0
  31. homeassistant-stubs/components/alexa/intent.pyi +53 -0
  32. homeassistant-stubs/components/alexa/logbook.pyi +6 -0
  33. homeassistant-stubs/components/alexa/resources.pyi +114 -0
  34. homeassistant-stubs/components/alexa/smart_home.pyi +51 -0
  35. homeassistant-stubs/components/alexa/state_report.pyi +53 -0
  36. homeassistant-stubs/components/ambient_station/__init__.pyi +1 -15
  37. homeassistant-stubs/components/ambient_station/binary_sensor.pyi +1 -3
  38. homeassistant-stubs/components/ambient_station/entity.pyi +21 -0
  39. homeassistant-stubs/components/ambient_station/sensor.pyi +2 -1
  40. homeassistant-stubs/components/amcrest/__init__.pyi +0 -1
  41. homeassistant-stubs/components/amcrest/binary_sensor.pyi +0 -1
  42. homeassistant-stubs/components/analytics/analytics.pyi +0 -1
  43. homeassistant-stubs/components/anova/__init__.pyi +1 -1
  44. homeassistant-stubs/components/anova/config_flow.pyi +4 -4
  45. homeassistant-stubs/components/anova/coordinator.pyi +2 -2
  46. homeassistant-stubs/components/anova/entity.pyi +2 -2
  47. homeassistant-stubs/components/anova/models.pyi +0 -1
  48. homeassistant-stubs/components/anova/sensor.pyi +0 -2
  49. homeassistant-stubs/components/anthemav/__init__.pyi +1 -1
  50. homeassistant-stubs/components/anthemav/const.pyi +1 -1
  51. homeassistant-stubs/components/anthemav/media_player.pyi +2 -2
  52. homeassistant-stubs/components/apcupsd/__init__.pyi +1 -1
  53. homeassistant-stubs/components/aqualogic/sensor.pyi +0 -1
  54. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +0 -2
  55. homeassistant-stubs/components/aseko_pool_live/entity.pyi +2 -1
  56. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +1 -0
  57. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  58. homeassistant-stubs/components/assist_pipeline/const.pyi +3 -0
  59. homeassistant-stubs/components/assist_pipeline/error.pyi +2 -0
  60. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +35 -14
  61. homeassistant-stubs/components/assist_pipeline/ring_buffer.pyi +15 -0
  62. homeassistant-stubs/components/assist_pipeline/vad.pyi +41 -6
  63. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  64. homeassistant-stubs/components/asuswrt/router.pyi +1 -2
  65. homeassistant-stubs/components/asuswrt/sensor.pyi +0 -1
  66. homeassistant-stubs/components/auth/__init__.pyi +2 -1
  67. homeassistant-stubs/components/automation/__init__.pyi +0 -1
  68. homeassistant-stubs/components/awair/__init__.pyi +0 -1
  69. homeassistant-stubs/components/awair/sensor.pyi +1 -3
  70. homeassistant-stubs/components/backup/manager.pyi +0 -1
  71. homeassistant-stubs/components/baf/binary_sensor.pyi +0 -2
  72. homeassistant-stubs/components/baf/entity.pyi +2 -2
  73. homeassistant-stubs/components/baf/light.pyi +1 -2
  74. homeassistant-stubs/components/baf/models.pyi +0 -2
  75. homeassistant-stubs/components/baf/number.pyi +0 -2
  76. homeassistant-stubs/components/baf/sensor.pyi +0 -2
  77. homeassistant-stubs/components/baf/switch.pyi +0 -2
  78. homeassistant-stubs/components/bayesian/helpers.pyi +0 -1
  79. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -1
  80. homeassistant-stubs/components/bluetooth/base_scanner.pyi +0 -1
  81. homeassistant-stubs/components/bluetooth/match.pyi +0 -1
  82. homeassistant-stubs/components/bluetooth/models.pyi +0 -1
  83. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +59 -20
  84. homeassistant-stubs/components/bluetooth/update_coordinator.pyi +6 -3
  85. homeassistant-stubs/components/bluetooth/wrappers.pyi +1 -2
  86. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +1 -1
  87. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +0 -2
  88. homeassistant-stubs/components/bmw_connected_drive/button.pyi +6 -5
  89. homeassistant-stubs/components/bmw_connected_drive/number.pyi +0 -2
  90. homeassistant-stubs/components/bmw_connected_drive/select.pyi +0 -2
  91. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +0 -1
  92. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +0 -2
  93. homeassistant-stubs/components/bond/button.pyi +0 -2
  94. homeassistant-stubs/components/bond/entity.pyi +2 -1
  95. homeassistant-stubs/components/bond/models.pyi +0 -1
  96. homeassistant-stubs/components/braviatv/button.pyi +0 -2
  97. homeassistant-stubs/components/braviatv/coordinator.pyi +2 -2
  98. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  99. homeassistant-stubs/components/brother/sensor.pyi +1 -3
  100. homeassistant-stubs/components/button/__init__.pyi +0 -1
  101. homeassistant-stubs/components/calendar/__init__.pyi +5 -3
  102. homeassistant-stubs/components/calendar/trigger.pyi +0 -2
  103. homeassistant-stubs/components/camera/__init__.pyi +3 -1
  104. homeassistant-stubs/components/camera/prefs.pyi +0 -1
  105. homeassistant-stubs/components/canary/camera.pyi +1 -1
  106. homeassistant-stubs/components/canary/sensor.pyi +1 -1
  107. homeassistant-stubs/components/cloud/alexa_config.pyi +3 -2
  108. homeassistant-stubs/components/cloud/http_api.pyi +3 -3
  109. homeassistant-stubs/components/cover/__init__.pyi +2 -3
  110. homeassistant-stubs/components/cpuspeed/sensor.pyi +1 -1
  111. homeassistant-stubs/components/crownstone/devices.pyi +2 -1
  112. homeassistant-stubs/components/deconz/binary_sensor.pyi +0 -2
  113. homeassistant-stubs/components/deconz/button.pyi +0 -2
  114. homeassistant-stubs/components/deconz/deconz_device.pyi +2 -2
  115. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -0
  116. homeassistant-stubs/components/deconz/light.pyi +1 -1
  117. homeassistant-stubs/components/deconz/number.pyi +0 -2
  118. homeassistant-stubs/components/deconz/sensor.pyi +0 -2
  119. homeassistant-stubs/components/demo/binary_sensor.pyi +1 -1
  120. homeassistant-stubs/components/demo/button.pyi +1 -1
  121. homeassistant-stubs/components/demo/calendar.pyi +2 -2
  122. homeassistant-stubs/components/demo/climate.pyi +1 -1
  123. homeassistant-stubs/components/demo/cover.pyi +1 -1
  124. homeassistant-stubs/components/demo/date.pyi +1 -1
  125. homeassistant-stubs/components/demo/datetime.pyi +1 -1
  126. homeassistant-stubs/components/demo/event.pyi +1 -1
  127. homeassistant-stubs/components/demo/light.pyi +1 -1
  128. homeassistant-stubs/components/demo/number.pyi +1 -1
  129. homeassistant-stubs/components/demo/select.pyi +1 -1
  130. homeassistant-stubs/components/demo/sensor.pyi +1 -1
  131. homeassistant-stubs/components/demo/switch.pyi +1 -1
  132. homeassistant-stubs/components/demo/text.pyi +1 -1
  133. homeassistant-stubs/components/demo/time.pyi +1 -1
  134. homeassistant-stubs/components/demo/update.pyi +1 -1
  135. homeassistant-stubs/components/demo/weather.pyi +1 -0
  136. homeassistant-stubs/components/derivative/sensor.pyi +1 -1
  137. homeassistant-stubs/components/device_automation/__init__.pyi +0 -1
  138. homeassistant-stubs/components/device_tracker/config_entry.pyi +2 -1
  139. homeassistant-stubs/components/devolo_home_control/devolo_device.pyi +2 -1
  140. homeassistant-stubs/components/devolo_home_network/__init__.pyi +2 -2
  141. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +0 -2
  142. homeassistant-stubs/components/devolo_home_network/button.pyi +0 -2
  143. homeassistant-stubs/components/devolo_home_network/const.pyi +2 -0
  144. homeassistant-stubs/components/devolo_home_network/entity.pyi +2 -1
  145. homeassistant-stubs/components/devolo_home_network/image.pyi +32 -0
  146. homeassistant-stubs/components/devolo_home_network/sensor.pyi +0 -2
  147. homeassistant-stubs/components/devolo_home_network/switch.pyi +0 -2
  148. homeassistant-stubs/components/devolo_home_network/update.pyi +40 -0
  149. homeassistant-stubs/components/dhcp/__init__.pyi +0 -1
  150. homeassistant-stubs/components/diagnostics/__init__.pyi +0 -2
  151. homeassistant-stubs/components/dlna_dmr/media_player.pyi +2 -2
  152. homeassistant-stubs/components/dnsip/sensor.pyi +1 -2
  153. homeassistant-stubs/components/doorbird/__init__.pyi +25 -0
  154. homeassistant-stubs/components/doorbird/button.pyi +32 -0
  155. homeassistant-stubs/components/doorbird/camera.pyi +33 -0
  156. homeassistant-stubs/components/doorbird/config_flow.pyi +37 -0
  157. homeassistant-stubs/components/doorbird/const.pyi +19 -0
  158. homeassistant-stubs/components/doorbird/device.pyi +40 -0
  159. homeassistant-stubs/components/doorbird/entity.pyi +14 -0
  160. homeassistant-stubs/components/doorbird/logbook.pyi +8 -0
  161. homeassistant-stubs/components/doorbird/models.pyi +8 -0
  162. homeassistant-stubs/components/doorbird/util.pyi +8 -0
  163. homeassistant-stubs/components/doorbird/view.pyi +14 -0
  164. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +0 -2
  165. homeassistant-stubs/components/dormakaba_dkey/entity.pyi +1 -1
  166. homeassistant-stubs/components/dormakaba_dkey/models.pyi +0 -1
  167. homeassistant-stubs/components/dsmr/sensor.pyi +1 -3
  168. homeassistant-stubs/components/dunehd/media_player.pyi +3 -7
  169. homeassistant-stubs/components/efergy/__init__.pyi +2 -1
  170. homeassistant-stubs/components/electrasmart/climate.pyi +1 -1
  171. homeassistant-stubs/components/electric_kiwi/select.pyi +27 -0
  172. homeassistant-stubs/components/electric_kiwi/sensor.pyi +1 -3
  173. homeassistant-stubs/components/elgato/button.pyi +0 -2
  174. homeassistant-stubs/components/elgato/coordinator.pyi +0 -1
  175. homeassistant-stubs/components/elgato/entity.pyi +1 -2
  176. homeassistant-stubs/components/elgato/sensor.pyi +0 -2
  177. homeassistant-stubs/components/elgato/switch.pyi +0 -2
  178. homeassistant-stubs/components/elkm1/__init__.pyi +2 -2
  179. homeassistant-stubs/components/elkm1/climate.pyi +6 -15
  180. homeassistant-stubs/components/elkm1/sensor.pyi +10 -18
  181. homeassistant-stubs/components/energy/sensor.pyi +0 -1
  182. homeassistant-stubs/components/energy/validate.pyi +0 -3
  183. homeassistant-stubs/components/esphome/bluetooth/cache.pyi +0 -1
  184. homeassistant-stubs/components/esphome/bluetooth/client.pyi +3 -3
  185. homeassistant-stubs/components/esphome/bluetooth/device.pyi +0 -1
  186. homeassistant-stubs/components/esphome/bluetooth/scanner.pyi +2 -0
  187. homeassistant-stubs/components/esphome/domain_data.pyi +0 -1
  188. homeassistant-stubs/components/esphome/entity.pyi +2 -1
  189. homeassistant-stubs/components/esphome/entry_data.pyi +0 -1
  190. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  191. homeassistant-stubs/components/esphome/update.pyi +1 -1
  192. homeassistant-stubs/components/esphome/voice_assistant.pyi +5 -7
  193. homeassistant-stubs/components/event/__init__.pyi +0 -2
  194. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +1 -1
  195. homeassistant-stubs/components/evil_genius_labs/util.pyi +3 -2
  196. homeassistant-stubs/components/fan/__init__.pyi +0 -1
  197. homeassistant-stubs/components/feedreader/__init__.pyi +21 -18
  198. homeassistant-stubs/components/file_upload/__init__.pyi +0 -1
  199. homeassistant-stubs/components/filesize/__init__.pyi +2 -1
  200. homeassistant-stubs/components/filesize/coordinator.pyi +12 -0
  201. homeassistant-stubs/components/filesize/sensor.pyi +3 -8
  202. homeassistant-stubs/components/filter/sensor.pyi +0 -1
  203. homeassistant-stubs/components/fitbit/sensor.pyi +0 -1
  204. homeassistant-stubs/components/flux_led/entity.pyi +2 -1
  205. homeassistant-stubs/components/forecast_solar/__init__.pyi +2 -1
  206. homeassistant-stubs/components/forecast_solar/config_flow.pyi +1 -1
  207. homeassistant-stubs/components/forecast_solar/const.pyi +2 -0
  208. homeassistant-stubs/components/forecast_solar/coordinator.pyi +1 -1
  209. homeassistant-stubs/components/forecast_solar/sensor.pyi +1 -3
  210. homeassistant-stubs/components/fritz/binary_sensor.pyi +0 -1
  211. homeassistant-stubs/components/fritz/button.pyi +1 -4
  212. homeassistant-stubs/components/fritz/common.pyi +2 -6
  213. homeassistant-stubs/components/fritz/sensor.pyi +0 -1
  214. homeassistant-stubs/components/fritz/switch.pyi +2 -2
  215. homeassistant-stubs/components/fritzbox/__init__.pyi +3 -2
  216. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +0 -2
  217. homeassistant-stubs/components/fritzbox/button.pyi +1 -1
  218. homeassistant-stubs/components/fritzbox/coordinator.pyi +0 -1
  219. homeassistant-stubs/components/fritzbox/model.pyi +0 -1
  220. homeassistant-stubs/components/fritzbox/sensor.pyi +5 -3
  221. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +1 -1
  222. homeassistant-stubs/components/fronius/__init__.pyi +1 -1
  223. homeassistant-stubs/components/fronius/const.pyi +1 -1
  224. homeassistant-stubs/components/fronius/sensor.pyi +1 -2
  225. homeassistant-stubs/components/fully_kiosk/button.pyi +0 -2
  226. homeassistant-stubs/components/fully_kiosk/entity.pyi +2 -2
  227. homeassistant-stubs/components/fully_kiosk/sensor.pyi +0 -1
  228. homeassistant-stubs/components/fully_kiosk/switch.pyi +0 -2
  229. homeassistant-stubs/components/geocaching/sensor.pyi +1 -4
  230. homeassistant-stubs/components/gios/sensor.pyi +1 -4
  231. homeassistant-stubs/components/goalzero/entity.pyi +2 -1
  232. homeassistant-stubs/components/google/calendar.pyi +3 -8
  233. homeassistant-stubs/components/group/__init__.pyi +4 -1
  234. homeassistant-stubs/components/group/binary_sensor.pyi +4 -4
  235. homeassistant-stubs/components/group/config_flow.pyi +22 -7
  236. homeassistant-stubs/components/group/cover.pyi +6 -9
  237. homeassistant-stubs/components/group/event.pyi +29 -0
  238. homeassistant-stubs/components/group/fan.pyi +6 -9
  239. homeassistant-stubs/components/group/light.pyi +3 -4
  240. homeassistant-stubs/components/group/lock.pyi +2 -3
  241. homeassistant-stubs/components/group/media_player.pyi +5 -3
  242. homeassistant-stubs/components/group/sensor.pyi +2 -3
  243. homeassistant-stubs/components/group/switch.pyi +2 -3
  244. homeassistant-stubs/components/guardian/__init__.pyi +2 -4
  245. homeassistant-stubs/components/guardian/binary_sensor.pyi +0 -1
  246. homeassistant-stubs/components/guardian/button.pyi +0 -2
  247. homeassistant-stubs/components/guardian/sensor.pyi +0 -1
  248. homeassistant-stubs/components/guardian/switch.pyi +0 -2
  249. homeassistant-stubs/components/guardian/util.pyi +0 -1
  250. homeassistant-stubs/components/hardware/models.pyi +0 -3
  251. homeassistant-stubs/components/hardware/websocket_api.pyi +0 -1
  252. homeassistant-stubs/components/here_travel_time/model.pyi +0 -1
  253. homeassistant-stubs/components/here_travel_time/sensor.pyi +1 -2
  254. homeassistant-stubs/components/history/websocket_api.pyi +0 -1
  255. homeassistant-stubs/components/homeassistant/exposed_entities.pyi +0 -2
  256. homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +0 -1
  257. homeassistant-stubs/components/homeassistant_green/__init__.pyi +7 -0
  258. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +8 -0
  259. homeassistant-stubs/components/homeassistant_green/const.pyi +1 -0
  260. homeassistant-stubs/components/homeassistant_green/hardware.pyi +11 -0
  261. homeassistant-stubs/components/homeassistant_hardware/const.pyi +1 -0
  262. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +29 -13
  263. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -0
  264. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -0
  265. homeassistant-stubs/components/homekit_controller/button.pyi +0 -1
  266. homeassistant-stubs/components/homewizard/const.pyi +0 -1
  267. homeassistant-stubs/components/homewizard/entity.pyi +1 -1
  268. homeassistant-stubs/components/homewizard/helpers.pyi +3 -2
  269. homeassistant-stubs/components/homewizard/sensor.pyi +0 -2
  270. homeassistant-stubs/components/homewizard/switch.pyi +0 -2
  271. homeassistant-stubs/components/http/__init__.pyi +5 -1
  272. homeassistant-stubs/components/http/ban.pyi +2 -2
  273. homeassistant-stubs/components/http/data_validator.pyi +2 -2
  274. homeassistant-stubs/components/http/decorators.pyi +15 -0
  275. homeassistant-stubs/components/http/headers.pyi +5 -0
  276. homeassistant-stubs/components/huawei_lte/__init__.pyi +2 -4
  277. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +0 -11
  278. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +0 -1
  279. homeassistant-stubs/components/huawei_lte/notify.pyi +0 -1
  280. homeassistant-stubs/components/huawei_lte/sensor.pyi +0 -4
  281. homeassistant-stubs/components/huawei_lte/switch.pyi +0 -5
  282. homeassistant-stubs/components/hyperion/camera.pyi +4 -5
  283. homeassistant-stubs/components/hyperion/const.pyi +0 -2
  284. homeassistant-stubs/components/hyperion/light.pyi +3 -5
  285. homeassistant-stubs/components/hyperion/switch.pyi +5 -6
  286. homeassistant-stubs/components/ibeacon/entity.pyi +2 -1
  287. homeassistant-stubs/components/ibeacon/sensor.pyi +0 -2
  288. homeassistant-stubs/components/image/__init__.pyi +0 -2
  289. homeassistant-stubs/components/image_processing/__init__.pyi +0 -1
  290. homeassistant-stubs/components/imap/sensor.pyi +1 -2
  291. homeassistant-stubs/components/integration/sensor.pyi +1 -2
  292. homeassistant-stubs/components/ipp/__init__.pyi +11 -0
  293. homeassistant-stubs/components/ipp/config_flow.pyi +22 -0
  294. homeassistant-stubs/components/ipp/const.pyi +13 -0
  295. homeassistant-stubs/components/ipp/coordinator.pyi +15 -0
  296. homeassistant-stubs/components/ipp/entity.pyi +13 -0
  297. homeassistant-stubs/components/ipp/sensor.pyi +36 -0
  298. homeassistant-stubs/components/isy994/__init__.pyi +1 -2
  299. homeassistant-stubs/components/isy994/binary_sensor.pyi +2 -1
  300. homeassistant-stubs/components/isy994/button.pyi +2 -1
  301. homeassistant-stubs/components/isy994/climate.pyi +2 -1
  302. homeassistant-stubs/components/isy994/cover.pyi +2 -1
  303. homeassistant-stubs/components/isy994/entity.pyi +2 -1
  304. homeassistant-stubs/components/isy994/fan.pyi +2 -1
  305. homeassistant-stubs/components/isy994/helpers.pyi +1 -1
  306. homeassistant-stubs/components/isy994/light.pyi +2 -1
  307. homeassistant-stubs/components/isy994/lock.pyi +2 -1
  308. homeassistant-stubs/components/isy994/models.pyi +1 -2
  309. homeassistant-stubs/components/isy994/number.pyi +2 -1
  310. homeassistant-stubs/components/isy994/select.pyi +1 -1
  311. homeassistant-stubs/components/isy994/sensor.pyi +2 -1
  312. homeassistant-stubs/components/isy994/switch.pyi +1 -2
  313. homeassistant-stubs/components/jellyfin/entity.pyi +2 -2
  314. homeassistant-stubs/components/jellyfin/media_player.pyi +1 -1
  315. homeassistant-stubs/components/jellyfin/models.pyi +0 -1
  316. homeassistant-stubs/components/jellyfin/sensor.pyi +0 -2
  317. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +0 -2
  318. homeassistant-stubs/components/jvc_projector/entity.pyi +1 -1
  319. homeassistant-stubs/components/kaleidescape/__init__.pyi +0 -1
  320. homeassistant-stubs/components/kaleidescape/entity.pyi +2 -1
  321. homeassistant-stubs/components/kaleidescape/sensor.pyi +0 -2
  322. homeassistant-stubs/components/knx/config_flow.pyi +1 -4
  323. homeassistant-stubs/components/knx/device.pyi +1 -1
  324. homeassistant-stubs/components/knx/helpers/keyring.pyi +12 -0
  325. homeassistant-stubs/components/knx/project.pyi +0 -1
  326. homeassistant-stubs/components/knx/sensor.pyi +0 -1
  327. homeassistant-stubs/components/kraken/sensor.pyi +3 -5
  328. homeassistant-stubs/components/lacrosse_view/sensor.pyi +1 -3
  329. homeassistant-stubs/components/lametric/button.pyi +0 -2
  330. homeassistant-stubs/components/lametric/entity.pyi +1 -2
  331. homeassistant-stubs/components/lametric/helpers.pyi +3 -2
  332. homeassistant-stubs/components/lametric/number.pyi +0 -2
  333. homeassistant-stubs/components/lametric/select.pyi +0 -2
  334. homeassistant-stubs/components/lametric/sensor.pyi +0 -2
  335. homeassistant-stubs/components/lametric/switch.pyi +0 -2
  336. homeassistant-stubs/components/laundrify/binary_sensor.pyi +1 -1
  337. homeassistant-stubs/components/lawn_mower/__init__.pyi +35 -0
  338. homeassistant-stubs/components/lawn_mower/const.pyi +17 -0
  339. homeassistant-stubs/components/lcn/__init__.pyi +2 -1
  340. homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +1 -1
  341. homeassistant-stubs/components/ld2410_ble/coordinator.pyi +1 -1
  342. homeassistant-stubs/components/ld2410_ble/models.pyi +0 -1
  343. homeassistant-stubs/components/ld2410_ble/sensor.pyi +1 -1
  344. homeassistant-stubs/components/lidarr/__init__.pyi +2 -2
  345. homeassistant-stubs/components/lidarr/sensor.pyi +0 -2
  346. homeassistant-stubs/components/lifx/__init__.pyi +1 -1
  347. homeassistant-stubs/components/lifx/entity.pyi +1 -1
  348. homeassistant-stubs/components/lifx/light.pyi +1 -2
  349. homeassistant-stubs/components/light/__init__.pyi +0 -3
  350. homeassistant-stubs/components/litejet/config_flow.pyi +2 -1
  351. homeassistant-stubs/components/litejet/light.pyi +1 -1
  352. homeassistant-stubs/components/litejet/scene.pyi +1 -1
  353. homeassistant-stubs/components/litejet/switch.pyi +1 -1
  354. homeassistant-stubs/components/litterrobot/__init__.pyi +2 -0
  355. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +0 -2
  356. homeassistant-stubs/components/litterrobot/button.pyi +0 -2
  357. homeassistant-stubs/components/litterrobot/entity.pyi +2 -1
  358. homeassistant-stubs/components/litterrobot/select.pyi +0 -2
  359. homeassistant-stubs/components/litterrobot/sensor.pyi +0 -1
  360. homeassistant-stubs/components/litterrobot/switch.pyi +0 -2
  361. homeassistant-stubs/components/litterrobot/time.pyi +0 -2
  362. homeassistant-stubs/components/lock/__init__.pyi +0 -1
  363. homeassistant-stubs/components/logbook/models.pyi +0 -2
  364. homeassistant-stubs/components/logbook/processor.pyi +0 -1
  365. homeassistant-stubs/components/logbook/websocket_api.pyi +0 -1
  366. homeassistant-stubs/components/logger/helpers.pyi +0 -2
  367. homeassistant-stubs/components/lookin/const.pyi +1 -1
  368. homeassistant-stubs/components/lookin/entity.pyi +1 -1
  369. homeassistant-stubs/components/lookin/models.pyi +0 -1
  370. homeassistant-stubs/components/luftdaten/sensor.pyi +1 -1
  371. homeassistant-stubs/components/matter/binary_sensor.pyi +0 -1
  372. homeassistant-stubs/components/matter/entity.pyi +2 -2
  373. homeassistant-stubs/components/matter/helpers.pyi +0 -1
  374. homeassistant-stubs/components/matter/models.pyi +0 -2
  375. homeassistant-stubs/components/matter/sensor.pyi +0 -1
  376. homeassistant-stubs/components/media_extractor/__init__.pyi +31 -0
  377. homeassistant-stubs/components/media_player/__init__.pyi +0 -1
  378. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  379. homeassistant-stubs/components/media_source/models.pyi +0 -2
  380. homeassistant-stubs/components/metoffice/__init__.pyi +1 -1
  381. homeassistant-stubs/components/metoffice/const.pyi +1 -0
  382. homeassistant-stubs/components/metoffice/data.pyi +0 -1
  383. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  384. homeassistant-stubs/components/metoffice/weather.pyi +1 -2
  385. homeassistant-stubs/components/mjpeg/camera.pyi +1 -1
  386. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  387. homeassistant-stubs/components/modbus/base_platform.pyi +4 -3
  388. homeassistant-stubs/components/modbus/climate.pyi +4 -3
  389. homeassistant-stubs/components/modbus/const.pyi +3 -11
  390. homeassistant-stubs/components/modbus/modbus.pyi +6 -6
  391. homeassistant-stubs/components/modbus/sensor.pyi +4 -1
  392. homeassistant-stubs/components/modbus/validators.pyi +1 -0
  393. homeassistant-stubs/components/modem_callerid/button.pyi +4 -1
  394. homeassistant-stubs/components/modem_callerid/sensor.pyi +5 -2
  395. homeassistant-stubs/components/moon/sensor.pyi +1 -3
  396. homeassistant-stubs/components/mqtt/abbreviations.pyi +1 -0
  397. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +2 -3
  398. homeassistant-stubs/components/mqtt/climate.pyi +4 -1
  399. homeassistant-stubs/components/mqtt/const.pyi +13 -0
  400. homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -0
  401. homeassistant-stubs/components/mqtt/discovery.pyi +6 -4
  402. homeassistant-stubs/components/mqtt/lawn_mower.pyi +64 -0
  403. homeassistant-stubs/components/mqtt/mixins.pyi +4 -14
  404. homeassistant-stubs/components/mqtt/models.pyi +7 -1
  405. homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
  406. homeassistant-stubs/components/mysensors/device.pyi +2 -1
  407. homeassistant-stubs/components/nam/__init__.pyi +1 -1
  408. homeassistant-stubs/components/nam/config_flow.pyi +0 -1
  409. homeassistant-stubs/components/nam/sensor.pyi +0 -2
  410. homeassistant-stubs/components/nanoleaf/__init__.pyi +0 -1
  411. homeassistant-stubs/components/nanoleaf/entity.pyi +1 -1
  412. homeassistant-stubs/components/neato/__init__.pyi +1 -0
  413. homeassistant-stubs/components/neato/button.pyi +18 -0
  414. homeassistant-stubs/components/neato/camera.pyi +4 -9
  415. homeassistant-stubs/components/neato/entity.pyi +12 -0
  416. homeassistant-stubs/components/neato/sensor.pyi +3 -9
  417. homeassistant-stubs/components/neato/switch.pyi +4 -9
  418. homeassistant-stubs/components/neato/vacuum.pyi +5 -5
  419. homeassistant-stubs/components/nest/camera.pyi +6 -4
  420. homeassistant-stubs/components/nest/climate.pyi +5 -11
  421. homeassistant-stubs/components/nest/device_info.pyi +1 -1
  422. homeassistant-stubs/components/nest/media_source.pyi +0 -1
  423. homeassistant-stubs/components/netatmo/__init__.pyi +1 -0
  424. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  425. homeassistant-stubs/components/netatmo/data_handler.pyi +0 -4
  426. homeassistant-stubs/components/netatmo/helper.pyi +0 -1
  427. homeassistant-stubs/components/netatmo/netatmo_entity_base.pyi +2 -1
  428. homeassistant-stubs/components/netatmo/sensor.pyi +0 -2
  429. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  430. homeassistant-stubs/components/nextdns/binary_sensor.pyi +0 -2
  431. homeassistant-stubs/components/nextdns/sensor.pyi +0 -2
  432. homeassistant-stubs/components/nextdns/switch.pyi +0 -2
  433. homeassistant-stubs/components/notion/__init__.pyi +2 -2
  434. homeassistant-stubs/components/notion/binary_sensor.pyi +0 -2
  435. homeassistant-stubs/components/notion/model.pyi +0 -1
  436. homeassistant-stubs/components/notion/sensor.pyi +0 -1
  437. homeassistant-stubs/components/number/__init__.pyi +0 -2
  438. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  439. homeassistant-stubs/components/nut/sensor.pyi +1 -1
  440. homeassistant-stubs/components/oncue/entity.pyi +3 -1
  441. homeassistant-stubs/components/onewire/binary_sensor.pyi +0 -1
  442. homeassistant-stubs/components/onewire/model.pyi +1 -2
  443. homeassistant-stubs/components/onewire/onewire_entities.pyi +2 -2
  444. homeassistant-stubs/components/onewire/onewirehub.pyi +1 -1
  445. homeassistant-stubs/components/onewire/sensor.pyi +0 -1
  446. homeassistant-stubs/components/onewire/switch.pyi +0 -1
  447. homeassistant-stubs/components/open_meteo/weather.pyi +7 -6
  448. homeassistant-stubs/components/openexchangerates/sensor.pyi +4 -5
  449. homeassistant-stubs/components/opensky/__init__.pyi +5 -1
  450. homeassistant-stubs/components/opensky/config_flow.pyi +10 -3
  451. homeassistant-stubs/components/opensky/const.pyi +3 -1
  452. homeassistant-stubs/components/opensky/coordinator.pyi +17 -0
  453. homeassistant-stubs/components/opensky/sensor.pyi +14 -22
  454. homeassistant-stubs/components/openuv/config_flow.pyi +0 -1
  455. homeassistant-stubs/components/otbr/util.pyi +6 -4
  456. homeassistant-stubs/components/otbr/websocket_api.pyi +0 -1
  457. homeassistant-stubs/components/overkiz/__init__.pyi +0 -1
  458. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +0 -2
  459. homeassistant-stubs/components/overkiz/binary_sensor.pyi +0 -2
  460. homeassistant-stubs/components/overkiz/button.pyi +0 -1
  461. homeassistant-stubs/components/overkiz/entity.pyi +2 -1
  462. homeassistant-stubs/components/overkiz/number.pyi +0 -2
  463. homeassistant-stubs/components/overkiz/select.pyi +0 -2
  464. homeassistant-stubs/components/overkiz/sensor.pyi +1 -2
  465. homeassistant-stubs/components/overkiz/switch.pyi +0 -2
  466. homeassistant-stubs/components/peco/__init__.pyi +0 -1
  467. homeassistant-stubs/components/peco/sensor.pyi +3 -3
  468. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -1
  469. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +0 -2
  470. homeassistant-stubs/components/pi_hole/update.pyi +0 -1
  471. homeassistant-stubs/components/powerwall/binary_sensor.pyi +4 -5
  472. homeassistant-stubs/components/powerwall/entity.pyi +2 -1
  473. homeassistant-stubs/components/powerwall/models.pyi +0 -2
  474. homeassistant-stubs/components/powerwall/sensor.pyi +4 -6
  475. homeassistant-stubs/components/powerwall/switch.pyi +1 -2
  476. homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
  477. homeassistant-stubs/components/prusalink/button.pyi +0 -2
  478. homeassistant-stubs/components/prusalink/sensor.pyi +0 -2
  479. homeassistant-stubs/components/pure_energie/sensor.pyi +1 -3
  480. homeassistant-stubs/components/purpleair/__init__.pyi +1 -1
  481. homeassistant-stubs/components/purpleair/config_flow.pyi +0 -1
  482. homeassistant-stubs/components/purpleair/sensor.pyi +0 -2
  483. homeassistant-stubs/components/pvoutput/sensor.pyi +1 -3
  484. homeassistant-stubs/components/qnap_qsw/binary_sensor.pyi +2 -1
  485. homeassistant-stubs/components/qnap_qsw/button.pyi +1 -3
  486. homeassistant-stubs/components/qnap_qsw/entity.pyi +3 -3
  487. homeassistant-stubs/components/qnap_qsw/sensor.pyi +2 -1
  488. homeassistant-stubs/components/qnap_qsw/update.pyi +0 -1
  489. homeassistant-stubs/components/radarr/__init__.pyi +2 -2
  490. homeassistant-stubs/components/radarr/sensor.pyi +0 -2
  491. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -2
  492. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +0 -1
  493. homeassistant-stubs/components/rainmachine/button.pyi +0 -2
  494. homeassistant-stubs/components/rainmachine/model.pyi +0 -4
  495. homeassistant-stubs/components/rainmachine/select.pyi +0 -4
  496. homeassistant-stubs/components/rainmachine/sensor.pyi +0 -2
  497. homeassistant-stubs/components/rainmachine/switch.pyi +2 -5
  498. homeassistant-stubs/components/rainmachine/util.pyi +0 -1
  499. homeassistant-stubs/components/rdw/binary_sensor.pyi +1 -4
  500. homeassistant-stubs/components/rdw/sensor.pyi +1 -4
  501. homeassistant-stubs/components/recollect_waste/entity.pyi +1 -2
  502. homeassistant-stubs/components/recorder/migration.pyi +0 -2
  503. homeassistant-stubs/components/recorder/models/database.pyi +0 -2
  504. homeassistant-stubs/components/recorder/statistics.pyi +0 -2
  505. homeassistant-stubs/components/recorder/table_managers/recorder_runs.pyi +0 -1
  506. homeassistant-stubs/components/recorder/tasks.pyi +0 -30
  507. homeassistant-stubs/components/recorder/util.pyi +2 -2
  508. homeassistant-stubs/components/remote/__init__.pyi +0 -1
  509. homeassistant-stubs/components/renault/binary_sensor.pyi +0 -2
  510. homeassistant-stubs/components/renault/button.pyi +0 -2
  511. homeassistant-stubs/components/renault/entity.pyi +0 -2
  512. homeassistant-stubs/components/renault/renault_hub.pyi +1 -0
  513. homeassistant-stubs/components/renault/renault_vehicle.pyi +3 -4
  514. homeassistant-stubs/components/renault/select.pyi +0 -2
  515. homeassistant-stubs/components/renault/sensor.pyi +0 -2
  516. homeassistant-stubs/components/repairs/websocket_api.pyi +1 -0
  517. homeassistant-stubs/components/rest/binary_sensor.pyi +7 -5
  518. homeassistant-stubs/components/rest/schema.pyi +1 -1
  519. homeassistant-stubs/components/rest/sensor.pyi +13 -6
  520. homeassistant-stubs/components/rest/switch.pyi +6 -5
  521. homeassistant-stubs/components/rest/util.pyi +7 -0
  522. homeassistant-stubs/components/rfxtrx/__init__.pyi +2 -1
  523. homeassistant-stubs/components/rfxtrx/sensor.pyi +0 -1
  524. homeassistant-stubs/components/ridwell/entity.pyi +1 -2
  525. homeassistant-stubs/components/ridwell/switch.pyi +0 -1
  526. homeassistant-stubs/components/rituals_perfume_genie/binary_sensor.pyi +0 -2
  527. homeassistant-stubs/components/rituals_perfume_genie/entity.pyi +2 -1
  528. homeassistant-stubs/components/rituals_perfume_genie/number.pyi +0 -2
  529. homeassistant-stubs/components/rituals_perfume_genie/select.pyi +0 -2
  530. homeassistant-stubs/components/rituals_perfume_genie/sensor.pyi +0 -2
  531. homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +0 -2
  532. homeassistant-stubs/components/roku/binary_sensor.pyi +0 -2
  533. homeassistant-stubs/components/roku/coordinator.pyi +2 -1
  534. homeassistant-stubs/components/roku/entity.pyi +4 -6
  535. homeassistant-stubs/components/roku/helpers.pyi +2 -2
  536. homeassistant-stubs/components/roku/select.pyi +0 -2
  537. homeassistant-stubs/components/roku/sensor.pyi +0 -2
  538. homeassistant-stubs/components/ruuvi_gateway/models.pyi +0 -1
  539. homeassistant-stubs/components/samsungtv/entity.pyi +2 -1
  540. homeassistant-stubs/components/scrape/__init__.pyi +1 -1
  541. homeassistant-stubs/components/scrape/config_flow.pyi +1 -1
  542. homeassistant-stubs/components/scrape/sensor.pyi +9 -6
  543. homeassistant-stubs/components/select/__init__.pyi +0 -1
  544. homeassistant-stubs/components/sensibo/binary_sensor.pyi +0 -4
  545. homeassistant-stubs/components/sensibo/button.pyi +0 -2
  546. homeassistant-stubs/components/sensibo/climate.pyi +3 -0
  547. homeassistant-stubs/components/sensibo/entity.pyi +3 -4
  548. homeassistant-stubs/components/sensibo/number.pyi +0 -2
  549. homeassistant-stubs/components/sensibo/select.pyi +0 -2
  550. homeassistant-stubs/components/sensibo/sensor.pyi +0 -4
  551. homeassistant-stubs/components/sensibo/switch.pyi +0 -2
  552. homeassistant-stubs/components/sensibo/update.pyi +0 -2
  553. homeassistant-stubs/components/sensor/__init__.pyi +0 -2
  554. homeassistant-stubs/components/senz/climate.pyi +1 -1
  555. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -3
  556. homeassistant-stubs/components/sfr_box/button.pyi +3 -5
  557. homeassistant-stubs/components/sfr_box/models.pyi +0 -1
  558. homeassistant-stubs/components/sfr_box/sensor.pyi +1 -3
  559. homeassistant-stubs/components/shelly/__init__.pyi +2 -1
  560. homeassistant-stubs/components/shelly/binary_sensor.pyi +0 -3
  561. homeassistant-stubs/components/shelly/button.pyi +1 -4
  562. homeassistant-stubs/components/shelly/climate.pyi +1 -3
  563. homeassistant-stubs/components/shelly/const.pyi +1 -0
  564. homeassistant-stubs/components/shelly/coordinator.pyi +4 -4
  565. homeassistant-stubs/components/shelly/entity.pyi +2 -6
  566. homeassistant-stubs/components/shelly/number.pyi +0 -1
  567. homeassistant-stubs/components/shelly/sensor.pyi +0 -3
  568. homeassistant-stubs/components/shelly/switch.pyi +20 -2
  569. homeassistant-stubs/components/shelly/update.pyi +0 -4
  570. homeassistant-stubs/components/simplisafe/__init__.pyi +1 -1
  571. homeassistant-stubs/components/simplisafe/button.pyi +0 -2
  572. homeassistant-stubs/components/skybell/entity.pyi +2 -1
  573. homeassistant-stubs/components/skybell/sensor.pyi +0 -2
  574. homeassistant-stubs/components/slack/__init__.pyi +2 -2
  575. homeassistant-stubs/components/sleepiq/button.pyi +0 -2
  576. homeassistant-stubs/components/sleepiq/coordinator.pyi +0 -1
  577. homeassistant-stubs/components/sleepiq/entity.pyi +2 -1
  578. homeassistant-stubs/components/sleepiq/number.pyi +0 -2
  579. homeassistant-stubs/components/smhi/weather.pyi +11 -6
  580. homeassistant-stubs/components/snooz/config_flow.pyi +0 -1
  581. homeassistant-stubs/components/snooz/fan.pyi +4 -1
  582. homeassistant-stubs/components/snooz/models.pyi +0 -1
  583. homeassistant-stubs/components/sonarr/entity.pyi +2 -2
  584. homeassistant-stubs/components/sonarr/sensor.pyi +0 -2
  585. homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -3
  586. homeassistant-stubs/components/sql/__init__.pyi +1 -1
  587. homeassistant-stubs/components/sql/models.pyi +0 -1
  588. homeassistant-stubs/components/sql/sensor.pyi +7 -9
  589. homeassistant-stubs/components/ssdp/__init__.pyi +0 -1
  590. homeassistant-stubs/components/starlink/__init__.pyi +11 -0
  591. homeassistant-stubs/components/starlink/binary_sensor.pyi +26 -0
  592. homeassistant-stubs/components/starlink/button.pyi +25 -0
  593. homeassistant-stubs/components/starlink/config_flow.pyi +12 -0
  594. homeassistant-stubs/components/starlink/const.pyi +1 -0
  595. homeassistant-stubs/components/starlink/coordinator.pyi +21 -0
  596. homeassistant-stubs/components/starlink/device_tracker.pyi +31 -0
  597. homeassistant-stubs/components/starlink/diagnostics.pyi +11 -0
  598. homeassistant-stubs/components/starlink/entity.pyi +13 -0
  599. homeassistant-stubs/components/starlink/sensor.pyi +28 -0
  600. homeassistant-stubs/components/starlink/switch.pyi +30 -0
  601. homeassistant-stubs/components/steamist/entity.pyi +2 -1
  602. homeassistant-stubs/components/steamist/sensor.pyi +0 -2
  603. homeassistant-stubs/components/stookalert/binary_sensor.pyi +1 -2
  604. homeassistant-stubs/components/stream/__init__.pyi +1 -1
  605. homeassistant-stubs/components/stream/core.pyi +4 -2
  606. homeassistant-stubs/components/sun/sensor.pyi +1 -4
  607. homeassistant-stubs/components/surepetcare/__init__.pyi +1 -0
  608. homeassistant-stubs/components/surepetcare/entity.pyi +1 -1
  609. homeassistant-stubs/components/switch/__init__.pyi +0 -1
  610. homeassistant-stubs/components/switchbee/entity.pyi +1 -1
  611. homeassistant-stubs/components/switcher_kis/button.pyi +2 -4
  612. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -2
  613. homeassistant-stubs/components/switcher_kis/cover.pyi +3 -2
  614. homeassistant-stubs/components/switcher_kis/sensor.pyi +7 -20
  615. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -2
  616. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +0 -1
  617. homeassistant-stubs/components/synology_dsm/button.pyi +1 -3
  618. homeassistant-stubs/components/synology_dsm/camera.pyi +1 -2
  619. homeassistant-stubs/components/synology_dsm/entity.pyi +2 -3
  620. homeassistant-stubs/components/synology_dsm/models.pyi +0 -1
  621. homeassistant-stubs/components/synology_dsm/sensor.pyi +0 -1
  622. homeassistant-stubs/components/synology_dsm/switch.pyi +1 -2
  623. homeassistant-stubs/components/synology_dsm/update.pyi +0 -1
  624. homeassistant-stubs/components/systemmonitor/sensor.pyi +0 -2
  625. homeassistant-stubs/components/tailscale/__init__.pyi +2 -2
  626. homeassistant-stubs/components/tailscale/binary_sensor.pyi +0 -2
  627. homeassistant-stubs/components/tailscale/sensor.pyi +0 -2
  628. homeassistant-stubs/components/tautulli/__init__.pyi +2 -2
  629. homeassistant-stubs/components/tautulli/sensor.pyi +0 -4
  630. homeassistant-stubs/components/text/__init__.pyi +0 -2
  631. homeassistant-stubs/components/threshold/binary_sensor.pyi +1 -1
  632. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  633. homeassistant-stubs/components/tile/__init__.pyi +0 -1
  634. homeassistant-stubs/components/tile/device_tracker.pyi +5 -1
  635. homeassistant-stubs/components/tolo/__init__.pyi +1 -1
  636. homeassistant-stubs/components/tolo/number.pyi +0 -2
  637. homeassistant-stubs/components/tolo/sensor.pyi +0 -2
  638. homeassistant-stubs/components/tplink/diagnostics.pyi +1 -0
  639. homeassistant-stubs/components/tplink/entity.pyi +3 -3
  640. homeassistant-stubs/components/tplink/sensor.pyi +0 -1
  641. homeassistant-stubs/components/tplink_omada/entity.pyi +1 -1
  642. homeassistant-stubs/components/tplink_omada/update.pyi +2 -2
  643. homeassistant-stubs/components/tractive/__init__.pyi +3 -2
  644. homeassistant-stubs/components/tractive/binary_sensor.pyi +5 -8
  645. homeassistant-stubs/components/tractive/const.pyi +2 -0
  646. homeassistant-stubs/components/tractive/device_tracker.pyi +2 -3
  647. homeassistant-stubs/components/tractive/entity.pyi +13 -4
  648. homeassistant-stubs/components/tractive/sensor.pyi +11 -24
  649. homeassistant-stubs/components/tractive/switch.pyi +4 -9
  650. homeassistant-stubs/components/tradfri/base_class.pyi +1 -1
  651. homeassistant-stubs/components/tradfri/sensor.pyi +0 -2
  652. homeassistant-stubs/components/trafikverket_camera/__init__.pyi +13 -0
  653. homeassistant-stubs/components/trafikverket_camera/camera.pyi +28 -0
  654. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +15 -0
  655. homeassistant-stubs/components/trafikverket_camera/const.pyi +9 -0
  656. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +24 -0
  657. homeassistant-stubs/components/trafikverket_camera/recorder.pyi +5 -0
  658. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -4
  659. homeassistant-stubs/components/trafikverket_train/__init__.pyi +2 -1
  660. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +13 -4
  661. homeassistant-stubs/components/trafikverket_train/const.pyi +1 -0
  662. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +7 -7
  663. homeassistant-stubs/components/trafikverket_train/sensor.pyi +26 -26
  664. homeassistant-stubs/components/trafikverket_train/util.pyi +4 -1
  665. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +1 -4
  666. homeassistant-stubs/components/tts/models.pyi +0 -1
  667. homeassistant-stubs/components/twentemilieu/entity.pyi +2 -2
  668. homeassistant-stubs/components/twentemilieu/sensor.pyi +0 -2
  669. homeassistant-stubs/components/unifi/button.pyi +30 -0
  670. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  671. homeassistant-stubs/components/unifi/controller.pyi +10 -14
  672. homeassistant-stubs/components/unifi/device_tracker.pyi +0 -2
  673. homeassistant-stubs/components/unifi/entity.pyi +7 -7
  674. homeassistant-stubs/components/unifi/image.pyi +1 -3
  675. homeassistant-stubs/components/unifi/sensor.pyi +3 -7
  676. homeassistant-stubs/components/unifi/switch.pyi +12 -13
  677. homeassistant-stubs/components/unifi/update.pyi +0 -2
  678. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +0 -2
  679. homeassistant-stubs/components/unifiprotect/button.pyi +0 -1
  680. homeassistant-stubs/components/unifiprotect/entity.pyi +2 -1
  681. homeassistant-stubs/components/unifiprotect/models.pyi +0 -4
  682. homeassistant-stubs/components/unifiprotect/number.pyi +0 -2
  683. homeassistant-stubs/components/unifiprotect/select.pyi +0 -1
  684. homeassistant-stubs/components/unifiprotect/sensor.pyi +0 -2
  685. homeassistant-stubs/components/unifiprotect/switch.pyi +0 -1
  686. homeassistant-stubs/components/unifiprotect/text.pyi +0 -1
  687. homeassistant-stubs/components/upcloud/__init__.pyi +1 -3
  688. homeassistant-stubs/components/update/__init__.pyi +1 -1
  689. homeassistant-stubs/components/uptime/sensor.pyi +1 -2
  690. homeassistant-stubs/components/uptimerobot/entity.pyi +2 -2
  691. homeassistant-stubs/components/usb/__init__.pyi +0 -1
  692. homeassistant-stubs/components/usb/models.pyi +0 -1
  693. homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
  694. homeassistant-stubs/components/vallox/__init__.pyi +1 -2
  695. homeassistant-stubs/components/vallox/binary_sensor.pyi +0 -2
  696. homeassistant-stubs/components/vallox/number.pyi +0 -2
  697. homeassistant-stubs/components/vallox/sensor.pyi +0 -1
  698. homeassistant-stubs/components/vallox/switch.pyi +0 -2
  699. homeassistant-stubs/components/velbus/button.pyi +1 -1
  700. homeassistant-stubs/components/velbus/climate.pyi +1 -1
  701. homeassistant-stubs/components/velbus/cover.pyi +1 -1
  702. homeassistant-stubs/components/velbus/entity.pyi +9 -1
  703. homeassistant-stubs/components/velbus/light.pyi +1 -1
  704. homeassistant-stubs/components/velbus/select.pyi +1 -1
  705. homeassistant-stubs/components/velbus/switch.pyi +1 -1
  706. homeassistant-stubs/components/vlc_telnet/media_player.pyi +3 -4
  707. homeassistant-stubs/components/wallbox/__init__.pyi +1 -1
  708. homeassistant-stubs/components/wallbox/number.pyi +0 -1
  709. homeassistant-stubs/components/wallbox/sensor.pyi +0 -1
  710. homeassistant-stubs/components/water_heater/__init__.pyi +0 -1
  711. homeassistant-stubs/components/watttime/sensor.pyi +2 -1
  712. homeassistant-stubs/components/weather/__init__.pyi +60 -34
  713. homeassistant-stubs/components/weather/websocket_api.pyi +1 -0
  714. homeassistant-stubs/components/webostv/media_player.pyi +3 -3
  715. homeassistant-stubs/components/wemo/entity.pyi +1 -1
  716. homeassistant-stubs/components/wemo/light.pyi +1 -2
  717. homeassistant-stubs/components/wemo/models.pyi +0 -2
  718. homeassistant-stubs/components/wemo/sensor.pyi +0 -1
  719. homeassistant-stubs/components/wemo/wemo_device.pyi +1 -4
  720. homeassistant-stubs/components/whois/sensor.pyi +1 -4
  721. homeassistant-stubs/components/wiz/entity.pyi +2 -2
  722. homeassistant-stubs/components/wiz/models.pyi +0 -1
  723. homeassistant-stubs/components/wiz/number.pyi +0 -2
  724. homeassistant-stubs/components/wled/helpers.pyi +3 -2
  725. homeassistant-stubs/components/wled/models.pyi +1 -2
  726. homeassistant-stubs/components/wled/number.pyi +0 -2
  727. homeassistant-stubs/components/wled/sensor.pyi +0 -2
  728. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -1
  729. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +1 -1
  730. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +1 -1
  731. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +2 -2
  732. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
  733. homeassistant-stubs/components/yalexs_ble/entity.pyi +2 -1
  734. homeassistant-stubs/components/yalexs_ble/models.pyi +0 -1
  735. homeassistant-stubs/components/yalexs_ble/sensor.pyi +0 -2
  736. homeassistant-stubs/components/zeroconf/__init__.pyi +0 -1
  737. homeassistant-stubs/components/zodiac/sensor.pyi +1 -2
  738. homeassistant-stubs/components/zwave_js/__init__.pyi +2 -0
  739. homeassistant-stubs/components/zwave_js/api.pyi +1 -1
  740. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +0 -3
  741. homeassistant-stubs/components/zwave_js/device_action.pyi +2 -2
  742. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -4
  743. homeassistant-stubs/components/zwave_js/device_condition.pyi +2 -2
  744. homeassistant-stubs/components/zwave_js/diagnostics.pyi +2 -2
  745. homeassistant-stubs/components/zwave_js/discovery.pyi +0 -5
  746. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +0 -12
  747. homeassistant-stubs/components/zwave_js/entity.pyi +4 -3
  748. homeassistant-stubs/components/zwave_js/helpers.pyi +1 -4
  749. homeassistant-stubs/components/zwave_js/humidifier.pyi +0 -2
  750. homeassistant-stubs/components/zwave_js/migrate.pyi +0 -1
  751. homeassistant-stubs/components/zwave_js/repairs.pyi +15 -0
  752. homeassistant-stubs/components/zwave_js/sensor.pyi +21 -2
  753. homeassistant-stubs/components/zwave_js/services.pyi +0 -1
  754. homeassistant-stubs/components/zwave_js/update.pyi +0 -1
  755. homeassistant-stubs/config_entries.pyi +3 -0
  756. homeassistant-stubs/const.pyi +2 -0
  757. homeassistant-stubs/core.pyi +6 -5
  758. homeassistant-stubs/data_entry_flow.pyi +7 -4
  759. homeassistant-stubs/exceptions.pyi +0 -4
  760. homeassistant-stubs/helpers/collection.pyi +0 -1
  761. homeassistant-stubs/helpers/deprecation.pyi +3 -2
  762. homeassistant-stubs/helpers/device_registry.pyi +18 -2
  763. homeassistant-stubs/helpers/entity.pyi +4 -22
  764. homeassistant-stubs/helpers/entity_registry.pyi +1 -2
  765. homeassistant-stubs/helpers/event.pyi +5 -7
  766. homeassistant-stubs/helpers/integration_platform.pyi +0 -1
  767. homeassistant-stubs/helpers/intent.pyi +0 -1
  768. homeassistant-stubs/helpers/issue_registry.pyi +3 -3
  769. homeassistant-stubs/helpers/recorder.pyi +0 -1
  770. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +6 -7
  771. homeassistant-stubs/helpers/script.pyi +7 -2
  772. homeassistant-stubs/helpers/selector.pyi +1 -0
  773. homeassistant-stubs/helpers/sensor.pyi +1 -1
  774. homeassistant-stubs/helpers/service.pyi +0 -1
  775. homeassistant-stubs/helpers/service_info/mqtt.pyi +0 -1
  776. homeassistant-stubs/helpers/storage.pyi +2 -1
  777. homeassistant-stubs/helpers/template.pyi +9 -15
  778. homeassistant-stubs/helpers/trigger.pyi +0 -1
  779. homeassistant-stubs/helpers/trigger_template_entity.pyi +62 -0
  780. homeassistant-stubs/helpers/update_coordinator.pyi +7 -1
  781. homeassistant-stubs/loader.pyi +3 -2
  782. homeassistant-stubs/runner.pyi +0 -2
  783. homeassistant-stubs/scripts/check_config.pyi +1 -1
  784. homeassistant-stubs/util/async_.pyi +2 -2
  785. homeassistant-stubs/util/language.pyi +0 -2
  786. homeassistant-stubs/util/pil.pyi +1 -1
  787. homeassistant-stubs/util/variance.pyi +3 -2
  788. homeassistant-stubs/util/yaml/objects.pyi +0 -1
  789. {homeassistant_stubs-2023.8.4.dist-info → homeassistant_stubs-2023.9.0.dist-info}/METADATA +3 -3
  790. {homeassistant_stubs-2023.8.4.dist-info → homeassistant_stubs-2023.9.0.dist-info}/RECORD +792 -721
  791. homeassistant-stubs/components/nest/binary_sensor.pyi +0 -7
  792. homeassistant-stubs/helpers/template_entity.pyi +0 -107
  793. {homeassistant_stubs-2023.8.4.dist-info → homeassistant_stubs-2023.9.0.dist-info}/LICENSE +0 -0
  794. {homeassistant_stubs-2023.8.4.dist-info → homeassistant_stubs-2023.9.0.dist-info}/WHEEL +0 -0
@@ -30,9 +30,7 @@ RESULT_TYPE_SHOW_PROGRESS_DONE: str
30
30
  RESULT_TYPE_MENU: str
31
31
  EVENT_DATA_ENTRY_FLOW_PROGRESSED: str
32
32
 
33
- class BaseServiceInfo:
34
- def __mypy-replace() -> None: ...
35
-
33
+ class BaseServiceInfo: ...
36
34
  class FlowError(HomeAssistantError): ...
37
35
  class UnknownHandler(FlowError): ...
38
36
  class UnknownFlow(FlowError): ...
@@ -56,6 +54,7 @@ class FlowResult(TypedDict, total=False):
56
54
  last_step: bool | None
57
55
  menu_options: list[str] | dict[str, str]
58
56
  options: Mapping[str, Any]
57
+ preview: str | None
59
58
  progress_action: str
60
59
  reason: str
61
60
  required: bool
@@ -70,6 +69,7 @@ def _async_flow_handler_to_flow_result(flows: Iterable[FlowHandler], include_uni
70
69
 
71
70
  class FlowManager(abc.ABC, metaclass=abc.ABCMeta):
72
71
  hass: Incomplete
72
+ _preview: Incomplete
73
73
  _progress: Incomplete
74
74
  _handler_progress_index: Incomplete
75
75
  _init_data_process_index: Incomplete
@@ -92,6 +92,7 @@ class FlowManager(abc.ABC, metaclass=abc.ABCMeta):
92
92
  def _async_remove_flow_from_index(self, flow: FlowHandler) -> None: ...
93
93
  def _async_remove_flow_progress(self, flow_id: str) -> None: ...
94
94
  async def _async_handle_step(self, flow: FlowHandler, step_id: str, user_input: dict | BaseServiceInfo | None) -> FlowResult: ...
95
+ async def _async_setup_preview(self, flow: FlowHandler) -> None: ...
95
96
 
96
97
  class FlowHandler:
97
98
  cur_step: FlowResult | None
@@ -107,7 +108,7 @@ class FlowHandler:
107
108
  @property
108
109
  def show_advanced_options(self) -> bool: ...
109
110
  def add_suggested_values_to_schema(self, data_schema: vol.Schema, suggested_values: Mapping[str, Any] | None) -> vol.Schema: ...
110
- def async_show_form(self, *, step_id: str, data_schema: vol.Schema | None = ..., errors: dict[str, str] | None = ..., description_placeholders: Mapping[str, str | None] | None = ..., last_step: bool | None = ...) -> FlowResult: ...
111
+ def async_show_form(self, *, step_id: str, data_schema: vol.Schema | None = ..., errors: dict[str, str] | None = ..., description_placeholders: Mapping[str, str | None] | None = ..., last_step: bool | None = ..., preview: str | None = ...) -> FlowResult: ...
111
112
  def async_create_entry(self, *, title: str | None = ..., data: Mapping[str, Any], description: str | None = ..., description_placeholders: Mapping[str, str] | None = ...) -> FlowResult: ...
112
113
  def async_abort(self, *, reason: str, description_placeholders: Mapping[str, str] | None = ...) -> FlowResult: ...
113
114
  def async_external_step(self, *, step_id: str, url: str, description_placeholders: Mapping[str, str] | None = ...) -> FlowResult: ...
@@ -116,5 +117,7 @@ class FlowHandler:
116
117
  def async_show_progress_done(self, *, next_step_id: str) -> FlowResult: ...
117
118
  def async_show_menu(self, *, step_id: str, menu_options: list[str] | dict[str, str], description_placeholders: Mapping[str, str] | None = ...) -> FlowResult: ...
118
119
  def async_remove(self) -> None: ...
120
+ @staticmethod
121
+ async def async_setup_preview(hass: HomeAssistant) -> None: ...
119
122
 
120
123
  def _create_abort_data(flow_id: str, handler: str, reason: str, description_placeholders: Mapping[str, str] | None = ...) -> FlowResult: ...
@@ -16,13 +16,11 @@ class ConditionError(HomeAssistantError):
16
16
  def output(self, indent: int) -> Generator[str, None, None]: ...
17
17
  def __str__(self) -> str: ...
18
18
  def __init__(self, type) -> None: ...
19
- def __mypy-replace(*, type) -> None: ...
20
19
 
21
20
  class ConditionErrorMessage(ConditionError):
22
21
  message: str
23
22
  def output(self, indent: int) -> Generator[str, None, None]: ...
24
23
  def __init__(self, type, message) -> None: ...
25
- def __mypy-replace(*, type, message) -> None: ...
26
24
 
27
25
  class ConditionErrorIndex(ConditionError):
28
26
  index: int
@@ -30,13 +28,11 @@ class ConditionErrorIndex(ConditionError):
30
28
  error: ConditionError
31
29
  def output(self, indent: int) -> Generator[str, None, None]: ...
32
30
  def __init__(self, type, index, total, error) -> None: ...
33
- def __mypy-replace(*, type, index, total, error) -> None: ...
34
31
 
35
32
  class ConditionErrorContainer(ConditionError):
36
33
  errors: Sequence[ConditionError]
37
34
  def output(self, indent: int) -> Generator[str, None, None]: ...
38
35
  def __init__(self, type, errors) -> None: ...
39
- def __mypy-replace(*, type, errors) -> None: ...
40
36
 
41
37
  class IntegrationError(HomeAssistantError):
42
38
  def __str__(self) -> str: ...
@@ -31,7 +31,6 @@ class CollectionChangeSet:
31
31
  item_id: str
32
32
  item: Any
33
33
  def __init__(self, change_type, item_id, item) -> None: ...
34
- def __mypy-replace(*, change_type, item_id, item) -> None: ...
35
34
  ChangeListener = Callable[[str, str, dict], Awaitable[None]]
36
35
  ChangeSetListener = Callable[[Iterable[CollectionChangeSet]], Awaitable[None]]
37
36
 
@@ -1,10 +1,11 @@
1
1
  from ..helpers.frame import MissingIntegrationFrame as MissingIntegrationFrame, get_integration_frame as get_integration_frame
2
+ from _typeshed import Incomplete
2
3
  from collections.abc import Callable as Callable
3
- from typing import Any, ParamSpec, TypeVar
4
+ from typing import Any, TypeVar
4
5
 
5
6
  _ObjectT = TypeVar('_ObjectT', bound=object)
6
7
  _R = TypeVar('_R')
7
- _P = ParamSpec('_P')
8
+ _P: Incomplete
8
9
 
9
10
  def deprecated_substitute(substitute_name: str) -> Callable[[Callable[[_ObjectT], Any]], Callable[[_ObjectT], Any]]: ...
10
11
  def get_deprecated(config: dict[str, Any], new_name: str, old_name: str, default: Any | None = ...) -> Any | None: ...
@@ -1,6 +1,5 @@
1
1
  from . import entity_registry as entity_registry, storage as storage
2
2
  from .debounce import Debouncer as Debouncer
3
- from .entity import DeviceInfo as DeviceInfo
4
3
  from .frame import report as report
5
4
  from .json import JSON_DUMP as JSON_DUMP, find_paths_unserializable_data as find_paths_unserializable_data
6
5
  from .typing import UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
@@ -40,6 +39,23 @@ class DeviceEntryDisabler(StrEnum):
40
39
  DISABLED_CONFIG_ENTRY: Incomplete
41
40
  DISABLED_INTEGRATION: Incomplete
42
41
  DISABLED_USER: Incomplete
42
+
43
+ class DeviceInfo(TypedDict, total=False):
44
+ configuration_url: str | URL | None
45
+ connections: set[tuple[str, str]]
46
+ default_manufacturer: str
47
+ default_model: str
48
+ default_name: str
49
+ entry_type: DeviceEntryType | None
50
+ identifiers: set[tuple[str, str]]
51
+ manufacturer: str | None
52
+ model: str | None
53
+ name: str | None
54
+ suggested_area: str | None
55
+ sw_version: str | None
56
+ hw_version: str | None
57
+ via_device: tuple[str, str]
58
+
43
59
  DEVICE_INFO_TYPES: Incomplete
44
60
  DEVICE_INFO_KEYS: Incomplete
45
61
 
@@ -62,7 +78,7 @@ class DeviceInfoError(HomeAssistantError):
62
78
  domain: Incomplete
63
79
  def __init__(self, domain: str, device_info: DeviceInfo, message: str) -> None: ...
64
80
 
65
- def _validate_device_info(config_entry: ConfigEntry | None, device_info: DeviceInfo) -> str: ...
81
+ def _validate_device_info(config_entry: ConfigEntry, device_info: DeviceInfo) -> str: ...
66
82
  def _validate_configuration_url(value: Any) -> str | None: ...
67
83
 
68
84
  class DeviceEntry:
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
2
  from . import device_registry as dr, entity_registry as er
3
- from .device_registry import DeviceEntryType as DeviceEntryType, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
3
+ from .device_registry import DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
4
4
  from .entity_platform import EntityPlatform as EntityPlatform
5
5
  from .event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
6
6
  from .typing import EventType as EventType, StateType as StateType, UNDEFINED as UNDEFINED, UndefinedType as UndefinedType
@@ -13,11 +13,10 @@ from homeassistant.backports.functools import cached_property as cached_property
13
13
  from homeassistant.config import DATA_CUSTOMIZE as DATA_CUSTOMIZE
14
14
  from homeassistant.const import ATTR_ASSUMED_STATE as ATTR_ASSUMED_STATE, ATTR_ATTRIBUTION as ATTR_ATTRIBUTION, ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_ENTITY_PICTURE as ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_ICON as ATTR_ICON, ATTR_SUPPORTED_FEATURES as ATTR_SUPPORTED_FEATURES, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, DEVICE_DEFAULT_NAME as DEVICE_DEFAULT_NAME, EntityCategory as EntityCategory, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
15
15
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Context as Context, HomeAssistant as HomeAssistant, callback as callback
16
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, NoEntitySpecifiedError as NoEntitySpecifiedError
16
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, InvalidStateError as InvalidStateError, NoEntitySpecifiedError as NoEntitySpecifiedError
17
17
  from homeassistant.loader import bind_hass as bind_hass
18
18
  from homeassistant.util import ensure_unique_string as ensure_unique_string, slugify as slugify
19
- from typing import Any, Final, Literal, TypeVar, TypedDict
20
- from yarl import URL
19
+ from typing import Any, Final, Literal, TypeVar
21
20
 
22
21
  _T = TypeVar('_T')
23
22
  _LOGGER: Incomplete
@@ -36,22 +35,6 @@ def get_device_class(hass: HomeAssistant, entity_id: str) -> str | None: ...
36
35
  def get_supported_features(hass: HomeAssistant, entity_id: str) -> int: ...
37
36
  def get_unit_of_measurement(hass: HomeAssistant, entity_id: str) -> str | None: ...
38
37
 
39
- class DeviceInfo(TypedDict, total=False):
40
- configuration_url: str | URL | None
41
- connections: set[tuple[str, str]]
42
- default_manufacturer: str
43
- default_model: str
44
- default_name: str
45
- entry_type: DeviceEntryType | None
46
- identifiers: set[tuple[str, str]]
47
- manufacturer: str | None
48
- model: str | None
49
- name: str | None
50
- suggested_area: str | None
51
- sw_version: str | None
52
- hw_version: str | None
53
- via_device: tuple[str, str]
54
-
55
38
  ENTITY_CATEGORIES_SCHEMA: Final[Incomplete]
56
39
 
57
40
  class EntityPlatformState(Enum):
@@ -72,7 +55,6 @@ class EntityDescription:
72
55
  translation_key: str | None
73
56
  unit_of_measurement: str | None
74
57
  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, unit_of_measurement) -> None: ...
75
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
76
58
 
77
59
  class Entity(ABC):
78
60
  entity_id: str
@@ -182,6 +164,7 @@ class Entity(ABC):
182
164
  def async_write_ha_state(self) -> None: ...
183
165
  def _stringify_state(self, available: bool) -> str: ...
184
166
  def _friendly_name_internal(self) -> str | None: ...
167
+ def _async_generate_attributes(self) -> tuple[str, dict[str, Any]]: ...
185
168
  def _async_write_ha_state(self) -> None: ...
186
169
  def schedule_update_ha_state(self, force_refresh: bool = ...) -> None: ...
187
170
  def async_schedule_update_ha_state(self, force_refresh: bool = ...) -> None: ...
@@ -209,7 +192,6 @@ class Entity(ABC):
209
192
 
210
193
  class ToggleEntityDescription(EntityDescription):
211
194
  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, unit_of_measurement) -> None: ...
212
- def __mypy-replace(*, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement) -> None: ...
213
195
 
214
196
  class ToggleEntity(Entity):
215
197
  entity_description: ToggleEntityDescription
@@ -13,8 +13,7 @@ from homeassistant.exceptions import MaxLengthExceeded as MaxLengthExceeded
13
13
  from homeassistant.util import slugify as slugify
14
14
  from homeassistant.util.json import format_unserializable_data as format_unserializable_data
15
15
  from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
16
- from typing import Any, Literal, TypeVar, TypedDict
17
- from typing_extensions import NotRequired
16
+ from typing import Any, Literal, NotRequired, TypeVar, TypedDict
18
17
 
19
18
  T = TypeVar('T')
20
19
  DATA_REGISTRY: str
@@ -13,7 +13,7 @@ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJo
13
13
  from homeassistant.exceptions import TemplateError as TemplateError
14
14
  from homeassistant.loader import bind_hass as bind_hass
15
15
  from homeassistant.util.async_ import run_callback_threadsafe as run_callback_threadsafe
16
- from typing import Any, Concatenate, ParamSpec, TypeVar, TypedDict
16
+ from typing import Any, Concatenate, TypeVar, TypedDict
17
17
 
18
18
  TRACK_STATE_CHANGE_CALLBACKS: str
19
19
  TRACK_STATE_CHANGE_LISTENER: str
@@ -32,28 +32,25 @@ _LOGGER: Incomplete
32
32
  RANDOM_MICROSECOND_MIN: int
33
33
  RANDOM_MICROSECOND_MAX: int
34
34
  _TypedDictT = TypeVar('_TypedDictT', bound=Mapping[str, Any])
35
- _P = ParamSpec('_P')
35
+ _P: Incomplete
36
36
 
37
37
  class TrackStates:
38
38
  all_states: bool
39
39
  entities: set[str]
40
40
  domains: set[str]
41
41
  def __init__(self, all_states, entities, domains) -> None: ...
42
- def __mypy-replace(*, all_states, entities, domains) -> None: ...
43
42
 
44
43
  class TrackTemplate:
45
44
  template: Template
46
45
  variables: TemplateVarsType
47
46
  rate_limit: timedelta | None
48
47
  def __init__(self, template, variables, rate_limit) -> None: ...
49
- def __mypy-replace(*, template, variables, rate_limit) -> None: ...
50
48
 
51
49
  class TrackTemplateResult:
52
50
  template: Template
53
51
  last_result: Any
54
52
  result: Any
55
53
  def __init__(self, template, last_result, result) -> None: ...
56
- def __mypy-replace(*, template, last_result, result) -> None: ...
57
54
 
58
55
  class EventStateChangedData(TypedDict):
59
56
  entity_id: str
@@ -121,7 +118,7 @@ class TrackTemplateResultInfo:
121
118
  _time_listeners: Incomplete
122
119
  def __init__(self, hass: HomeAssistant, track_templates: Sequence[TrackTemplate], action: TrackTemplateResultListener, has_super_template: bool = ...) -> None: ...
123
120
  def __repr__(self) -> str: ...
124
- def async_setup(self, raise_on_template_error: bool, strict: bool = ...) -> None: ...
121
+ def async_setup(self, raise_on_template_error: bool, strict: bool = ..., log_fn: Callable[[int, str], None] | None = ...) -> None: ...
125
122
  @property
126
123
  def listeners(self) -> dict[str, bool | set[str]]: ...
127
124
  def _setup_time_listener(self, template: Template, has_time: bool) -> None: ...
@@ -135,7 +132,7 @@ class TrackTemplateResultInfo:
135
132
 
136
133
  TrackTemplateResultListener: Incomplete
137
134
 
138
- def async_track_template_result(hass: HomeAssistant, track_templates: Sequence[TrackTemplate], action: TrackTemplateResultListener, raise_on_template_error: bool = ..., strict: bool = ..., has_super_template: bool = ...) -> TrackTemplateResultInfo: ...
135
+ def async_track_template_result(hass: HomeAssistant, track_templates: Sequence[TrackTemplate], action: TrackTemplateResultListener, raise_on_template_error: bool = ..., strict: bool = ..., log_fn: Callable[[int, str], None] | None = ..., has_super_template: bool = ...) -> TrackTemplateResultInfo: ...
139
136
  def async_track_same_state(hass: HomeAssistant, period: timedelta, action: Callable[[], Coroutine[Any, Any, None] | None], async_check_same_func: Callable[[str, State | None, State | None], bool], entity_ids: str | Iterable[str] = ...) -> CALLBACK_TYPE: ...
140
137
 
141
138
  track_same_state: Incomplete
@@ -148,6 +145,7 @@ def async_track_point_in_utc_time(hass: HomeAssistant, action: HassJob[[datetime
148
145
 
149
146
  track_point_in_utc_time: Incomplete
150
147
 
148
+ def async_call_at(hass: HomeAssistant, action: HassJob[[datetime], Coroutine[Any, Any, None] | None] | Callable[[datetime], Coroutine[Any, Any, None] | None], loop_time: float) -> CALLBACK_TYPE: ...
151
149
  def async_call_later(hass: HomeAssistant, delay: float | timedelta, action: HassJob[[datetime], Coroutine[Any, Any, None] | None] | Callable[[datetime], Coroutine[Any, Any, None] | None]) -> CALLBACK_TYPE: ...
152
150
 
153
151
  call_later: Incomplete
@@ -14,7 +14,6 @@ class IntegrationPlatform:
14
14
  process_platform: Callable[[HomeAssistant, str, Any], Awaitable[None]]
15
15
  seen_components: set[str]
16
16
  def __init__(self, platform_name, process_platform, seen_components) -> None: ...
17
- def __mypy-replace(*, platform_name, process_platform, seen_components) -> None: ...
18
17
 
19
18
  async def _async_process_single_integration_platform_component(hass: HomeAssistant, component_name: str, integration: Integration | Exception, integration_platform: IntegrationPlatform) -> None: ...
20
19
  async def async_process_integration_platform_for_component(hass: HomeAssistant, component_name: str) -> None: ...
@@ -106,7 +106,6 @@ class IntentResponseTarget:
106
106
  type: IntentResponseTargetType
107
107
  id: str | None
108
108
  def __init__(self, name, type, id) -> None: ...
109
- def __mypy-replace(*, name, type, id) -> None: ...
110
109
 
111
110
  class IntentResponse:
112
111
  language: Incomplete
@@ -35,7 +35,6 @@ class IssueEntry:
35
35
  translation_placeholders: dict[str, str] | None
36
36
  def to_json(self) -> dict[str, Any]: ...
37
37
  def __init__(self, active, breaks_in_ha_version, created, data, dismissed_version, domain, is_fixable, is_persistent, issue_domain, issue_id, learn_more_url, severity, translation_key, translation_placeholders) -> None: ...
38
- def __mypy-replace(*, active, breaks_in_ha_version, created, data, dismissed_version, domain, is_fixable, is_persistent, issue_domain, issue_id, learn_more_url, severity, translation_key, translation_placeholders) -> None: ...
39
38
 
40
39
  class IssueRegistryStore(Store[dict[str, list[dict[str, Any]]]]):
41
40
  async def _async_migrate_func(self, old_major_version: int, old_minor_version: int, old_data: dict[str, Any]) -> dict[str, Any]: ...
@@ -43,8 +42,9 @@ class IssueRegistryStore(Store[dict[str, list[dict[str, Any]]]]):
43
42
  class IssueRegistry:
44
43
  hass: Incomplete
45
44
  issues: Incomplete
45
+ _read_only: Incomplete
46
46
  _store: Incomplete
47
- def __init__(self, hass: HomeAssistant) -> None: ...
47
+ def __init__(self, hass: HomeAssistant, *, read_only: bool = ...) -> None: ...
48
48
  def async_get_issue(self, domain: str, issue_id: str) -> IssueEntry | None: ...
49
49
  def async_get_or_create(self, domain: str, issue_id: str, *, breaks_in_ha_version: str | None = ..., data: dict[str, str | int | float | None] | None = ..., is_fixable: bool, is_persistent: bool, issue_domain: str | None = ..., learn_more_url: str | None = ..., severity: IssueSeverity, translation_key: str, translation_placeholders: dict[str, str] | None = ...) -> IssueEntry: ...
50
50
  def async_delete(self, domain: str, issue_id: str) -> None: ...
@@ -54,7 +54,7 @@ class IssueRegistry:
54
54
  def _data_to_save(self) -> dict[str, list[dict[str, str | None]]]: ...
55
55
 
56
56
  def async_get(hass: HomeAssistant) -> IssueRegistry: ...
57
- async def async_load(hass: HomeAssistant) -> None: ...
57
+ async def async_load(hass: HomeAssistant, *, read_only: bool = ...) -> None: ...
58
58
  def async_create_issue(hass: HomeAssistant, domain: str, issue_id: str, *, breaks_in_ha_version: str | None = ..., data: dict[str, str | int | float | None] | None = ..., is_fixable: bool, is_persistent: bool = ..., issue_domain: str | None = ..., learn_more_url: str | None = ..., severity: IssueSeverity, translation_key: str, translation_placeholders: dict[str, str] | None = ...) -> None: ...
59
59
  def create_issue(hass: HomeAssistant, domain: str, issue_id: str, *, breaks_in_ha_version: str | None = ..., data: dict[str, str | int | float | None] | None = ..., is_fixable: bool, is_persistent: bool = ..., issue_domain: str | None = ..., learn_more_url: str | None = ..., severity: IssueSeverity, translation_key: str, translation_placeholders: dict[str, str] | None = ...) -> None: ...
60
60
  def async_delete_issue(hass: HomeAssistant, domain: str, issue_id: str) -> None: ...
@@ -8,7 +8,6 @@ class RecorderData:
8
8
  recorder_platforms: dict[str, Any]
9
9
  db_connected: asyncio.Future
10
10
  def __init__(self, recorder_platforms, db_connected) -> None: ...
11
- def __mypy-replace(*, recorder_platforms, db_connected) -> None: ...
12
11
 
13
12
  def async_migration_in_progress(hass: HomeAssistant) -> bool: ...
14
13
  def async_initialize_recorder(hass: HomeAssistant) -> None: ...
@@ -11,22 +11,19 @@ from homeassistant.data_entry_flow import FlowResult as FlowResult, UnknownHandl
11
11
  from typing import Any
12
12
 
13
13
  class SchemaFlowError(Exception): ...
14
-
15
- class SchemaFlowStep:
16
- def __mypy-replace() -> None: ...
14
+ class SchemaFlowStep: ...
17
15
 
18
16
  class SchemaFlowFormStep(SchemaFlowStep):
19
17
  schema: vol.Schema | Callable[[SchemaCommonFlowHandler], Coroutine[Any, Any, vol.Schema | None]] | None
20
18
  validate_user_input: Callable[[SchemaCommonFlowHandler, dict[str, Any]], Coroutine[Any, Any, dict[str, Any]]] | None
21
19
  next_step: Callable[[dict[str, Any]], Coroutine[Any, Any, str | None]] | str | None
22
20
  suggested_values: Callable[[SchemaCommonFlowHandler], Coroutine[Any, Any, dict[str, Any]]] | None | UndefinedType
23
- def __init__(self, schema, validate_user_input, next_step, suggested_values) -> None: ...
24
- def __mypy-replace(*, schema, validate_user_input, next_step, suggested_values) -> None: ...
21
+ preview: str | None
22
+ def __init__(self, schema, validate_user_input, next_step, suggested_values, preview) -> None: ...
25
23
 
26
24
  class SchemaFlowMenuStep(SchemaFlowStep):
27
25
  options: list[str] | dict[str, str]
28
26
  def __init__(self, options) -> None: ...
29
- def __mypy-replace(*, options) -> None: ...
30
27
 
31
28
  class SchemaCommonFlowHandler:
32
29
  _flow: Incomplete
@@ -54,6 +51,8 @@ class SchemaConfigFlowHandler(config_entries.ConfigFlow, ABC, metaclass=abc.ABCM
54
51
  def __init_subclass__(cls, **kwargs: Any) -> None: ...
55
52
  _common_handler: Incomplete
56
53
  def __init__(self) -> None: ...
54
+ @staticmethod
55
+ async def async_setup_preview(hass: HomeAssistant) -> None: ...
57
56
  @classmethod
58
57
  def async_supports_options_flow(cls, config_entry: config_entries.ConfigEntry) -> bool: ...
59
58
  @staticmethod
@@ -68,7 +67,7 @@ class SchemaConfigFlowHandler(config_entries.ConfigFlow, ABC, metaclass=abc.ABCM
68
67
  class SchemaOptionsFlowHandler(config_entries.OptionsFlowWithConfigEntry):
69
68
  _common_handler: Incomplete
70
69
  _async_options_flow_finished: Incomplete
71
- def __init__(self, config_entry: config_entries.ConfigEntry, options_flow: Mapping[str, SchemaFlowStep], async_options_flow_finished: Callable[[HomeAssistant, Mapping[str, Any]], None] | None = ...) -> None: ...
70
+ def __init__(self, config_entry: config_entries.ConfigEntry, options_flow: Mapping[str, SchemaFlowStep], async_options_flow_finished: Callable[[HomeAssistant, Mapping[str, Any]], None] | None = ..., async_setup_preview: Callable[[HomeAssistant], Coroutine[Any, Any, None]] | None = ...) -> None: ...
72
71
  @staticmethod
73
72
  def _async_step(step_id: str) -> Callable: ...
74
73
  def async_create_entry(self, data: Mapping[str, Any], **kwargs: Any) -> FlowResult: ...
@@ -83,7 +83,7 @@ class _ScriptRun:
83
83
  async def _async_get_condition(self, config): ...
84
84
  def _log(self, msg: str, *args: Any, level: int = ..., **kwargs: Any) -> None: ...
85
85
  def _step_log(self, default_message, timeout: Incomplete | None = ...) -> None: ...
86
- async def async_run(self) -> ServiceResponse: ...
86
+ async def async_run(self) -> ScriptRunResult | None: ...
87
87
  async def _async_step(self, log_exceptions) -> None: ...
88
88
  def _finish(self) -> None: ...
89
89
  async def async_stop(self) -> None: ...
@@ -130,6 +130,11 @@ class _IfData(TypedDict):
130
130
  if_then: Script
131
131
  if_else: Script | None
132
132
 
133
+ class ScriptRunResult:
134
+ service_response: ServiceResponse
135
+ variables: dict
136
+ def __init__(self, service_response, variables) -> None: ...
137
+
133
138
  class Script:
134
139
  top_level: Incomplete
135
140
  _hass: Incomplete
@@ -185,7 +190,7 @@ class Script:
185
190
  @staticmethod
186
191
  def _find_referenced_entities(referenced: set[str], sequence: Sequence[dict[str, Any]]) -> None: ...
187
192
  def run(self, variables: _VarsType | None = ..., context: Context | None = ...) -> None: ...
188
- async def async_run(self, run_variables: _VarsType | None = ..., context: Context | None = ..., started_action: Callable[..., Any] | None = ...) -> ServiceResponse: ...
193
+ async def async_run(self, run_variables: _VarsType | None = ..., context: Context | None = ..., started_action: Callable[..., Any] | None = ...) -> ScriptRunResult | None: ...
189
194
  async def _async_stop(self, aws: list[asyncio.Task], update_state: bool, spare: _ScriptRun | None) -> None: ...
190
195
  async def async_stop(self, update_state: bool = ..., spare: _ScriptRun | None = ...) -> None: ...
191
196
  async def _async_get_condition(self, config): ...
@@ -289,6 +289,7 @@ class SelectSelectorConfig(TypedDict, total=False):
289
289
  custom_value: bool
290
290
  mode: SelectSelectorMode
291
291
  translation_key: str
292
+ sort: bool
292
293
 
293
294
  class SelectSelector(Selector[SelectSelectorConfig]):
294
295
  selector_type: str
@@ -1,4 +1,4 @@
1
- from .entity import DeviceInfo as DeviceInfo
1
+ from .device_registry import DeviceInfo as DeviceInfo
2
2
  from homeassistant import const as const
3
3
  from sensor_state_data import SensorDeviceInfo as SensorDeviceInfo
4
4
 
@@ -53,7 +53,6 @@ class SelectedEntities:
53
53
  referenced_devices: set[str]
54
54
  def log_missing(self, missing_entities: set[str]) -> None: ...
55
55
  def __init__(self, referenced, indirectly_referenced, missing_devices, missing_areas, referenced_devices) -> None: ...
56
- def __mypy-replace(*, referenced, indirectly_referenced, missing_devices, missing_areas, referenced_devices) -> None: ...
57
56
 
58
57
  def call_from_config(hass: HomeAssistant, config: ConfigType, blocking: bool = ..., variables: TemplateVarsType = ..., validate_config: bool = ...) -> None: ...
59
58
  async def async_call_from_config(hass: HomeAssistant, config: ConfigType, blocking: bool = ..., variables: TemplateVarsType = ..., validate_config: bool = ..., context: Context | None = ...) -> None: ...
@@ -12,4 +12,3 @@ class MqttServiceInfo(BaseServiceInfo):
12
12
  subscribed_topic: str
13
13
  timestamp: dt.datetime
14
14
  def __init__(self, topic, payload, qos, retain, subscribed_topic, timestamp) -> None: ...
15
- def __mypy-replace(*, topic, payload, qos, retain, subscribed_topic, timestamp) -> None: ...
@@ -28,7 +28,8 @@ class Store(Generic[_T]):
28
28
  _load_task: Incomplete
29
29
  _encoder: Incomplete
30
30
  _atomic_writes: Incomplete
31
- def __init__(self, hass: HomeAssistant, version: int, key: str, private: bool = ..., *, atomic_writes: bool = ..., encoder: type[JSONEncoder] | None = ..., minor_version: int = ...) -> None: ...
31
+ _read_only: Incomplete
32
+ def __init__(self, hass: HomeAssistant, version: int, key: str, private: bool = ..., *, atomic_writes: bool = ..., encoder: type[JSONEncoder] | None = ..., minor_version: int = ..., read_only: bool = ...) -> None: ...
32
33
  @property
33
34
  def path(self): ...
34
35
  async def async_load(self) -> _T | None: ...
@@ -17,7 +17,7 @@ from homeassistant.util.read_only_dict import ReadOnlyDict as ReadOnlyDict
17
17
  from homeassistant.util.thread import ThreadWithException as ThreadWithException
18
18
  from jinja2.sandbox import ImmutableSandboxedEnvironment
19
19
  from types import CodeType
20
- from typing import Any, Literal, NoReturn, ParamSpec, TypeVar, overload
20
+ from typing import Any, Literal, NoReturn, TypeVar, overload
21
21
 
22
22
  _LOGGER: Incomplete
23
23
  _SENTINEL: Incomplete
@@ -34,7 +34,7 @@ _ZONE_DOMAIN_PREFIX: str
34
34
  _COLLECTABLE_STATE_ATTRIBUTES: Incomplete
35
35
  _T = TypeVar('_T')
36
36
  _R = TypeVar('_R')
37
- _P = ParamSpec('_P')
37
+ _P: Incomplete
38
38
  ALL_STATES_RATE_LIMIT: Incomplete
39
39
  DOMAIN_STATES_RATE_LIMIT: Incomplete
40
40
  _render_info: ContextVar[RenderInfo | None]
@@ -109,6 +109,7 @@ class Template:
109
109
  _exc_info: Incomplete
110
110
  _limited: Incomplete
111
111
  _strict: Incomplete
112
+ _log_fn: Incomplete
112
113
  _hash_cache: Incomplete
113
114
  _renders: int
114
115
  def __init__(self, template: str, hass: HomeAssistant | None = ...) -> None: ...
@@ -116,13 +117,13 @@ class Template:
116
117
  def _env(self) -> TemplateEnvironment: ...
117
118
  def ensure_valid(self) -> None: ...
118
119
  def render(self, variables: TemplateVarsType = ..., parse_result: bool = ..., limited: bool = ..., **kwargs: Any) -> Any: ...
119
- def async_render(self, variables: TemplateVarsType = ..., parse_result: bool = ..., limited: bool = ..., strict: bool = ..., **kwargs: Any) -> Any: ...
120
+ def async_render(self, variables: TemplateVarsType = ..., parse_result: bool = ..., limited: bool = ..., strict: bool = ..., log_fn: Callable[[int, str], None] | None = ..., **kwargs: Any) -> Any: ...
120
121
  def _parse_result(self, render_result: str) -> Any: ...
121
- async def async_render_will_timeout(self, timeout: float, variables: TemplateVarsType = ..., strict: bool = ..., **kwargs: Any) -> bool: ...
122
- def async_render_to_info(self, variables: TemplateVarsType = ..., strict: bool = ..., **kwargs: Any) -> RenderInfo: ...
122
+ async def async_render_will_timeout(self, timeout: float, variables: TemplateVarsType = ..., strict: bool = ..., log_fn: Callable[[int, str], None] | None = ..., **kwargs: Any) -> bool: ...
123
+ def async_render_to_info(self, variables: TemplateVarsType = ..., strict: bool = ..., log_fn: Callable[[int, str], None] | None = ..., **kwargs: Any) -> RenderInfo: ...
123
124
  def render_with_possible_json_value(self, value, error_value=...): ...
124
125
  def async_render_with_possible_json_value(self, value: Any, error_value: Any = ..., variables: dict[str, Any] | None = ...) -> Any: ...
125
- def _ensure_compiled(self, limited: bool = ..., strict: bool = ...) -> jinja2.Template: ...
126
+ def _ensure_compiled(self, limited: bool = ..., strict: bool = ..., log_fn: Callable[[int, str], None] | None = ...) -> jinja2.Template: ...
126
127
  def __eq__(self, other): ...
127
128
  def __hash__(self) -> int: ...
128
129
  def __repr__(self) -> str: ...
@@ -297,14 +298,7 @@ def slugify(value, separator: str = ...): ...
297
298
  def iif(value: Any, if_true: Any = ..., if_false: Any = ..., if_none: Any = ...) -> Any: ...
298
299
  def set_template(template_str: str, action: str) -> Generator: ...
299
300
  def _render_with_context(template_str: str, template: jinja2.Template, **kwargs: Any) -> str: ...
300
-
301
- class LoggingUndefined(jinja2.Undefined):
302
- def _log_message(self) -> None: ...
303
- def _fail_with_undefined_error(self, *args, **kwargs): ...
304
- def __str__(self) -> str: ...
305
- def __iter__(self): ...
306
- def __bool__(self) -> bool: ...
307
-
301
+ def make_logging_undefined(strict: bool | None, log_fn: Callable[[int, str], None] | None) -> type[jinja2.Undefined]: ...
308
302
  async def async_load_custom_templates(hass: HomeAssistant) -> None: ...
309
303
  def _load_custom_templates(hass: HomeAssistant) -> dict[str, str]: ...
310
304
  def _get_hass_loader(hass: HomeAssistant) -> HassLoader: ...
@@ -321,7 +315,7 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
321
315
  hass: Incomplete
322
316
  template_cache: Incomplete
323
317
  loader: Incomplete
324
- def __init__(self, hass, limited: bool = ..., strict: bool = ...) -> None: ...
318
+ def __init__(self, hass: HomeAssistant | None, limited: bool | None = ..., strict: bool | None = ..., log_fn: Callable[[int, str], None] | None = ...) -> None: ...
325
319
  def is_safe_callable(self, obj): ...
326
320
  def is_safe_attribute(self, obj, attr, value): ...
327
321
  @overload
@@ -35,7 +35,6 @@ class PluggableActionsEntry:
35
35
  plugs: set[PluggableAction]
36
36
  actions: dict[object, tuple[HassJob[[dict[str, Any], Context | None], Coroutine[Any, Any, None]], dict[str, Any]]]
37
37
  def __init__(self, plugs, actions) -> None: ...
38
- def __mypy-replace(*, plugs, actions) -> None: ...
39
38
 
40
39
  class PluggableAction:
41
40
  _entry: PluggableActionsEntry | None
@@ -0,0 +1,62 @@
1
+ import voluptuous as vol
2
+ from .entity import Entity as Entity
3
+ from .template import render_complex as render_complex
4
+ from .typing import ConfigType as ConfigType
5
+ from _typeshed import Incomplete
6
+ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, STATE_CLASSES_SCHEMA as STATE_CLASSES_SCHEMA, SensorEntity as SensorEntity
7
+ from homeassistant.const import ATTR_ENTITY_PICTURE as ATTR_ENTITY_PICTURE, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_ICON as ATTR_ICON, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ICON as CONF_ICON, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, State as State, callback as callback
9
+ from homeassistant.exceptions import TemplateError as TemplateError
10
+ from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
11
+ from typing import Any
12
+
13
+ CONF_AVAILABILITY: str
14
+ CONF_ATTRIBUTES: str
15
+ CONF_PICTURE: str
16
+ CONF_TO_ATTRIBUTE: Incomplete
17
+ TEMPLATE_ENTITY_BASE_SCHEMA: Incomplete
18
+
19
+ def make_template_entity_base_schema(default_name: str) -> vol.Schema: ...
20
+
21
+ TEMPLATE_SENSOR_BASE_SCHEMA: Incomplete
22
+
23
+ class TriggerBaseEntity(Entity):
24
+ domain: str
25
+ extra_template_keys: tuple[str, ...] | None
26
+ extra_template_keys_complex: tuple[str, ...] | None
27
+ _unique_id: str | None
28
+ hass: Incomplete
29
+ _config: Incomplete
30
+ _static_rendered: Incomplete
31
+ _to_render_simple: Incomplete
32
+ _to_render_complex: Incomplete
33
+ _rendered: Incomplete
34
+ _parse_result: Incomplete
35
+ def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
36
+ @property
37
+ def name(self) -> str | None: ...
38
+ @property
39
+ def unique_id(self) -> str | None: ...
40
+ @property
41
+ def device_class(self): ...
42
+ @property
43
+ def icon(self) -> str | None: ...
44
+ @property
45
+ def entity_picture(self) -> str | None: ...
46
+ @property
47
+ def available(self) -> bool: ...
48
+ @property
49
+ def extra_state_attributes(self) -> dict[str, Any] | None: ...
50
+ async def async_added_to_hass(self) -> None: ...
51
+ def _set_unique_id(self, unique_id: str | None) -> None: ...
52
+ def restore_attributes(self, last_state: State) -> None: ...
53
+ def _render_templates(self, variables: dict[str, Any]) -> None: ...
54
+
55
+ class ManualTriggerEntity(TriggerBaseEntity):
56
+ def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
57
+ def _process_manual_data(self, value: Any | None = ...) -> None: ...
58
+
59
+ class ManualTriggerSensorEntity(ManualTriggerEntity, SensorEntity):
60
+ _attr_native_unit_of_measurement: Incomplete
61
+ _attr_state_class: Incomplete
62
+ def __init__(self, hass: HomeAssistant, config: ConfigType) -> None: ...
@@ -32,6 +32,8 @@ class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
32
32
  update_interval: Incomplete
33
33
  _shutdown_requested: bool
34
34
  config_entry: Incomplete
35
+ always_update: Incomplete
36
+ _next_refresh: Incomplete
35
37
  data: Incomplete
36
38
  _microsecond: Incomplete
37
39
  _listeners: Incomplete
@@ -42,7 +44,7 @@ class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
42
44
  last_update_success: bool
43
45
  last_exception: Incomplete
44
46
  _debounced_refresh: Incomplete
45
- def __init__(self, hass: HomeAssistant, logger: logging.Logger, *, name: str, update_interval: timedelta | None = ..., update_method: Callable[[], Awaitable[_DataT]] | None = ..., request_refresh_debouncer: Debouncer[Coroutine[Any, Any, None]] | None = ...) -> None: ...
47
+ def __init__(self, hass: HomeAssistant, logger: logging.Logger, *, name: str, update_interval: timedelta | None = ..., update_method: Callable[[], Awaitable[_DataT]] | None = ..., request_refresh_debouncer: Debouncer[Coroutine[Any, Any, None]] | None = ..., always_update: bool = ...) -> None: ...
46
48
  async def async_register_shutdown(self) -> None: ...
47
49
  def async_add_listener(self, update_callback: CALLBACK_TYPE, context: Any = ...) -> Callable[[], None]: ...
48
50
  def async_update_listeners(self) -> None: ...
@@ -61,6 +63,10 @@ class DataUpdateCoordinator(BaseDataUpdateCoordinatorProtocol, Generic[_DataT]):
61
63
  def async_set_update_error(self, err: Exception) -> None: ...
62
64
  def async_set_updated_data(self, data: _DataT) -> None: ...
63
65
 
66
+ class TimestampDataUpdateCoordinator(DataUpdateCoordinator[_DataT]):
67
+ last_update_success_time: datetime | None
68
+ async def _async_refresh(self, log_failures: bool = ..., raise_on_auth_failed: bool = ..., scheduled: bool = ..., raise_on_entry_error: bool = ...) -> None: ...
69
+
64
70
  class BaseCoordinatorEntity(entity.Entity, Generic[_BaseDataUpdateCoordinatorT], metaclass=abc.ABCMeta):
65
71
  coordinator: Incomplete
66
72
  coordinator_context: Incomplete