homeassistant-stubs 2024.7.4__py3-none-any.whl → 2024.8.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 (946) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -1
  2. homeassistant-stubs/auth/permissions/events.pyi +3 -0
  3. homeassistant-stubs/auth/permissions/types.pyi +3 -4
  4. homeassistant-stubs/auth/permissions/util.pyi +1 -2
  5. homeassistant-stubs/auth/providers/trusted_networks.pyi +3 -2
  6. homeassistant-stubs/bootstrap.pyi +2 -2
  7. homeassistant-stubs/components/abode/__init__.pyi +1 -1
  8. homeassistant-stubs/components/abode/sensor.pyi +1 -1
  9. homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
  10. homeassistant-stubs/components/adguard/sensor.pyi +1 -1
  11. homeassistant-stubs/components/adguard/switch.pyi +1 -1
  12. homeassistant-stubs/components/airgradient/__init__.pyi +2 -2
  13. homeassistant-stubs/components/airgradient/button.pyi +1 -1
  14. homeassistant-stubs/components/airgradient/coordinator.pyi +0 -4
  15. homeassistant-stubs/components/airgradient/number.pyi +1 -1
  16. homeassistant-stubs/components/airgradient/select.pyi +1 -1
  17. homeassistant-stubs/components/airgradient/sensor.pyi +2 -2
  18. homeassistant-stubs/components/airgradient/switch.pyi +1 -1
  19. homeassistant-stubs/components/airly/sensor.pyi +1 -1
  20. homeassistant-stubs/components/airnow/sensor.pyi +1 -1
  21. homeassistant-stubs/components/airq/sensor.pyi +1 -1
  22. homeassistant-stubs/components/airtouch5/climate.pyi +1 -0
  23. homeassistant-stubs/components/airtouch5/cover.pyi +34 -0
  24. homeassistant-stubs/components/airtouch5/entity.pyi +0 -2
  25. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +1 -1
  26. homeassistant-stubs/components/airvisual_pro/sensor.pyi +1 -1
  27. homeassistant-stubs/components/airzone/binary_sensor.pyi +1 -1
  28. homeassistant-stubs/components/airzone/select.pyi +1 -1
  29. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +1 -1
  30. homeassistant-stubs/components/airzone_cloud/select.pyi +1 -1
  31. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  32. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
  33. homeassistant-stubs/components/alarm_control_panel/const.pyi +8 -8
  34. homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
  35. homeassistant-stubs/components/alexa/entities.pyi +7 -3
  36. homeassistant-stubs/components/alexa/handlers.pyi +1 -1
  37. homeassistant-stubs/components/alexa/intent.pyi +4 -4
  38. homeassistant-stubs/components/amberelectric/binary_sensor.pyi +4 -0
  39. homeassistant-stubs/components/ambient_station/binary_sensor.pyi +1 -1
  40. homeassistant-stubs/components/amcrest/__init__.pyi +1 -1
  41. homeassistant-stubs/components/amcrest/binary_sensor.pyi +1 -1
  42. homeassistant-stubs/components/analytics_insights/sensor.pyi +1 -1
  43. homeassistant-stubs/components/android_ip_webcam/sensor.pyi +1 -1
  44. homeassistant-stubs/components/android_ip_webcam/switch.pyi +1 -1
  45. homeassistant-stubs/components/anova/sensor.pyi +1 -1
  46. homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -1
  47. homeassistant-stubs/components/apcupsd/const.pyi +1 -0
  48. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -2
  49. homeassistant-stubs/components/api/__init__.pyi +1 -1
  50. homeassistant-stubs/components/apsystems/__init__.pyi +2 -1
  51. homeassistant-stubs/components/apsystems/config_flow.pyi +2 -2
  52. homeassistant-stubs/components/apsystems/const.pyi +1 -0
  53. homeassistant-stubs/components/apsystems/sensor.pyi +1 -1
  54. homeassistant-stubs/components/apsystems/switch.pyi +21 -0
  55. homeassistant-stubs/components/aqualogic/sensor.pyi +1 -1
  56. homeassistant-stubs/components/aranet/sensor.pyi +1 -1
  57. homeassistant-stubs/components/arcam_fmj/__init__.pyi +3 -4
  58. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -6
  59. homeassistant-stubs/components/arcam_fmj/const.pyi +0 -3
  60. homeassistant-stubs/components/arcam_fmj/media_player.pyi +2 -3
  61. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +1 -1
  62. homeassistant-stubs/components/aseko_pool_live/entity.pyi +1 -1
  63. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  64. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +28 -0
  65. homeassistant-stubs/components/assist_pipeline/const.pyi +6 -0
  66. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +41 -50
  67. homeassistant-stubs/components/assist_pipeline/vad.pyi +8 -23
  68. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  69. homeassistant-stubs/components/asuswrt/bridge.pyi +2 -2
  70. homeassistant-stubs/components/asuswrt/sensor.pyi +1 -1
  71. homeassistant-stubs/components/autarco/__init__.pyi +11 -0
  72. homeassistant-stubs/components/autarco/config_flow.pyi +11 -0
  73. homeassistant-stubs/components/autarco/const.pyi +6 -0
  74. homeassistant-stubs/components/autarco/coordinator.pyi +18 -0
  75. homeassistant-stubs/components/autarco/diagnostics.pyi +5 -0
  76. homeassistant-stubs/components/autarco/sensor.pyi +49 -0
  77. homeassistant-stubs/components/auth/__init__.pyi +1 -1
  78. homeassistant-stubs/components/automation/config.pyi +6 -6
  79. homeassistant-stubs/components/automation/trace.pyi +1 -1
  80. homeassistant-stubs/components/awair/sensor.pyi +1 -1
  81. homeassistant-stubs/components/axis/binary_sensor.pyi +1 -1
  82. homeassistant-stubs/components/axis/entity.pyi +1 -1
  83. homeassistant-stubs/components/axis/light.pyi +1 -1
  84. homeassistant-stubs/components/axis/switch.pyi +1 -1
  85. homeassistant-stubs/components/baf/binary_sensor.pyi +1 -1
  86. homeassistant-stubs/components/baf/fan.pyi +1 -0
  87. homeassistant-stubs/components/baf/number.pyi +1 -1
  88. homeassistant-stubs/components/baf/sensor.pyi +1 -1
  89. homeassistant-stubs/components/baf/switch.pyi +1 -1
  90. homeassistant-stubs/components/bang_olufsen/const.pyi +26 -35
  91. homeassistant-stubs/components/bayesian/helpers.pyi +1 -1
  92. homeassistant-stubs/components/binary_sensor/__init__.pyi +29 -29
  93. homeassistant-stubs/components/blueprint/importer.pyi +4 -0
  94. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +2 -2
  95. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +1 -1
  96. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +9 -17
  97. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +5 -5
  98. homeassistant-stubs/components/bmw_connected_drive/button.pyi +4 -5
  99. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +1 -0
  100. homeassistant-stubs/components/bmw_connected_drive/const.pyi +0 -1
  101. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +4 -4
  102. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +4 -5
  103. homeassistant-stubs/components/bmw_connected_drive/entity.pyi +13 -0
  104. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +3 -4
  105. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +4 -8
  106. homeassistant-stubs/components/bmw_connected_drive/number.pyi +4 -5
  107. homeassistant-stubs/components/bmw_connected_drive/select.pyi +4 -5
  108. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +6 -6
  109. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +4 -5
  110. homeassistant-stubs/components/bond/button.pyi +5 -4
  111. homeassistant-stubs/components/bond/cover.pyi +3 -3
  112. homeassistant-stubs/components/bond/entity.pyi +4 -3
  113. homeassistant-stubs/components/bond/fan.pyi +3 -3
  114. homeassistant-stubs/components/bond/light.pyi +3 -3
  115. homeassistant-stubs/components/braviatv/button.pyi +1 -1
  116. homeassistant-stubs/components/braviatv/const.pyi +3 -3
  117. homeassistant-stubs/components/brother/sensor.pyi +1 -1
  118. homeassistant-stubs/components/bryant_evolution/__init__.pyi +17 -0
  119. homeassistant-stubs/components/bryant_evolution/climate.pyi +43 -0
  120. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +15 -0
  121. homeassistant-stubs/components/bryant_evolution/const.pyi +2 -0
  122. homeassistant-stubs/components/bryant_evolution/names.pyi +5 -0
  123. homeassistant-stubs/components/bthome/__init__.pyi +5 -5
  124. homeassistant-stubs/components/bthome/binary_sensor.pyi +3 -4
  125. homeassistant-stubs/components/bthome/coordinator.pyi +2 -2
  126. homeassistant-stubs/components/bthome/event.pyi +2 -3
  127. homeassistant-stubs/components/bthome/sensor.pyi +3 -4
  128. homeassistant-stubs/components/bthome/types.pyi +4 -0
  129. homeassistant-stubs/components/button/__init__.pyi +4 -4
  130. homeassistant-stubs/components/calendar/__init__.pyi +1 -1
  131. homeassistant-stubs/components/calendar/const.pyi +3 -3
  132. homeassistant-stubs/components/camera/__init__.pyi +4 -5
  133. homeassistant-stubs/components/camera/const.pyi +2 -2
  134. homeassistant-stubs/components/camera/prefs.pyi +1 -1
  135. homeassistant-stubs/components/canary/sensor.pyi +1 -1
  136. homeassistant-stubs/components/climate/__init__.pyi +2 -1
  137. homeassistant-stubs/components/climate/const.pyi +24 -23
  138. homeassistant-stubs/components/climate/reproduce_state.pyi +1 -1
  139. homeassistant-stubs/components/cloud/__init__.pyi +2 -2
  140. homeassistant-stubs/components/co2signal/sensor.pyi +1 -1
  141. homeassistant-stubs/components/command_line/__init__.pyi +1 -2
  142. homeassistant-stubs/components/command_line/const.pyi +2 -0
  143. homeassistant-stubs/components/command_line/sensor.pyi +3 -3
  144. homeassistant-stubs/components/config/config_entries.pyi +2 -2
  145. homeassistant-stubs/components/cover/__init__.pyi +19 -19
  146. homeassistant-stubs/components/cover/intent.pyi +1 -1
  147. homeassistant-stubs/components/date/__init__.pyi +1 -1
  148. homeassistant-stubs/components/datetime/__init__.pyi +1 -1
  149. homeassistant-stubs/components/deconz/binary_sensor.pyi +1 -1
  150. homeassistant-stubs/components/deconz/button.pyi +1 -1
  151. homeassistant-stubs/components/deconz/deconz_device.pyi +4 -1
  152. homeassistant-stubs/components/deconz/fan.pyi +1 -0
  153. homeassistant-stubs/components/deconz/number.pyi +1 -1
  154. homeassistant-stubs/components/deconz/sensor.pyi +1 -1
  155. homeassistant-stubs/components/demo/fan.pyi +1 -0
  156. homeassistant-stubs/components/demo/mailbox.pyi +1 -0
  157. homeassistant-stubs/components/device_automation/__init__.pyi +5 -4
  158. homeassistant-stubs/components/device_tracker/config_entry.pyi +10 -9
  159. homeassistant-stubs/components/device_tracker/const.pyi +4 -4
  160. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +3 -1
  161. homeassistant-stubs/components/devolo_home_network/button.pyi +3 -1
  162. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
  163. homeassistant-stubs/components/devolo_home_network/entity.pyi +3 -1
  164. homeassistant-stubs/components/devolo_home_network/image.pyi +3 -1
  165. homeassistant-stubs/components/devolo_home_network/sensor.pyi +4 -3
  166. homeassistant-stubs/components/devolo_home_network/switch.pyi +2 -1
  167. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -1
  168. homeassistant-stubs/components/diagnostics/__init__.pyi +1 -1
  169. homeassistant-stubs/components/diagnostics/const.pyi +2 -2
  170. homeassistant-stubs/components/discovergy/sensor.pyi +1 -1
  171. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -1
  172. homeassistant-stubs/components/doorbird/__init__.pyi +9 -14
  173. homeassistant-stubs/components/doorbird/button.pyi +11 -12
  174. homeassistant-stubs/components/doorbird/camera.pyi +3 -6
  175. homeassistant-stubs/components/doorbird/config_flow.pyi +10 -3
  176. homeassistant-stubs/components/doorbird/const.pyi +6 -3
  177. homeassistant-stubs/components/doorbird/device.pyi +33 -14
  178. homeassistant-stubs/components/doorbird/event.pyi +23 -0
  179. homeassistant-stubs/components/doorbird/logbook.pyi +1 -1
  180. homeassistant-stubs/components/doorbird/models.pyi +3 -0
  181. homeassistant-stubs/components/doorbird/repairs.pyi +12 -0
  182. homeassistant-stubs/components/doorbird/util.pyi +3 -2
  183. homeassistant-stubs/components/doorbird/view.pyi +1 -1
  184. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +1 -1
  185. homeassistant-stubs/components/dsmr/__init__.pyi +14 -4
  186. homeassistant-stubs/components/dsmr/const.pyi +0 -1
  187. homeassistant-stubs/components/dsmr/diagnostics.pyi +6 -0
  188. homeassistant-stubs/components/dsmr/sensor.pyi +19 -10
  189. homeassistant-stubs/components/easyenergy/sensor.pyi +1 -1
  190. homeassistant-stubs/components/easyenergy/services.pyi +3 -3
  191. homeassistant-stubs/components/ecovacs/__init__.pyi +1 -0
  192. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  193. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  194. homeassistant-stubs/components/ecovacs/const.pyi +3 -2
  195. homeassistant-stubs/components/ecovacs/controller.pyi +3 -0
  196. homeassistant-stubs/components/ecovacs/entity.pyi +15 -1
  197. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  198. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  199. homeassistant-stubs/components/ecovacs/sensor.pyi +19 -4
  200. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  201. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -9
  202. homeassistant-stubs/components/ecowitt/__init__.pyi +4 -2
  203. homeassistant-stubs/components/ecowitt/binary_sensor.pyi +3 -4
  204. homeassistant-stubs/components/ecowitt/diagnostics.pyi +2 -3
  205. homeassistant-stubs/components/ecowitt/sensor.pyi +3 -4
  206. homeassistant-stubs/components/electric_kiwi/sensor.pyi +2 -2
  207. homeassistant-stubs/components/elevenlabs/__init__.pyi +23 -0
  208. homeassistant-stubs/components/elevenlabs/config_flow.pyi +26 -0
  209. homeassistant-stubs/components/elevenlabs/const.pyi +4 -0
  210. homeassistant-stubs/components/elevenlabs/tts.pyi +30 -0
  211. homeassistant-stubs/components/elgato/button.pyi +1 -1
  212. homeassistant-stubs/components/elgato/sensor.pyi +1 -1
  213. homeassistant-stubs/components/elgato/switch.pyi +1 -1
  214. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
  215. homeassistant-stubs/components/energy/data.pyi +1 -2
  216. homeassistant-stubs/components/energy/types.pyi +2 -3
  217. homeassistant-stubs/components/energy/validate.pyi +2 -2
  218. homeassistant-stubs/components/energyzero/sensor.pyi +1 -1
  219. homeassistant-stubs/components/energyzero/services.pyi +2 -2
  220. homeassistant-stubs/components/enigma2/__init__.pyi +3 -5
  221. homeassistant-stubs/components/enigma2/coordinator.pyi +19 -0
  222. homeassistant-stubs/components/enigma2/media_player.pyi +6 -8
  223. homeassistant-stubs/components/enphase_envoy/__init__.pyi +4 -5
  224. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +4 -5
  225. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -1
  226. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -4
  227. homeassistant-stubs/components/enphase_envoy/number.pyi +4 -5
  228. homeassistant-stubs/components/enphase_envoy/select.pyi +4 -5
  229. homeassistant-stubs/components/enphase_envoy/sensor.pyi +10 -11
  230. homeassistant-stubs/components/enphase_envoy/switch.pyi +5 -8
  231. homeassistant-stubs/components/eq3btsmart/const.pyi +10 -10
  232. homeassistant-stubs/components/eq3btsmart/models.pyi +1 -1
  233. homeassistant-stubs/components/esphome/domain_data.pyi +1 -1
  234. homeassistant-stubs/components/esphome/entity.pyi +2 -3
  235. homeassistant-stubs/components/esphome/entry_data.pyi +1 -1
  236. homeassistant-stubs/components/esphome/fan.pyi +1 -0
  237. homeassistant-stubs/components/esphome/update.pyi +1 -0
  238. homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -0
  239. homeassistant-stubs/components/event/__init__.pyi +4 -4
  240. homeassistant-stubs/components/evohome/__init__.pyi +18 -34
  241. homeassistant-stubs/components/evohome/climate.pyi +3 -2
  242. homeassistant-stubs/components/evohome/coordinator.pyi +11 -16
  243. homeassistant-stubs/components/evohome/entity.pyi +37 -0
  244. homeassistant-stubs/components/evohome/water_heater.pyi +2 -1
  245. homeassistant-stubs/components/faa_delays/binary_sensor.pyi +1 -1
  246. homeassistant-stubs/components/fan/__init__.pyi +13 -7
  247. homeassistant-stubs/components/feedreader/__init__.pyi +1 -1
  248. homeassistant-stubs/components/feedreader/const.pyi +7 -5
  249. homeassistant-stubs/components/feedreader/coordinator.pyi +11 -7
  250. homeassistant-stubs/components/feedreader/event.pyi +30 -0
  251. homeassistant-stubs/components/fitbit/const.pyi +11 -11
  252. homeassistant-stubs/components/fitbit/sensor.pyi +1 -1
  253. homeassistant-stubs/components/flexit_bacnet/binary_sensor.pyi +1 -1
  254. homeassistant-stubs/components/flexit_bacnet/number.pyi +1 -1
  255. homeassistant-stubs/components/flexit_bacnet/sensor.pyi +1 -1
  256. homeassistant-stubs/components/flexit_bacnet/switch.pyi +1 -1
  257. homeassistant-stubs/components/forecast_solar/sensor.pyi +1 -1
  258. homeassistant-stubs/components/fritz/binary_sensor.pyi +1 -1
  259. homeassistant-stubs/components/fritz/button.pyi +1 -1
  260. homeassistant-stubs/components/fritz/config_flow.pyi +1 -0
  261. homeassistant-stubs/components/fritz/const.pyi +3 -3
  262. homeassistant-stubs/components/fritz/coordinator.pyi +3 -3
  263. homeassistant-stubs/components/fritz/entity.pyi +1 -1
  264. homeassistant-stubs/components/fritz/sensor.pyi +1 -1
  265. homeassistant-stubs/components/fritz/update.pyi +1 -1
  266. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +1 -1
  267. homeassistant-stubs/components/fritzbox/sensor.pyi +1 -1
  268. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +5 -5
  269. homeassistant-stubs/components/fritzbox_callmonitor/const.pyi +4 -4
  270. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +4 -4
  271. homeassistant-stubs/components/fronius/const.pyi +21 -21
  272. homeassistant-stubs/components/fronius/sensor.pyi +1 -1
  273. homeassistant-stubs/components/frontend/__init__.pyi +3 -2
  274. homeassistant-stubs/components/fully_kiosk/button.pyi +1 -1
  275. homeassistant-stubs/components/fully_kiosk/image.pyi +1 -1
  276. homeassistant-stubs/components/fully_kiosk/notify.pyi +1 -1
  277. homeassistant-stubs/components/fully_kiosk/sensor.pyi +1 -1
  278. homeassistant-stubs/components/fully_kiosk/switch.pyi +1 -1
  279. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +1 -0
  280. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  281. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -1
  282. homeassistant-stubs/components/generic_thermostat/__init__.pyi +2 -5
  283. homeassistant-stubs/components/generic_thermostat/climate.pyi +10 -15
  284. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +2 -1
  285. homeassistant-stubs/components/generic_thermostat/const.pyi +14 -0
  286. homeassistant-stubs/components/geocaching/sensor.pyi +1 -1
  287. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  288. homeassistant-stubs/components/glances/sensor.pyi +1 -1
  289. homeassistant-stubs/components/google/const.pyi +5 -5
  290. homeassistant-stubs/components/gpsd/__init__.pyi +5 -3
  291. homeassistant-stubs/components/gpsd/config_flow.pyi +2 -0
  292. homeassistant-stubs/components/gpsd/sensor.pyi +6 -5
  293. homeassistant-stubs/components/group/button.pyi +28 -0
  294. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  295. homeassistant-stubs/components/group/fan.pyi +1 -0
  296. homeassistant-stubs/components/group/notify.pyi +19 -3
  297. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  298. homeassistant-stubs/components/guardian/binary_sensor.pyi +2 -2
  299. homeassistant-stubs/components/guardian/button.pyi +1 -1
  300. homeassistant-stubs/components/guardian/sensor.pyi +2 -2
  301. homeassistant-stubs/components/guardian/switch.pyi +1 -1
  302. homeassistant-stubs/components/guardian/valve.pyi +9 -9
  303. homeassistant-stubs/components/here_travel_time/config_flow.pyi +4 -1
  304. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  305. homeassistant-stubs/components/history_stats/__init__.pyi +13 -4
  306. homeassistant-stubs/components/history_stats/config_flow.pyi +19 -0
  307. homeassistant-stubs/components/history_stats/const.pyi +14 -0
  308. homeassistant-stubs/components/history_stats/sensor.pyi +6 -11
  309. homeassistant-stubs/components/homeassistant/__init__.pyi +4 -4
  310. homeassistant-stubs/components/homeassistant/logbook.pyi +1 -1
  311. homeassistant-stubs/components/homeassistant/repairs.pyi +15 -0
  312. homeassistant-stubs/components/homeassistant/scene.pyi +1 -0
  313. homeassistant-stubs/components/homeassistant_hardware/const.pyi +7 -0
  314. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +59 -0
  315. homeassistant-stubs/components/homeassistant_hardware/util.pyi +24 -0
  316. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -1
  317. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +19 -49
  318. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +2 -10
  319. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -20
  320. homeassistant-stubs/components/homekit/__init__.pyi +17 -8
  321. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  322. homeassistant-stubs/components/homekit/aidmanager.pyi +1 -1
  323. homeassistant-stubs/components/homekit/diagnostics.pyi +2 -4
  324. homeassistant-stubs/components/homekit/models.pyi +4 -1
  325. homeassistant-stubs/components/homekit/type_cameras.pyi +5 -3
  326. homeassistant-stubs/components/homekit/type_switches.pyi +17 -6
  327. homeassistant-stubs/components/homekit/util.pyi +1 -1
  328. homeassistant-stubs/components/homekit_controller/button.pyi +1 -1
  329. homeassistant-stubs/components/homekit_controller/select.pyi +1 -1
  330. homeassistant-stubs/components/homekit_controller/utils.pyi +1 -2
  331. homeassistant-stubs/components/homewizard/__init__.pyi +7 -5
  332. homeassistant-stubs/components/homewizard/button.pyi +2 -3
  333. homeassistant-stubs/components/homewizard/const.pyi +1 -1
  334. homeassistant-stubs/components/homewizard/diagnostics.pyi +2 -4
  335. homeassistant-stubs/components/homewizard/number.pyi +2 -3
  336. homeassistant-stubs/components/homewizard/sensor.pyi +4 -4
  337. homeassistant-stubs/components/homewizard/switch.pyi +4 -4
  338. homeassistant-stubs/components/homeworks/__init__.pyi +1 -1
  339. homeassistant-stubs/components/homeworks/config_flow.pyi +5 -3
  340. homeassistant-stubs/components/http/__init__.pyi +1 -1
  341. homeassistant-stubs/components/http/decorators.pyi +2 -1
  342. homeassistant-stubs/components/http/static.pyi +1 -4
  343. homeassistant-stubs/components/huawei_lte/select.pyi +1 -1
  344. homeassistant-stubs/components/huawei_lte/sensor.pyi +2 -2
  345. homeassistant-stubs/components/humidifier/__init__.pyi +3 -3
  346. homeassistant-stubs/components/humidifier/const.pyi +5 -5
  347. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -1
  348. homeassistant-stubs/components/husqvarna_automower/entity.pyi +6 -1
  349. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +6 -5
  350. homeassistant-stubs/components/husqvarna_automower/number.pyi +3 -5
  351. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -2
  352. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +9 -2
  353. homeassistant-stubs/components/husqvarna_automower/switch.pyi +1 -3
  354. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +14 -2
  355. homeassistant-stubs/components/hydrawise/const.pyi +5 -2
  356. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  357. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  358. homeassistant-stubs/components/hydrawise/valve.pyi +24 -0
  359. homeassistant-stubs/components/ibeacon/sensor.pyi +1 -1
  360. homeassistant-stubs/components/idasen_desk/button.pyi +1 -1
  361. homeassistant-stubs/components/idasen_desk/sensor.pyi +1 -1
  362. homeassistant-stubs/components/image/__init__.pyi +1 -1
  363. homeassistant-stubs/components/image_processing/__init__.pyi +4 -4
  364. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  365. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +1 -1
  366. homeassistant-stubs/components/imgw_pib/sensor.pyi +1 -1
  367. homeassistant-stubs/components/integration/sensor.pyi +2 -2
  368. homeassistant-stubs/components/intent/__init__.pyi +10 -0
  369. homeassistant-stubs/components/intent/timers.pyi +7 -7
  370. homeassistant-stubs/components/ios/__init__.pyi +1 -1
  371. homeassistant-stubs/components/ios/const.pyi +1 -0
  372. homeassistant-stubs/components/iotty/__init__.pyi +21 -0
  373. homeassistant-stubs/components/iotty/api.pyi +15 -0
  374. homeassistant-stubs/components/iotty/application_credentials.pyi +7 -0
  375. homeassistant-stubs/components/iotty/config_flow.pyi +8 -0
  376. homeassistant-stubs/components/iotty/const.pyi +1 -0
  377. homeassistant-stubs/components/iotty/coordinator.pyi +29 -0
  378. homeassistant-stubs/components/iotty/switch.pyi +34 -0
  379. homeassistant-stubs/components/ipp/sensor.pyi +1 -1
  380. homeassistant-stubs/components/isy994/fan.pyi +1 -0
  381. homeassistant-stubs/components/isy994/switch.pyi +1 -1
  382. homeassistant-stubs/components/jellyfin/__init__.pyi +5 -3
  383. homeassistant-stubs/components/jellyfin/config_flow.pyi +4 -5
  384. homeassistant-stubs/components/jellyfin/coordinator.pyi +0 -2
  385. homeassistant-stubs/components/jellyfin/diagnostics.pyi +2 -4
  386. homeassistant-stubs/components/jellyfin/media_player.pyi +2 -3
  387. homeassistant-stubs/components/jellyfin/media_source.pyi +2 -3
  388. homeassistant-stubs/components/jellyfin/sensor.pyi +3 -5
  389. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +2 -2
  390. homeassistant-stubs/components/jvc_projector/select.pyi +1 -1
  391. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -1
  392. homeassistant-stubs/components/knocki/coordinator.pyi +2 -2
  393. homeassistant-stubs/components/knx/__init__.pyi +7 -3
  394. homeassistant-stubs/components/knx/binary_sensor.pyi +4 -4
  395. homeassistant-stubs/components/knx/button.pyi +4 -4
  396. homeassistant-stubs/components/knx/climate.pyi +5 -3
  397. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  398. homeassistant-stubs/components/knx/const.pyi +5 -4
  399. homeassistant-stubs/components/knx/cover.pyi +4 -4
  400. homeassistant-stubs/components/knx/date.pyi +7 -9
  401. homeassistant-stubs/components/knx/datetime.pyi +7 -6
  402. homeassistant-stubs/components/knx/device.pyi +2 -1
  403. homeassistant-stubs/components/knx/expose.pyi +4 -5
  404. homeassistant-stubs/components/knx/fan.pyi +5 -4
  405. homeassistant-stubs/components/knx/knx_entity.pyi +29 -5
  406. homeassistant-stubs/components/knx/light.pyi +32 -11
  407. homeassistant-stubs/components/knx/notify.pyi +4 -3
  408. homeassistant-stubs/components/knx/number.pyi +4 -3
  409. homeassistant-stubs/components/knx/project.pyi +5 -3
  410. homeassistant-stubs/components/knx/scene.pyi +4 -4
  411. homeassistant-stubs/components/knx/schema.pyi +5 -2
  412. homeassistant-stubs/components/knx/select.pyi +5 -4
  413. homeassistant-stubs/components/knx/sensor.pyi +5 -5
  414. homeassistant-stubs/components/knx/services.pyi +1 -1
  415. homeassistant-stubs/components/knx/storage/config_store.pyi +44 -0
  416. homeassistant-stubs/components/knx/storage/const.pyi +25 -0
  417. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +36 -0
  418. homeassistant-stubs/components/knx/storage/entity_store_validation.pyi +25 -0
  419. homeassistant-stubs/components/knx/storage/knx_selector.pyi +21 -0
  420. homeassistant-stubs/components/knx/switch.pyi +23 -9
  421. homeassistant-stubs/components/knx/telegrams.pyi +5 -6
  422. homeassistant-stubs/components/knx/text.pyi +4 -3
  423. homeassistant-stubs/components/knx/time.pyi +7 -9
  424. homeassistant-stubs/components/knx/trigger.pyi +1 -1
  425. homeassistant-stubs/components/knx/validation.pyi +8 -1
  426. homeassistant-stubs/components/knx/weather.pyi +4 -3
  427. homeassistant-stubs/components/knx/websocket.pyi +17 -1
  428. homeassistant-stubs/components/kraken/sensor.pyi +1 -1
  429. homeassistant-stubs/components/lacrosse_view/sensor.pyi +1 -1
  430. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  431. homeassistant-stubs/components/lamarzocco/button.pyi +1 -1
  432. homeassistant-stubs/components/lamarzocco/entity.pyi +1 -1
  433. homeassistant-stubs/components/lamarzocco/number.pyi +2 -2
  434. homeassistant-stubs/components/lamarzocco/select.pyi +1 -1
  435. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  436. homeassistant-stubs/components/lamarzocco/switch.pyi +1 -1
  437. homeassistant-stubs/components/lamarzocco/update.pyi +3 -1
  438. homeassistant-stubs/components/lametric/button.pyi +1 -1
  439. homeassistant-stubs/components/lametric/number.pyi +1 -1
  440. homeassistant-stubs/components/lametric/select.pyi +1 -1
  441. homeassistant-stubs/components/lametric/sensor.pyi +1 -1
  442. homeassistant-stubs/components/lametric/switch.pyi +1 -1
  443. homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -2
  444. homeassistant-stubs/components/laundrify/const.pyi +3 -1
  445. homeassistant-stubs/components/laundrify/coordinator.pyi +1 -2
  446. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
  447. homeassistant-stubs/components/lawn_mower/const.pyi +7 -7
  448. homeassistant-stubs/components/lcn/schemas.pyi +9 -8
  449. homeassistant-stubs/components/lidarr/sensor.pyi +1 -1
  450. homeassistant-stubs/components/lifx/const.pyi +1 -0
  451. homeassistant-stubs/components/lifx/coordinator.pyi +20 -7
  452. homeassistant-stubs/components/lifx/light.pyi +5 -2
  453. homeassistant-stubs/components/lifx/manager.pyi +12 -1
  454. homeassistant-stubs/components/light/__init__.pyi +16 -17
  455. homeassistant-stubs/components/linkplay/__init__.pyi +14 -0
  456. homeassistant-stubs/components/linkplay/config_flow.pyi +14 -0
  457. homeassistant-stubs/components/linkplay/const.pyi +5 -0
  458. homeassistant-stubs/components/linkplay/media_player.pyi +66 -0
  459. homeassistant-stubs/components/linkplay/utils.pyi +19 -0
  460. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +1 -1
  461. homeassistant-stubs/components/litterrobot/button.pyi +1 -1
  462. homeassistant-stubs/components/litterrobot/hub.pyi +2 -2
  463. homeassistant-stubs/components/litterrobot/select.pyi +1 -1
  464. homeassistant-stubs/components/litterrobot/sensor.pyi +1 -1
  465. homeassistant-stubs/components/litterrobot/switch.pyi +1 -1
  466. homeassistant-stubs/components/litterrobot/time.pyi +1 -1
  467. homeassistant-stubs/components/lock/__init__.pyi +2 -2
  468. homeassistant-stubs/components/logbook/models.pyi +2 -2
  469. homeassistant-stubs/components/logbook/processor.pyi +2 -3
  470. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -1
  471. homeassistant-stubs/components/logger/helpers.pyi +5 -5
  472. homeassistant-stubs/components/madvr/__init__.pyi +13 -0
  473. homeassistant-stubs/components/madvr/binary_sensor.pyi +30 -0
  474. homeassistant-stubs/components/madvr/config_flow.pyi +17 -0
  475. homeassistant-stubs/components/madvr/const.pyi +29 -0
  476. homeassistant-stubs/components/madvr/coordinator.pyi +18 -0
  477. homeassistant-stubs/components/madvr/entity.pyi +10 -0
  478. homeassistant-stubs/components/madvr/errors.pyi +1 -0
  479. homeassistant-stubs/components/madvr/remote.pyi +24 -0
  480. homeassistant-stubs/components/madvr/sensor.pyi +31 -0
  481. homeassistant-stubs/components/mastodon/__init__.pyi +11 -0
  482. homeassistant-stubs/components/mastodon/config_flow.pyi +18 -0
  483. homeassistant-stubs/components/mastodon/const.pyi +7 -0
  484. homeassistant-stubs/components/mastodon/notify.pyi +8 -5
  485. homeassistant-stubs/components/mastodon/utils.pyi +5 -0
  486. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  487. homeassistant-stubs/components/matter/__init__.pyi +1 -0
  488. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  489. homeassistant-stubs/components/matter/climate.pyi +11 -13
  490. homeassistant-stubs/components/matter/cover.pyi +4 -4
  491. homeassistant-stubs/components/matter/discovery.pyi +1 -1
  492. homeassistant-stubs/components/matter/entity.pyi +2 -1
  493. homeassistant-stubs/components/matter/fan.pyi +4 -0
  494. homeassistant-stubs/components/matter/light.pyi +2 -0
  495. homeassistant-stubs/components/matter/lock.pyi +3 -6
  496. homeassistant-stubs/components/matter/models.pyi +1 -1
  497. homeassistant-stubs/components/matter/number.pyi +1 -1
  498. homeassistant-stubs/components/matter/select.pyi +34 -0
  499. homeassistant-stubs/components/matter/sensor.pyi +1 -1
  500. homeassistant-stubs/components/matter/update.pyi +53 -0
  501. homeassistant-stubs/components/media_player/__init__.pyi +8 -8
  502. homeassistant-stubs/components/media_player/const.pyi +72 -72
  503. homeassistant-stubs/components/media_player/intent.pyi +2 -4
  504. homeassistant-stubs/components/minecraft_server/api.pyi +3 -3
  505. homeassistant-stubs/components/minecraft_server/sensor.pyi +1 -1
  506. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  507. homeassistant-stubs/components/modbus/const.pyi +11 -11
  508. homeassistant-stubs/components/modbus/fan.pyi +3 -1
  509. homeassistant-stubs/components/modbus/validators.pyi +2 -3
  510. homeassistant-stubs/components/monzo/sensor.pyi +1 -1
  511. homeassistant-stubs/components/mopeka/__init__.pyi +5 -3
  512. homeassistant-stubs/components/mopeka/config_flow.pyi +18 -1
  513. homeassistant-stubs/components/mopeka/const.pyi +5 -0
  514. homeassistant-stubs/components/mopeka/sensor.pyi +3 -4
  515. homeassistant-stubs/components/mqtt/client.pyi +3 -4
  516. homeassistant-stubs/components/mqtt/device_trigger.pyi +2 -2
  517. homeassistant-stubs/components/mqtt/fan.pyi +1 -0
  518. homeassistant-stubs/components/mqtt/models.pyi +4 -4
  519. homeassistant-stubs/components/mqtt/subscription.pyi +1 -1
  520. homeassistant-stubs/components/mqtt/switch.pyi +3 -2
  521. homeassistant-stubs/components/mqtt/vacuum.pyi +2 -7
  522. homeassistant-stubs/components/mysensors/binary_sensor.pyi +1 -1
  523. homeassistant-stubs/components/mysensors/cover.pyi +4 -4
  524. homeassistant-stubs/components/myuplink/select.pyi +23 -0
  525. homeassistant-stubs/components/nam/sensor.pyi +1 -1
  526. homeassistant-stubs/components/nest/media_source.pyi +1 -1
  527. homeassistant-stubs/components/netatmo/fan.pyi +1 -0
  528. homeassistant-stubs/components/netatmo/helper.pyi +1 -1
  529. homeassistant-stubs/components/netatmo/sensor.pyi +2 -2
  530. homeassistant-stubs/components/nextdns/binary_sensor.pyi +1 -1
  531. homeassistant-stubs/components/nextdns/sensor.pyi +1 -1
  532. homeassistant-stubs/components/nextdns/switch.pyi +1 -1
  533. homeassistant-stubs/components/notify/__init__.pyi +2 -2
  534. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -1
  535. homeassistant-stubs/components/notion/config_flow.pyi +1 -1
  536. homeassistant-stubs/components/notion/coordinator.pyi +1 -1
  537. homeassistant-stubs/components/notion/sensor.pyi +1 -1
  538. homeassistant-stubs/components/number/__init__.pyi +1 -1
  539. homeassistant-stubs/components/number/const.pyi +52 -52
  540. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  541. homeassistant-stubs/components/oncue/__init__.pyi +3 -4
  542. homeassistant-stubs/components/oncue/binary_sensor.pyi +2 -5
  543. homeassistant-stubs/components/oncue/sensor.pyi +2 -3
  544. homeassistant-stubs/components/oncue/types.pyi +5 -0
  545. homeassistant-stubs/components/onewire/binary_sensor.pyi +1 -1
  546. homeassistant-stubs/components/onewire/onewire_entities.pyi +1 -1
  547. homeassistant-stubs/components/onewire/sensor.pyi +1 -1
  548. homeassistant-stubs/components/onewire/switch.pyi +1 -1
  549. homeassistant-stubs/components/openuv/sensor.pyi +1 -1
  550. homeassistant-stubs/components/oralb/__init__.pyi +3 -3
  551. homeassistant-stubs/components/oralb/sensor.pyi +3 -4
  552. homeassistant-stubs/components/otbr/websocket_api.pyi +6 -3
  553. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +1 -1
  554. homeassistant-stubs/components/overkiz/binary_sensor.pyi +1 -1
  555. homeassistant-stubs/components/overkiz/button.pyi +1 -1
  556. homeassistant-stubs/components/overkiz/climate.pyi +1 -1
  557. homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +3 -2
  558. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heat_pump_main_component.pyi +18 -0
  559. homeassistant-stubs/components/overkiz/number.pyi +1 -1
  560. homeassistant-stubs/components/overkiz/select.pyi +1 -1
  561. homeassistant-stubs/components/overkiz/sensor.pyi +1 -1
  562. homeassistant-stubs/components/overkiz/switch.pyi +1 -1
  563. homeassistant-stubs/components/p1_monitor/coordinator.pyi +1 -1
  564. homeassistant-stubs/components/peco/sensor.pyi +1 -1
  565. homeassistant-stubs/components/persistent_notification/__init__.pyi +4 -4
  566. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +1 -1
  567. homeassistant-stubs/components/pi_hole/update.pyi +1 -1
  568. homeassistant-stubs/components/ping/entity.pyi +0 -1
  569. homeassistant-stubs/components/ping/sensor.pyi +1 -1
  570. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -1
  571. homeassistant-stubs/components/plugwise/number.pyi +1 -1
  572. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  573. homeassistant-stubs/components/plugwise/sensor.pyi +1 -1
  574. homeassistant-stubs/components/plugwise/switch.pyi +1 -1
  575. homeassistant-stubs/components/powerwall/__init__.pyi +4 -4
  576. homeassistant-stubs/components/powerwall/binary_sensor.pyi +2 -4
  577. homeassistant-stubs/components/powerwall/models.pyi +4 -1
  578. homeassistant-stubs/components/powerwall/sensor.pyi +4 -6
  579. homeassistant-stubs/components/powerwall/switch.pyi +2 -4
  580. homeassistant-stubs/components/private_ble_device/sensor.pyi +1 -1
  581. homeassistant-stubs/components/prometheus/__init__.pyi +3 -1
  582. homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
  583. homeassistant-stubs/components/prusalink/binary_sensor.pyi +36 -0
  584. homeassistant-stubs/components/prusalink/button.pyi +1 -1
  585. homeassistant-stubs/components/prusalink/coordinator.pyi +4 -1
  586. homeassistant-stubs/components/prusalink/sensor.pyi +3 -3
  587. homeassistant-stubs/components/pure_energie/sensor.pyi +1 -1
  588. homeassistant-stubs/components/purpleair/config_flow.pyi +1 -1
  589. homeassistant-stubs/components/purpleair/sensor.pyi +1 -1
  590. homeassistant-stubs/components/pvoutput/sensor.pyi +1 -1
  591. homeassistant-stubs/components/qnap_qsw/binary_sensor.pyi +1 -1
  592. homeassistant-stubs/components/qnap_qsw/button.pyi +1 -1
  593. homeassistant-stubs/components/qnap_qsw/entity.pyi +1 -1
  594. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -1
  595. homeassistant-stubs/components/rabbitair/fan.pyi +1 -0
  596. homeassistant-stubs/components/radarr/coordinator.pyi +1 -1
  597. homeassistant-stubs/components/radarr/sensor.pyi +1 -1
  598. homeassistant-stubs/components/rainforest_raven/sensor.pyi +1 -1
  599. homeassistant-stubs/components/rainmachine/__init__.pyi +8 -7
  600. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +4 -5
  601. homeassistant-stubs/components/rainmachine/button.pyi +4 -5
  602. homeassistant-stubs/components/rainmachine/coordinator.pyi +3 -3
  603. homeassistant-stubs/components/rainmachine/diagnostics.pyi +3 -4
  604. homeassistant-stubs/components/rainmachine/model.pyi +1 -1
  605. homeassistant-stubs/components/rainmachine/select.pyi +5 -5
  606. homeassistant-stubs/components/rainmachine/sensor.pyi +5 -5
  607. homeassistant-stubs/components/rainmachine/switch.pyi +6 -6
  608. homeassistant-stubs/components/rainmachine/update.pyi +9 -10
  609. homeassistant-stubs/components/rainmachine/util.pyi +4 -4
  610. homeassistant-stubs/components/rdw/binary_sensor.pyi +1 -1
  611. homeassistant-stubs/components/rdw/sensor.pyi +1 -1
  612. homeassistant-stubs/components/recorder/__init__.pyi +2 -1
  613. homeassistant-stubs/components/recorder/basic_websocket_api.pyi +7 -0
  614. homeassistant-stubs/components/recorder/const.pyi +5 -8
  615. homeassistant-stubs/components/recorder/core.pyi +16 -16
  616. homeassistant-stubs/components/recorder/db_schema.pyi +19 -6
  617. homeassistant-stubs/components/recorder/migration.pyi +221 -24
  618. homeassistant-stubs/components/recorder/models/context.pyi +1 -3
  619. homeassistant-stubs/components/recorder/statistics.pyi +2 -2
  620. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +0 -1
  621. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +0 -1
  622. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +1 -0
  623. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +0 -1
  624. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +1 -0
  625. homeassistant-stubs/components/recorder/tasks.pyi +0 -24
  626. homeassistant-stubs/components/recorder/util.pyi +8 -6
  627. homeassistant-stubs/components/recorder/websocket_api.pyi +0 -1
  628. homeassistant-stubs/components/remote/__init__.pyi +4 -4
  629. homeassistant-stubs/components/renault/binary_sensor.pyi +1 -1
  630. homeassistant-stubs/components/renault/button.pyi +1 -1
  631. homeassistant-stubs/components/renault/entity.pyi +1 -1
  632. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -1
  633. homeassistant-stubs/components/renault/select.pyi +1 -1
  634. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  635. homeassistant-stubs/components/repairs/websocket_api.pyi +1 -1
  636. homeassistant-stubs/components/rfxtrx/sensor.pyi +1 -1
  637. homeassistant-stubs/components/ring/binary_sensor.pyi +1 -1
  638. homeassistant-stubs/components/ring/light.pyi +2 -2
  639. homeassistant-stubs/components/ring/sensor.pyi +1 -1
  640. homeassistant-stubs/components/rituals_perfume_genie/binary_sensor.pyi +1 -1
  641. homeassistant-stubs/components/rituals_perfume_genie/number.pyi +1 -1
  642. homeassistant-stubs/components/rituals_perfume_genie/select.pyi +1 -1
  643. homeassistant-stubs/components/rituals_perfume_genie/sensor.pyi +1 -1
  644. homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +1 -1
  645. homeassistant-stubs/components/roborock/__init__.pyi +4 -3
  646. homeassistant-stubs/components/roborock/binary_sensor.pyi +3 -6
  647. homeassistant-stubs/components/roborock/button.pyi +3 -6
  648. homeassistant-stubs/components/roborock/coordinator.pyi +8 -2
  649. homeassistant-stubs/components/roborock/diagnostics.pyi +2 -4
  650. homeassistant-stubs/components/roborock/image.pyi +2 -3
  651. homeassistant-stubs/components/roborock/number.pyi +3 -6
  652. homeassistant-stubs/components/roborock/select.pyi +12 -6
  653. homeassistant-stubs/components/roborock/sensor.pyi +6 -9
  654. homeassistant-stubs/components/roborock/switch.pyi +3 -6
  655. homeassistant-stubs/components/roborock/time.pyi +3 -6
  656. homeassistant-stubs/components/roborock/vacuum.pyi +2 -4
  657. homeassistant-stubs/components/roku/binary_sensor.pyi +1 -1
  658. homeassistant-stubs/components/roku/browse_media.pyi +2 -1
  659. homeassistant-stubs/components/roku/select.pyi +1 -1
  660. homeassistant-stubs/components/roku/sensor.pyi +1 -1
  661. homeassistant-stubs/components/samsungtv/bridge.pyi +1 -1
  662. homeassistant-stubs/components/script/__init__.pyi +148 -0
  663. homeassistant-stubs/components/script/config.pyi +39 -0
  664. homeassistant-stubs/components/script/const.pyi +14 -0
  665. homeassistant-stubs/components/script/helpers.pyi +11 -0
  666. homeassistant-stubs/components/script/logbook.pyi +8 -0
  667. homeassistant-stubs/components/script/trace.pyi +10 -0
  668. homeassistant-stubs/components/search/__init__.pyi +14 -13
  669. homeassistant-stubs/components/select/__init__.pyi +1 -1
  670. homeassistant-stubs/components/sensibo/binary_sensor.pyi +2 -2
  671. homeassistant-stubs/components/sensibo/button.pyi +1 -1
  672. homeassistant-stubs/components/sensibo/number.pyi +1 -1
  673. homeassistant-stubs/components/sensibo/select.pyi +1 -1
  674. homeassistant-stubs/components/sensibo/sensor.pyi +2 -2
  675. homeassistant-stubs/components/sensibo/switch.pyi +1 -1
  676. homeassistant-stubs/components/sensibo/update.pyi +1 -1
  677. homeassistant-stubs/components/sensor/__init__.pyi +1 -1
  678. homeassistant-stubs/components/sensor/const.pyi +55 -55
  679. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -1
  680. homeassistant-stubs/components/sfr_box/button.pyi +1 -1
  681. homeassistant-stubs/components/sfr_box/sensor.pyi +1 -1
  682. homeassistant-stubs/components/shelly/binary_sensor.pyi +4 -4
  683. homeassistant-stubs/components/shelly/button.pyi +1 -1
  684. homeassistant-stubs/components/shelly/climate.pyi +1 -1
  685. homeassistant-stubs/components/shelly/const.pyi +6 -3
  686. homeassistant-stubs/components/shelly/coordinator.pyi +1 -1
  687. homeassistant-stubs/components/shelly/entity.pyi +9 -3
  688. homeassistant-stubs/components/shelly/event.pyi +2 -2
  689. homeassistant-stubs/components/shelly/number.pyi +28 -6
  690. homeassistant-stubs/components/shelly/select.pyi +25 -0
  691. homeassistant-stubs/components/shelly/sensor.pyi +6 -4
  692. homeassistant-stubs/components/shelly/switch.pyi +17 -3
  693. homeassistant-stubs/components/shelly/text.pyi +23 -0
  694. homeassistant-stubs/components/shelly/update.pyi +2 -2
  695. homeassistant-stubs/components/shelly/utils.pyi +3 -1
  696. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  697. homeassistant-stubs/components/simplisafe/button.pyi +1 -1
  698. homeassistant-stubs/components/simplisafe/typing.pyi +3 -2
  699. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  700. homeassistant-stubs/components/siren/const.pyi +5 -5
  701. homeassistant-stubs/components/skybell/sensor.pyi +1 -1
  702. homeassistant-stubs/components/sleepiq/button.pyi +1 -1
  703. homeassistant-stubs/components/sleepiq/entity.pyi +1 -1
  704. homeassistant-stubs/components/sleepiq/number.pyi +1 -1
  705. homeassistant-stubs/components/snooz/fan.pyi +1 -0
  706. homeassistant-stubs/components/sonarr/sensor.pyi +1 -1
  707. homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -1
  708. homeassistant-stubs/components/ssdp/__init__.pyi +1 -1
  709. homeassistant-stubs/components/starlink/binary_sensor.pyi +1 -1
  710. homeassistant-stubs/components/starlink/button.pyi +1 -1
  711. homeassistant-stubs/components/starlink/device_tracker.pyi +1 -1
  712. homeassistant-stubs/components/starlink/sensor.pyi +1 -1
  713. homeassistant-stubs/components/starlink/switch.pyi +1 -1
  714. homeassistant-stubs/components/starlink/time.pyi +1 -1
  715. homeassistant-stubs/components/steamist/sensor.pyi +1 -1
  716. homeassistant-stubs/components/stream/core.pyi +9 -9
  717. homeassistant-stubs/components/stream/fmp4utils.pyi +1 -1
  718. homeassistant-stubs/components/stream/worker.pyi +1 -2
  719. homeassistant-stubs/components/streamlabswater/entity.pyi +0 -1
  720. homeassistant-stubs/components/streamlabswater/sensor.pyi +1 -1
  721. homeassistant-stubs/components/stt/const.pyi +21 -21
  722. homeassistant-stubs/components/sun/sensor.pyi +1 -1
  723. homeassistant-stubs/components/switch/__init__.pyi +3 -3
  724. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -1
  725. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -1
  726. homeassistant-stubs/components/switcher_kis/button.pyi +1 -1
  727. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +1 -1
  728. homeassistant-stubs/components/synology_dsm/button.pyi +1 -1
  729. homeassistant-stubs/components/synology_dsm/camera.pyi +1 -1
  730. homeassistant-stubs/components/synology_dsm/entity.pyi +1 -1
  731. homeassistant-stubs/components/synology_dsm/sensor.pyi +1 -1
  732. homeassistant-stubs/components/synology_dsm/switch.pyi +1 -1
  733. homeassistant-stubs/components/synology_dsm/update.pyi +1 -1
  734. homeassistant-stubs/components/system_health/__init__.pyi +1 -1
  735. homeassistant-stubs/components/system_log/__init__.pyi +1 -1
  736. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +1 -1
  737. homeassistant-stubs/components/systemmonitor/sensor.pyi +1 -1
  738. homeassistant-stubs/components/tag/__init__.pyi +0 -1
  739. homeassistant-stubs/components/tailscale/binary_sensor.pyi +1 -1
  740. homeassistant-stubs/components/tailscale/sensor.pyi +1 -1
  741. homeassistant-stubs/components/tailwind/binary_sensor.pyi +1 -1
  742. homeassistant-stubs/components/tailwind/button.pyi +1 -1
  743. homeassistant-stubs/components/tailwind/number.pyi +1 -1
  744. homeassistant-stubs/components/tami4/button.pyi +1 -1
  745. homeassistant-stubs/components/tautulli/sensor.pyi +2 -2
  746. homeassistant-stubs/components/technove/__init__.pyi +2 -2
  747. homeassistant-stubs/components/technove/binary_sensor.pyi +3 -4
  748. homeassistant-stubs/components/technove/coordinator.pyi +2 -3
  749. homeassistant-stubs/components/technove/diagnostics.pyi +9 -0
  750. homeassistant-stubs/components/technove/number.pyi +37 -0
  751. homeassistant-stubs/components/technove/sensor.pyi +3 -4
  752. homeassistant-stubs/components/technove/switch.pyi +3 -4
  753. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  754. homeassistant-stubs/components/tedee/config_flow.pyi +3 -0
  755. homeassistant-stubs/components/tedee/lock.pyi +1 -1
  756. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  757. homeassistant-stubs/components/text/__init__.pyi +3 -3
  758. homeassistant-stubs/components/time/__init__.pyi +1 -1
  759. homeassistant-stubs/components/todo/__init__.pyi +2 -2
  760. homeassistant-stubs/components/todo/const.pyi +19 -9
  761. homeassistant-stubs/components/tolo/const.pyi +4 -5
  762. homeassistant-stubs/components/tolo/fan.pyi +3 -1
  763. homeassistant-stubs/components/tolo/number.pyi +1 -1
  764. homeassistant-stubs/components/tolo/select.pyi +1 -1
  765. homeassistant-stubs/components/tolo/sensor.pyi +1 -1
  766. homeassistant-stubs/components/tolo/switch.pyi +1 -1
  767. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -1
  768. homeassistant-stubs/components/tplink/button.pyi +1 -1
  769. homeassistant-stubs/components/tplink/entity.pyi +1 -1
  770. homeassistant-stubs/components/tplink/fan.pyi +1 -0
  771. homeassistant-stubs/components/tplink/number.pyi +1 -1
  772. homeassistant-stubs/components/tplink/select.pyi +1 -1
  773. homeassistant-stubs/components/tplink/sensor.pyi +1 -1
  774. homeassistant-stubs/components/tplink/switch.pyi +1 -1
  775. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +1 -1
  776. homeassistant-stubs/components/tplink_omada/switch.pyi +4 -4
  777. homeassistant-stubs/components/tractive/sensor.pyi +1 -1
  778. homeassistant-stubs/components/tractive/switch.pyi +1 -1
  779. homeassistant-stubs/components/tradfri/fan.pyi +1 -0
  780. homeassistant-stubs/components/tradfri/sensor.pyi +1 -1
  781. homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +1 -1
  782. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +3 -3
  783. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +2 -2
  784. homeassistant-stubs/components/trafikverket_camera/sensor.pyi +1 -1
  785. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  786. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -1
  787. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +3 -3
  788. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -1
  789. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +3 -3
  790. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +3 -3
  791. homeassistant-stubs/components/transmission/sensor.pyi +1 -1
  792. homeassistant-stubs/components/transmission/switch.pyi +1 -1
  793. homeassistant-stubs/components/tts/__init__.pyi +10 -9
  794. homeassistant-stubs/components/tts/const.pyi +1 -3
  795. homeassistant-stubs/components/twentemilieu/sensor.pyi +1 -1
  796. homeassistant-stubs/components/unifi/button.pyi +1 -1
  797. homeassistant-stubs/components/unifi/device_tracker.pyi +6 -5
  798. homeassistant-stubs/components/unifi/entity.pyi +3 -2
  799. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +9 -0
  800. homeassistant-stubs/components/unifi/image.pyi +1 -1
  801. homeassistant-stubs/components/unifi/sensor.pyi +9 -3
  802. homeassistant-stubs/components/unifi/switch.pyi +3 -2
  803. homeassistant-stubs/components/unifi/update.pyi +1 -1
  804. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +10 -14
  805. homeassistant-stubs/components/unifiprotect/button.pyi +7 -6
  806. homeassistant-stubs/components/unifiprotect/camera.pyi +4 -4
  807. homeassistant-stubs/components/unifiprotect/data.pyi +2 -3
  808. homeassistant-stubs/components/unifiprotect/entity.pyi +14 -10
  809. homeassistant-stubs/components/unifiprotect/event.pyi +25 -0
  810. homeassistant-stubs/components/unifiprotect/light.pyi +3 -3
  811. homeassistant-stubs/components/unifiprotect/lock.pyi +3 -3
  812. homeassistant-stubs/components/unifiprotect/media_player.pyi +3 -3
  813. homeassistant-stubs/components/unifiprotect/media_source.pyi +10 -10
  814. homeassistant-stubs/components/unifiprotect/models.pyi +6 -6
  815. homeassistant-stubs/components/unifiprotect/number.pyi +4 -4
  816. homeassistant-stubs/components/unifiprotect/select.pyi +4 -4
  817. homeassistant-stubs/components/unifiprotect/sensor.pyi +6 -6
  818. homeassistant-stubs/components/unifiprotect/switch.pyi +12 -12
  819. homeassistant-stubs/components/unifiprotect/text.pyi +4 -4
  820. homeassistant-stubs/components/unifiprotect/utils.pyi +1 -2
  821. homeassistant-stubs/components/upcloud/__init__.pyi +1 -1
  822. homeassistant-stubs/components/update/__init__.pyi +2 -2
  823. homeassistant-stubs/components/update/const.pyi +5 -5
  824. homeassistant-stubs/components/vacuum/__init__.pyi +15 -15
  825. homeassistant-stubs/components/vallox/binary_sensor.pyi +1 -1
  826. homeassistant-stubs/components/vallox/fan.pyi +1 -0
  827. homeassistant-stubs/components/vallox/number.pyi +1 -1
  828. homeassistant-stubs/components/vallox/sensor.pyi +1 -1
  829. homeassistant-stubs/components/vallox/switch.pyi +1 -1
  830. homeassistant-stubs/components/valve/__init__.pyi +7 -7
  831. homeassistant-stubs/components/wake_on_lan/__init__.pyi +5 -1
  832. homeassistant-stubs/components/wake_on_lan/button.pyi +21 -0
  833. homeassistant-stubs/components/wake_on_lan/config_flow.pyi +20 -0
  834. homeassistant-stubs/components/wake_on_lan/const.pyi +7 -0
  835. homeassistant-stubs/components/wake_on_lan/switch.pyi +2 -5
  836. homeassistant-stubs/components/wake_word/models.pyi +2 -2
  837. homeassistant-stubs/components/wallbox/const.pyi +18 -18
  838. homeassistant-stubs/components/wallbox/number.pyi +1 -1
  839. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  840. homeassistant-stubs/components/waqi/sensor.pyi +1 -1
  841. homeassistant-stubs/components/water_heater/__init__.pyi +5 -5
  842. homeassistant-stubs/components/weather/__init__.pyi +1 -1
  843. homeassistant-stubs/components/weather/const.pyi +3 -3
  844. homeassistant-stubs/components/wemo/__init__.pyi +1 -1
  845. homeassistant-stubs/components/wemo/coordinator.pyi +1 -1
  846. homeassistant-stubs/components/wemo/entity.pyi +1 -1
  847. homeassistant-stubs/components/wemo/fan.pyi +1 -0
  848. homeassistant-stubs/components/wemo/models.pyi +1 -1
  849. homeassistant-stubs/components/wemo/sensor.pyi +1 -1
  850. homeassistant-stubs/components/whois/sensor.pyi +1 -1
  851. homeassistant-stubs/components/withings/__init__.pyi +1 -1
  852. homeassistant-stubs/components/withings/sensor.pyi +5 -5
  853. homeassistant-stubs/components/wiz/__init__.pyi +1 -0
  854. homeassistant-stubs/components/wiz/binary_sensor.pyi +2 -2
  855. homeassistant-stubs/components/wiz/diagnostics.pyi +2 -4
  856. homeassistant-stubs/components/wiz/light.pyi +2 -3
  857. homeassistant-stubs/components/wiz/number.pyi +3 -4
  858. homeassistant-stubs/components/wiz/sensor.pyi +2 -3
  859. homeassistant-stubs/components/wiz/switch.pyi +2 -3
  860. homeassistant-stubs/components/wled/__init__.pyi +7 -2
  861. homeassistant-stubs/components/wled/const.pyi +7 -0
  862. homeassistant-stubs/components/wled/coordinator.pyi +7 -2
  863. homeassistant-stubs/components/wled/helpers.pyi +2 -0
  864. homeassistant-stubs/components/wled/light.pyi +7 -5
  865. homeassistant-stubs/components/wled/number.pyi +2 -2
  866. homeassistant-stubs/components/wled/sensor.pyi +1 -1
  867. homeassistant-stubs/components/wled/switch.pyi +1 -1
  868. homeassistant-stubs/components/wled/update.pyi +7 -3
  869. homeassistant-stubs/components/worldclock/__init__.pyi +7 -0
  870. homeassistant-stubs/components/worldclock/config_flow.pyi +22 -0
  871. homeassistant-stubs/components/worldclock/const.pyi +8 -0
  872. homeassistant-stubs/components/worldclock/sensor.pyi +9 -4
  873. homeassistant-stubs/components/xiaomi_ble/__init__.pyi +4 -4
  874. homeassistant-stubs/components/xiaomi_ble/binary_sensor.pyi +3 -4
  875. homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +2 -2
  876. homeassistant-stubs/components/xiaomi_ble/event.pyi +2 -3
  877. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +3 -4
  878. homeassistant-stubs/components/xiaomi_ble/types.pyi +4 -0
  879. homeassistant-stubs/components/yalexs_ble/sensor.pyi +1 -1
  880. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  881. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +2 -2
  882. homeassistant-stubs/components/zwave_js/discovery.pyi +9 -9
  883. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +7 -7
  884. homeassistant-stubs/components/zwave_js/fan.pyi +1 -0
  885. homeassistant-stubs/components/zwave_js/helpers.pyi +2 -2
  886. homeassistant-stubs/components/zwave_js/humidifier.pyi +1 -1
  887. homeassistant-stubs/components/zwave_js/migrate.pyi +1 -1
  888. homeassistant-stubs/components/zwave_js/sensor.pyi +1 -1
  889. homeassistant-stubs/components/zwave_js/services.pyi +4 -3
  890. homeassistant-stubs/config.pyi +10 -10
  891. homeassistant-stubs/config_entries.pyi +18 -14
  892. homeassistant-stubs/const.pyi +161 -160
  893. homeassistant-stubs/core.pyi +29 -26
  894. homeassistant-stubs/data_entry_flow.pyi +8 -8
  895. homeassistant-stubs/exceptions.pyi +1 -2
  896. homeassistant-stubs/helpers/aiohttp_client.pyi +6 -6
  897. homeassistant-stubs/helpers/area_registry.pyi +4 -1
  898. homeassistant-stubs/helpers/category_registry.pyi +12 -2
  899. homeassistant-stubs/helpers/condition.pyi +2 -4
  900. homeassistant-stubs/helpers/config_validation.pyi +9 -6
  901. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  902. homeassistant-stubs/helpers/device_registry.pyi +19 -10
  903. homeassistant-stubs/helpers/entity.pyi +7 -8
  904. homeassistant-stubs/helpers/entity_platform.pyi +1 -1
  905. homeassistant-stubs/helpers/entity_registry.pyi +16 -11
  906. homeassistant-stubs/helpers/event.pyi +7 -7
  907. homeassistant-stubs/helpers/floor_registry.pyi +9 -2
  908. homeassistant-stubs/helpers/http.pyi +2 -1
  909. homeassistant-stubs/helpers/intent.pyi +41 -38
  910. homeassistant-stubs/helpers/issue_registry.pyi +3 -3
  911. homeassistant-stubs/helpers/json.pyi +8 -2
  912. homeassistant-stubs/helpers/label_registry.pyi +9 -2
  913. homeassistant-stubs/helpers/llm.pyi +1 -1
  914. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +4 -1
  915. homeassistant-stubs/helpers/recorder.pyi +10 -1
  916. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -1
  917. homeassistant-stubs/helpers/script.pyi +18 -16
  918. homeassistant-stubs/helpers/selector.pyi +24 -23
  919. homeassistant-stubs/helpers/service.pyi +2 -2
  920. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -2
  921. homeassistant-stubs/helpers/significant_change.pyi +3 -2
  922. homeassistant-stubs/helpers/template.pyi +3 -3
  923. homeassistant-stubs/helpers/trace.pyi +2 -3
  924. homeassistant-stubs/helpers/trigger.pyi +1 -1
  925. homeassistant-stubs/helpers/typing.pyi +3 -3
  926. homeassistant-stubs/helpers/update_coordinator.pyi +8 -4
  927. homeassistant-stubs/runner.pyi +1 -1
  928. homeassistant-stubs/setup.pyi +8 -9
  929. homeassistant-stubs/util/event_type.pyi +1 -1
  930. homeassistant-stubs/util/hass_dict.pyi +19 -19
  931. homeassistant-stubs/util/json.pyi +4 -9
  932. homeassistant-stubs/util/language.pyi +1 -1
  933. homeassistant-stubs/util/signal_type.pyi +1 -1
  934. homeassistant-stubs/util/ssl.pyi +3 -3
  935. homeassistant-stubs/util/timeout.pyi +4 -4
  936. homeassistant-stubs/util/ulid.pyi +2 -2
  937. homeassistant-stubs/util/yaml/loader.pyi +2 -3
  938. {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0.dist-info}/METADATA +2 -2
  939. {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0.dist-info}/RECORD +943 -861
  940. homeassistant-stubs/components/laundrify/model.pyi +0 -7
  941. homeassistant-stubs/helpers/backports/__init__.pyi +0 -0
  942. homeassistant-stubs/helpers/backports/aiohttp_resolver.pyi +0 -21
  943. /homeassistant-stubs/components/knx/{helpers → storage}/__init__.pyi +0 -0
  944. /homeassistant-stubs/components/knx/{helpers → storage}/keyring.pyi +0 -0
  945. {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0.dist-info}/LICENSE +0 -0
  946. {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0.dist-info}/WHEEL +0 -0
