homeassistant-stubs 2024.7.3__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 +5 -6
  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 +5 -5
  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 +2 -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.3.dist-info → homeassistant_stubs-2024.8.0.dist-info}/METADATA +2 -2
  939. {homeassistant_stubs-2024.7.3.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.3.dist-info → homeassistant_stubs-2024.8.0.dist-info}/LICENSE +0 -0
  946. {homeassistant_stubs-2024.7.3.dist-info → homeassistant_stubs-2024.8.0.dist-info}/WHEEL +0 -0
@@ -14,17 +14,18 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
14
14
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
15
15
  from typing import Any, Generic, TypeVar
16
16
 
17
+ PARALLEL_UPDATES: int
17
18
  _CoordinatorDataT = TypeVar('_CoordinatorDataT', bound=LogicalNetwork | DataRate | list[ConnectedStationInfo] | list[NeighborAPInfo])
18
19
  _ValueDataT = TypeVar('_ValueDataT', bound=LogicalNetwork | DataRate | list[ConnectedStationInfo] | list[NeighborAPInfo])
19
20
 
20
21
  class DataRateDirection(StrEnum):
21
- RX: str
22
- TX: str
22
+ RX = 'rx_rate'
23
+ TX = 'tx_rate'
23
24
 
24
25
  @dataclass(frozen=True, kw_only=True)
25
26
  class DevoloSensorEntityDescription(SensorEntityDescription, Generic[_CoordinatorDataT]):
26
27
  value_func: Callable[[_CoordinatorDataT], float]
27
- 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_func) -> None: ...
28
+ 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_func) -> None: ...
28
29
 
29
30
  SENSOR_TYPES: dict[str, DevoloSensorEntityDescription[Any]]
30
31
 
@@ -13,6 +13,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
13
13
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
14
14
  from typing import Any, Generic, TypeVar
15
15
 
16
+ PARALLEL_UPDATES: int
16
17
  _DataT = TypeVar('_DataT', bound=WifiGuestAccessGet | bool)
17
18
 
18
19
  @dataclass(frozen=True, kw_only=True)
@@ -20,7 +21,7 @@ class DevoloSwitchEntityDescription(SwitchEntityDescription, Generic[_DataT]):
20
21
  is_on_func: Callable[[_DataT], bool]
21
22
  turn_on_func: Callable[[Device], Awaitable[bool]]
22
23
  turn_off_func: Callable[[Device], Awaitable[bool]]
23
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, is_on_func, turn_on_func, turn_off_func) -> None: ...
24
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., is_on_func, turn_on_func, turn_off_func) -> None: ...
24
25
 
25
26
  SWITCH_TYPES: dict[str, DevoloSwitchEntityDescription[Any]]
26
27
 
@@ -14,11 +14,13 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
14
14
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
15
15
  from typing import Any
16
16
 
17
+ PARALLEL_UPDATES: int
18
+
17
19
  @dataclass(frozen=True, kw_only=True)
18
20
  class DevoloUpdateEntityDescription(UpdateEntityDescription):
19
21
  latest_version: Callable[[UpdateFirmwareCheck], str]
20
22
  update_func: Callable[[Device], Awaitable[bool]]
21
- 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, latest_version, update_func) -> None: ...
23
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., latest_version, update_func) -> None: ...
22
24
 
23
25
  UPDATE_TYPES: dict[str, DevoloUpdateEntityDescription]
24
26
 
@@ -21,7 +21,7 @@ class DiagnosticsPlatformData:
21
21
  @dataclass(slots=True)
22
22
  class DiagnosticsData:
23
23
  platforms: dict[str, DiagnosticsPlatformData] = ...
24
- def __init__(self, platforms) -> None: ...
24
+ def __init__(self, platforms=...) -> None: ...
25
25
 
26
26
  class DiagnosticsProtocol(Protocol):
27
27
  async def async_get_config_entry_diagnostics(self, hass: HomeAssistant, config_entry: ConfigEntry) -> Mapping[str, Any]: ...
@@ -4,7 +4,7 @@ DOMAIN: str
4
4
  REDACTED: str
5
5
 
6
6
  class DiagnosticsType(StrEnum):
7
- CONFIG_ENTRY: str
7
+ CONFIG_ENTRY = 'config_entry'
8
8
 
9
9
  class DiagnosticsSubType(StrEnum):
