homeassistant-stubs 2024.7.4__py3-none-any.whl → 2024.8.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (930) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -1
  2. homeassistant-stubs/auth/permissions/types.pyi +3 -4
  3. homeassistant-stubs/auth/permissions/util.pyi +1 -2
  4. homeassistant-stubs/auth/providers/trusted_networks.pyi +3 -2
  5. homeassistant-stubs/bootstrap.pyi +2 -2
  6. homeassistant-stubs/components/abode/__init__.pyi +1 -1
  7. homeassistant-stubs/components/abode/sensor.pyi +1 -1
  8. homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
  9. homeassistant-stubs/components/adguard/sensor.pyi +1 -1
  10. homeassistant-stubs/components/adguard/switch.pyi +1 -1
  11. homeassistant-stubs/components/airgradient/__init__.pyi +2 -2
  12. homeassistant-stubs/components/airgradient/button.pyi +1 -1
  13. homeassistant-stubs/components/airgradient/coordinator.pyi +0 -4
  14. homeassistant-stubs/components/airgradient/number.pyi +1 -1
  15. homeassistant-stubs/components/airgradient/select.pyi +1 -1
  16. homeassistant-stubs/components/airgradient/sensor.pyi +2 -2
  17. homeassistant-stubs/components/airgradient/switch.pyi +1 -1
  18. homeassistant-stubs/components/airly/sensor.pyi +1 -1
  19. homeassistant-stubs/components/airnow/sensor.pyi +1 -1
  20. homeassistant-stubs/components/airq/sensor.pyi +1 -1
  21. homeassistant-stubs/components/airtouch5/climate.pyi +1 -0
  22. homeassistant-stubs/components/airtouch5/cover.pyi +34 -0
  23. homeassistant-stubs/components/airtouch5/entity.pyi +0 -2
  24. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +1 -1
  25. homeassistant-stubs/components/airvisual_pro/sensor.pyi +1 -1
  26. homeassistant-stubs/components/airzone/binary_sensor.pyi +1 -1
  27. homeassistant-stubs/components/airzone/select.pyi +1 -1
  28. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +1 -1
  29. homeassistant-stubs/components/airzone_cloud/select.pyi +1 -1
  30. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  31. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -1
  32. homeassistant-stubs/components/alarm_control_panel/const.pyi +8 -8
  33. homeassistant-stubs/components/alexa/capabilities.pyi +2 -2
  34. homeassistant-stubs/components/alexa/entities.pyi +7 -3
  35. homeassistant-stubs/components/alexa/handlers.pyi +1 -1
  36. homeassistant-stubs/components/alexa/intent.pyi +4 -4
  37. homeassistant-stubs/components/amberelectric/binary_sensor.pyi +4 -0
  38. homeassistant-stubs/components/ambient_station/binary_sensor.pyi +1 -1
  39. homeassistant-stubs/components/amcrest/__init__.pyi +1 -1
  40. homeassistant-stubs/components/amcrest/binary_sensor.pyi +1 -1
  41. homeassistant-stubs/components/analytics_insights/sensor.pyi +1 -1
  42. homeassistant-stubs/components/android_ip_webcam/sensor.pyi +1 -1
  43. homeassistant-stubs/components/android_ip_webcam/switch.pyi +1 -1
  44. homeassistant-stubs/components/anova/sensor.pyi +1 -1
  45. homeassistant-stubs/components/apache_kafka/__init__.pyi +1 -1
  46. homeassistant-stubs/components/apcupsd/const.pyi +1 -0
  47. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -2
  48. homeassistant-stubs/components/api/__init__.pyi +1 -1
  49. homeassistant-stubs/components/apsystems/__init__.pyi +2 -1
  50. homeassistant-stubs/components/apsystems/config_flow.pyi +2 -2
  51. homeassistant-stubs/components/apsystems/const.pyi +1 -0
  52. homeassistant-stubs/components/apsystems/sensor.pyi +1 -1
  53. homeassistant-stubs/components/apsystems/switch.pyi +21 -0
  54. homeassistant-stubs/components/aqualogic/sensor.pyi +1 -1
  55. homeassistant-stubs/components/aranet/sensor.pyi +1 -1
  56. homeassistant-stubs/components/arcam_fmj/__init__.pyi +3 -4
  57. homeassistant-stubs/components/arcam_fmj/config_flow.pyi +2 -6
  58. homeassistant-stubs/components/arcam_fmj/const.pyi +0 -3
  59. homeassistant-stubs/components/arcam_fmj/media_player.pyi +2 -3
  60. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +1 -1
  61. homeassistant-stubs/components/aseko_pool_live/entity.pyi +1 -1
  62. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +32 -0
  63. homeassistant-stubs/components/assist_pipeline/const.pyi +4 -0
  64. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +46 -50
  65. homeassistant-stubs/components/assist_pipeline/vad.pyi +8 -23
  66. homeassistant-stubs/components/assist_pipeline/websocket_api.pyi +2 -2
  67. homeassistant-stubs/components/asuswrt/bridge.pyi +2 -2
  68. homeassistant-stubs/components/asuswrt/sensor.pyi +1 -1
  69. homeassistant-stubs/components/autarco/__init__.pyi +11 -0
  70. homeassistant-stubs/components/autarco/config_flow.pyi +11 -0
  71. homeassistant-stubs/components/autarco/const.pyi +6 -0
  72. homeassistant-stubs/components/autarco/coordinator.pyi +18 -0
  73. homeassistant-stubs/components/autarco/diagnostics.pyi +5 -0
  74. homeassistant-stubs/components/autarco/sensor.pyi +49 -0
  75. homeassistant-stubs/components/auth/__init__.pyi +1 -1
  76. homeassistant-stubs/components/automation/config.pyi +6 -6
  77. homeassistant-stubs/components/automation/trace.pyi +1 -1
  78. homeassistant-stubs/components/awair/sensor.pyi +1 -1
  79. homeassistant-stubs/components/axis/binary_sensor.pyi +1 -1
  80. homeassistant-stubs/components/axis/entity.pyi +1 -1
  81. homeassistant-stubs/components/axis/light.pyi +1 -1
  82. homeassistant-stubs/components/axis/switch.pyi +1 -1
  83. homeassistant-stubs/components/baf/binary_sensor.pyi +1 -1
  84. homeassistant-stubs/components/baf/fan.pyi +1 -0
  85. homeassistant-stubs/components/baf/number.pyi +1 -1
  86. homeassistant-stubs/components/baf/sensor.pyi +1 -1
  87. homeassistant-stubs/components/baf/switch.pyi +1 -1
  88. homeassistant-stubs/components/bang_olufsen/const.pyi +26 -35
  89. homeassistant-stubs/components/bayesian/helpers.pyi +1 -1
  90. homeassistant-stubs/components/binary_sensor/__init__.pyi +29 -29
  91. homeassistant-stubs/components/blueprint/importer.pyi +4 -0
  92. homeassistant-stubs/components/bluetooth/passive_update_coordinator.pyi +2 -2
  93. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +1 -1
  94. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +9 -17
  95. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +5 -5
  96. homeassistant-stubs/components/bmw_connected_drive/button.pyi +4 -5
  97. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +1 -0
  98. homeassistant-stubs/components/bmw_connected_drive/const.pyi +0 -1
  99. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +4 -4
  100. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +4 -5
  101. homeassistant-stubs/components/bmw_connected_drive/entity.pyi +13 -0
  102. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +3 -4
  103. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +4 -8
  104. homeassistant-stubs/components/bmw_connected_drive/number.pyi +4 -5
  105. homeassistant-stubs/components/bmw_connected_drive/select.pyi +4 -5
  106. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +6 -6
  107. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +4 -5
  108. homeassistant-stubs/components/bond/button.pyi +5 -4
  109. homeassistant-stubs/components/bond/cover.pyi +3 -3
  110. homeassistant-stubs/components/bond/entity.pyi +4 -3
  111. homeassistant-stubs/components/bond/fan.pyi +3 -3
  112. homeassistant-stubs/components/bond/light.pyi +3 -3
  113. homeassistant-stubs/components/braviatv/button.pyi +1 -1
  114. homeassistant-stubs/components/braviatv/const.pyi +3 -3
  115. homeassistant-stubs/components/brother/sensor.pyi +1 -1
  116. homeassistant-stubs/components/bryant_evolution/__init__.pyi +17 -0
  117. homeassistant-stubs/components/bryant_evolution/climate.pyi +43 -0
  118. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +15 -0
  119. homeassistant-stubs/components/bryant_evolution/const.pyi +2 -0
  120. homeassistant-stubs/components/bryant_evolution/names.pyi +5 -0
  121. homeassistant-stubs/components/bthome/__init__.pyi +5 -5
  122. homeassistant-stubs/components/bthome/binary_sensor.pyi +3 -4
  123. homeassistant-stubs/components/bthome/coordinator.pyi +2 -2
  124. homeassistant-stubs/components/bthome/event.pyi +2 -3
  125. homeassistant-stubs/components/bthome/sensor.pyi +3 -4
  126. homeassistant-stubs/components/bthome/types.pyi +4 -0
  127. homeassistant-stubs/components/button/__init__.pyi +4 -4
  128. homeassistant-stubs/components/calendar/__init__.pyi +1 -1
  129. homeassistant-stubs/components/calendar/const.pyi +3 -3
  130. homeassistant-stubs/components/camera/__init__.pyi +4 -5
  131. homeassistant-stubs/components/camera/const.pyi +2 -2
  132. homeassistant-stubs/components/camera/prefs.pyi +1 -1
  133. homeassistant-stubs/components/canary/sensor.pyi +1 -1
  134. homeassistant-stubs/components/climate/__init__.pyi +2 -1
  135. homeassistant-stubs/components/climate/const.pyi +24 -23
  136. homeassistant-stubs/components/climate/reproduce_state.pyi +1 -1
  137. homeassistant-stubs/components/cloud/__init__.pyi +2 -2
  138. homeassistant-stubs/components/co2signal/sensor.pyi +1 -1
  139. homeassistant-stubs/components/command_line/__init__.pyi +1 -2
  140. homeassistant-stubs/components/command_line/const.pyi +2 -0
  141. homeassistant-stubs/components/command_line/sensor.pyi +3 -3
  142. homeassistant-stubs/components/config/config_entries.pyi +2 -2
  143. homeassistant-stubs/components/cover/__init__.pyi +19 -19
  144. homeassistant-stubs/components/cover/intent.pyi +1 -1
  145. homeassistant-stubs/components/date/__init__.pyi +1 -1
  146. homeassistant-stubs/components/datetime/__init__.pyi +1 -1
  147. homeassistant-stubs/components/deconz/binary_sensor.pyi +1 -1
  148. homeassistant-stubs/components/deconz/button.pyi +1 -1
  149. homeassistant-stubs/components/deconz/deconz_device.pyi +4 -1
  150. homeassistant-stubs/components/deconz/fan.pyi +1 -0
  151. homeassistant-stubs/components/deconz/number.pyi +1 -1
  152. homeassistant-stubs/components/deconz/sensor.pyi +1 -1
  153. homeassistant-stubs/components/demo/fan.pyi +1 -0
  154. homeassistant-stubs/components/demo/mailbox.pyi +1 -0
  155. homeassistant-stubs/components/device_automation/__init__.pyi +5 -4
  156. homeassistant-stubs/components/device_tracker/config_entry.pyi +10 -9
  157. homeassistant-stubs/components/device_tracker/const.pyi +4 -4
  158. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +3 -1
  159. homeassistant-stubs/components/devolo_home_network/button.pyi +3 -1
  160. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
  161. homeassistant-stubs/components/devolo_home_network/entity.pyi +3 -1
  162. homeassistant-stubs/components/devolo_home_network/image.pyi +3 -1
  163. homeassistant-stubs/components/devolo_home_network/sensor.pyi +4 -3
  164. homeassistant-stubs/components/devolo_home_network/switch.pyi +2 -1
  165. homeassistant-stubs/components/devolo_home_network/update.pyi +3 -1
  166. homeassistant-stubs/components/diagnostics/__init__.pyi +1 -1
  167. homeassistant-stubs/components/diagnostics/const.pyi +2 -2
  168. homeassistant-stubs/components/discovergy/sensor.pyi +1 -1
  169. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +1 -1
  170. homeassistant-stubs/components/doorbird/__init__.pyi +7 -12
  171. homeassistant-stubs/components/doorbird/button.pyi +11 -12
  172. homeassistant-stubs/components/doorbird/camera.pyi +3 -6
  173. homeassistant-stubs/components/doorbird/config_flow.pyi +10 -3
  174. homeassistant-stubs/components/doorbird/const.pyi +6 -3
  175. homeassistant-stubs/components/doorbird/device.pyi +33 -14
  176. homeassistant-stubs/components/doorbird/event.pyi +23 -0
  177. homeassistant-stubs/components/doorbird/logbook.pyi +1 -1
  178. homeassistant-stubs/components/doorbird/models.pyi +3 -0
  179. homeassistant-stubs/components/doorbird/util.pyi +3 -2
  180. homeassistant-stubs/components/doorbird/view.pyi +1 -1
  181. homeassistant-stubs/components/dormakaba_dkey/binary_sensor.pyi +1 -1
  182. homeassistant-stubs/components/dsmr/__init__.pyi +14 -4
  183. homeassistant-stubs/components/dsmr/const.pyi +0 -1
  184. homeassistant-stubs/components/dsmr/diagnostics.pyi +6 -0
  185. homeassistant-stubs/components/dsmr/sensor.pyi +19 -10
  186. homeassistant-stubs/components/easyenergy/sensor.pyi +1 -1
  187. homeassistant-stubs/components/easyenergy/services.pyi +3 -3
  188. homeassistant-stubs/components/ecovacs/__init__.pyi +1 -0
  189. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  190. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  191. homeassistant-stubs/components/ecovacs/const.pyi +3 -2
  192. homeassistant-stubs/components/ecovacs/controller.pyi +3 -0
  193. homeassistant-stubs/components/ecovacs/entity.pyi +15 -1
  194. homeassistant-stubs/components/ecovacs/number.pyi +3 -3
  195. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  196. homeassistant-stubs/components/ecovacs/sensor.pyi +19 -4
  197. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  198. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -9
  199. homeassistant-stubs/components/ecowitt/__init__.pyi +4 -2
  200. homeassistant-stubs/components/ecowitt/binary_sensor.pyi +3 -4
  201. homeassistant-stubs/components/ecowitt/diagnostics.pyi +2 -3
  202. homeassistant-stubs/components/ecowitt/sensor.pyi +3 -4
  203. homeassistant-stubs/components/electric_kiwi/sensor.pyi +2 -2
  204. homeassistant-stubs/components/elevenlabs/__init__.pyi +23 -0
  205. homeassistant-stubs/components/elevenlabs/config_flow.pyi +26 -0
  206. homeassistant-stubs/components/elevenlabs/const.pyi +4 -0
  207. homeassistant-stubs/components/elevenlabs/tts.pyi +30 -0
  208. homeassistant-stubs/components/elgato/button.pyi +1 -1
  209. homeassistant-stubs/components/elgato/sensor.pyi +1 -1
  210. homeassistant-stubs/components/elgato/switch.pyi +1 -1
  211. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -2
  212. homeassistant-stubs/components/energy/data.pyi +1 -2
  213. homeassistant-stubs/components/energy/types.pyi +2 -3
  214. homeassistant-stubs/components/energy/validate.pyi +2 -2
  215. homeassistant-stubs/components/energyzero/sensor.pyi +1 -1
  216. homeassistant-stubs/components/energyzero/services.pyi +2 -2
  217. homeassistant-stubs/components/enigma2/__init__.pyi +3 -5
  218. homeassistant-stubs/components/enigma2/coordinator.pyi +19 -0
  219. homeassistant-stubs/components/enigma2/media_player.pyi +6 -8
  220. homeassistant-stubs/components/enphase_envoy/__init__.pyi +4 -5
  221. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +4 -5
  222. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -1
  223. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +3 -4
  224. homeassistant-stubs/components/enphase_envoy/number.pyi +4 -5
  225. homeassistant-stubs/components/enphase_envoy/select.pyi +4 -5
  226. homeassistant-stubs/components/enphase_envoy/sensor.pyi +10 -11
  227. homeassistant-stubs/components/enphase_envoy/switch.pyi +5 -8
  228. homeassistant-stubs/components/eq3btsmart/const.pyi +10 -10
  229. homeassistant-stubs/components/eq3btsmart/models.pyi +1 -1
  230. homeassistant-stubs/components/esphome/domain_data.pyi +1 -1
  231. homeassistant-stubs/components/esphome/entity.pyi +2 -3
  232. homeassistant-stubs/components/esphome/entry_data.pyi +1 -1
  233. homeassistant-stubs/components/esphome/fan.pyi +1 -0
  234. homeassistant-stubs/components/esphome/voice_assistant.pyi +1 -0
  235. homeassistant-stubs/components/event/__init__.pyi +4 -4
  236. homeassistant-stubs/components/evohome/__init__.pyi +18 -34
  237. homeassistant-stubs/components/evohome/climate.pyi +3 -2
  238. homeassistant-stubs/components/evohome/coordinator.pyi +11 -16
  239. homeassistant-stubs/components/evohome/entity.pyi +37 -0
  240. homeassistant-stubs/components/evohome/water_heater.pyi +2 -1
  241. homeassistant-stubs/components/faa_delays/binary_sensor.pyi +1 -1
  242. homeassistant-stubs/components/fan/__init__.pyi +13 -7
  243. homeassistant-stubs/components/feedreader/__init__.pyi +1 -1
  244. homeassistant-stubs/components/feedreader/const.pyi +7 -5
  245. homeassistant-stubs/components/feedreader/coordinator.pyi +11 -7
  246. homeassistant-stubs/components/feedreader/event.pyi +30 -0
  247. homeassistant-stubs/components/fitbit/const.pyi +11 -11
  248. homeassistant-stubs/components/fitbit/sensor.pyi +1 -1
  249. homeassistant-stubs/components/flexit_bacnet/binary_sensor.pyi +1 -1
  250. homeassistant-stubs/components/flexit_bacnet/number.pyi +1 -1
  251. homeassistant-stubs/components/flexit_bacnet/sensor.pyi +1 -1
  252. homeassistant-stubs/components/flexit_bacnet/switch.pyi +1 -1
  253. homeassistant-stubs/components/forecast_solar/sensor.pyi +1 -1
  254. homeassistant-stubs/components/fritz/binary_sensor.pyi +1 -1
  255. homeassistant-stubs/components/fritz/button.pyi +1 -1
  256. homeassistant-stubs/components/fritz/config_flow.pyi +1 -0
  257. homeassistant-stubs/components/fritz/const.pyi +3 -3
  258. homeassistant-stubs/components/fritz/coordinator.pyi +3 -3
  259. homeassistant-stubs/components/fritz/entity.pyi +1 -1
  260. homeassistant-stubs/components/fritz/sensor.pyi +1 -1
  261. homeassistant-stubs/components/fritz/update.pyi +1 -1
  262. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +1 -1
  263. homeassistant-stubs/components/fritzbox/sensor.pyi +1 -1
  264. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +5 -5
  265. homeassistant-stubs/components/fritzbox_callmonitor/const.pyi +4 -4
  266. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +4 -4
  267. homeassistant-stubs/components/fronius/const.pyi +21 -21
  268. homeassistant-stubs/components/fronius/sensor.pyi +1 -1
  269. homeassistant-stubs/components/frontend/__init__.pyi +3 -2
  270. homeassistant-stubs/components/fully_kiosk/button.pyi +1 -1
  271. homeassistant-stubs/components/fully_kiosk/image.pyi +1 -1
  272. homeassistant-stubs/components/fully_kiosk/notify.pyi +1 -1
  273. homeassistant-stubs/components/fully_kiosk/sensor.pyi +1 -1
  274. homeassistant-stubs/components/fully_kiosk/switch.pyi +1 -1
  275. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +1 -0
  276. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  277. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -1
  278. homeassistant-stubs/components/generic_thermostat/__init__.pyi +2 -5
  279. homeassistant-stubs/components/generic_thermostat/climate.pyi +10 -15
  280. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +2 -1
  281. homeassistant-stubs/components/generic_thermostat/const.pyi +14 -0
  282. homeassistant-stubs/components/geocaching/sensor.pyi +1 -1
  283. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  284. homeassistant-stubs/components/glances/sensor.pyi +1 -1
  285. homeassistant-stubs/components/google/const.pyi +5 -5
  286. homeassistant-stubs/components/gpsd/__init__.pyi +5 -3
  287. homeassistant-stubs/components/gpsd/config_flow.pyi +2 -0
  288. homeassistant-stubs/components/gpsd/sensor.pyi +6 -5
  289. homeassistant-stubs/components/group/button.pyi +28 -0
  290. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  291. homeassistant-stubs/components/group/fan.pyi +1 -0
  292. homeassistant-stubs/components/group/notify.pyi +19 -3
  293. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  294. homeassistant-stubs/components/guardian/binary_sensor.pyi +2 -2
  295. homeassistant-stubs/components/guardian/button.pyi +1 -1
  296. homeassistant-stubs/components/guardian/sensor.pyi +2 -2
  297. homeassistant-stubs/components/guardian/switch.pyi +1 -1
  298. homeassistant-stubs/components/guardian/valve.pyi +9 -9
  299. homeassistant-stubs/components/here_travel_time/config_flow.pyi +4 -1
  300. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  301. homeassistant-stubs/components/history_stats/__init__.pyi +13 -4
  302. homeassistant-stubs/components/history_stats/config_flow.pyi +19 -0
  303. homeassistant-stubs/components/history_stats/const.pyi +14 -0
  304. homeassistant-stubs/components/history_stats/sensor.pyi +6 -11
  305. homeassistant-stubs/components/homeassistant/__init__.pyi +4 -4
  306. homeassistant-stubs/components/homeassistant/logbook.pyi +1 -1
  307. homeassistant-stubs/components/homeassistant/repairs.pyi +15 -0
  308. homeassistant-stubs/components/homeassistant/scene.pyi +1 -0
  309. homeassistant-stubs/components/homeassistant_hardware/const.pyi +7 -0
  310. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +59 -0
  311. homeassistant-stubs/components/homeassistant_hardware/util.pyi +24 -0
  312. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -1
  313. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +19 -49
  314. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +2 -10
  315. homeassistant-stubs/components/homeassistant_sky_connect/util.pyi +2 -20
  316. homeassistant-stubs/components/homekit/__init__.pyi +17 -8
  317. homeassistant-stubs/components/homekit/accessories.pyi +1 -1
  318. homeassistant-stubs/components/homekit/aidmanager.pyi +1 -1
  319. homeassistant-stubs/components/homekit/diagnostics.pyi +2 -4
  320. homeassistant-stubs/components/homekit/models.pyi +4 -1
  321. homeassistant-stubs/components/homekit/type_cameras.pyi +5 -3
  322. homeassistant-stubs/components/homekit/type_switches.pyi +17 -6
  323. homeassistant-stubs/components/homekit/util.pyi +1 -1
  324. homeassistant-stubs/components/homekit_controller/button.pyi +1 -1
  325. homeassistant-stubs/components/homekit_controller/select.pyi +1 -1
  326. homeassistant-stubs/components/homekit_controller/utils.pyi +1 -2
  327. homeassistant-stubs/components/homewizard/__init__.pyi +7 -5
  328. homeassistant-stubs/components/homewizard/button.pyi +2 -3
  329. homeassistant-stubs/components/homewizard/const.pyi +1 -1
  330. homeassistant-stubs/components/homewizard/diagnostics.pyi +2 -4
  331. homeassistant-stubs/components/homewizard/number.pyi +2 -3
  332. homeassistant-stubs/components/homewizard/sensor.pyi +4 -4
  333. homeassistant-stubs/components/homewizard/switch.pyi +4 -4
  334. homeassistant-stubs/components/homeworks/__init__.pyi +1 -1
  335. homeassistant-stubs/components/homeworks/config_flow.pyi +5 -3
  336. homeassistant-stubs/components/http/__init__.pyi +1 -1
  337. homeassistant-stubs/components/http/decorators.pyi +2 -1
  338. homeassistant-stubs/components/huawei_lte/select.pyi +1 -1
  339. homeassistant-stubs/components/huawei_lte/sensor.pyi +2 -2
  340. homeassistant-stubs/components/humidifier/__init__.pyi +3 -3
  341. homeassistant-stubs/components/humidifier/const.pyi +5 -5
  342. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -1
  343. homeassistant-stubs/components/husqvarna_automower/entity.pyi +6 -1
  344. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +6 -5
  345. homeassistant-stubs/components/husqvarna_automower/number.pyi +3 -5
  346. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -2
  347. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +9 -2
  348. homeassistant-stubs/components/husqvarna_automower/switch.pyi +1 -3
  349. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +14 -2
  350. homeassistant-stubs/components/hydrawise/const.pyi +5 -2
  351. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  352. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  353. homeassistant-stubs/components/hydrawise/valve.pyi +24 -0
  354. homeassistant-stubs/components/ibeacon/sensor.pyi +1 -1
  355. homeassistant-stubs/components/idasen_desk/button.pyi +1 -1
  356. homeassistant-stubs/components/idasen_desk/sensor.pyi +1 -1
  357. homeassistant-stubs/components/image/__init__.pyi +1 -1
  358. homeassistant-stubs/components/image_processing/__init__.pyi +4 -4
  359. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  360. homeassistant-stubs/components/imgw_pib/binary_sensor.pyi +1 -1
  361. homeassistant-stubs/components/imgw_pib/sensor.pyi +1 -1
  362. homeassistant-stubs/components/integration/sensor.pyi +2 -2
  363. homeassistant-stubs/components/intent/__init__.pyi +10 -0
  364. homeassistant-stubs/components/intent/timers.pyi +7 -7
  365. homeassistant-stubs/components/ios/__init__.pyi +1 -1
  366. homeassistant-stubs/components/ios/const.pyi +1 -0
  367. homeassistant-stubs/components/iotty/__init__.pyi +21 -0
  368. homeassistant-stubs/components/iotty/api.pyi +15 -0
  369. homeassistant-stubs/components/iotty/application_credentials.pyi +7 -0
  370. homeassistant-stubs/components/iotty/config_flow.pyi +8 -0
  371. homeassistant-stubs/components/iotty/const.pyi +1 -0
  372. homeassistant-stubs/components/iotty/coordinator.pyi +29 -0
  373. homeassistant-stubs/components/iotty/switch.pyi +34 -0
  374. homeassistant-stubs/components/ipp/sensor.pyi +1 -1
  375. homeassistant-stubs/components/isy994/fan.pyi +1 -0
  376. homeassistant-stubs/components/isy994/switch.pyi +1 -1
  377. homeassistant-stubs/components/jellyfin/__init__.pyi +5 -3
  378. homeassistant-stubs/components/jellyfin/config_flow.pyi +4 -5
  379. homeassistant-stubs/components/jellyfin/coordinator.pyi +0 -2
  380. homeassistant-stubs/components/jellyfin/diagnostics.pyi +2 -4
  381. homeassistant-stubs/components/jellyfin/media_player.pyi +2 -3
  382. homeassistant-stubs/components/jellyfin/media_source.pyi +2 -3
  383. homeassistant-stubs/components/jellyfin/sensor.pyi +3 -5
  384. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +2 -2
  385. homeassistant-stubs/components/jvc_projector/select.pyi +1 -1
  386. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -1
  387. homeassistant-stubs/components/knocki/coordinator.pyi +2 -2
  388. homeassistant-stubs/components/knx/__init__.pyi +7 -3
  389. homeassistant-stubs/components/knx/climate.pyi +1 -0
  390. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  391. homeassistant-stubs/components/knx/const.pyi +5 -4
  392. homeassistant-stubs/components/knx/date.pyi +4 -7
  393. homeassistant-stubs/components/knx/datetime.pyi +4 -4
  394. homeassistant-stubs/components/knx/device.pyi +2 -1
  395. homeassistant-stubs/components/knx/expose.pyi +4 -5
  396. homeassistant-stubs/components/knx/fan.pyi +1 -0
  397. homeassistant-stubs/components/knx/knx_entity.pyi +2 -1
  398. homeassistant-stubs/components/knx/light.pyi +30 -10
  399. homeassistant-stubs/components/knx/project.pyi +3 -2
  400. homeassistant-stubs/components/knx/schema.pyi +5 -2
  401. homeassistant-stubs/components/knx/select.pyi +1 -1
  402. homeassistant-stubs/components/knx/sensor.pyi +2 -2
  403. homeassistant-stubs/components/knx/services.pyi +1 -1
  404. homeassistant-stubs/components/knx/storage/config_store.pyi +37 -0
  405. homeassistant-stubs/components/knx/storage/const.pyi +25 -0
  406. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +36 -0
  407. homeassistant-stubs/components/knx/storage/entity_store_validation.pyi +25 -0
  408. homeassistant-stubs/components/knx/storage/knx_selector.pyi +21 -0
  409. homeassistant-stubs/components/knx/switch.pyi +19 -7
  410. homeassistant-stubs/components/knx/telegrams.pyi +5 -6
  411. homeassistant-stubs/components/knx/time.pyi +4 -4
  412. homeassistant-stubs/components/knx/trigger.pyi +1 -1
  413. homeassistant-stubs/components/knx/validation.pyi +4 -1
  414. homeassistant-stubs/components/knx/websocket.pyi +17 -1
  415. homeassistant-stubs/components/kraken/sensor.pyi +1 -1
  416. homeassistant-stubs/components/lacrosse_view/sensor.pyi +1 -1
  417. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  418. homeassistant-stubs/components/lamarzocco/button.pyi +1 -1
  419. homeassistant-stubs/components/lamarzocco/entity.pyi +1 -1
  420. homeassistant-stubs/components/lamarzocco/number.pyi +2 -2
  421. homeassistant-stubs/components/lamarzocco/select.pyi +1 -1
  422. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  423. homeassistant-stubs/components/lamarzocco/switch.pyi +1 -1
  424. homeassistant-stubs/components/lamarzocco/update.pyi +3 -1
  425. homeassistant-stubs/components/lametric/button.pyi +1 -1
  426. homeassistant-stubs/components/lametric/number.pyi +1 -1
  427. homeassistant-stubs/components/lametric/select.pyi +1 -1
  428. homeassistant-stubs/components/lametric/sensor.pyi +1 -1
  429. homeassistant-stubs/components/lametric/switch.pyi +1 -1
  430. homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -2
  431. homeassistant-stubs/components/laundrify/const.pyi +3 -1
  432. homeassistant-stubs/components/laundrify/coordinator.pyi +1 -2
  433. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -1
  434. homeassistant-stubs/components/lawn_mower/const.pyi +7 -7
  435. homeassistant-stubs/components/lcn/schemas.pyi +9 -8
  436. homeassistant-stubs/components/lidarr/sensor.pyi +1 -1
  437. homeassistant-stubs/components/lifx/const.pyi +1 -0
  438. homeassistant-stubs/components/lifx/coordinator.pyi +20 -7
  439. homeassistant-stubs/components/lifx/light.pyi +5 -2
  440. homeassistant-stubs/components/lifx/manager.pyi +12 -1
  441. homeassistant-stubs/components/light/__init__.pyi +16 -17
  442. homeassistant-stubs/components/linkplay/__init__.pyi +14 -0
  443. homeassistant-stubs/components/linkplay/config_flow.pyi +14 -0
  444. homeassistant-stubs/components/linkplay/const.pyi +5 -0
  445. homeassistant-stubs/components/linkplay/media_player.pyi +66 -0
  446. homeassistant-stubs/components/linkplay/utils.pyi +9 -0
  447. homeassistant-stubs/components/litterrobot/binary_sensor.pyi +1 -1
  448. homeassistant-stubs/components/litterrobot/button.pyi +1 -1
  449. homeassistant-stubs/components/litterrobot/hub.pyi +2 -2
  450. homeassistant-stubs/components/litterrobot/select.pyi +1 -1
  451. homeassistant-stubs/components/litterrobot/sensor.pyi +1 -1
  452. homeassistant-stubs/components/litterrobot/switch.pyi +1 -1
  453. homeassistant-stubs/components/litterrobot/time.pyi +1 -1
  454. homeassistant-stubs/components/lock/__init__.pyi +2 -2
  455. homeassistant-stubs/components/logbook/models.pyi +2 -2
  456. homeassistant-stubs/components/logbook/processor.pyi +2 -3
  457. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -1
  458. homeassistant-stubs/components/logger/helpers.pyi +5 -5
  459. homeassistant-stubs/components/madvr/__init__.pyi +13 -0
  460. homeassistant-stubs/components/madvr/binary_sensor.pyi +30 -0
  461. homeassistant-stubs/components/madvr/config_flow.pyi +17 -0
  462. homeassistant-stubs/components/madvr/const.pyi +29 -0
  463. homeassistant-stubs/components/madvr/coordinator.pyi +18 -0
  464. homeassistant-stubs/components/madvr/entity.pyi +10 -0
  465. homeassistant-stubs/components/madvr/errors.pyi +1 -0
  466. homeassistant-stubs/components/madvr/remote.pyi +24 -0
  467. homeassistant-stubs/components/madvr/sensor.pyi +31 -0
  468. homeassistant-stubs/components/mastodon/__init__.pyi +11 -0
  469. homeassistant-stubs/components/mastodon/config_flow.pyi +18 -0
  470. homeassistant-stubs/components/mastodon/const.pyi +7 -0
  471. homeassistant-stubs/components/mastodon/notify.pyi +8 -5
  472. homeassistant-stubs/components/mastodon/utils.pyi +5 -0
  473. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  474. homeassistant-stubs/components/matter/__init__.pyi +1 -0
  475. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  476. homeassistant-stubs/components/matter/climate.pyi +11 -13
  477. homeassistant-stubs/components/matter/cover.pyi +4 -4
  478. homeassistant-stubs/components/matter/discovery.pyi +1 -1
  479. homeassistant-stubs/components/matter/entity.pyi +2 -1
  480. homeassistant-stubs/components/matter/fan.pyi +4 -0
  481. homeassistant-stubs/components/matter/light.pyi +2 -0
  482. homeassistant-stubs/components/matter/lock.pyi +3 -6
  483. homeassistant-stubs/components/matter/models.pyi +1 -1
  484. homeassistant-stubs/components/matter/number.pyi +1 -1
  485. homeassistant-stubs/components/matter/select.pyi +34 -0
  486. homeassistant-stubs/components/matter/sensor.pyi +1 -1
  487. homeassistant-stubs/components/matter/update.pyi +53 -0
  488. homeassistant-stubs/components/media_player/__init__.pyi +8 -8
  489. homeassistant-stubs/components/media_player/const.pyi +72 -72
  490. homeassistant-stubs/components/media_player/intent.pyi +2 -4
  491. homeassistant-stubs/components/minecraft_server/api.pyi +3 -3
  492. homeassistant-stubs/components/minecraft_server/sensor.pyi +1 -1
  493. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  494. homeassistant-stubs/components/modbus/const.pyi +11 -11
  495. homeassistant-stubs/components/modbus/fan.pyi +3 -1
  496. homeassistant-stubs/components/modbus/validators.pyi +2 -3
  497. homeassistant-stubs/components/monzo/sensor.pyi +1 -1
  498. homeassistant-stubs/components/mopeka/__init__.pyi +5 -3
  499. homeassistant-stubs/components/mopeka/config_flow.pyi +18 -1
  500. homeassistant-stubs/components/mopeka/const.pyi +5 -0
  501. homeassistant-stubs/components/mopeka/sensor.pyi +3 -4
  502. homeassistant-stubs/components/mqtt/client.pyi +3 -4
  503. homeassistant-stubs/components/mqtt/device_trigger.pyi +2 -2
  504. homeassistant-stubs/components/mqtt/fan.pyi +1 -0
  505. homeassistant-stubs/components/mqtt/models.pyi +4 -4
  506. homeassistant-stubs/components/mqtt/subscription.pyi +1 -1
  507. homeassistant-stubs/components/mqtt/switch.pyi +3 -2
  508. homeassistant-stubs/components/mqtt/vacuum.pyi +2 -7
  509. homeassistant-stubs/components/mysensors/binary_sensor.pyi +1 -1
  510. homeassistant-stubs/components/mysensors/cover.pyi +4 -4
  511. homeassistant-stubs/components/myuplink/select.pyi +23 -0
  512. homeassistant-stubs/components/nam/sensor.pyi +1 -1
  513. homeassistant-stubs/components/nest/media_source.pyi +1 -1
  514. homeassistant-stubs/components/netatmo/fan.pyi +1 -0
  515. homeassistant-stubs/components/netatmo/helper.pyi +1 -1
  516. homeassistant-stubs/components/netatmo/sensor.pyi +2 -2
  517. homeassistant-stubs/components/nextdns/binary_sensor.pyi +1 -1
  518. homeassistant-stubs/components/nextdns/sensor.pyi +1 -1
  519. homeassistant-stubs/components/nextdns/switch.pyi +1 -1
  520. homeassistant-stubs/components/notify/__init__.pyi +2 -2
  521. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -1
  522. homeassistant-stubs/components/notion/config_flow.pyi +1 -1
  523. homeassistant-stubs/components/notion/coordinator.pyi +1 -1
  524. homeassistant-stubs/components/notion/sensor.pyi +1 -1
  525. homeassistant-stubs/components/number/__init__.pyi +1 -1
  526. homeassistant-stubs/components/number/const.pyi +52 -52
  527. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  528. homeassistant-stubs/components/oncue/__init__.pyi +3 -4
  529. homeassistant-stubs/components/oncue/binary_sensor.pyi +2 -5
  530. homeassistant-stubs/components/oncue/sensor.pyi +2 -3
  531. homeassistant-stubs/components/oncue/types.pyi +5 -0
  532. homeassistant-stubs/components/onewire/binary_sensor.pyi +1 -1
  533. homeassistant-stubs/components/onewire/onewire_entities.pyi +1 -1
  534. homeassistant-stubs/components/onewire/sensor.pyi +1 -1
  535. homeassistant-stubs/components/onewire/switch.pyi +1 -1
  536. homeassistant-stubs/components/openuv/sensor.pyi +1 -1
  537. homeassistant-stubs/components/oralb/__init__.pyi +3 -3
  538. homeassistant-stubs/components/oralb/sensor.pyi +3 -4
  539. homeassistant-stubs/components/otbr/websocket_api.pyi +6 -3
  540. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +1 -1
  541. homeassistant-stubs/components/overkiz/binary_sensor.pyi +1 -1
  542. homeassistant-stubs/components/overkiz/button.pyi +1 -1
  543. homeassistant-stubs/components/overkiz/climate.pyi +1 -1
  544. homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +3 -2
  545. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heat_pump_main_component.pyi +18 -0
  546. homeassistant-stubs/components/overkiz/number.pyi +1 -1
  547. homeassistant-stubs/components/overkiz/select.pyi +1 -1
  548. homeassistant-stubs/components/overkiz/sensor.pyi +1 -1
  549. homeassistant-stubs/components/overkiz/switch.pyi +1 -1
  550. homeassistant-stubs/components/p1_monitor/coordinator.pyi +1 -1
  551. homeassistant-stubs/components/peco/sensor.pyi +1 -1
  552. homeassistant-stubs/components/persistent_notification/__init__.pyi +4 -4
  553. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +1 -1
  554. homeassistant-stubs/components/pi_hole/update.pyi +1 -1
  555. homeassistant-stubs/components/ping/entity.pyi +0 -1
  556. homeassistant-stubs/components/ping/sensor.pyi +1 -1
  557. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -1
  558. homeassistant-stubs/components/plugwise/number.pyi +1 -1
  559. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  560. homeassistant-stubs/components/plugwise/sensor.pyi +1 -1
  561. homeassistant-stubs/components/plugwise/switch.pyi +1 -1
  562. homeassistant-stubs/components/powerwall/__init__.pyi +4 -4
  563. homeassistant-stubs/components/powerwall/binary_sensor.pyi +2 -4
  564. homeassistant-stubs/components/powerwall/models.pyi +4 -1
  565. homeassistant-stubs/components/powerwall/sensor.pyi +4 -6
  566. homeassistant-stubs/components/powerwall/switch.pyi +2 -4
  567. homeassistant-stubs/components/private_ble_device/sensor.pyi +1 -1
  568. homeassistant-stubs/components/prometheus/__init__.pyi +3 -1
  569. homeassistant-stubs/components/prusalink/__init__.pyi +1 -1
  570. homeassistant-stubs/components/prusalink/binary_sensor.pyi +36 -0
  571. homeassistant-stubs/components/prusalink/button.pyi +1 -1
  572. homeassistant-stubs/components/prusalink/coordinator.pyi +4 -1
  573. homeassistant-stubs/components/prusalink/sensor.pyi +3 -3
  574. homeassistant-stubs/components/pure_energie/sensor.pyi +1 -1
  575. homeassistant-stubs/components/purpleair/config_flow.pyi +1 -1
  576. homeassistant-stubs/components/purpleair/sensor.pyi +1 -1
  577. homeassistant-stubs/components/pvoutput/sensor.pyi +1 -1
  578. homeassistant-stubs/components/qnap_qsw/binary_sensor.pyi +1 -1
  579. homeassistant-stubs/components/qnap_qsw/button.pyi +1 -1
  580. homeassistant-stubs/components/qnap_qsw/entity.pyi +1 -1
  581. homeassistant-stubs/components/qnap_qsw/sensor.pyi +1 -1
  582. homeassistant-stubs/components/rabbitair/fan.pyi +1 -0
  583. homeassistant-stubs/components/radarr/coordinator.pyi +1 -1
  584. homeassistant-stubs/components/radarr/sensor.pyi +1 -1
  585. homeassistant-stubs/components/rainforest_raven/sensor.pyi +1 -1
  586. homeassistant-stubs/components/rainmachine/__init__.pyi +8 -7
  587. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +4 -5
  588. homeassistant-stubs/components/rainmachine/button.pyi +4 -5
  589. homeassistant-stubs/components/rainmachine/coordinator.pyi +3 -3
  590. homeassistant-stubs/components/rainmachine/diagnostics.pyi +3 -4
  591. homeassistant-stubs/components/rainmachine/model.pyi +1 -1
  592. homeassistant-stubs/components/rainmachine/select.pyi +5 -5
  593. homeassistant-stubs/components/rainmachine/sensor.pyi +5 -5
  594. homeassistant-stubs/components/rainmachine/switch.pyi +6 -6
  595. homeassistant-stubs/components/rainmachine/update.pyi +9 -10
  596. homeassistant-stubs/components/rainmachine/util.pyi +4 -4
  597. homeassistant-stubs/components/rdw/binary_sensor.pyi +1 -1
  598. homeassistant-stubs/components/rdw/sensor.pyi +1 -1
  599. homeassistant-stubs/components/recorder/__init__.pyi +2 -1
  600. homeassistant-stubs/components/recorder/basic_websocket_api.pyi +7 -0
  601. homeassistant-stubs/components/recorder/const.pyi +5 -8
  602. homeassistant-stubs/components/recorder/core.pyi +16 -16
  603. homeassistant-stubs/components/recorder/db_schema.pyi +19 -6
  604. homeassistant-stubs/components/recorder/migration.pyi +221 -24
  605. homeassistant-stubs/components/recorder/models/context.pyi +1 -3
  606. homeassistant-stubs/components/recorder/statistics.pyi +2 -2
  607. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +0 -1
  608. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +0 -1
  609. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +1 -0
  610. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +0 -1
  611. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +1 -0
  612. homeassistant-stubs/components/recorder/tasks.pyi +0 -24
  613. homeassistant-stubs/components/recorder/util.pyi +8 -6
  614. homeassistant-stubs/components/recorder/websocket_api.pyi +0 -1
  615. homeassistant-stubs/components/remote/__init__.pyi +4 -4
  616. homeassistant-stubs/components/renault/binary_sensor.pyi +1 -1
  617. homeassistant-stubs/components/renault/button.pyi +1 -1
  618. homeassistant-stubs/components/renault/entity.pyi +1 -1
  619. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -1
  620. homeassistant-stubs/components/renault/select.pyi +1 -1
  621. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  622. homeassistant-stubs/components/repairs/websocket_api.pyi +1 -1
  623. homeassistant-stubs/components/rfxtrx/sensor.pyi +1 -1
  624. homeassistant-stubs/components/ring/binary_sensor.pyi +1 -1
  625. homeassistant-stubs/components/ring/light.pyi +2 -2
  626. homeassistant-stubs/components/ring/sensor.pyi +1 -1
  627. homeassistant-stubs/components/rituals_perfume_genie/binary_sensor.pyi +1 -1
  628. homeassistant-stubs/components/rituals_perfume_genie/number.pyi +1 -1
  629. homeassistant-stubs/components/rituals_perfume_genie/select.pyi +1 -1
  630. homeassistant-stubs/components/rituals_perfume_genie/sensor.pyi +1 -1
  631. homeassistant-stubs/components/rituals_perfume_genie/switch.pyi +1 -1
  632. homeassistant-stubs/components/roborock/__init__.pyi +4 -3
  633. homeassistant-stubs/components/roborock/binary_sensor.pyi +3 -6
  634. homeassistant-stubs/components/roborock/button.pyi +3 -6
  635. homeassistant-stubs/components/roborock/coordinator.pyi +8 -2
  636. homeassistant-stubs/components/roborock/diagnostics.pyi +2 -4
  637. homeassistant-stubs/components/roborock/image.pyi +2 -3
  638. homeassistant-stubs/components/roborock/number.pyi +3 -6
  639. homeassistant-stubs/components/roborock/select.pyi +12 -6
  640. homeassistant-stubs/components/roborock/sensor.pyi +6 -9
  641. homeassistant-stubs/components/roborock/switch.pyi +3 -6
  642. homeassistant-stubs/components/roborock/time.pyi +3 -6
  643. homeassistant-stubs/components/roborock/vacuum.pyi +2 -4
  644. homeassistant-stubs/components/roku/binary_sensor.pyi +1 -1
  645. homeassistant-stubs/components/roku/browse_media.pyi +2 -1
  646. homeassistant-stubs/components/roku/select.pyi +1 -1
  647. homeassistant-stubs/components/roku/sensor.pyi +1 -1
  648. homeassistant-stubs/components/samsungtv/bridge.pyi +1 -1
  649. homeassistant-stubs/components/script/__init__.pyi +148 -0
  650. homeassistant-stubs/components/script/config.pyi +39 -0
  651. homeassistant-stubs/components/script/const.pyi +14 -0
  652. homeassistant-stubs/components/script/helpers.pyi +11 -0
  653. homeassistant-stubs/components/script/logbook.pyi +8 -0
  654. homeassistant-stubs/components/script/trace.pyi +10 -0
  655. homeassistant-stubs/components/search/__init__.pyi +14 -13
  656. homeassistant-stubs/components/select/__init__.pyi +1 -1
  657. homeassistant-stubs/components/sensibo/binary_sensor.pyi +2 -2
  658. homeassistant-stubs/components/sensibo/button.pyi +1 -1
  659. homeassistant-stubs/components/sensibo/number.pyi +1 -1
  660. homeassistant-stubs/components/sensibo/select.pyi +1 -1
  661. homeassistant-stubs/components/sensibo/sensor.pyi +2 -2
  662. homeassistant-stubs/components/sensibo/switch.pyi +1 -1
  663. homeassistant-stubs/components/sensibo/update.pyi +1 -1
  664. homeassistant-stubs/components/sensor/__init__.pyi +1 -1
  665. homeassistant-stubs/components/sensor/const.pyi +55 -55
  666. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +1 -1
  667. homeassistant-stubs/components/sfr_box/button.pyi +1 -1
  668. homeassistant-stubs/components/sfr_box/sensor.pyi +1 -1
  669. homeassistant-stubs/components/shelly/binary_sensor.pyi +4 -4
  670. homeassistant-stubs/components/shelly/button.pyi +1 -1
  671. homeassistant-stubs/components/shelly/climate.pyi +1 -1
  672. homeassistant-stubs/components/shelly/const.pyi +6 -3
  673. homeassistant-stubs/components/shelly/coordinator.pyi +1 -1
  674. homeassistant-stubs/components/shelly/entity.pyi +9 -3
  675. homeassistant-stubs/components/shelly/event.pyi +2 -2
  676. homeassistant-stubs/components/shelly/number.pyi +28 -6
  677. homeassistant-stubs/components/shelly/select.pyi +25 -0
  678. homeassistant-stubs/components/shelly/sensor.pyi +6 -4
  679. homeassistant-stubs/components/shelly/switch.pyi +17 -3
  680. homeassistant-stubs/components/shelly/text.pyi +23 -0
  681. homeassistant-stubs/components/shelly/update.pyi +2 -2
  682. homeassistant-stubs/components/shelly/utils.pyi +3 -1
  683. homeassistant-stubs/components/shelly/valve.pyi +1 -1
  684. homeassistant-stubs/components/simplisafe/button.pyi +1 -1
  685. homeassistant-stubs/components/simplisafe/typing.pyi +3 -2
  686. homeassistant-stubs/components/siren/__init__.pyi +1 -1
  687. homeassistant-stubs/components/siren/const.pyi +5 -5
  688. homeassistant-stubs/components/skybell/sensor.pyi +1 -1
  689. homeassistant-stubs/components/sleepiq/button.pyi +1 -1
  690. homeassistant-stubs/components/sleepiq/entity.pyi +1 -1
  691. homeassistant-stubs/components/sleepiq/number.pyi +1 -1
  692. homeassistant-stubs/components/snooz/fan.pyi +1 -0
  693. homeassistant-stubs/components/sonarr/sensor.pyi +1 -1
  694. homeassistant-stubs/components/speedtestdotnet/sensor.pyi +1 -1
  695. homeassistant-stubs/components/ssdp/__init__.pyi +1 -1
  696. homeassistant-stubs/components/starlink/binary_sensor.pyi +1 -1
  697. homeassistant-stubs/components/starlink/button.pyi +1 -1
  698. homeassistant-stubs/components/starlink/device_tracker.pyi +1 -1
  699. homeassistant-stubs/components/starlink/sensor.pyi +1 -1
  700. homeassistant-stubs/components/starlink/switch.pyi +1 -1
  701. homeassistant-stubs/components/starlink/time.pyi +1 -1
  702. homeassistant-stubs/components/steamist/sensor.pyi +1 -1
  703. homeassistant-stubs/components/stream/core.pyi +9 -9
  704. homeassistant-stubs/components/stream/fmp4utils.pyi +1 -1
  705. homeassistant-stubs/components/stream/worker.pyi +1 -2
  706. homeassistant-stubs/components/streamlabswater/entity.pyi +0 -1
  707. homeassistant-stubs/components/streamlabswater/sensor.pyi +1 -1
  708. homeassistant-stubs/components/stt/const.pyi +21 -21
  709. homeassistant-stubs/components/sun/sensor.pyi +1 -1
  710. homeassistant-stubs/components/switch/__init__.pyi +3 -3
  711. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -1
  712. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +2 -1
  713. homeassistant-stubs/components/switcher_kis/button.pyi +1 -1
  714. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +1 -1
  715. homeassistant-stubs/components/synology_dsm/button.pyi +1 -1
  716. homeassistant-stubs/components/synology_dsm/camera.pyi +1 -1
  717. homeassistant-stubs/components/synology_dsm/entity.pyi +1 -1
  718. homeassistant-stubs/components/synology_dsm/sensor.pyi +1 -1
  719. homeassistant-stubs/components/synology_dsm/switch.pyi +1 -1
  720. homeassistant-stubs/components/synology_dsm/update.pyi +1 -1
  721. homeassistant-stubs/components/system_health/__init__.pyi +1 -1
  722. homeassistant-stubs/components/system_log/__init__.pyi +1 -1
  723. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +1 -1
  724. homeassistant-stubs/components/systemmonitor/sensor.pyi +1 -1
  725. homeassistant-stubs/components/tailscale/binary_sensor.pyi +1 -1
  726. homeassistant-stubs/components/tailscale/sensor.pyi +1 -1
  727. homeassistant-stubs/components/tailwind/binary_sensor.pyi +1 -1
  728. homeassistant-stubs/components/tailwind/button.pyi +1 -1
  729. homeassistant-stubs/components/tailwind/number.pyi +1 -1
  730. homeassistant-stubs/components/tami4/button.pyi +1 -1
  731. homeassistant-stubs/components/tautulli/sensor.pyi +2 -2
  732. homeassistant-stubs/components/technove/__init__.pyi +2 -2
  733. homeassistant-stubs/components/technove/binary_sensor.pyi +3 -4
  734. homeassistant-stubs/components/technove/coordinator.pyi +2 -3
  735. homeassistant-stubs/components/technove/diagnostics.pyi +9 -0
  736. homeassistant-stubs/components/technove/number.pyi +37 -0
  737. homeassistant-stubs/components/technove/sensor.pyi +3 -4
  738. homeassistant-stubs/components/technove/switch.pyi +3 -4
  739. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  740. homeassistant-stubs/components/tedee/config_flow.pyi +3 -0
  741. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  742. homeassistant-stubs/components/text/__init__.pyi +3 -3
  743. homeassistant-stubs/components/time/__init__.pyi +1 -1
  744. homeassistant-stubs/components/todo/__init__.pyi +2 -2
  745. homeassistant-stubs/components/todo/const.pyi +19 -9
  746. homeassistant-stubs/components/tolo/const.pyi +4 -5
  747. homeassistant-stubs/components/tolo/fan.pyi +3 -1
  748. homeassistant-stubs/components/tolo/number.pyi +1 -1
  749. homeassistant-stubs/components/tolo/select.pyi +1 -1
  750. homeassistant-stubs/components/tolo/sensor.pyi +1 -1
  751. homeassistant-stubs/components/tolo/switch.pyi +1 -1
  752. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -1
  753. homeassistant-stubs/components/tplink/button.pyi +1 -1
  754. homeassistant-stubs/components/tplink/entity.pyi +1 -1
  755. homeassistant-stubs/components/tplink/fan.pyi +1 -0
  756. homeassistant-stubs/components/tplink/number.pyi +1 -1
  757. homeassistant-stubs/components/tplink/select.pyi +1 -1
  758. homeassistant-stubs/components/tplink/sensor.pyi +1 -1
  759. homeassistant-stubs/components/tplink/switch.pyi +1 -1
  760. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +1 -1
  761. homeassistant-stubs/components/tplink_omada/switch.pyi +4 -4
  762. homeassistant-stubs/components/tractive/sensor.pyi +1 -1
  763. homeassistant-stubs/components/tractive/switch.pyi +1 -1
  764. homeassistant-stubs/components/tradfri/fan.pyi +1 -0
  765. homeassistant-stubs/components/tradfri/sensor.pyi +1 -1
  766. homeassistant-stubs/components/trafikverket_camera/binary_sensor.pyi +1 -1
  767. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +3 -3
  768. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +2 -2
  769. homeassistant-stubs/components/trafikverket_camera/sensor.pyi +1 -1
  770. homeassistant-stubs/components/trafikverket_ferry/coordinator.pyi +1 -1
  771. homeassistant-stubs/components/trafikverket_ferry/sensor.pyi +1 -1
  772. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +3 -3
  773. homeassistant-stubs/components/trafikverket_train/sensor.pyi +1 -1
  774. homeassistant-stubs/components/trafikverket_weatherstation/coordinator.pyi +3 -3
  775. homeassistant-stubs/components/trafikverket_weatherstation/sensor.pyi +3 -3
  776. homeassistant-stubs/components/transmission/sensor.pyi +1 -1
  777. homeassistant-stubs/components/transmission/switch.pyi +1 -1
  778. homeassistant-stubs/components/tts/__init__.pyi +10 -9
  779. homeassistant-stubs/components/tts/const.pyi +1 -3
  780. homeassistant-stubs/components/twentemilieu/sensor.pyi +1 -1
  781. homeassistant-stubs/components/unifi/button.pyi +1 -1
  782. homeassistant-stubs/components/unifi/device_tracker.pyi +6 -5
  783. homeassistant-stubs/components/unifi/entity.pyi +3 -2
  784. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +9 -0
  785. homeassistant-stubs/components/unifi/image.pyi +1 -1
  786. homeassistant-stubs/components/unifi/sensor.pyi +8 -3
  787. homeassistant-stubs/components/unifi/switch.pyi +3 -2
  788. homeassistant-stubs/components/unifi/update.pyi +1 -1
  789. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +10 -14
  790. homeassistant-stubs/components/unifiprotect/button.pyi +7 -6
  791. homeassistant-stubs/components/unifiprotect/camera.pyi +4 -4
  792. homeassistant-stubs/components/unifiprotect/data.pyi +2 -3
  793. homeassistant-stubs/components/unifiprotect/entity.pyi +14 -10
  794. homeassistant-stubs/components/unifiprotect/event.pyi +25 -0
  795. homeassistant-stubs/components/unifiprotect/light.pyi +3 -3
  796. homeassistant-stubs/components/unifiprotect/lock.pyi +3 -3
  797. homeassistant-stubs/components/unifiprotect/media_player.pyi +3 -3
  798. homeassistant-stubs/components/unifiprotect/media_source.pyi +10 -10
  799. homeassistant-stubs/components/unifiprotect/models.pyi +6 -6
  800. homeassistant-stubs/components/unifiprotect/number.pyi +4 -4
  801. homeassistant-stubs/components/unifiprotect/select.pyi +4 -4
  802. homeassistant-stubs/components/unifiprotect/sensor.pyi +6 -6
  803. homeassistant-stubs/components/unifiprotect/switch.pyi +12 -12
  804. homeassistant-stubs/components/unifiprotect/text.pyi +4 -4
  805. homeassistant-stubs/components/unifiprotect/utils.pyi +1 -2
  806. homeassistant-stubs/components/upcloud/__init__.pyi +1 -1
  807. homeassistant-stubs/components/update/__init__.pyi +2 -2
  808. homeassistant-stubs/components/update/const.pyi +5 -5
  809. homeassistant-stubs/components/vacuum/__init__.pyi +15 -15
  810. homeassistant-stubs/components/vallox/binary_sensor.pyi +1 -1
  811. homeassistant-stubs/components/vallox/fan.pyi +1 -0
  812. homeassistant-stubs/components/vallox/number.pyi +1 -1
  813. homeassistant-stubs/components/vallox/sensor.pyi +1 -1
  814. homeassistant-stubs/components/vallox/switch.pyi +1 -1
  815. homeassistant-stubs/components/valve/__init__.pyi +7 -7
  816. homeassistant-stubs/components/wake_on_lan/__init__.pyi +5 -1
  817. homeassistant-stubs/components/wake_on_lan/button.pyi +21 -0
  818. homeassistant-stubs/components/wake_on_lan/config_flow.pyi +20 -0
  819. homeassistant-stubs/components/wake_on_lan/const.pyi +7 -0
  820. homeassistant-stubs/components/wake_on_lan/switch.pyi +2 -5
  821. homeassistant-stubs/components/wake_word/models.pyi +2 -2
  822. homeassistant-stubs/components/wallbox/const.pyi +18 -18
  823. homeassistant-stubs/components/wallbox/number.pyi +1 -1
  824. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  825. homeassistant-stubs/components/waqi/sensor.pyi +1 -1
  826. homeassistant-stubs/components/water_heater/__init__.pyi +5 -5
  827. homeassistant-stubs/components/weather/__init__.pyi +1 -1
  828. homeassistant-stubs/components/weather/const.pyi +3 -3
  829. homeassistant-stubs/components/wemo/__init__.pyi +1 -1
  830. homeassistant-stubs/components/wemo/coordinator.pyi +1 -1
  831. homeassistant-stubs/components/wemo/entity.pyi +1 -1
  832. homeassistant-stubs/components/wemo/fan.pyi +1 -0
  833. homeassistant-stubs/components/wemo/models.pyi +1 -1
  834. homeassistant-stubs/components/wemo/sensor.pyi +1 -1
  835. homeassistant-stubs/components/whois/sensor.pyi +1 -1
  836. homeassistant-stubs/components/withings/__init__.pyi +1 -1
  837. homeassistant-stubs/components/withings/sensor.pyi +5 -5
  838. homeassistant-stubs/components/wiz/__init__.pyi +1 -0
  839. homeassistant-stubs/components/wiz/binary_sensor.pyi +2 -2
  840. homeassistant-stubs/components/wiz/diagnostics.pyi +2 -4
  841. homeassistant-stubs/components/wiz/light.pyi +2 -3
  842. homeassistant-stubs/components/wiz/number.pyi +3 -4
  843. homeassistant-stubs/components/wiz/sensor.pyi +2 -3
  844. homeassistant-stubs/components/wiz/switch.pyi +2 -3
  845. homeassistant-stubs/components/wled/__init__.pyi +7 -2
  846. homeassistant-stubs/components/wled/const.pyi +7 -0
  847. homeassistant-stubs/components/wled/coordinator.pyi +7 -2
  848. homeassistant-stubs/components/wled/helpers.pyi +2 -0
  849. homeassistant-stubs/components/wled/light.pyi +7 -5
  850. homeassistant-stubs/components/wled/number.pyi +2 -2
  851. homeassistant-stubs/components/wled/sensor.pyi +1 -1
  852. homeassistant-stubs/components/wled/switch.pyi +1 -1
  853. homeassistant-stubs/components/wled/update.pyi +7 -3
  854. homeassistant-stubs/components/worldclock/__init__.pyi +7 -0
  855. homeassistant-stubs/components/worldclock/config_flow.pyi +22 -0
  856. homeassistant-stubs/components/worldclock/const.pyi +8 -0
  857. homeassistant-stubs/components/worldclock/sensor.pyi +9 -4
  858. homeassistant-stubs/components/xiaomi_ble/__init__.pyi +4 -4
  859. homeassistant-stubs/components/xiaomi_ble/binary_sensor.pyi +3 -4
  860. homeassistant-stubs/components/xiaomi_ble/coordinator.pyi +2 -2
  861. homeassistant-stubs/components/xiaomi_ble/event.pyi +2 -3
  862. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +3 -4
  863. homeassistant-stubs/components/xiaomi_ble/types.pyi +4 -0
  864. homeassistant-stubs/components/yalexs_ble/sensor.pyi +1 -1
  865. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  866. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +2 -2
  867. homeassistant-stubs/components/zwave_js/discovery.pyi +9 -9
  868. homeassistant-stubs/components/zwave_js/discovery_data_template.pyi +7 -7
  869. homeassistant-stubs/components/zwave_js/fan.pyi +1 -0
  870. homeassistant-stubs/components/zwave_js/helpers.pyi +2 -2
  871. homeassistant-stubs/components/zwave_js/humidifier.pyi +1 -1
  872. homeassistant-stubs/components/zwave_js/migrate.pyi +1 -1
  873. homeassistant-stubs/components/zwave_js/sensor.pyi +1 -1
  874. homeassistant-stubs/components/zwave_js/services.pyi +4 -3
  875. homeassistant-stubs/config.pyi +10 -10
  876. homeassistant-stubs/config_entries.pyi +18 -14
  877. homeassistant-stubs/const.pyi +161 -160
  878. homeassistant-stubs/core.pyi +29 -26
  879. homeassistant-stubs/data_entry_flow.pyi +8 -8
  880. homeassistant-stubs/exceptions.pyi +1 -2
  881. homeassistant-stubs/helpers/aiohttp_client.pyi +6 -6
  882. homeassistant-stubs/helpers/area_registry.pyi +4 -1
  883. homeassistant-stubs/helpers/category_registry.pyi +12 -2
  884. homeassistant-stubs/helpers/condition.pyi +2 -4
  885. homeassistant-stubs/helpers/config_validation.pyi +9 -6
  886. homeassistant-stubs/helpers/data_entry_flow.pyi +1 -1
  887. homeassistant-stubs/helpers/device_registry.pyi +19 -10
  888. homeassistant-stubs/helpers/entity.pyi +7 -8
  889. homeassistant-stubs/helpers/entity_registry.pyi +16 -11
  890. homeassistant-stubs/helpers/event.pyi +7 -7
  891. homeassistant-stubs/helpers/floor_registry.pyi +9 -2
  892. homeassistant-stubs/helpers/http.pyi +2 -1
  893. homeassistant-stubs/helpers/intent.pyi +41 -38
  894. homeassistant-stubs/helpers/issue_registry.pyi +3 -3
  895. homeassistant-stubs/helpers/json.pyi +8 -2
  896. homeassistant-stubs/helpers/label_registry.pyi +9 -2
  897. homeassistant-stubs/helpers/llm.pyi +1 -1
  898. homeassistant-stubs/helpers/normalized_name_base_registry.pyi +4 -1
  899. homeassistant-stubs/helpers/recorder.pyi +10 -1
  900. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -1
  901. homeassistant-stubs/helpers/script.pyi +18 -16
  902. homeassistant-stubs/helpers/selector.pyi +24 -23
  903. homeassistant-stubs/helpers/service.pyi +2 -2
  904. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -2
  905. homeassistant-stubs/helpers/significant_change.pyi +3 -2
  906. homeassistant-stubs/helpers/template.pyi +3 -3
  907. homeassistant-stubs/helpers/trace.pyi +2 -3
  908. homeassistant-stubs/helpers/trigger.pyi +1 -1
  909. homeassistant-stubs/helpers/typing.pyi +3 -3
  910. homeassistant-stubs/helpers/update_coordinator.pyi +8 -4
  911. homeassistant-stubs/runner.pyi +1 -1
  912. homeassistant-stubs/setup.pyi +8 -9
  913. homeassistant-stubs/util/event_type.pyi +1 -1
  914. homeassistant-stubs/util/hass_dict.pyi +19 -19
  915. homeassistant-stubs/util/json.pyi +4 -9
  916. homeassistant-stubs/util/language.pyi +1 -1
  917. homeassistant-stubs/util/signal_type.pyi +1 -1
  918. homeassistant-stubs/util/ssl.pyi +3 -3
  919. homeassistant-stubs/util/timeout.pyi +4 -4
  920. homeassistant-stubs/util/ulid.pyi +2 -2
  921. homeassistant-stubs/util/yaml/loader.pyi +2 -3
  922. {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0b0.dist-info}/METADATA +2 -2
  923. {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0b0.dist-info}/RECORD +927 -846
  924. homeassistant-stubs/components/laundrify/model.pyi +0 -7
  925. homeassistant-stubs/helpers/backports/__init__.pyi +0 -0
  926. homeassistant-stubs/helpers/backports/aiohttp_resolver.pyi +0 -21
  927. /homeassistant-stubs/components/knx/{helpers → storage}/__init__.pyi +0 -0
  928. /homeassistant-stubs/components/knx/{helpers → storage}/keyring.pyi +0 -0
  929. {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0b0.dist-info}/LICENSE +0 -0
  930. {homeassistant_stubs-2024.7.4.dist-info → homeassistant_stubs-2024.8.0b0.dist-info}/WHEEL +0 -0