@@ -16,7 +16,7 @@ from pydroid_ipcam import PyDroidIPCam as PyDroidIPCam
16
16
  class AndroidIPWebcamSensorEntityDescription(SensorEntityDescription):
17
17
  value_fn: Callable[[PyDroidIPCam], StateType]
18
18
  unit_fn: Callable[[PyDroidIPCam], str | None] = ...
19
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn, unit_fn) -> None: ...
19
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn, unit_fn=...) -> None: ...
20
20
 
21
21
  SENSOR_TYPES: tuple[AndroidIPWebcamSensorEntityDescription, ...]
22
22
 
@@ -16,7 +16,7 @@ from typing import Any
16
16
  class AndroidIPWebcamSwitchEntityDescription(SwitchEntityDescription):
17
17
  on_func: Callable[[PyDroidIPCam], Coroutine[Any, Any, bool]]
18
18
  off_func: Callable[[PyDroidIPCam], Coroutine[Any, Any, bool]]
19
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, on_func, off_func) -> None: ...
19
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., on_func, off_func) -> None: ...
20
20
 
21
21
  SWITCH_TYPES: tuple[AndroidIPWebcamSwitchEntityDescription, ...]
22
22
 
@@ -15,7 +15,7 @@ from homeassistant.helpers.typing import StateType as StateType
15
15
  @dataclass(frozen=True, kw_only=True)