10
- DEVICE: str
10
+ DEVICE = 'device'
@@ -20,7 +20,7 @@ class DiscovergySensorEntityDescription(SensorEntityDescription):
20
20
  value_fn: Callable[[Reading, str, int], datetime | float | None] = ...
21
21
  alternative_keys: list[str] = ...
22
22
  scale: int = ...
23
- def __init__(self, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement, value_fn, alternative_keys, scale) -> None: ...
23
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn=..., alternative_keys=..., scale=...) -> None: ...
24
24
 
25
25
  GAS_SENSORS: tuple[DiscovergySensorEntityDescription, ...]
26
26
  ELECTRICITY_SENSORS: tuple[DiscovergySensorEntityDescription, ...]
@@ -11,7 +11,7 @@ from homeassistant.helpers.typing import VolDictType as VolDictType
11
11
  from typing import Any
12
12
 
13
13
  LOGGER: Incomplete
14
- FlowInput: Incomplete
14
+ FlowInput = Mapping[str, Any] | None
15
15
 
16
16
  class ConnectError(IntegrationError): ...
17
17
 
@@ -1,25 +1,20 @@
1
1
  from .const import CONF_EVENTS as CONF_EVENTS, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
2
  from .device import ConfiguredDoorBird as ConfiguredDoorBird
3
- from .models import DoorBirdData as DoorBirdData
3
+ from .models import DoorBirdConfigEntry as DoorBirdConfigEntry, DoorBirdData as DoorBirdData
4
4
  from .view import DoorBirdRequestView as DoorBirdRequestView
5
5
  from _typeshed import Incomplete
6
- from doorbirdpy import DoorBird
7
- from homeassistant.components import persistent_notification as persistent_notification
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
10
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
- from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
12
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
13
- from typing import Any
14
11
 
15
- _LOGGER: Incomplete
16
12
  CONF_CUSTOM_URL: str
17
13
  CONFIG_SCHEMA: Incomplete
14
+ _LOGGER: Incomplete
18
15
 