@@ -1,13 +1,13 @@
1
1
  import abc
2
2
  from . import Recorder as Recorder
3
3
  from .auto_repairs.statistics.duplicates import delete_statistics_duplicates as delete_statistics_duplicates, delete_statistics_meta_duplicates as delete_statistics_meta_duplicates
4
- from .const import CONTEXT_ID_AS_BINARY_SCHEMA_VERSION as CONTEXT_ID_AS_BINARY_SCHEMA_VERSION, EVENT_TYPE_IDS_SCHEMA_VERSION as EVENT_TYPE_IDS_SCHEMA_VERSION, STATES_META_SCHEMA_VERSION as STATES_META_SCHEMA_VERSION, SupportedDialect as SupportedDialect
5
- from .db_schema import Base as Base, CONTEXT_ID_BIN_MAX_LENGTH as CONTEXT_ID_BIN_MAX_LENGTH, DOUBLE_PRECISION_TYPE_SQL as DOUBLE_PRECISION_TYPE_SQL, EventTypes as EventTypes, Events as Events, LEGACY_STATES_ENTITY_ID_LAST_UPDATED_INDEX as LEGACY_STATES_ENTITY_ID_LAST_UPDATED_INDEX, LEGACY_STATES_EVENT_ID_INDEX as LEGACY_STATES_EVENT_ID_INDEX, MYSQL_COLLATE as MYSQL_COLLATE, MYSQL_DEFAULT_CHARSET as MYSQL_DEFAULT_CHARSET, MigrationChanges as MigrationChanges, SCHEMA_VERSION as SCHEMA_VERSION, STATISTICS_TABLES as STATISTICS_TABLES, SchemaChanges as SchemaChanges, States as States, StatesMeta as StatesMeta, Statistics as Statistics, StatisticsMeta as StatisticsMeta, StatisticsRuns as StatisticsRuns, StatisticsShortTerm as StatisticsShortTerm, TABLE_STATES as TABLE_STATES
4
+ from .const import CONTEXT_ID_AS_BINARY_SCHEMA_VERSION as CONTEXT_ID_AS_BINARY_SCHEMA_VERSION, EVENT_TYPE_IDS_SCHEMA_VERSION as EVENT_TYPE_IDS_SCHEMA_VERSION, LEGACY_STATES_EVENT_ID_INDEX_SCHEMA_VERSION as LEGACY_STATES_EVENT_ID_INDEX_SCHEMA_VERSION, STATES_META_SCHEMA_VERSION as STATES_META_SCHEMA_VERSION, SupportedDialect as SupportedDialect
5
+ from .db_schema import BIG_INTEGER_SQL as BIG_INTEGER_SQL, Base as Base, CONTEXT_ID_BIN_MAX_LENGTH as CONTEXT_ID_BIN_MAX_LENGTH, DOUBLE_PRECISION_TYPE_SQL as DOUBLE_PRECISION_TYPE_SQL, EventTypes as EventTypes, Events as Events, LEGACY_STATES_ENTITY_ID_LAST_UPDATED_INDEX as LEGACY_STATES_ENTITY_ID_LAST_UPDATED_INDEX, LEGACY_STATES_EVENT_ID_INDEX as LEGACY_STATES_EVENT_ID_INDEX, LegacyBase as LegacyBase, MYSQL_COLLATE as MYSQL_COLLATE, MYSQL_DEFAULT_CHARSET as MYSQL_DEFAULT_CHARSET, MigrationChanges as MigrationChanges, SCHEMA_VERSION as SCHEMA_VERSION, STATISTICS_TABLES as STATISTICS_TABLES, SchemaChanges as SchemaChanges, States as States, StatesMeta as StatesMeta, Statistics as Statistics, StatisticsMeta as StatisticsMeta, StatisticsRuns as StatisticsRuns, StatisticsShortTerm as StatisticsShortTerm, TABLE_STATES as TABLE_STATES
6
6
  from .models import process_timestamp as process_timestamp