16
16
  class AnovaSensorEntityDescription(SensorEntityDescription):
17
17
  value_fn: Callable[[APCUpdateSensor], StateType]
18
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
18
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
19
19
 
20
20
  SENSOR_DESCRIPTIONS: list[AnovaSensorEntityDescription]
21
21
 
@@ -1,6 +1,6 @@
1
1
  import json
2
2
  from _typeshed import Incomplete
3
- from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
3
+ from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
4
4
  from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant
5
5
  from homeassistant.helpers.entityfilter import EntityFilter as EntityFilter, FILTER_SCHEMA as FILTER_SCHEMA
6
6
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -2,3 +2,4 @@ from typing import Final
2
2
 
3
3
  DOMAIN: Final[str]
4
4
  CONNECTION_TIMEOUT: int
5
+ LASTSTEST: Final[str]
@@ -1,9 +1,9 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN, LASTSTEST as LASTSTEST
2
2
  from .coordinator import APCUPSdCoordinator as APCUPSdCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
6
+ from homeassistant.const import PERCENTAGE as PERCENTAGE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
9
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
@@ -23,5 +23,6 @@ class APCUPSdSensor(CoordinatorEntity[APCUPSdCoordinator], SensorEntity):
23
23
  _attr_device_info: Incomplete
24
24
  def __init__(self, coordinator: APCUPSdCoordinator, description: SensorEntityDescription) -> None: ...