19
16
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
20
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
21
- def _init_door_bird_device(device: DoorBird) -> tuple[tuple[bool, int], dict[str, Any]]: ...
22
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
23
- async def _async_register_events(hass: HomeAssistant, door_station: ConfiguredDoorBird) -> bool: ...
24
- async def _update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
25
- def _async_import_options_from_data_if_missing(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
17
+ async def async_setup_entry(hass: HomeAssistant, entry: DoorBirdConfigEntry) -> bool: ...
18
+ async def async_unload_entry(hass: HomeAssistant, entry: DoorBirdConfigEntry) -> bool: ...
19
+ async def _async_register_events(hass: HomeAssistant, door_station: ConfiguredDoorBird, entry: DoorBirdConfigEntry) -> bool: ...
20
+ async def _update_listener(hass: HomeAssistant, entry: DoorBirdConfigEntry) -> None: ...
@@ -1,31 +1,30 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .device import ConfiguredDoorBird as ConfiguredDoorBird, async_reset_device_favorites as async_reset_device_favorites
2
2
  from .entity import DoorBirdEntity as DoorBirdEntity
3
- from .models import DoorBirdData as DoorBirdData
3
+ from .models import DoorBirdConfigEntry as DoorBirdConfigEntry, DoorBirdData as DoorBirdData
4
4
  from _typeshed import Incomplete
5
- from collections.abc import Callable as Callable
5
+ from collections.abc import Callable as Callable, Coroutine
6
6
  from dataclasses import dataclass
7
- from doorbirdpy import DoorBird as DoorBird
8
7
  from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.const import EntityCategory as EntityCategory
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant
11
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+ from typing import Any
12
12
 
13
13
  IR_RELAY: str
14
14
 
15
15
  @dataclass(frozen=True, kw_only=True)
16
16
  class DoorbirdButtonEntityDescription(ButtonEntityDescription):
17
- press_action: Callable[[DoorBird, str], 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, press_action) -> None: ...
17
+ press_action: Callable[[ConfiguredDoorBird, str], Coroutine[Any, Any, bool | 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=..., press_action) -> None: ...
19
19
 
20
20
  RELAY_ENTITY_DESCRIPTION: Incomplete
21
- IR_ENTITY_DESCRIPTION: Incomplete
21
+ BUTTON_DESCRIPTIONS: tuple[DoorbirdButtonEntityDescription, ...]
22
22
 
23
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DoorBirdConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
24
24
 
25
25
  class DoorBirdButton(DoorBirdEntity, ButtonEntity):
26
26
  entity_description: DoorbirdButtonEntityDescription
27
27
  _relay: Incomplete
28
- _attr_name: str
29
28
  _attr_unique_id: Incomplete
30
- def __init__(self, door_bird_data: DoorBirdData, relay: str, entity_description: DoorbirdButtonEntityDescription) -> None: ...
31
- def press(self) -> None: ...
29
+ def __init__(self, door_bird_data: DoorBirdData, entity_description: DoorbirdButtonEntityDescription, relay: str | None = None) -> None: ...
30
+ async def async_press(self) -> None: ...
@@ -1,12 +1,9 @@
1
1
  import datetime
2
- from .const import DOMAIN as DOMAIN
3
2
  from .entity import DoorBirdEntity as DoorBirdEntity
4
- from .models import DoorBirdData as DoorBirdData
3
+ from .models import DoorBirdConfigEntry as DoorBirdConfigEntry, DoorBirdData as DoorBirdData
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.camera import Camera as Camera, CameraEntityFeature as CameraEntityFeature
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
6
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
8
 
12
9
  _LAST_VISITOR_INTERVAL: Incomplete
@@ -15,7 +12,7 @@ _LIVE_INTERVAL: Incomplete
15
12
  _LOGGER: Incomplete
16
13
  _TIMEOUT: int
17
14
 
18
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DoorBirdConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
19
16
 
20
17
  class DoorBirdCamera(DoorBirdEntity, Camera):
21
18
  _url: Incomplete
@@ -26,7 +23,7 @@ class DoorBirdCamera(DoorBirdEntity, Camera):
26
23
  _interval: Incomplete
27
24
  _last_update: Incomplete
28
25
  _attr_unique_id: Incomplete
29
- def __init__(self, door_bird_data: DoorBirdData, url: str, camera_id: str, translation_key: str, interval: datetime.timedelta, stream_url: str | None = None) -> None: ...
26
+ def __init__(self, door_bird_data: DoorBirdData, url: str, camera_id: str, interval: datetime.timedelta, stream_url: str | None = None) -> None: ...
30
27
  async def stream_source(self) -> str | None: ...
31
28
  async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
32
29
  async def async_added_to_hass(self) -> None: ...
@@ -1,26 +1,33 @@
1
1
  import voluptuous as vol
2
- from .const import CONF_EVENTS as CONF_EVENTS, DOMAIN as DOMAIN, DOORBIRD_OUI as DOORBIRD_OUI
2
+ from .const import CONF_EVENTS as CONF_EVENTS, DEFAULT_DOORBELL_EVENT as DEFAULT_DOORBELL_EVENT, DEFAULT_MOTION_EVENT as DEFAULT_MOTION_EVENT, DOMAIN as DOMAIN, DOORBIRD_OUI as DOORBIRD_OUI
3
3
  from .util import get_mac_address_from_door_station_info as get_mac_address_from_door_station_info
4
4
  from _typeshed import Incomplete
5
- from doorbirdpy import DoorBird
5
+ from collections.abc import Mapping
6
6
  from homeassistant.components import zeroconf as zeroconf
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
8
8
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
12
+ from homeassistant.helpers.typing import VolDictType as VolDictType
11
13
  from typing import Any
12
14
 
13
15
  _LOGGER: Incomplete
16
+ DEFAULT_OPTIONS: Incomplete
17
+ AUTH_VOL_DICT: VolDictType
18
+ AUTH_SCHEMA: Incomplete
14
19
 
15
20
  def _schema_with_defaults(host: str | None = None, name: str | None = None) -> vol.Schema: ...
16
- def _check_device(device: DoorBird) -> tuple[tuple[bool, int], dict[str, Any]]: ...
17
21
  async def validate_input(hass: HomeAssistant, data: dict[str, Any]) -> dict[str, str]: ...
18
22
  async def async_verify_supported_device(hass: HomeAssistant, host: str) -> bool: ...
19
23
 
20
24
  class DoorBirdConfigFlow(ConfigFlow, domain=DOMAIN):
21
25
  VERSION: int
22
26
  discovery_schema: Incomplete
27
+ reauth_entry: Incomplete
23
28
  def __init__(self) -> None: ...
29
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
30
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
31
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
32
  async def async_step_zeroconf(self, discovery_info: zeroconf.ZeroconfServiceInfo) -> ConfigFlowResult: ...
26
33
  async def _async_validate_or_error(self, user_input: dict[str, Any]) -> tuple[dict[str, Any], dict[str, Any]]: ...
@@ -3,9 +3,6 @@ from homeassistant.const import Platform as Platform
3
3
 
4
4
  DOMAIN: str
5
5
  PLATFORMS: Incomplete
6
- DOOR_STATION: str
7
- DOOR_STATION_INFO: str
8
- DOOR_STATION_EVENT_ENTITY_IDS: str
9
6
  CONF_EVENTS: str
10
7
  MANUFACTURER: str
11
8
  DOORBIRD_OUI: str
@@ -17,3 +14,9 @@ DOORBIRD_INFO_KEY_PRIMARY_MAC_ADDR: str
17
14
  DOORBIRD_INFO_KEY_WIFI_MAC_ADDR: str
18
15
  UNDO_UPDATE_LISTENER: str
19
16
  API_URL: Incomplete
17
+ DEFAULT_DOORBELL_EVENT: str
18
+ DEFAULT_MOTION_EVENT: str
19
+ DEFAULT_EVENT_TYPES: Incomplete
20
+ HTTP_EVENT_TYPE: str
21
+ MIN_WEEKDAY: int
22
+ MAX_WEEKDAY: int
@@ -1,6 +1,9 @@
1
- from .const import API_URL as API_URL
1
+ from .const import API_URL as API_URL, DEFAULT_EVENT_TYPES as DEFAULT_EVENT_TYPES, HTTP_EVENT_TYPE as HTTP_EVENT_TYPE, MAX_WEEKDAY as MAX_WEEKDAY, MIN_WEEKDAY as MIN_WEEKDAY
2
2
  from _typeshed import Incomplete
3
- from doorbirdpy import DoorBird as DoorBird
3
+ from collections import defaultdict
4
+ from dataclasses import dataclass
5
+ from doorbirdpy import DoorBird as DoorBird, DoorBirdScheduleEntry as DoorBirdScheduleEntry
6
+ from functools import cached_property as cached_property
4
7
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
5
8
  from homeassistant.core import HomeAssistant as HomeAssistant
6
9
  from homeassistant.helpers.network import get_url as get_url
@@ -9,7 +12,21 @@ from typing import Any
9
12
 
10
13
  _LOGGER: Incomplete
11
14
 
15
+ @dataclass(slots=True)
16
+ class DoorbirdEvent:
17
+ event: str
18
+ event_type: str
19
+ def __init__(self, event, event_type) -> None: ...
20
+
21
+ @dataclass(slots=True)
22
+ class DoorbirdEventConfig:
23
+ events: list[DoorbirdEvent]
24
+ schedule: list[DoorBirdScheduleEntry]
25
+ unconfigured_favorites: defaultdict[str, list[str]]
26
+ def __init__(self, events, schedule, unconfigured_favorites) -> None: ...
27
+
12
28
  class ConfiguredDoorBird:
29
+ _hass: Incomplete
13
30
  _name: Incomplete
14
31
  _device: Incomplete
15
32
  _custom_url: Incomplete
@@ -17,24 +34,26 @@ class ConfiguredDoorBird:
17
34
  _event_entity_ids: Incomplete
18
35
  events: Incomplete
19
36
  door_station_events: Incomplete
20
- def __init__(self, device: DoorBird, name: str | None, custom_url: str | None, token: str, event_entity_ids: dict[str, str]) -> None: ...
37
+ event_descriptions: Incomplete
38
+ def __init__(self, hass: HomeAssistant, device: DoorBird, name: str | None, custom_url: str | None, token: str, event_entity_ids: dict[str, str]) -> None: ...
21
39
  def update_events(self, events: list[str]) -> None: ...
22
- @property
40
+ @cached_property
23
41
  def name(self) -> str | None: ...
24
- @property
42
+ @cached_property
25
43
  def device(self) -> DoorBird: ...
26
- @property
44
+ @cached_property
27
45
  def custom_url(self) -> str | None: ...
28
- @property
46
+ @cached_property
29
47
  def token(self) -> str: ...
30
- def register_events(self, hass: HomeAssistant) -> None: ...
31
- @property
48
+ async def async_register_events(self) -> None: ...
49
+ async def _configure_unconfigured_favorites(self, event_config: DoorbirdEventConfig) -> None: ...
50
+ async def _async_register_events(self) -> dict[str, Any]: ...
51
+ async def _async_get_event_config(self, http_fav: dict[str, dict[str, Any]]) -> DoorbirdEventConfig: ...
52
+ @cached_property
32
53
  def slug(self) -> str: ...
33
54
  def _get_event_name(self, event: str) -> str: ...
34
- def _register_event(self, hass_url: str, event: str, favs: dict[str, Any] | None = None) -> bool: ...
35
- def webhook_is_registered(self, url: str, favs: dict[str, Any] | None = None) -> bool: ...
36
- def get_webhook_id(self, url: str, favs: dict[str, Any] | None = None) -> str | None: ...
55
+ async def _async_get_http_favorites(self) -> dict[str, dict[str, Any]]: ...
56
+ async def _async_register_event(self, hass_url: str, event: str, http_fav: dict[str, dict[str, Any]]) -> bool: ...
37
57
  def get_event_data(self, event: str) -> dict[str, str | None]: ...
38
58
 
39
- async def async_reset_device_favorites(hass: HomeAssistant, door_station: ConfiguredDoorBird) -> None: ...
40
- def _reset_device_favorites(door_station: ConfiguredDoorBird) -> None: ...
59
+ async def async_reset_device_favorites(door_station: ConfiguredDoorBird) -> None: ...
@@ -0,0 +1,23 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .device import DoorbirdEvent as DoorbirdEvent
3
+ from .entity import DoorBirdEntity as DoorBirdEntity
4
+ from .models import DoorBirdConfigEntry as DoorBirdConfigEntry, DoorBirdData as DoorBirdData
5
+ from _typeshed import Incomplete
6
+ from homeassistant.components.event import EventDeviceClass as EventDeviceClass, EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
+
11
+ EVENT_DESCRIPTIONS: Incomplete
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DoorBirdConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
+
15
+ class DoorBirdEventEntity(DoorBirdEntity, EventEntity):
16
+ entity_description: EventEntityDescription
17
+ _attr_has_entity_name: bool
18
+ _doorbird_event: Incomplete
19
+ _attr_unique_id: Incomplete
20
+ _attr_name: Incomplete
21
+ def __init__(self, door_bird_data: DoorBirdData, doorbird_event: DoorbirdEvent, entity_description: EventEntityDescription) -> None: ...
22
+ async def async_added_to_hass(self) -> None: ...
23
+ def _async_handle_event(self) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .models import DoorBirdData as DoorBirdData
2
+ from .util import async_get_entries as async_get_entries
3
3
  from collections.abc import Callable as Callable
4
4
  from homeassistant.components.logbook import LOGBOOK_ENTRY_ENTITY_ID as LOGBOOK_ENTRY_ENTITY_ID, LOGBOOK_ENTRY_MESSAGE as LOGBOOK_ENTRY_MESSAGE, LOGBOOK_ENTRY_NAME as LOGBOOK_ENTRY_NAME
5
5
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
@@ -1,7 +1,10 @@
1
1
  from .device import ConfiguredDoorBird as ConfiguredDoorBird
2
2
  from dataclasses import dataclass
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
4
  from typing import Any
4
5
 
6
+ DoorBirdConfigEntry = ConfigEntry[DoorBirdData]
7
+
5
8
  @dataclass
6
9
  class DoorBirdData:
7
10
  door_station: ConfiguredDoorBird
@@ -0,0 +1,12 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant import data_entry_flow as data_entry_flow
3
+ from homeassistant.components.repairs import RepairsFlow as RepairsFlow
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+
6
+ class DoorBirdReloadConfirmRepairFlow(RepairsFlow):
7
+ entry_id: Incomplete
8
+ def __init__(self, entry_id: str) -> None: ...
9
+ async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
10
+ async def async_step_confirm(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
11
+
12
+ async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
@@ -1,8 +1,9 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .device import ConfiguredDoorBird as ConfiguredDoorBird
3
- from .models import DoorBirdData as DoorBirdData
4
- from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from .models import DoorBirdConfigEntry as DoorBirdConfigEntry
4
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
5
  from typing import Any
6
6
 
7
7
  def get_mac_address_from_door_station_info(door_station_info: dict[str, Any]) -> str: ...
8
8
  def get_door_station_by_token(hass: HomeAssistant, token: str) -> ConfiguredDoorBird | None: ...
9
+ def async_get_entries(hass: HomeAssistant) -> list[DoorBirdConfigEntry]: ...
@@ -1,9 +1,9 @@
1
1
  from .const import API_URL as API_URL, DOMAIN as DOMAIN
2
- from .device import async_reset_device_favorites as async_reset_device_favorites
3
2
  from .util import get_door_station_by_token as get_door_station_by_token
4
3
  from _typeshed import Incomplete
5
4
  from aiohttp import web
6
5
  from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS
6
+ from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
7
7
 
8
8
  class DoorBirdRequestView(HomeAssistantView):
9
9
  requires_auth: bool
@@ -15,7 +15,7 @@ from py_dormakaba_dkey.commands import Notifications as Notifications
15
15
  @dataclass(frozen=True, kw_only=True)
16
16
  class DormakabaDkeyBinarySensorDescription(BinarySensorEntityDescription):
17
17
  is_on: Callable[[Notifications], bool]
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, is_on) -> 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=..., is_on) -> None: ...
19
19
 
20
20
  BINARY_SENSOR_DESCRIPTIONS: Incomplete
21
21
 
@@ -1,10 +1,20 @@
1
- from .const import CONF_DSMR_VERSION as CONF_DSMR_VERSION, DATA_TASK as DATA_TASK, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
1
+ from .const import CONF_DSMR_VERSION as CONF_DSMR_VERSION, PLATFORMS as PLATFORMS
2
+ from asyncio import Task
3
+ from dataclasses import dataclass
4
+ from dsmr_parser.objects import Telegram as Telegram
2
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
4
7
  from homeassistant.helpers import entity_registry as er
5
8
  from typing import Any
6
9
 
7
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
8
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
- async def async_update_options(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
10
+ @dataclass
11
+ class DsmrState:
12
+ task: Task | None = ...
13
+ telegram: Telegram | None = ...
14
+ def __init__(self, task=..., telegram=...) -> None: ...
15
+ DsmrConfigEntry = ConfigEntry[DsmrState]
16
+
17
+ async def async_setup_entry(hass: HomeAssistant, entry: DsmrConfigEntry) -> bool: ...
18
+ async def async_unload_entry(hass: HomeAssistant, entry: DsmrConfigEntry) -> bool: ...
19
+ async def async_update_options(hass: HomeAssistant, entry: DsmrConfigEntry) -> None: ...
10
20
  def async_migrate_entity_entry(config_entry: ConfigEntry, entity_entry: er.RegistryEntry) -> dict[str, Any] | None: ...
@@ -13,7 +13,6 @@ DEFAULT_PORT: str
13
13
  DEFAULT_PRECISION: int
14
14
  DEFAULT_RECONNECT_INTERVAL: int
15
15
  DEFAULT_TIME_BETWEEN_UPDATE: int
16
- DATA_TASK: str
17
16
  DEVICE_NAME_ELECTRICITY: str
18
17
  DEVICE_NAME_GAS: str
19
18
  DEVICE_NAME_WATER: str
@@ -0,0 +1,6 @@
1
+ from . import DsmrConfigEntry as DsmrConfigEntry
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from homeassistant.util.json import json_loads as json_loads
4
+ from typing import Any
5
+
6
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: DsmrConfigEntry) -> dict[str, Any]: ...
@@ -1,8 +1,10 @@
1
- from .const import CONF_DSMR_VERSION as CONF_DSMR_VERSION, CONF_SERIAL_ID as CONF_SERIAL_ID, CONF_SERIAL_ID_GAS as CONF_SERIAL_ID_GAS, CONF_TIME_BETWEEN_UPDATE as CONF_TIME_BETWEEN_UPDATE, DATA_TASK as DATA_TASK, DEFAULT_PRECISION as DEFAULT_PRECISION, DEFAULT_RECONNECT_INTERVAL as DEFAULT_RECONNECT_INTERVAL, DEFAULT_TIME_BETWEEN_UPDATE as DEFAULT_TIME_BETWEEN_UPDATE, DEVICE_NAME_ELECTRICITY as DEVICE_NAME_ELECTRICITY, DEVICE_NAME_GAS as DEVICE_NAME_GAS, DEVICE_NAME_WATER as DEVICE_NAME_WATER, DOMAIN as DOMAIN, DSMR_PROTOCOL as DSMR_PROTOCOL, LOGGER as LOGGER
1
+ from . import DsmrConfigEntry as DsmrConfigEntry
2
+ from .const import CONF_DSMR_VERSION as CONF_DSMR_VERSION, CONF_SERIAL_ID as CONF_SERIAL_ID, CONF_SERIAL_ID_GAS as CONF_SERIAL_ID_GAS, CONF_TIME_BETWEEN_UPDATE as CONF_TIME_BETWEEN_UPDATE, DEFAULT_PRECISION as DEFAULT_PRECISION, DEFAULT_RECONNECT_INTERVAL as DEFAULT_RECONNECT_INTERVAL, DEFAULT_TIME_BETWEEN_UPDATE as DEFAULT_TIME_BETWEEN_UPDATE, DEVICE_NAME_ELECTRICITY as DEVICE_NAME_ELECTRICITY, DEVICE_NAME_GAS as DEVICE_NAME_GAS, DEVICE_NAME_WATER as DEVICE_NAME_WATER, DOMAIN as DOMAIN, DSMR_PROTOCOL as DSMR_PROTOCOL, LOGGER as LOGGER
2
3
  from _typeshed import Incomplete
3
- from collections.abc import Callable as Callable
4
+ from collections.abc import Callable as Callable, Generator
4
5
  from dataclasses import dataclass
5
- from dsmr_parser.objects import DSMRObject as DSMRObject
6
+ from dsmr_parser.objects import DSMRObject as DSMRObject, MbusDevice as MbusDevice, Telegram as Telegram
7
+ from enum import IntEnum
6
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
10
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EntityCategory as EntityCategory, UnitOfEnergy as UnitOfEnergy, UnitOfVolume as UnitOfVolume
@@ -22,15 +24,21 @@ class DSMRSensorEntityDescription(SensorEntityDescription):
22
24
  is_gas: bool = ...
23
25
  is_water: bool = ...
24
26
  obis_reference: str
25
- 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, dsmr_versions, is_gas, is_water, obis_reference) -> None: ...
27
+ 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=..., dsmr_versions=..., is_gas=..., is_water=..., obis_reference) -> None: ...
28
+
29
+ class MbusDeviceType(IntEnum):
30
+ GAS = 3
31
+ WATER = 7
26
32
 