7
7
  from .models.time import datetime_to_timestamp_or_none as datetime_to_timestamp_or_none
8
8
  from .queries import batch_cleanup_entity_ids as batch_cleanup_entity_ids, delete_duplicate_short_term_statistics_row as delete_duplicate_short_term_statistics_row, delete_duplicate_statistics_row as delete_duplicate_statistics_row, find_entity_ids_to_migrate as find_entity_ids_to_migrate, find_event_type_to_migrate as find_event_type_to_migrate, find_events_context_ids_to_migrate as find_events_context_ids_to_migrate, find_states_context_ids_to_migrate as find_states_context_ids_to_migrate, find_unmigrated_short_term_statistics_rows as find_unmigrated_short_term_statistics_rows, find_unmigrated_statistics_rows as find_unmigrated_statistics_rows, has_entity_ids_to_migrate as has_entity_ids_to_migrate, has_event_type_to_migrate as has_event_type_to_migrate, has_events_context_ids_to_migrate as has_events_context_ids_to_migrate, has_states_context_ids_to_migrate as has_states_context_ids_to_migrate, has_used_states_event_ids as has_used_states_event_ids, migrate_single_short_term_statistics_row_to_timestamp as migrate_single_short_term_statistics_row_to_timestamp, migrate_single_statistics_row_to_timestamp as migrate_single_statistics_row_to_timestamp