25
25
  def _handle_coordinator_update(self) -> None: ...
26
+ _attr_native_value: Incomplete
26
27
  _attr_native_unit_of_measurement: Incomplete
27
28
  def _update_attrs(self) -> None: ...
@@ -6,7 +6,7 @@ from homeassistant.components.http import HomeAssistantView as HomeAssistantView
6
6
  from homeassistant.const import CONTENT_TYPE_JSON as CONTENT_TYPE_JSON, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED, MATCH_ALL as MATCH_ALL, URL_API as URL_API, URL_API_COMPONENTS as URL_API_COMPONENTS, URL_API_CONFIG as URL_API_CONFIG, URL_API_CORE_STATE as URL_API_CORE_STATE, URL_API_ERROR_LOG as URL_API_ERROR_LOG, URL_API_EVENTS as URL_API_EVENTS, URL_API_SERVICES as URL_API_SERVICES, URL_API_STATES as URL_API_STATES, URL_API_STREAM as URL_API_STREAM, URL_API_TEMPLATE as URL_API_TEMPLATE
7
7
  from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant
8
8
  from homeassistant.exceptions import InvalidEntityFormatError as InvalidEntityFormatError, InvalidStateError as InvalidStateError, ServiceNotFound as ServiceNotFound, TemplateError as TemplateError, Unauthorized as Unauthorized