27
33
  SENSORS: tuple[DSMRSensorEntityDescription, ...]
34
+ SENSORS_MBUS_DEVICE_TYPE: dict[int, tuple[DSMRSensorEntityDescription, ...]]
28
35
 
29
- def create_mbus_entity(mbus: int, mtype: int, telegram: dict[str, DSMRObject]) -> DSMRSensorEntityDescription | None: ...
30
- def device_class_and_uom(telegram: dict[str, DSMRObject], entity_description: DSMRSensorEntityDescription) -> tuple[SensorDeviceClass | None, str | None]: ...
36
+ def device_class_and_uom(data: Telegram | MbusDevice, entity_description: DSMRSensorEntityDescription) -> tuple[SensorDeviceClass | None, str | None]: ...
31
37
  def rename_old_gas_to_mbus(hass: HomeAssistant, entry: ConfigEntry, mbus_device_id: str) -> None: ...
32
- def create_mbus_entities(hass: HomeAssistant, telegram: dict[str, DSMRObject], entry: ConfigEntry) -> list[DSMREntity]: ...
33
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
38
+ def is_supported_description(data: Telegram | MbusDevice, description: DSMRSensorEntityDescription, dsmr_version: str) -> bool: ...
39
+ def create_mbus_entities(hass: HomeAssistant, telegram: Telegram, entry: ConfigEntry, dsmr_version: str) -> Generator[DSMREntity]: ...
40
+ def get_dsmr_object(telegram: Telegram | None, mbus_id: int, obis_reference: str) -> DSMRObject | None: ...
41
+ async def async_setup_entry(hass: HomeAssistant, entry: DsmrConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
34
42
 
35
43
  class DSMREntity(SensorEntity):
36
44
  entity_description: DSMRSensorEntityDescription
@@ -41,9 +49,10 @@ class DSMREntity(SensorEntity):
41
49
  _entry: Incomplete
42
50
  telegram: Incomplete
43
51
  _attr_device_info: Incomplete
52
+ _mbus_id: Incomplete
44
53
  _attr_unique_id: Incomplete
45
- def __init__(self, entity_description: DSMRSensorEntityDescription, entry: ConfigEntry, telegram: dict[str, DSMRObject], device_class: SensorDeviceClass, native_unit_of_measurement: str | None, serial_id: str = '', mbus_id: int = 0) -> None: ...
46
- def update_data(self, telegram: dict[str, DSMRObject] | None) -> None: ...
54
+ def __init__(self, entity_description: DSMRSensorEntityDescription, entry: ConfigEntry, telegram: Telegram, device_class: SensorDeviceClass, native_unit_of_measurement: str | None, serial_id: str = '', mbus_id: int = 0) -> None: ...
55
+ def update_data(self, telegram: Telegram | None) -> None: ...
47
56
  def get_dsmr_object_attr(self, attribute: str) -> str | None: ...
48
57
  @property
49
58
  def available(self) -> bool: ...
@@ -16,7 +16,7 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity as Coordi
16
16
  class EasyEnergySensorEntityDescription(SensorEntityDescription):
17
17
  value_fn: Callable[[EasyEnergyData], float | datetime | None]
18
18
  service_type: str
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, service_type) -> 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, service_type) -> None: ...
20
20
 