9
9
  from .statistics import get_start_time as get_start_time
10
- from .tasks import CommitTask as CommitTask, EntityIDMigrationTask as EntityIDMigrationTask, EventTypeIDMigrationTask as EventTypeIDMigrationTask, EventsContextIDMigrationTask as EventsContextIDMigrationTask, PostSchemaMigrationTask as PostSchemaMigrationTask, RecorderTask as RecorderTask, StatesContextIDMigrationTask as StatesContextIDMigrationTask, StatisticsTimestampMigrationCleanupTask as StatisticsTimestampMigrationCleanupTask
10
+ from .tasks import CommitTask as CommitTask, EntityIDPostMigrationTask as EntityIDPostMigrationTask, PostSchemaMigrationTask as PostSchemaMigrationTask, RecorderTask as RecorderTask, StatisticsTimestampMigrationCleanupTask as StatisticsTimestampMigrationCleanupTask
11
11
  from .util import database_job_retry_wrapper as database_job_retry_wrapper, execute_stmt_lambda_element as execute_stmt_lambda_element, get_index_by_name as get_index_by_name, retryable_database_job as retryable_database_job, session_scope as session_scope
12
12
  from _typeshed import Incomplete
13
13
  from abc import ABC, abstractmethod
@@ -17,10 +17,13 @@ from homeassistant.core import HomeAssistant as HomeAssistant
17
17
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
18
18
  from homeassistant.util.ulid import ulid_at_time as ulid_at_time, ulid_to_bytes as ulid_to_bytes