9
- from homeassistant.helpers import template as template
9
+ from homeassistant.helpers import recorder as recorder, template as template
10
10
  from homeassistant.helpers.json import json_dumps as json_dumps, json_fragment as json_fragment
11
11
  from homeassistant.helpers.service import async_get_all_descriptions as async_get_all_descriptions
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -1,7 +1,8 @@
1
+ from .const import DEFAULT_PORT as DEFAULT_PORT
1
2
  from .coordinator import ApSystemsDataCoordinator as ApSystemsDataCoordinator
2
3
  from dataclasses import dataclass
3
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
- from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, Platform as Platform
5
+ from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT, Platform as Platform
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
7
 
7
8
  PLATFORMS: list[Platform]
@@ -1,7 +1,7 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
4
- from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS
4
+ from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT
5
5
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
6
  from typing import Any
7
7
 
@@ -2,3 +2,4 @@ from logging import Logger
2
2
 
3
3
  LOGGER: Logger
4
4
  DOMAIN: str
5
+ DEFAULT_PORT: int
@@ -15,7 +15,7 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
15
15
  @dataclass(frozen=True, kw_only=True)
16
16
  class ApsystemsLocalApiSensorDescription(SensorEntityDescription):
17
17
  value_fn: Callable[[ReturnOutputData], float | None]