21
21
  SENSORS: tuple[EasyEnergySensorEntityDescription, ...]
22
22
 
@@ -20,9 +20,9 @@ ENERGY_RETURN_SERVICE_NAME: Final[str]
20
20
  SERVICE_SCHEMA: Final[Incomplete]
21
21
 
22
22
  class PriceType(str, Enum):
23
- ENERGY_USAGE: str
24
- ENERGY_RETURN: str
25
- GAS: str
23
+ ENERGY_USAGE = 'energy_usage'
24
+ ENERGY_RETURN = 'energy_return'
25
+ GAS = 'gas'
26
26
 
27
27
  def __get_date(date_input: str | None) -> date | datetime: ...
28
28
  def __serialize_prices(prices: list[dict[str, float | datetime]]) -> ServiceResponse: ...
@@ -5,6 +5,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPO
5
5
  from homeassistant.const import CONF_COUNTRY as CONF_COUNTRY, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
8
+ from sucks import VacBot as VacBot
8
9
 
9
10
  CONFIG_SCHEMA: Incomplete
10
11
  PLATFORMS: Incomplete
@@ -14,7 +14,7 @@ from typing import Generic
14
14
  @dataclass(kw_only=True, frozen=True)
15
15
  class EcovacsBinarySensorEntityDescription(BinarySensorEntityDescription, EcovacsCapabilityEntityDescription, Generic[EventT]):