19
19
  from sqlalchemy.engine import CursorResult as CursorResult, Engine as Engine
20
+ from sqlalchemy.engine.interfaces import ReflectedForeignKeyConstraint as ReflectedForeignKeyConstraint
20
21
  from sqlalchemy.orm.session import Session as Session
21
22
  from sqlalchemy.sql.lambdas import StatementLambdaElement as StatementLambdaElement
23
+ from typing import Any
22
24
 
23
25
  LIVE_MIGRATION_MIN_SCHEMA_VERSION: int
26
+ MIGRATION_NOTE_OFFLINE: str
24
27
  _EMPTY_ENTITY_ID: str
25
28
  _EMPTY_EVENT_TYPE: str
26
29
  _LOGGER: Incomplete
@@ -41,26 +44,180 @@ def raise_if_exception_missing_str(ex: Exception, match_substrs: Iterable[str])
41
44
  def _get_schema_version(session: Session) -> int | None: ...
42
45
  def get_schema_version(session_maker: Callable[[], Session]) -> int | None: ...
43
46
 
44
- @dataclass
47
+ @dataclass(frozen=True)
45
48
  class SchemaValidationStatus:
46
49
  current_version: int
50
+ migration_needed: bool
47
51
  schema_errors: set[str]
48
- valid: bool
49
- def __init__(self, current_version, schema_errors, valid) -> None: ...
52
+ start_version: int
53
+ def __init__(self, current_version, migration_needed, schema_errors, start_version) -> None: ...
50
54
 