18
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn) -> None: ...
18
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
19
19
 
20
20
  SENSORS: tuple[ApsystemsLocalApiSensorDescription, ...]
21
21
 
@@ -0,0 +1,21 @@
1
+ from . import ApSystemsConfigEntry as ApSystemsConfigEntry, ApSystemsData as ApSystemsData
2
+ from .entity import ApSystemsEntity as ApSystemsEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
7
+ from typing import Any
8
+
9
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ApSystemsConfigEntry, add_entities: AddEntitiesCallback) -> None: ...
10
+
11
+ class ApSystemsInverterSwitch(ApSystemsEntity, SwitchEntity):
12
+ _attr_device_class: Incomplete
13
+ _attr_translation_key: str
14
+ _api: Incomplete
15
+ _attr_unique_id: Incomplete
16
+ def __init__(self, data: ApSystemsData) -> None: ...
17
+ _attr_available: bool
18
+ _attr_is_on: Incomplete
19
+ async def async_update(self) -> None: ...
20
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
21
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -12,7 +12,7 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
12
12
  class AquaLogicSensorEntityDescription(SensorEntityDescription):
13
13
  unit_metric: str | None = ...
14
14
  unit_imperial: str | None = ...
15
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, unit_metric, unit_imperial) -> None: ...
15
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., unit_metric=..., unit_imperial=...) -> None: ...
16
16
 
17
17
  SENSOR_TYPES: tuple[AquaLogicSensorEntityDescription, ...]
18
18
  SENSOR_KEYS: list[str]
@@ -17,7 +17,7 @@ from typing import Any
17
17
  class AranetSensorEntityDescription(SensorEntityDescription):
18
18
  name: str | None = ...
19
19
  scale: float | int = ...
20
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, scale) -> None: ...
20
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., scale=...) -> None: ...
21
21
 
22
22
  SENSOR_DESCRIPTIONS: Incomplete
23
23
 
@@ -1,17 +1,16 @@
1
- from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN, DOMAIN_DATA_ENTRIES as DOMAIN_DATA_ENTRIES, SIGNAL_CLIENT_DATA as SIGNAL_CLIENT_DATA, SIGNAL_CLIENT_STARTED as SIGNAL_CLIENT_STARTED, SIGNAL_CLIENT_STOPPED as SIGNAL_CLIENT_STOPPED
1
+ from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN, SIGNAL_CLIENT_DATA as SIGNAL_CLIENT_DATA, SIGNAL_CLIENT_STARTED as SIGNAL_CLIENT_STARTED, SIGNAL_CLIENT_STOPPED as SIGNAL_CLIENT_STOPPED
2
2
  from _typeshed import Incomplete
3
3
  from arcam.fmj.client import Client
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
8
- from homeassistant.helpers.typing import ConfigType as ConfigType
9
8
 
9
+ ArcamFmjConfigEntry = ConfigEntry[Client]
10
10
  _LOGGER: Incomplete
11
11
  CONFIG_SCHEMA: Incomplete
12
12
  PLATFORMS: Incomplete
13
13
 
14
- async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
15
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
14
+ async def async_setup_entry(hass: HomeAssistant, entry: ArcamFmjConfigEntry) -> bool: ...
16
15
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
17
16
  async def _run_client(hass: HomeAssistant, client: Client, interval: float) -> None: ...
@@ -1,14 +1,10 @@
1
- from .const import DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, DOMAIN_DATA_ENTRIES as DOMAIN_DATA_ENTRIES
2
- from arcam.fmj.client import Client
1
+ from .const import DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
3
2
  from homeassistant.components import ssdp as ssdp
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
6
- from homeassistant.core import HomeAssistant as HomeAssistant
7
5
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
6
  from typing import Any
9
7
 
10
- def get_entry_client(hass: HomeAssistant, entry: ConfigEntry) -> Client: ...
11
-
12
8
  class ArcamFmjFlowHandler(ConfigFlow, domain=DOMAIN):
13
9
  VERSION: int
14
10
  async def _async_set_unique_id_and_update(self, host: str, port: int, uuid: str) -> None: ...
@@ -1,5 +1,3 @@
1
- from _typeshed import Incomplete
2
-
3
1
  DOMAIN: str
4
2
  SIGNAL_CLIENT_STARTED: str
5
3
  SIGNAL_CLIENT_STOPPED: str
@@ -8,4 +6,3 @@ EVENT_TURN_ON: str
8
6
  DEFAULT_PORT: int
9
7
  DEFAULT_NAME: str
10
8
  DEFAULT_SCAN_INTERVAL: int
11
- DOMAIN_DATA_ENTRIES: Incomplete
@@ -1,11 +1,10 @@
1
- from .config_flow import get_entry_client as get_entry_client
1
+ from . import ArcamFmjConfigEntry as ArcamFmjConfigEntry
2
2
  from .const import DOMAIN as DOMAIN, EVENT_TURN_ON as EVENT_TURN_ON, SIGNAL_CLIENT_DATA as SIGNAL_CLIENT_DATA, SIGNAL_CLIENT_STARTED as SIGNAL_CLIENT_STARTED, SIGNAL_CLIENT_STOPPED as SIGNAL_CLIENT_STOPPED
3
3
  from _typeshed import Incomplete
4
4
  from arcam.fmj.state import State
5
5
  from collections.abc import Callable as Callable, Coroutine
6
6
  from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaClass as MediaClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
7
7
  from homeassistant.components.media_player.errors import BrowseError as BrowseError
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -16,7 +15,7 @@ from typing import Any
16
15
 
17
16
  _LOGGER: Incomplete
18
17
 
19
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
18
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ArcamFmjConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
19
  def convert_exception(func: Callable[_P, Coroutine[Any, Any, _R]]) -> Callable[_P, Coroutine[Any, Any, _R]]: ...
21
20
 
22
21
  class ArcamFmj(MediaPlayerEntity):
@@ -13,7 +13,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
13
13
  @dataclass(frozen=True, kw_only=True)
14
14
  class AsekoBinarySensorEntityDescription(BinarySensorEntityDescription):
15
15
  value_fn: Callable[[Unit], bool]
16
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, value_fn) -> None: ...
16
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., value_fn) -> None: ...
17
17
 
18
18
  UNIT_BINARY_SENSORS: tuple[AsekoBinarySensorEntityDescription, ...]
19
19
 
@@ -8,7 +8,7 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
8
8
  class AsekoEntity(CoordinatorEntity[AsekoDataUpdateCoordinator]):
9
9
  _attr_has_entity_name: bool
10
10
  _unit: Incomplete
11
- _device_model: Incomplete
11
+ _device_model: str
12
12
  _device_name: Incomplete
13
13
  _attr_device_info: Incomplete
14
14
  def __init__(self, unit: Unit, coordinator: AsekoDataUpdateCoordinator) -> None: ...
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING
1
+ from .const import DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH
2
2
  from .error import PipelineNotFound as PipelineNotFound
3
3
  from .pipeline import AudioSettings as AudioSettings, Pipeline as Pipeline, PipelineEvent as PipelineEvent, PipelineEventCallback, PipelineEventType as PipelineEventType, PipelineStage, WakeWordSettings as WakeWordSettings, async_create_default_pipeline as async_create_default_pipeline, async_get_pipelines as async_get_pipelines, async_migrate_engine as async_migrate_engine, async_update_pipeline as async_update_pipeline