16
16
  value_fn: Callable[[EventT], bool | None]
17
- 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, capability_fn, value_fn) -> None: ...
17
+ 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=..., capability_fn, value_fn) -> None: ...
18
18
 
19
19
  ENTITY_DESCRIPTIONS: tuple[EcovacsBinarySensorEntityDescription, ...]
20
20
 
@@ -13,12 +13,12 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
13
13
 
14
14
  @dataclass(kw_only=True, frozen=True)
15
15
  class EcovacsButtonEntityDescription(ButtonEntityDescription, EcovacsCapabilityEntityDescription):
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, capability_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=..., capability_fn) -> None: ...
17
17
 
18
18
  @dataclass(kw_only=True, frozen=True)
19
19
  class EcovacsLifespanButtonEntityDescription(ButtonEntityDescription):
20
20
  component: LifeSpan
21
- 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, component) -> None: ...
21
+ 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=..., component) -> None: ...
22
22
 
23
23
  ENTITY_DESCRIPTIONS: tuple[EcovacsButtonEntityDescription, ...]
24
24
  LIFESPAN_ENTITY_DESCRIPTIONS: Incomplete
@@ -7,7 +7,8 @@ CONF_OVERRIDE_REST_URL: str
7
7
  CONF_OVERRIDE_MQTT_URL: str
8
8
  CONF_VERIFY_MQTT_CERTIFICATE: str
9
9
  SUPPORTED_LIFESPANS: Incomplete
10
+ LEGACY_SUPPORTED_LIFESPANS: Incomplete
10
11
 
11
12
  class InstanceMode(StrEnum):
12
- CLOUD: str
13
- SELF_HOSTED: str
13
+ CLOUD = 'cloud'
14
+ SELF_HOSTED = 'self_hosted'