51
55
  def _schema_is_current(current_version: int) -> bool: ...
52
56
  def validate_db_schema(hass: HomeAssistant, instance: Recorder, session_maker: Callable[[], Session]) -> SchemaValidationStatus | None: ...
53
57
  def _find_schema_errors(hass: HomeAssistant, instance: Recorder, session_maker: Callable[[], Session]) -> set[str]: ...
54
58
  def live_migration(schema_status: SchemaValidationStatus) -> bool: ...
55
- def migrate_schema(instance: Recorder, hass: HomeAssistant, engine: Engine, session_maker: Callable[[], Session], schema_status: SchemaValidationStatus) -> None: ...
59
+ def pre_migrate_schema(engine: Engine) -> None: ...
60
+ def _migrate_schema(instance: Recorder, hass: HomeAssistant, engine: Engine, session_maker: Callable[[], Session], schema_status: SchemaValidationStatus, end_version: int) -> SchemaValidationStatus: ...
61
+ def migrate_schema_non_live(instance: Recorder, hass: HomeAssistant, engine: Engine, session_maker: Callable[[], Session], schema_status: SchemaValidationStatus) -> SchemaValidationStatus: ...
62
+ def migrate_schema_live(instance: Recorder, hass: HomeAssistant, engine: Engine, session_maker: Callable[[], Session], schema_status: SchemaValidationStatus) -> SchemaValidationStatus: ...
56
63
  def _create_index(session_maker: Callable[[], Session], table_name: str, index_name: str) -> None: ...
57
64
  def _execute_or_collect_error(session_maker: Callable[[], Session], query: str, errors: list[str]) -> bool: ...
58
65
  def _drop_index(session_maker: Callable[[], Session], table_name: str, index_name: str, quiet: bool | None = None) -> None: ...
59
66
  def _add_columns(session_maker: Callable[[], Session], table_name: str, columns_def: list[str]) -> None: ...
60
67
  def _modify_columns(session_maker: Callable[[], Session], engine: Engine, table_name: str, columns_def: list[str]) -> None: ...
61
68
  def _update_states_table_with_foreign_key_options(session_maker: Callable[[], Session], engine: Engine) -> None: ...
62
- def _drop_foreign_key_constraints(session_maker: Callable[[], Session], engine: Engine, table: str, columns: list[str]) -> None: ...
69
+ def _drop_foreign_key_constraints(session_maker: Callable[[], Session], engine: Engine, table: str, column: str) -> list[tuple[str, str, ReflectedForeignKeyConstraint]]: ...
70
+ def _restore_foreign_key_constraints(session_maker: Callable[[], Session], engine: Engine, dropped_constraints: list[tuple[str, str, ReflectedForeignKeyConstraint]]) -> None: ...
63
71
  def _apply_update(instance: Recorder, hass: HomeAssistant, engine: Engine, session_maker: Callable[[], Session], new_version: int, old_version: int) -> None: ...
72
+
73
+ class _SchemaVersionMigrator(ABC, metaclass=abc.ABCMeta):
74
+ __migrators: dict[int, type[_SchemaVersionMigrator]]
75
+ def __init_subclass__(cls, target_version: int, **kwargs: Any) -> None: ...
76
+ instance: Incomplete
77
+ hass: Incomplete
78
+ engine: Incomplete
79
+ session_maker: Incomplete
80
+ old_version: Incomplete
81
+ column_types: Incomplete
82
+ def __init__(self, instance: Recorder, hass: HomeAssistant, engine: Engine, session_maker: Callable[[], Session], old_version: int) -> None: ...
83
+ @classmethod
84
+ def get_migrator(cls, target_version: int) -> type[_SchemaVersionMigrator]: ...
85
+ def apply_update(self) -> None: ...
86
+ @abstractmethod
87
+ def _apply_update(self) -> None: ...
88
+
89
+ class _SchemaVersion1Migrator(_SchemaVersionMigrator, target_version=1):
90
+ def _apply_update(self) -> None: ...
91
+
92
+ class _SchemaVersion2Migrator(_SchemaVersionMigrator, target_version=2):
93
+ def _apply_update(self) -> None: ...
94
+
95
+ class _SchemaVersion3Migrator(_SchemaVersionMigrator, target_version=3):
96
+ def _apply_update(self) -> None: ...
97
+
98
+ class _SchemaVersion4Migrator(_SchemaVersionMigrator, target_version=4):
99
+ def _apply_update(self) -> None: ...
100
+
101
+ class _SchemaVersion5Migrator(_SchemaVersionMigrator, target_version=5):
102
+ def _apply_update(self) -> None: ...
103
+
104
+ class _SchemaVersion6Migrator(_SchemaVersionMigrator, target_version=6):
105
+ def _apply_update(self) -> None: ...
106
+
107
+ class _SchemaVersion7Migrator(_SchemaVersionMigrator, target_version=7):
108
+ def _apply_update(self) -> None: ...
109
+
110
+ class _SchemaVersion8Migrator(_SchemaVersionMigrator, target_version=8):
111
+ def _apply_update(self) -> None: ...
112
+
113
+ class _SchemaVersion9Migrator(_SchemaVersionMigrator, target_version=9):
114
+ def _apply_update(self) -> None: ...
115
+
116
+ class _SchemaVersion10Migrator(_SchemaVersionMigrator, target_version=10):
117
+ def _apply_update(self) -> None: ...
118
+
119
+ class _SchemaVersion11Migrator(_SchemaVersionMigrator, target_version=11):
120
+ def _apply_update(self) -> None: ...
121
+
122
+ class _SchemaVersion12Migrator(_SchemaVersionMigrator, target_version=12):
123
+ def _apply_update(self) -> None: ...
124
+
125
+ class _SchemaVersion13Migrator(_SchemaVersionMigrator, target_version=13):
126
+ def _apply_update(self) -> None: ...
127
+
128
+ class _SchemaVersion14Migrator(_SchemaVersionMigrator, target_version=14):
129
+ def _apply_update(self) -> None: ...
130
+
131
+ class _SchemaVersion15Migrator(_SchemaVersionMigrator, target_version=15):
132
+ def _apply_update(self) -> None: ...
133
+
134
+ class _SchemaVersion16Migrator(_SchemaVersionMigrator, target_version=16):
135
+ def _apply_update(self) -> None: ...
136
+
137
+ class _SchemaVersion17Migrator(_SchemaVersionMigrator, target_version=17):
138
+ def _apply_update(self) -> None: ...
139
+
140
+ class _SchemaVersion18Migrator(_SchemaVersionMigrator, target_version=18):
141
+ def _apply_update(self) -> None: ...
142
+
143
+ class _SchemaVersion19Migrator(_SchemaVersionMigrator, target_version=19):
144
+ def _apply_update(self) -> None: ...
145
+
146
+ class _SchemaVersion20Migrator(_SchemaVersionMigrator, target_version=20):
147
+ def _apply_update(self) -> None: ...
148
+
149
+ class _SchemaVersion21Migrator(_SchemaVersionMigrator, target_version=21):
150
+ def _apply_update(self) -> None: ...
151
+
152
+ class _SchemaVersion22Migrator(_SchemaVersionMigrator, target_version=22):
153
+ def _apply_update(self) -> None: ...
154
+
155
+ class _SchemaVersion23Migrator(_SchemaVersionMigrator, target_version=23):
156
+ def _apply_update(self) -> None: ...
157
+
158
+ class _SchemaVersion24Migrator(_SchemaVersionMigrator, target_version=24):
159
+ def _apply_update(self) -> None: ...
160
+
161
+ class _SchemaVersion25Migrator(_SchemaVersionMigrator, target_version=25):
162
+ def _apply_update(self) -> None: ...
163
+
164
+ class _SchemaVersion26Migrator(_SchemaVersionMigrator, target_version=26):
165
+ def _apply_update(self) -> None: ...
166
+
167
+ class _SchemaVersion27Migrator(_SchemaVersionMigrator, target_version=27):
168
+ def _apply_update(self) -> None: ...
169
+
170
+ class _SchemaVersion28Migrator(_SchemaVersionMigrator, target_version=28):
171
+ def _apply_update(self) -> None: ...
172
+
173
+ class _SchemaVersion29Migrator(_SchemaVersionMigrator, target_version=29):
174
+ def _apply_update(self) -> None: ...
175
+
176
+ class _SchemaVersion30Migrator(_SchemaVersionMigrator, target_version=30):
177
+ def _apply_update(self) -> None: ...
178
+
179
+ class _SchemaVersion31Migrator(_SchemaVersionMigrator, target_version=31):
180
+ def _apply_update(self) -> None: ...
181
+
182
+ class _SchemaVersion32Migrator(_SchemaVersionMigrator, target_version=32):
183
+ def _apply_update(self) -> None: ...
184
+
185
+ class _SchemaVersion33Migrator(_SchemaVersionMigrator, target_version=33):
186
+ def _apply_update(self) -> None: ...
187
+
188
+ class _SchemaVersion34Migrator(_SchemaVersionMigrator, target_version=34):
189
+ def _apply_update(self) -> None: ...
190
+
191
+ class _SchemaVersion35Migrator(_SchemaVersionMigrator, target_version=35):
192
+ def _apply_update(self) -> None: ...
193
+
194
+ class _SchemaVersion36Migrator(_SchemaVersionMigrator, target_version=36):
195
+ def _apply_update(self) -> None: ...
196
+
197
+ class _SchemaVersion37Migrator(_SchemaVersionMigrator, target_version=37):
198
+ def _apply_update(self) -> None: ...
199
+
200
+ class _SchemaVersion38Migrator(_SchemaVersionMigrator, target_version=38):
201
+ def _apply_update(self) -> None: ...
202
+
203
+ class _SchemaVersion39Migrator(_SchemaVersionMigrator, target_version=39):
204
+ def _apply_update(self) -> None: ...
205
+
206
+ class _SchemaVersion40Migrator(_SchemaVersionMigrator, target_version=40):
207
+ def _apply_update(self) -> None: ...
208
+
209
+ class _SchemaVersion41Migrator(_SchemaVersionMigrator, target_version=41):
210
+ def _apply_update(self) -> None: ...
211
+
212
+ class _SchemaVersion42Migrator(_SchemaVersionMigrator, target_version=42):
213
+ def _apply_update(self) -> None: ...
214
+
215
+ class _SchemaVersion43Migrator(_SchemaVersionMigrator, target_version=43):
216
+ def _apply_update(self) -> None: ...
217
+
218
+ class _SchemaVersion44Migrator(_SchemaVersionMigrator, target_version=44):
219
+ def _apply_update(self) -> None: ...
220
+
64
221
  def _migrate_statistics_columns_to_timestamp_removing_duplicates(hass: HomeAssistant, instance: Recorder, session_maker: Callable[[], Session], engine: Engine) -> None: ...