4
4
  from collections.abc import AsyncIterable
@@ -6,7 +6,7 @@ from homeassistant.components import stt
6
6
  from homeassistant.core import Context, HomeAssistant
7
7
  from homeassistant.helpers.typing import ConfigType
8
8
 
9
- __all__ = ['DOMAIN', 'async_create_default_pipeline', 'async_get_pipelines', 'async_migrate_engine', 'async_setup', 'async_pipeline_from_audio_stream', 'async_update_pipeline', 'AudioSettings', 'Pipeline', 'PipelineEvent', 'PipelineEventType', 'PipelineNotFound', 'WakeWordSettings', 'EVENT_RECORDING']
9
+ __all__ = ['DOMAIN', 'async_create_default_pipeline', 'async_get_pipelines', 'async_migrate_engine', 'async_setup', 'async_pipeline_from_audio_stream', 'async_update_pipeline', 'AudioSettings', 'Pipeline', 'PipelineEvent', 'PipelineEventType', 'PipelineNotFound', 'WakeWordSettings', 'EVENT_RECORDING', 'SAMPLES_PER_CHUNK', 'SAMPLE_RATE', 'SAMPLE_WIDTH', 'SAMPLE_CHANNELS']
10
10
 
11
11
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
12
12
  async def async_pipeline_from_audio_stream(hass: HomeAssistant, *, context: Context, event_callback: PipelineEventCallback, stt_metadata: stt.SpeechMetadata, stt_stream: AsyncIterable[bytes], wake_word_phrase: str | None = None, pipeline_id: str | None = None, conversation_id: str | None = None, tts_audio_output: str | None = None, wake_word_settings: WakeWordSettings | None = None, audio_settings: AudioSettings | None = None, device_id: str | None = None, start_stage: PipelineStage = ..., end_stage: PipelineStage = ...) -> None: ...
@@ -0,0 +1,28 @@
1
+ import abc
2
+ from .const import BYTES_PER_CHUNK as BYTES_PER_CHUNK
3
+ from _typeshed import Incomplete
4
+ from abc import ABC, abstractmethod
5
+ from dataclasses import dataclass
6
+
7
+ _LOGGER: Incomplete
8
+
9
+ @dataclass(frozen=True, slots=True)
10
+ class EnhancedAudioChunk:
11
+ audio: bytes
12
+ timestamp_ms: int
13
+ is_speech: bool | None
14
+ def __init__(self, audio, timestamp_ms, is_speech) -> None: ...
15
+
16
+ class AudioEnhancer(ABC, metaclass=abc.ABCMeta):
17
+ auto_gain: Incomplete
18
+ noise_suppression: Incomplete
19
+ is_vad_enabled: Incomplete
20
+ def __init__(self, auto_gain: int, noise_suppression: int, is_vad_enabled: bool) -> None: ...
21
+ @abstractmethod
22
+ def enhance_chunk(self, audio: bytes, timestamp_ms: int) -> EnhancedAudioChunk: ...
23
+
24
+ class MicroVadEnhancer(AudioEnhancer):
25
+ vad: Incomplete
26
+ threshold: float
27
+ def __init__(self, auto_gain: int, noise_suppression: int, is_vad_enabled: bool) -> None: ...
28
+ def enhance_chunk(self, audio: bytes, timestamp_ms: int) -> EnhancedAudioChunk: ...
@@ -9,3 +9,9 @@ CONF_DEBUG_RECORDING_DIR: str
9
9
  DATA_LAST_WAKE_UP: Incomplete
10
10
  WAKE_WORD_COOLDOWN: int
11
11
  EVENT_RECORDING: Incomplete
12
+ SAMPLE_RATE: int
13
+ SAMPLE_WIDTH: int
14
+ SAMPLE_CHANNELS: int
15
+ MS_PER_CHUNK: int
16
+ SAMPLES_PER_CHUNK: Incomplete
17
+ BYTES_PER_CHUNK: Incomplete
@@ -1,10 +1,11 @@
1
1
  import asyncio
2
- from .const import CONF_DEBUG_RECORDING_DIR as CONF_DEBUG_RECORDING_DIR, DATA_CONFIG as DATA_CONFIG, DATA_LAST_WAKE_UP as DATA_LAST_WAKE_UP, DATA_MIGRATIONS as DATA_MIGRATIONS, DOMAIN as DOMAIN, WAKE_WORD_COOLDOWN as WAKE_WORD_COOLDOWN
2
+ from .audio_enhancer import AudioEnhancer as AudioEnhancer, EnhancedAudioChunk as EnhancedAudioChunk, MicroVadEnhancer as MicroVadEnhancer
3
+ from .const import BYTES_PER_CHUNK as BYTES_PER_CHUNK, CONF_DEBUG_RECORDING_DIR as CONF_DEBUG_RECORDING_DIR, DATA_CONFIG as DATA_CONFIG, DATA_LAST_WAKE_UP as DATA_LAST_WAKE_UP, DATA_MIGRATIONS as DATA_MIGRATIONS, DOMAIN as DOMAIN, MS_PER_CHUNK as MS_PER_CHUNK, SAMPLES_PER_CHUNK as SAMPLES_PER_CHUNK, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH, WAKE_WORD_COOLDOWN as WAKE_WORD_COOLDOWN
3
4
  from .error import DuplicateWakeUpDetectedError as DuplicateWakeUpDetectedError, IntentRecognitionError as IntentRecognitionError, PipelineError as PipelineError, PipelineNotFound as PipelineNotFound, SpeechToTextError as SpeechToTextError, TextToSpeechError as TextToSpeechError, WakeWordDetectionAborted as WakeWordDetectionAborted, WakeWordDetectionError as WakeWordDetectionError, WakeWordTimeoutError as WakeWordTimeoutError
4
5
  from .vad import AudioBuffer as AudioBuffer, VoiceActivityTimeout as VoiceActivityTimeout, VoiceCommandSegmenter as VoiceCommandSegmenter, chunk_samples as chunk_samples
5
6
  from _typeshed import Incomplete
6
7
  from collections import deque
7
- from collections.abc import AsyncIterable, Callable, Iterable
8
+ from collections.abc import AsyncGenerator, AsyncIterable, Callable
8
9
  from dataclasses import dataclass
9
10
  from enum import StrEnum
10
11
  from homeassistant.components import conversation as conversation, media_source as media_source, stt as stt, tts as tts, wake_word as wake_word, websocket_api as websocket_api
@@ -18,9 +19,7 @@ from homeassistant.util.limited_size_dict import LimitedSizeDict as LimitedSizeD
18
19
  from pathlib import Path
19
20
  from queue import Queue
20
21
  from threading import Thread
21
- from typing import Any, Final, Literal
22
- from typing_extensions import AsyncGenerator
23
- from webrtc_noise_gain import AudioProcessor
22
+ from typing import Any, Literal
24
23
 
25
24
  _LOGGER: Incomplete
26
25
  STORAGE_KEY: Incomplete
@@ -33,37 +32,36 @@ def validate_language(data: dict[str, Any]) -> Any: ...
33
32
  PIPELINE_FIELDS: VolDictType
34
33
  STORED_PIPELINE_RUNS: int
35
34
  SAVE_DELAY: int
36
- AUDIO_PROCESSOR_SAMPLES: Final[int]
37
- AUDIO_PROCESSOR_BYTES: Final[Incomplete]
38
35
 
39
- async def _async_resolve_default_pipeline_settings(hass: HomeAssistant, stt_engine_id: str | None, tts_engine_id: str | None, pipeline_name: str) -> dict[str, str | None]: ...
36
+ def _async_resolve_default_pipeline_settings(hass: HomeAssistant, *, conversation_engine_id: str | None = None, stt_engine_id: str | None = None, tts_engine_id: str | None = None, pipeline_name: str) -> dict[str, str | None]: ...
40
37
  async def _async_create_default_pipeline(hass: HomeAssistant, pipeline_store: PipelineStorageCollection) -> Pipeline: ...
41
38
  async def async_create_default_pipeline(hass: HomeAssistant, stt_engine_id: str, tts_engine_id: str, pipeline_name: str) -> Pipeline | None: ...
39
+ def _async_get_pipeline_from_conversation_entity(hass: HomeAssistant, entity_id: str) -> Pipeline: ...
42
40
  def async_get_pipeline(hass: HomeAssistant, pipeline_id: str | None = None) -> Pipeline: ...
43
- def async_get_pipelines(hass: HomeAssistant) -> Iterable[Pipeline]: ...
41
+ def async_get_pipelines(hass: HomeAssistant) -> list[Pipeline]: ...
44
42
  async def async_update_pipeline(hass: HomeAssistant, pipeline: Pipeline, *, conversation_engine: str | UndefinedType = ..., conversation_language: str | UndefinedType = ..., language: str | UndefinedType = ..., name: str | UndefinedType = ..., stt_engine: str | None | UndefinedType = ..., stt_language: str | None | UndefinedType = ..., tts_engine: str | None | UndefinedType = ..., tts_language: str | None | UndefinedType = ..., tts_voice: str | None | UndefinedType = ..., wake_word_entity: str | None | UndefinedType = ..., wake_word_id: str | None | UndefinedType = ...) -> None: ...
45
43
 
46
44
  class PipelineEventType(StrEnum):
47
- RUN_START: str
48
- RUN_END: str
49
- WAKE_WORD_START: str
50
- WAKE_WORD_END: str
51
- STT_START: str
52
- STT_VAD_START: str
53
- STT_VAD_END: str
54
- STT_END: str
55
- INTENT_START: str
56
- INTENT_END: str
57
- TTS_START: str
58
- TTS_END: str
59
- ERROR: str
45
+ RUN_START = 'run-start'
46
+ RUN_END = 'run-end'
47
+ WAKE_WORD_START = 'wake_word-start'
48
+ WAKE_WORD_END = 'wake_word-end'
49
+ STT_START = 'stt-start'
50
+ STT_VAD_START = 'stt-vad-start'
51
+ STT_VAD_END = 'stt-vad-end'
52
+ STT_END = 'stt-end'
53
+ INTENT_START = 'intent-start'
54
+ INTENT_END = 'intent-end'
55
+ TTS_START = 'tts-start'
56
+ TTS_END = 'tts-end'
57
+ ERROR = 'error'
60
58
 
61
59
  @dataclass(frozen=True)
62
60
  class PipelineEvent:
63
61
  type: PipelineEventType
64
62
  data: dict[str, Any] | None = ...
65
63
  timestamp: str = ...
66
- def __init__(self, type, data, timestamp) -> None: ...
64
+ def __init__(self, type, data=..., timestamp=...) -> None: ...
67
65
  PipelineEventCallback = Callable[[PipelineEvent], None]
68
66
 
69
67
  @dataclass(frozen=True)
@@ -83,14 +81,14 @@ class Pipeline:
83
81
  @classmethod
84
82
  def from_json(cls, data: dict[str, Any]) -> Pipeline: ...
85
83
  def to_json(self) -> dict[str, Any]: ...
86
- def __init__(self, conversation_engine, conversation_language, language, name, stt_engine, stt_language, tts_engine, tts_language, tts_voice, wake_word_entity, wake_word_id, id) -> None: ...
84
+ def __init__(self, conversation_engine, conversation_language, language, name, stt_engine, stt_language, tts_engine, tts_language, tts_voice, wake_word_entity, wake_word_id, id=...) -> None: ...
87
85
 
88
86
  class PipelineStage(StrEnum):
89
- WAKE_WORD: str
90
- STT: str
91
- INTENT: str
92
- TTS: str
93
- END: str
87
+ WAKE_WORD = 'wake_word'
88
+ STT = 'stt'
89
+ INTENT = 'intent'
90
+ TTS = 'tts'
91
+ END = 'end'
94
92
 
95
93
  PIPELINE_STAGE_ORDER: Incomplete
96
94
 
@@ -103,7 +101,7 @@ class InvalidPipelineStagesError(PipelineRunValidationError):
103
101
  class WakeWordSettings:
104
102
  timeout: float | None = ...
105
103
  audio_seconds_to_buffer: float = ...
106
- def __init__(self, timeout, audio_seconds_to_buffer) -> None: ...
104
+ def __init__(self, timeout=..., audio_seconds_to_buffer=...) -> None: ...
107
105
 
108
106
  @dataclass(frozen=True)
109
107
  class AudioSettings:
@@ -111,18 +109,11 @@ class AudioSettings:
111
109
  auto_gain_dbfs: int = ...
112
110
  volume_multiplier: float = ...
113
111
  is_vad_enabled: bool = ...
114
- is_chunking_enabled: bool = ...
112
+ silence_seconds: float = ...
115
113
  def __post_init__(self) -> None: ...
116
114
  @property
117
115
  def needs_processor(self) -> bool: ...
118
- def __init__(self, noise_suppression_level, auto_gain_dbfs, volume_multiplier, is_vad_enabled, is_chunking_enabled) -> None: ...
119
-
120
- @dataclass(frozen=True, slots=True)
121
- class ProcessedAudioChunk:
122
- audio: bytes
123
- timestamp_ms: int
124
- is_speech: bool | None
125
- def __init__(self, audio, timestamp_ms, is_speech) -> None: ...
116
+ def __init__(self, noise_suppression_level=..., auto_gain_dbfs=..., volume_multiplier=..., is_vad_enabled=..., silence_seconds=...) -> None: ...
126
117
 
127
118
  @dataclass
128
119
  class PipelineRun:
@@ -147,8 +138,8 @@ class PipelineRun:
147
138
  abort_wake_word_detection: bool = ...
148
139
  debug_recording_thread: Thread | None = ...
149
140
  debug_recording_queue: Queue[str | bytes | None] | None = ...
150
- audio_processor: AudioProcessor | None = ...
151
- audio_processor_buffer: AudioBuffer = ...
141
+ audio_enhancer: AudioEnhancer | None = ...
142
+ audio_chunking_buffer: AudioBuffer = ...
152
143
  _device_id: str | None = ...
153
144
  def __post_init__(self) -> None: ...
154
145
  def __eq__(self, other: object) -> bool: ...
@@ -156,11 +147,11 @@ class PipelineRun:
156
147
  def start(self, device_id: str | None) -> None: ...
157
148
  async def end(self) -> None: ...
158
149
  async def prepare_wake_word_detection(self) -> None: ...
159
- async def wake_word_detection(self, stream: AsyncIterable[ProcessedAudioChunk], audio_chunks_for_stt: list[ProcessedAudioChunk]) -> wake_word.DetectionResult | None: ...
160
- async def _wake_word_audio_stream(self, audio_stream: AsyncIterable[ProcessedAudioChunk], stt_audio_buffer: deque[ProcessedAudioChunk] | None, wake_word_vad: VoiceActivityTimeout | None, sample_rate: int = 16000, sample_width: int = 2) -> AsyncIterable[tuple[bytes, int]]: ...
150
+ async def wake_word_detection(self, stream: AsyncIterable[EnhancedAudioChunk], audio_chunks_for_stt: list[EnhancedAudioChunk]) -> wake_word.DetectionResult | None: ...
151
+ async def _wake_word_audio_stream(self, audio_stream: AsyncIterable[EnhancedAudioChunk], stt_audio_buffer: deque[EnhancedAudioChunk] | None, wake_word_vad: VoiceActivityTimeout | None, sample_rate: int = ..., sample_width: int = ...) -> AsyncIterable[tuple[bytes, int]]: ...
161
152
  async def prepare_speech_to_text(self, metadata: stt.SpeechMetadata) -> None: ...
162
- async def speech_to_text(self, metadata: stt.SpeechMetadata, stream: AsyncIterable[ProcessedAudioChunk]) -> str: ...
163
- async def _speech_to_text_stream(self, audio_stream: AsyncIterable[ProcessedAudioChunk], stt_vad: VoiceCommandSegmenter | None, sample_rate: int = 16000, sample_width: int = 2) -> AsyncGenerator[bytes]: ...
153
+ async def speech_to_text(self, metadata: stt.SpeechMetadata, stream: AsyncIterable[EnhancedAudioChunk]) -> str: ...
154
+ async def _speech_to_text_stream(self, audio_stream: AsyncIterable[EnhancedAudioChunk], stt_vad: VoiceCommandSegmenter | None, sample_rate: int = ..., sample_width: int = ...) -> AsyncGenerator[bytes]: ...
164
155
  async def prepare_recognize_intent(self) -> None: ...
165
156
  async def recognize_intent(self, intent_input: str, conversation_id: str | None, device_id: str | None) -> str: ...
166
157
  async def prepare_text_to_speech(self) -> None: ...
@@ -168,9 +159,9 @@ class PipelineRun:
168
159
  def _capture_chunk(self, audio_bytes: bytes | None) -> None: ...
169
160
  def _start_debug_recording_thread(self) -> None: ...
170
161
  async def _stop_debug_recording_thread(self) -> None: ...
171
- async def process_volume_only(self, audio_stream: AsyncIterable[bytes], sample_rate: int = 16000, sample_width: int = 2) -> AsyncGenerator[ProcessedAudioChunk]: ...
172
- async def process_enhance_audio(self, audio_stream: AsyncIterable[bytes], sample_rate: int = 16000, sample_width: int = 2) -> AsyncGenerator[ProcessedAudioChunk]: ...
173
- def __init__(self, hass, context, pipeline, start_stage, end_stage, event_callback, language, runner_data, intent_agent, tts_audio_output, wake_word_settings, audio_settings, id, debug_recording_thread, debug_recording_queue, audio_processor, _device_id) -> None: ...
162
+ async def process_volume_only(self, audio_stream: AsyncIterable[bytes]) -> AsyncGenerator[EnhancedAudioChunk]: ...
163
+ async def process_enhance_audio(self, audio_stream: AsyncIterable[bytes]) -> AsyncGenerator[EnhancedAudioChunk]: ...
164
+ def __init__(self, hass, context, pipeline, start_stage, end_stage, event_callback, language=..., runner_data=..., intent_agent=..., tts_audio_output=..., wake_word_settings=..., audio_settings=..., id=..., debug_recording_thread=..., debug_recording_queue=..., audio_enhancer=..., audio_chunking_buffer=..., _device_id=...) -> None: ...
174
165
 
175
166
  def _multiply_volume(chunk: bytes, volume_multiplier: float) -> bytes: ...
176
167
  def _pipeline_debug_recording_thread_proc(run_recording_dir: Path, queue: Queue[str | bytes | None], message_timeout: float = 5) -> None: ...
@@ -187,7 +178,7 @@ class PipelineInput:
187
178
  device_id: str | None = ...
188
179
  async def execute(self) -> None: ...
189
180
  async def validate(self) -> None: ...
190
- def __init__(self, run, stt_metadata, stt_stream, wake_word_phrase, intent_input, tts_input, conversation_id, device_id) -> None: ...
181
+ def __init__(self, run, stt_metadata=..., stt_stream=..., wake_word_phrase=..., intent_input=..., tts_input=..., conversation_id=..., device_id=...) -> None: ...
191
182
 
192
183
  class PipelinePreferred(CollectionError):
193
184
  item_id: Incomplete
@@ -230,7 +221,7 @@ class DeviceAudioQueue:
230
221
  queue: asyncio.Queue[bytes | None]
231
222
  id: str = ...
232
223
  overflow: bool = ...
233
- def __init__(self, queue, id, overflow) -> None: ...
224
+ def __init__(self, queue, id=..., overflow=...) -> None: ...
234
225
 
235
226
  @dataclass(slots=True)
236
227
  class AssistDevice:
@@ -1,35 +1,20 @@
1
- import abc
2
1
  from _typeshed import Incomplete
3
- from abc import ABC, abstractmethod
4
- from collections.abc import Iterable
2
+ from collections.abc import Callable as Callable, Iterable
5
3
  from dataclasses import dataclass
6
4
  from enum import StrEnum
7
5
  from typing import Final
8
6
 
7
+ _LOGGER: Incomplete
9
8
  _SAMPLE_RATE: Final[int]
10
9
  _SAMPLE_WIDTH: Final[int]
11
10
 
12
11
  class VadSensitivity(StrEnum):
13
- DEFAULT: str
14
- RELAXED: str
15
- AGGRESSIVE: str
12
+ DEFAULT = 'default'
13
+ RELAXED = 'relaxed'
14
+ AGGRESSIVE = 'aggressive'
16
15
  @staticmethod
17
16
  def to_seconds(sensitivity: VadSensitivity | str) -> float: ...
18
17
 
19
- class VoiceActivityDetector(ABC, metaclass=abc.ABCMeta):
20
- @abstractmethod
21
- def is_speech(self, chunk: bytes) -> bool: ...
22
- @property
23
- @abstractmethod
24
- def samples_per_chunk(self) -> int | None: ...
25
-
26
- class WebRtcVad(VoiceActivityDetector):
27
- _audio_processor: Incomplete
28
- def __init__(self) -> None: ...
29
- def is_speech(self, chunk: bytes) -> bool: ...
30
- @property
31
- def samples_per_chunk(self) -> int | None: ...
32
-
33
18
  class AudioBuffer:
34
19
  _buffer: Incomplete
35
20
  _length: int
@@ -56,8 +41,8 @@ class VoiceCommandSegmenter:
56
41
  def __post_init__(self) -> None: ...
57
42
  def reset(self) -> None: ...
58
43
  def process(self, chunk_seconds: float, is_speech: bool | None) -> bool: ...
59
- def process_with_vad(self, chunk: bytes, vad: VoiceActivityDetector, leftover_chunk_buffer: AudioBuffer | None) -> bool: ...
60
- def __init__(self, speech_seconds, silence_seconds, timeout_seconds, reset_seconds, in_command, _speech_seconds_left, _silence_seconds_left, _timeout_seconds_left, _reset_seconds_left) -> None: ...
44
+ def process_with_vad(self, chunk: bytes, vad_samples_per_chunk: int | None, vad_is_speech: Callable[[bytes], bool], leftover_chunk_buffer: AudioBuffer | None) -> bool: ...
45
+ def __init__(self, speech_seconds=..., silence_seconds=..., timeout_seconds=..., reset_seconds=..., in_command=..., _speech_seconds_left=..., _silence_seconds_left=..., _timeout_seconds_left=..., _reset_seconds_left=...) -> None: ...
61
46
 
62
47
  @dataclass
63
48
  class VoiceActivityTimeout:
@@ -68,6 +53,6 @@ class VoiceActivityTimeout:
68
53
  def __post_init__(self) -> None: ...
69
54
  def reset(self) -> None: ...
70
55
  def process(self, chunk_seconds: float, is_speech: bool | None) -> bool: ...
71
- def __init__(self, silence_seconds, reset_seconds, _silence_seconds_left, _reset_seconds_left) -> None: ...
56
+ def __init__(self, silence_seconds, reset_seconds=..., _silence_seconds_left=..., _reset_seconds_left=...) -> None: ...
72
57
 
73
58
  def chunk_samples(samples: bytes, bytes_per_chunk: int, leftover_chunk_buffer: AudioBuffer) -> Iterable[bytes]: ...
@@ -1,4 +1,4 @@
1
- from .const import DEFAULT_PIPELINE_TIMEOUT as DEFAULT_PIPELINE_TIMEOUT, DEFAULT_WAKE_WORD_TIMEOUT as DEFAULT_WAKE_WORD_TIMEOUT, DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING
1
+ from .const import DEFAULT_PIPELINE_TIMEOUT as DEFAULT_PIPELINE_TIMEOUT, DEFAULT_WAKE_WORD_TIMEOUT as DEFAULT_WAKE_WORD_TIMEOUT, DOMAIN as DOMAIN, EVENT_RECORDING as EVENT_RECORDING, SAMPLE_CHANNELS as SAMPLE_CHANNELS, SAMPLE_RATE as SAMPLE_RATE, SAMPLE_WIDTH as SAMPLE_WIDTH
2
2
  from .error import PipelineNotFound as PipelineNotFound
3
3
  from .pipeline import AudioSettings as AudioSettings, DeviceAudioQueue as DeviceAudioQueue, PipelineData as PipelineData, PipelineError as PipelineError, PipelineEvent as PipelineEvent, PipelineEventType as PipelineEventType, PipelineInput as PipelineInput, PipelineRun as PipelineRun, PipelineStage as PipelineStage, WakeWordSettings as WakeWordSettings, async_get_pipeline as async_get_pipeline
4
4
  from _typeshed import Incomplete
@@ -19,5 +19,5 @@ async def websocket_run(hass: HomeAssistant, connection: websocket_api.ActiveCon
19
19
  def websocket_list_runs(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
20
20
  def websocket_list_devices(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
21
21
  def websocket_get_run(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
22
- async def websocket_list_languages(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
22
+ def websocket_list_languages(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
23
23
  async def websocket_device_capture(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -4,7 +4,7 @@ from _typeshed import Incomplete
4
4
  from abc import ABC, abstractmethod
5
5
  from aioasuswrt.asuswrt import AsusWrt as AsusWrtLegacy
6
6
  from aiohttp import ClientSession as ClientSession
7
- from collections.abc import Callable, Coroutine
7
+ from collections.abc import Awaitable, Callable, Coroutine
8
8
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MODE as CONF_MODE, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -25,7 +25,7 @@ class WrtDevice(NamedTuple):
25
25
  connected_to: Incomplete
26
26
 
27
27
  _LOGGER: Incomplete
28
- _FuncType: Incomplete
28
+ _FuncType = Callable[[_T], Awaitable[list[Any] | tuple[Any] | dict[str, Any]]]
29
29
  _ReturnFuncType = Callable[[_T], Coroutine[Any, Any, dict[str, Any]]]
30
30
 
31
31
  def handle_errors_and_zip(exceptions: type[Exception] | tuple[type[Exception], ...], keys: list[str] | None) -> Callable[[_FuncType[_AsusWrtBridgeT]], _ReturnFuncType[_AsusWrtBridgeT]]: ...
@@ -13,7 +13,7 @@ from homeassistant.util import slugify as slugify
13
13
  @dataclass(frozen=True)
14
14
  class AsusWrtSensorEntityDescription(SensorEntityDescription):
15
15
  factor: int | None = ...
16
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, factor) -> None: ...
16
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., factor=...) -> None: ...
17
17
 
18
18
  UNIT_DEVICES: str
19
19
  CONNECTION_SENSORS: tuple[AsusWrtSensorEntityDescription, ...]