65
222
  def _correct_table_character_set_and_collation(table: str, session_maker: Callable[[], Session]) -> None: ...
66
223
  def post_schema_migration(instance: Recorder, old_version: int, new_version: int) -> None: ...
@@ -71,51 +228,91 @@ def _migrate_statistics_columns_to_timestamp_one_by_one(instance: Recorder, sess
71
228
  def _migrate_statistics_columns_to_timestamp(instance: Recorder, session_maker: Callable[[], Session], engine: Engine) -> None: ...
72
229
  def _context_id_to_bytes(context_id: str | None) -> bytes | None: ...
73
230
  def _generate_ulid_bytes_at_time(timestamp: float | None) -> bytes: ...
74
- def migrate_states_context_ids(instance: Recorder) -> bool: ...
75
- def migrate_events_context_ids(instance: Recorder) -> bool: ...
76
- def migrate_event_type_ids(instance: Recorder) -> bool: ...
77
- def migrate_entity_ids(instance: Recorder) -> bool: ...
78
231
  def post_migrate_entity_ids(instance: Recorder) -> bool: ...
79
232
  def cleanup_legacy_states_event_ids(instance: Recorder) -> bool: ...
80
233
  def _initialize_database(session: Session) -> bool: ...
81
234
  def initialize_database(session_maker: Callable[[], Session]) -> bool: ...
82
235
 
236
+ @dataclass(slots=True)
237
+ class MigrationTask(RecorderTask):
238
+ migrator: BaseRunTimeMigration
239
+ commit_before = ...
240
+ def run(self, instance: Recorder) -> None: ...
241
+ def __init__(self, migrator) -> None: ...
242
+
243
+ @dataclass(slots=True)
244
+ class CommitBeforeMigrationTask(MigrationTask):
245
+ commit_before = ...
246
+ def __init__(self, migrator) -> None: ...
247
+
248
+ @dataclass(frozen=True, kw_only=True)
249
+ class NeedsMigrateResult:
250
+ needs_migrate: bool
251
+ migration_done: bool
252
+ def __init__(self, *, needs_migrate, migration_done) -> None: ...
253
+
83
254
  class BaseRunTimeMigration(ABC, metaclass=abc.ABCMeta):
84
255
  required_schema_version: int
85
256
  migration_version: int
86
257
  migration_id: str
87
- task: Callable[[], RecorderTask]
258
+ task = MigrationTask
88
259
  schema_version: Incomplete
89
- session: Incomplete
90
260
  migration_changes: Incomplete
91
- def __init__(self, session: Session, schema_version: int, migration_changes: dict[str, int]) -> None: ...
261
+ def __init__(self, schema_version: int, migration_changes: dict[str, int]) -> None: ...
262
+ def do_migrate(self, instance: Recorder, session: Session) -> None: ...
263
+ @staticmethod
264
+ @abstractmethod
265
+ def migrate_data(instance: Recorder) -> bool: ...
266
+ def migration_done(self, instance: Recorder, session: Session | None) -> None: ...
267
+ @abstractmethod
268
+ def needs_migrate_impl(self, instance: Recorder, session: Session) -> NeedsMigrateResult: ...
269
+ def needs_migrate(self, instance: Recorder, session: Session) -> bool: ...
270
+
271
+ class BaseRunTimeMigrationWithQuery(BaseRunTimeMigration, metaclass=abc.ABCMeta):
92
272
  @abstractmethod
93
273
  def needs_migrate_query(self) -> StatementLambdaElement: ...
94
- def needs_migrate(self) -> bool: ...
274
+ def needs_migrate_impl(self, instance: Recorder, session: Session) -> NeedsMigrateResult: ...
95
275
 
96
- class StatesContextIDMigration(BaseRunTimeMigration):
276
+ class StatesContextIDMigration(BaseRunTimeMigrationWithQuery):
97
277
  required_schema_version = CONTEXT_ID_AS_BINARY_SCHEMA_VERSION
98
278
  migration_id: str
99
- task = StatesContextIDMigrationTask
279
+ @staticmethod
280
+ def migrate_data(instance: Recorder) -> bool: ...
100
281
  def needs_migrate_query(self) -> StatementLambdaElement: ...
101
282
 
102
- class EventsContextIDMigration(BaseRunTimeMigration):
283
+ class EventsContextIDMigration(BaseRunTimeMigrationWithQuery):
103
284
  required_schema_version = CONTEXT_ID_AS_BINARY_SCHEMA_VERSION
104
285
  migration_id: str
105
- task = EventsContextIDMigrationTask
286
+ @staticmethod
287
+ def migrate_data(instance: Recorder) -> bool: ...
106
288
  def needs_migrate_query(self) -> StatementLambdaElement: ...
107
289
 
108
- class EventTypeIDMigration(BaseRunTimeMigration):
290
+ class EventTypeIDMigration(BaseRunTimeMigrationWithQuery):
109
291
  required_schema_version = EVENT_TYPE_IDS_SCHEMA_VERSION
110
292
  migration_id: str
111
- task = EventTypeIDMigrationTask
293
+ task = CommitBeforeMigrationTask
294
+ @staticmethod
295
+ def migrate_data(instance: Recorder) -> bool: ...
296
+ def migration_done(self, instance: Recorder, session: Session | None) -> None: ...
112
297
  def needs_migrate_query(self) -> StatementLambdaElement: ...
113
298
 
114
- class EntityIDMigration(BaseRunTimeMigration):
299
+ class EntityIDMigration(BaseRunTimeMigrationWithQuery):
115
300
  required_schema_version = STATES_META_SCHEMA_VERSION
116
301
  migration_id: str
117
- task = EntityIDMigrationTask
302
+ task = CommitBeforeMigrationTask
303
+ @staticmethod
304
+ def migrate_data(instance: Recorder) -> bool: ...
305
+ def migration_done(self, instance: Recorder, _session: Session | None) -> None: ...
118
306
  def needs_migrate_query(self) -> StatementLambdaElement: ...
119
307
 
308
+ class EventIDPostMigration(BaseRunTimeMigration):
309
+ migration_id: str
310
+ task = MigrationTask
311
+ @staticmethod
312
+ def migrate_data(instance: Recorder) -> bool: ...
313
+ @staticmethod
314
+ def _legacy_event_id_foreign_key_exists(instance: Recorder) -> bool: ...
315
+ def needs_migrate_impl(self, instance: Recorder, session: Session) -> NeedsMigrateResult: ...
316
+
120
317
  def _mark_migration_done(session: Session, migration: type[BaseRunTimeMigration]) -> None: ...
121
318
  def rebuild_sqlite_table(session_maker: Callable[[], Session], engine: Engine, table: type[Base]) -> None: ...
@@ -1,9 +1,7 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.util.ulid import bytes_to_ulid as bytes_to_ulid, ulid_to_bytes as ulid_to_bytes
2
+ from homeassistant.util.ulid import bytes_to_ulid as bytes_to_ulid, bytes_to_ulid_or_none as bytes_to_ulid_or_none, ulid_to_bytes as ulid_to_bytes, ulid_to_bytes_or_none as ulid_to_bytes_or_none
3
3
 
4
4
  _LOGGER: Incomplete
5
5
 
6
- def ulid_to_bytes_or_none(ulid: str | None) -> bytes | None: ...
7
- def bytes_to_ulid_or_none(_bytes: bytes | None) -> str | None: ...
8
6
  def uuid_hex_to_bytes_or_none(uuid_hex: str | None) -> bytes | None: ...
9
7
  def bytes_to_uuid_hex_or_none(_bytes: bytes | None) -> str | None: ...
@@ -36,7 +36,7 @@ class ShortTermStatisticsRunCache:
36
36
  def get_latest_ids(self, metadata_ids: set[int]) -> dict[int, int]: ...
37
37
  def set_latest_id_for_metadata_id(self, metadata_id: int, id_: int) -> None: ...
38
38
  def set_latest_ids_for_metadata_ids(self, metadata_id_to_id: dict[int, int]) -> None: ...
39
- def __init__(self, _latest_id_by_metadata_id) -> None: ...
39
+ def __init__(self, _latest_id_by_metadata_id=...) -> None: ...
40
40
 
41
41
  class BaseStatisticsRow(TypedDict, total=False):
42
42
  start: float
@@ -76,7 +76,7 @@ class ValidationIssue:
76
76
  type: str
77
77
  data: dict[str, str | None] | None = ...
78
78
  def as_dict(self) -> dict: ...
79
- def __init__(self, type, data) -> None: ...
79
+ def __init__(self, type, data=...) -> None: ...
80
80
 
81
81
  def get_start_time() -> datetime: ...
82
82
  def _compile_hourly_statistics_summary_mean_stmt(start_time_ts: float, end_time_ts: float) -> StatementLambdaElement: ...
@@ -6,7 +6,6 @@ from typing import Any
6
6
 
7
7
  class BaseTableManager:
8
8
  _id_map: LRU[EventType[Any] | str, int]
9
- active: bool
10
9
  recorder: Incomplete
11
10
  _pending: Incomplete
12
11
  def __init__(self, recorder: Recorder) -> None: ...
@@ -14,7 +14,6 @@ CACHE_SIZE: int
14
14
  _LOGGER: Incomplete
15
15
 
16
16
  class EventDataManager(BaseLRUTableManager[EventData]):
17
- active: bool
18
17
  def __init__(self, recorder: Recorder) -> None: ...
19
18
  def serialize_from_event(self, event: Event) -> bytes | None: ...
20
19
  def load(self, events: list[Event], session: Session) -> None: ...
@@ -15,6 +15,7 @@ from typing import Any
15
15
  CACHE_SIZE: int
16
16
 
17
17
  class EventTypeManager(BaseLRUTableManager[EventTypes]):
18
+ active: bool
18
19
  _non_existent_event_types: Incomplete
19
20
  def __init__(self, recorder: Recorder) -> None: ...
20
21
  def load(self, events: list[Event], session: Session) -> None: ...
@@ -14,7 +14,6 @@ CACHE_SIZE: int
14
14
  _LOGGER: Incomplete
15
15
 
16
16
  class StateAttributesManager(BaseLRUTableManager[StateAttributes]):
17
- active: bool
18
17
  def __init__(self, recorder: Recorder) -> None: ...
19
18
  def serialize_from_event(self, event: Event[EventStateChangedData]) -> bytes | None: ...
20
19
  def load(self, events: list[Event[EventStateChangedData]], session: Session) -> None: ...
@@ -11,6 +11,7 @@ from sqlalchemy.orm.session import Session as Session
11
11
  CACHE_SIZE: int
12
12
 
13
13
  class StatesMetaManager(BaseLRUTableManager[StatesMeta]):
14
+ active: bool
14
15
  _did_first_load: bool
15
16
  def __init__(self, recorder: Recorder) -> None: ...
16
17
  def load(self, events: list[Event[EventStateChangedData]], session: Session) -> None: ...
@@ -157,34 +157,10 @@ class AdjustLRUSizeTask(RecorderTask):
157
157
  commit_before = ...
158
158
  def run(self, instance: Recorder) -> None: ...
159
159
 
160
- @dataclass(slots=True)
161
- class StatesContextIDMigrationTask(RecorderTask):
162
- commit_before = ...
163
- def run(self, instance: Recorder) -> None: ...
164
-
165
- @dataclass(slots=True)
166
- class EventsContextIDMigrationTask(RecorderTask):
167
- commit_before = ...
168
- def run(self, instance: Recorder) -> None: ...
169
-
170
- @dataclass(slots=True)
171
- class EventTypeIDMigrationTask(RecorderTask):
172
- commit_before = ...
173
- def run(self, instance: Recorder) -> None: ...
174
-
175
- @dataclass(slots=True)
176
- class EntityIDMigrationTask(RecorderTask):
177
- commit_before = ...
178
- def run(self, instance: Recorder) -> None: ...
179
-
180
160
  @dataclass(slots=True)
181
161
  class EntityIDPostMigrationTask(RecorderTask):
182
162
  def run(self, instance: Recorder) -> None: ...
183
163
 
184
- @dataclass(slots=True)
185
- class EventIdMigrationTask(RecorderTask):
186
- def run(self, instance: Recorder) -> None: ...
187
-
188
164
  @dataclass(slots=True)
189
165
  class RefreshEventTypesTask(RecorderTask):
190
166
  event_types: list[EventType[Any] | str]
@@ -1,12 +1,13 @@
1
1
  from . import Recorder as Recorder
2
- from .const import DATA_INSTANCE as DATA_INSTANCE, DEFAULT_MAX_BIND_VARS as DEFAULT_MAX_BIND_VARS, DOMAIN as DOMAIN, SQLITE_MAX_BIND_VARS as SQLITE_MAX_BIND_VARS, SQLITE_MODERN_MAX_BIND_VARS as SQLITE_MODERN_MAX_BIND_VARS, SQLITE_URL_PREFIX as SQLITE_URL_PREFIX, SupportedDialect as SupportedDialect
2
+ from .const import DEFAULT_MAX_BIND_VARS as DEFAULT_MAX_BIND_VARS, DOMAIN as DOMAIN, SQLITE_MAX_BIND_VARS as SQLITE_MAX_BIND_VARS, SQLITE_MODERN_MAX_BIND_VARS as SQLITE_MODERN_MAX_BIND_VARS, SQLITE_URL_PREFIX as SQLITE_URL_PREFIX, SupportedDialect as SupportedDialect
3
3
  from .db_schema import RecorderRuns as RecorderRuns, TABLES_TO_CHECK as TABLES_TO_CHECK, TABLE_RECORDER_RUNS as TABLE_RECORDER_RUNS, TABLE_SCHEMA_CHANGES as TABLE_SCHEMA_CHANGES
4
4
  from .models import DatabaseEngine as DatabaseEngine, DatabaseOptimizer as DatabaseOptimizer, StatisticPeriod as StatisticPeriod, UnsupportedDialect as UnsupportedDialect, process_timestamp as process_timestamp
5
5
  from _typeshed import Incomplete
6
6
  from awesomeversion import AwesomeVersion
7
- from collections.abc import Callable, Sequence
7
+ from collections.abc import Callable, Generator, Sequence
8
8
  from datetime import date, datetime
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.helpers.recorder import DATA_INSTANCE as DATA_INSTANCE, get_instance as get_instance, session_scope as session_scope
10
11
  from sqlalchemy.engine import Result as Result, Row as Row
11
12
  from sqlalchemy.engine.interfaces import DBAPIConnection as DBAPIConnection
12
13
  from sqlalchemy.exc import OperationalError
@@ -15,7 +16,6 @@ from sqlalchemy.orm.session import Session as Session
15
16
  from sqlalchemy.sql.lambdas import StatementLambdaElement as StatementLambdaElement
16
17
  from sqlite3.dbapi2 import Cursor as SQLiteCursor
17
18
  from typing import Any, NoReturn
18
- from typing_extensions import Generator
19
19
 
20
20
  _LOGGER: Incomplete
21
21
  RETRIES: int
@@ -40,6 +40,7 @@ MARIADB_WITH_FIXED_IN_QUERIES_108: Incomplete
40
40
  MIN_VERSION_MYSQL: Incomplete
41
41
  MIN_VERSION_PGSQL: Incomplete
42
42
  MIN_VERSION_SQLITE: Incomplete
43
+ UPCOMING_MIN_VERSION_SQLITE: Incomplete
43
44
  MIN_VERSION_SQLITE_MODERN_BIND_VARS: Incomplete
44
45
  MAX_RESTART_TIME: Incomplete
45
46
  RETRYABLE_MYSQL_ERRORS: Incomplete
@@ -47,7 +48,6 @@ FIRST_POSSIBLE_SUNDAY: int
47
48
  SUNDAY_WEEKDAY: int
48
49
  DAYS_IN_WEEK: int
49
50
 
50
- def session_scope(*, hass: HomeAssistant | None = None, session: Session | None = None, exception_filter: Callable[[Exception], bool] | None = None, read_only: bool = False) -> Generator[Session]: ...
51
51
  def execute(qry: Query, to_native: bool = False, validate_entity_ids: bool = True) -> list[Row]: ...
52
52
  def execute_stmt_lambda_element(session: Session, stmt: StatementLambdaElement, start_time: datetime | None = None, end_time: datetime | None = None, yield_per: int = ..., orm_rows: bool = True) -> Sequence[Row] | Result: ...
53
53
  def validate_or_move_away_sqlite_database(dburl: str) -> bool: ...
@@ -60,7 +60,10 @@ def move_away_broken_database(dbfile: str) -> None: ...
60
60
  def execute_on_connection(dbapi_connection: DBAPIConnection, statement: str) -> None: ...
61
61
  def query_on_connection(dbapi_connection: DBAPIConnection, statement: str) -> Any: ...
62
62
  def _fail_unsupported_dialect(dialect_name: str) -> NoReturn: ...
63
- def _fail_unsupported_version(server_version: str, dialect_name: str, minimum_version: str) -> NoReturn: ...
63
+ def _raise_if_version_unsupported(server_version: str, dialect_name: str, minimum_version: str) -> NoReturn: ...
64
+ def _async_delete_issue_deprecated_version(hass: HomeAssistant, dialect_name: str) -> None: ...
65
+ def _async_create_issue_deprecated_version(hass: HomeAssistant, server_version: AwesomeVersion, dialect_name: str, min_version: AwesomeVersion) -> None: ...
66
+ def _extract_version_from_server_response_or_raise(server_response: str) -> AwesomeVersion: ...
64
67
  def _extract_version_from_server_response(server_response: str) -> AwesomeVersion | None: ...
65
68
  def _datetime_or_none(value: str) -> datetime | None: ...
66
69
  def build_mysqldb_conv() -> dict: ...
@@ -80,7 +83,6 @@ def async_migration_in_progress(hass: HomeAssistant) -> bool: ...
80
83
  def async_migration_is_live(hass: HomeAssistant) -> bool: ...
81
84
  def second_sunday(year: int, month: int) -> date: ...
82
85
  def is_second_sunday(date_time: datetime) -> bool: ...
83
- def get_instance(hass: HomeAssistant) -> Recorder: ...
84
86
 
85
87
  PERIOD_SCHEMA: Incomplete
86
88
 
@@ -29,4 +29,3 @@ def ws_update_statistics_metadata(hass: HomeAssistant, connection: websocket_api
29
29
  def ws_change_statistics_unit(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
30
30
  async def ws_adjust_sum_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
31
31
  def ws_import_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
32
- def ws_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -38,9 +38,9 @@ DEFAULT_DELAY_SECS: float
38
38
  DEFAULT_HOLD_SECS: int
39
39
 
40
40
  class RemoteEntityFeature(IntFlag):
41
- LEARN_COMMAND: int
42
- DELETE_COMMAND: int
43
- ACTIVITY: int
41
+ LEARN_COMMAND = 1
42
+ DELETE_COMMAND = 2
43
+ ACTIVITY = 4
44
44
 
45
45
  _DEPRECATED_SUPPORT_LEARN_COMMAND: Incomplete
46
46
  _DEPRECATED_SUPPORT_DELETE_COMMAND: Incomplete
@@ -53,7 +53,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ..
53
53
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
54
54
 
55
55
  class RemoteEntityDescription(ToggleEntityDescription, frozen_or_thawed=True):
56
- 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) -> None: ...
56
+ 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=...) -> None: ...
57
57
 
58
58
  CACHED_PROPERTIES_WITH_ATTR_: Incomplete
59
59
 
@@ -11,7 +11,7 @@ from renault_api.kamereon.models import KamereonVehicleBatteryStatusData
11
11
  class RenaultBinarySensorEntityDescription(BinarySensorEntityDescription, RenaultDataEntityDescription):
12
12
  on_key: str
13
13
  on_value: StateType
14
- def __init__(self, coordinator, *, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, translation_placeholders, unit_of_measurement, on_key, on_value) -> None: ...
14
+ def __init__(self, coordinator, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., on_key, on_value) -> None: ...
15
15
 
16
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: RenaultConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
17
 
@@ -11,7 +11,7 @@ from typing import Any
11
11
  class RenaultButtonEntityDescription(ButtonEntityDescription):
12
12
  async_press: Callable[[RenaultButtonEntity], Coroutine[Any, Any, Any]]
13
13
  requires_electricity: bool = ...
14
- 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, async_press, requires_electricity) -> None: ...
14
+ 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=..., async_press, requires_electricity=...) -> None: ...
15
15
 
16
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: RenaultConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
17
 
@@ -13,7 +13,7 @@ class RenaultDataRequiredKeysMixin:
13
13
 
14
14
  @dataclass(frozen=True)
15
15
  class RenaultDataEntityDescription(EntityDescription, RenaultDataRequiredKeysMixin):
16
- def __init__(self, coordinator, *, 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) -> None: ...
16
+ def __init__(self, coordinator, *, 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=...) -> None: ...
17
17
 
18
18
  class RenaultEntity(Entity):
19
19
  _attr_has_entity_name: bool
@@ -21,7 +21,7 @@ class RenaultCoordinatorDescription:
21
21
  key: str
22
22
  update_method: Callable[[RenaultVehicle], Callable[[], Awaitable[models.KamereonVehicleDataAttributes]]]
23
23
  requires_electricity: bool = ...
24
- def __init__(self, endpoint, key, update_method, requires_electricity) -> None: ...
24
+ def __init__(self, endpoint, key, update_method, requires_electricity=...) -> None: ...
25
25
 
26
26
  class RenaultVehicleProxy:
27
27
  hass: Incomplete
@@ -10,7 +10,7 @@ from renault_api.kamereon.models import KamereonVehicleBatteryStatusData
10
10
  @dataclass(frozen=True, kw_only=True)
11
11
  class RenaultSelectEntityDescription(SelectEntityDescription, RenaultDataEntityDescription):
12
12
  data_key: str
13
- def __init__(self, coordinator, *, 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, options, data_key) -> None: ...
13
+ def __init__(self, coordinator, *, 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=..., options=..., data_key) -> None: ...
14
14
 
15
15
  async def async_setup_entry(hass: HomeAssistant, config_entry: RenaultConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
16
 
@@ -20,7 +20,7 @@ class RenaultSensorEntityDescription(SensorEntityDescription, RenaultDataEntityD
20
20
  condition_lambda: Callable[[RenaultVehicleProxy], bool] | None = ...
21
21
  requires_fuel: bool = ...
22
22
  value_lambda: Callable[[RenaultSensor[T]], StateType | datetime] | None = ...
23
- def __init__(self, coordinator, *, 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, data_key, entity_class, condition_lambda, requires_fuel, value_lambda) -> None: ...
23
+ def __init__(self, coordinator, *, 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=..., data_key, entity_class, condition_lambda=..., requires_fuel=..., value_lambda=...) -> None: ...
24
24
 
25
25
  async def async_setup_entry(hass: HomeAssistant, config_entry: RenaultConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
26
26
 
@@ -23,5 +23,5 @@ class RepairsFlowIndexView(FlowManagerIndexView):
23
23
  class RepairsFlowResourceView(FlowManagerResourceView):
24
24
  url: str
25
25
  name: str
26
- async def get(self, request: web.Request, flow_id: str) -> web.Response: ...
26
+ async def get(self, request: web.Request, /, flow_id: str) -> web.Response: ...
27
27
  async def post(self, request: web.Request, flow_id: str) -> web.Response: ...
@@ -23,7 +23,7 @@ def _rssi_convert(value: int | None) -> str | None: ...
23
23
  @dataclass(frozen=True)
24
24
  class RfxtrxSensorEntityDescription(SensorEntityDescription):
25
25
  convert: Callable[[Any], StateType | date | datetime | Decimal] = ...
26
- 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, convert) -> None: ...
26
+ 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=..., convert=...) -> None: ...
27
27
 
28
28
  SENSOR_TYPES: Incomplete
29
29
  SENSOR_TYPES_DICT: Incomplete
@@ -15,7 +15,7 @@ from typing import Any
15
15
  @dataclass(frozen=True, kw_only=True)
16
16
  class RingBinarySensorEntityDescription(BinarySensorEntityDescription):
17
17
  exists_fn: Callable[[RingGeneric], 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, exists_fn) -> None: ...
18
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., exists_fn) -> None: ...
19
19
 
20
20
  BINARY_SENSOR_TYPES: tuple[RingBinarySensorEntityDescription, ...]
21
21
 
@@ -15,8 +15,8 @@ _LOGGER: Incomplete
15
15
  SKIP_UPDATES_DELAY: Incomplete
16
16
 
17
17
  class OnOffState(StrEnum):
18
- ON: Incomplete
19
- OFF: Incomplete
18
+ ON = ...
19
+ OFF = ...
20
20
 
21
21
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
22
22