homeassistant-stubs 2024.9.3__py3-none-any.whl → 2024.10.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 (836) hide show
  1. homeassistant-stubs/components/__init__.pyi +0 -8
  2. homeassistant-stubs/components/abode/binary_sensor.pyi +1 -1
  3. homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
  4. homeassistant-stubs/components/acmeda/__init__.pyi +1 -0
  5. homeassistant-stubs/components/acmeda/cover.pyi +2 -2
  6. homeassistant-stubs/components/acmeda/{base.pyi → entity.pyi} +1 -1
  7. homeassistant-stubs/components/acmeda/sensor.pyi +2 -2
  8. homeassistant-stubs/components/actiontec/device_tracker.pyi +1 -1
  9. homeassistant-stubs/components/air_quality/__init__.pyi +2 -0
  10. homeassistant-stubs/components/airgradient/__init__.pyi +2 -10
  11. homeassistant-stubs/components/airgradient/button.pyi +4 -4
  12. homeassistant-stubs/components/airgradient/coordinator.pyi +10 -10
  13. homeassistant-stubs/components/airgradient/number.pyi +2 -3
  14. homeassistant-stubs/components/airgradient/select.pyi +2 -3
  15. homeassistant-stubs/components/airgradient/sensor.pyi +9 -9
  16. homeassistant-stubs/components/airgradient/switch.pyi +2 -3
  17. homeassistant-stubs/components/airgradient/update.pyi +2 -3
  18. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  19. homeassistant-stubs/components/airnow/const.pyi +4 -1
  20. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  21. homeassistant-stubs/components/airnow/sensor.pyi +2 -1
  22. homeassistant-stubs/components/airvisual/__init__.pyi +6 -14
  23. homeassistant-stubs/components/airvisual/diagnostics.pyi +3 -4
  24. homeassistant-stubs/components/airvisual/entity.pyi +13 -0
  25. homeassistant-stubs/components/airvisual/sensor.pyi +4 -3
  26. homeassistant-stubs/components/airvisual_pro/__init__.pyi +2 -11
  27. homeassistant-stubs/components/airvisual_pro/entity.pyi +12 -0
  28. homeassistant-stubs/components/airvisual_pro/sensor.pyi +2 -1
  29. homeassistant-stubs/components/airzone/diagnostics.pyi +1 -1
  30. homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +1 -1
  31. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  32. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -0
  33. homeassistant-stubs/components/alert/__init__.pyi +3 -43
  34. homeassistant-stubs/components/alert/entity.pyi +45 -0
  35. homeassistant-stubs/components/alexa/capabilities.pyi +2 -1
  36. homeassistant-stubs/components/alexa/config.pyi +1 -1
  37. homeassistant-stubs/components/alexa/smart_home.pyi +1 -1
  38. homeassistant-stubs/components/amazon_polly/tts.pyi +3 -1
  39. homeassistant-stubs/components/amberelectric/__init__.pyi +5 -3
  40. homeassistant-stubs/components/amberelectric/binary_sensor.pyi +3 -3
  41. homeassistant-stubs/components/amberelectric/sensor.pyi +3 -3
  42. homeassistant-stubs/components/ambient_network/__init__.pyi +3 -3
  43. homeassistant-stubs/components/ambient_network/sensor.pyi +2 -3
  44. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -2
  45. homeassistant-stubs/components/anova/__init__.pyi +3 -5
  46. homeassistant-stubs/components/anova/models.pyi +3 -0
  47. homeassistant-stubs/components/anova/sensor.pyi +2 -4
  48. homeassistant-stubs/components/anthemav/__init__.pyi +4 -3
  49. homeassistant-stubs/components/anthemav/media_player.pyi +2 -3
  50. homeassistant-stubs/components/apcupsd/__init__.pyi +3 -4
  51. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +2 -4
  52. homeassistant-stubs/components/apcupsd/diagnostics.pyi +2 -4
  53. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -3
  54. homeassistant-stubs/components/apple_tv/__init__.pyi +2 -19
  55. homeassistant-stubs/components/apple_tv/const.pyi +2 -0
  56. homeassistant-stubs/components/apple_tv/entity.pyi +21 -0
  57. homeassistant-stubs/components/apple_tv/media_player.pyi +2 -1
  58. homeassistant-stubs/components/apple_tv/remote.pyi +2 -1
  59. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -2
  60. homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +1 -1
  61. homeassistant-stubs/components/aruba/device_tracker.pyi +1 -1
  62. homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -3
  63. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  64. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  65. homeassistant-stubs/components/assist_pipeline/repair_flows.pyi +11 -0
  66. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -3
  67. homeassistant-stubs/components/assist_satellite/__init__.pyi +5 -0
  68. homeassistant-stubs/components/assist_satellite/connection_test.pyi +15 -0
  69. homeassistant-stubs/components/assist_satellite/const.pyi +12 -0
  70. homeassistant-stubs/components/assist_satellite/entity.pyi +88 -0
  71. homeassistant-stubs/components/assist_satellite/errors.pyi +4 -0
  72. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +16 -0
  73. homeassistant-stubs/components/asuswrt/bridge.pyi +8 -1
  74. homeassistant-stubs/components/asuswrt/const.pyi +3 -0
  75. homeassistant-stubs/components/asuswrt/device_tracker.pyi +1 -3
  76. homeassistant-stubs/components/asuswrt/sensor.pyi +3 -2
  77. homeassistant-stubs/components/autarco/coordinator.pyi +6 -4
  78. homeassistant-stubs/components/autarco/sensor.pyi +18 -2
  79. homeassistant-stubs/components/automation/__init__.pyi +5 -3
  80. homeassistant-stubs/components/automation/config.pyi +6 -2
  81. homeassistant-stubs/components/automation/const.pyi +2 -0
  82. homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
  83. homeassistant-stubs/components/axis/hub/event_source.pyi +1 -1
  84. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +1 -0
  85. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  86. homeassistant-stubs/components/bang_olufsen/media_player.pyi +21 -4
  87. homeassistant-stubs/components/bang_olufsen/util.pyi +1 -0
  88. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -1
  89. homeassistant-stubs/components/bayesian/binary_sensor.pyi +9 -4
  90. homeassistant-stubs/components/bayesian/const.pyi +1 -0
  91. homeassistant-stubs/components/bayesian/helpers.pyi +2 -1
  92. homeassistant-stubs/components/binary_sensor/__init__.pyi +2 -0
  93. homeassistant-stubs/components/blueprint/__init__.pyi +1 -1
  94. homeassistant-stubs/components/blueprint/importer.pyi +1 -1
  95. homeassistant-stubs/components/blueprint/models.pyi +4 -3
  96. homeassistant-stubs/components/blueprint/websocket_api.pyi +1 -0
  97. homeassistant-stubs/components/bluesound/__init__.pyi +25 -0
  98. homeassistant-stubs/components/bluesound/config_flow.pyi +24 -0
  99. homeassistant-stubs/components/bluesound/const.pyi +8 -0
  100. homeassistant-stubs/components/bluesound/media_player.pyi +136 -0
  101. homeassistant-stubs/components/bluesound/utils.pyi +3 -0
  102. homeassistant-stubs/components/bluetooth/manager.pyi +3 -0
  103. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -3
  104. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -1
  105. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  106. homeassistant-stubs/components/braviatv/media_player.pyi +1 -2
  107. homeassistant-stubs/components/bthome/device_trigger.pyi +4 -3
  108. homeassistant-stubs/components/button/__init__.pyi +2 -0
  109. homeassistant-stubs/components/calendar/__init__.pyi +7 -5
  110. homeassistant-stubs/components/calendar/const.pyi +5 -0
  111. homeassistant-stubs/components/calendar/trigger.pyi +2 -1
  112. homeassistant-stubs/components/camera/__init__.pyi +4 -4
  113. homeassistant-stubs/components/camera/const.pyi +12 -2
  114. homeassistant-stubs/components/camera/media_source.pyi +2 -4
  115. homeassistant-stubs/components/cert_expiry/entity.pyi +8 -0
  116. homeassistant-stubs/components/cert_expiry/sensor.pyi +3 -8
  117. homeassistant-stubs/components/climate/__init__.pyi +6 -2
  118. homeassistant-stubs/components/climate/const.pyi +1 -0
  119. homeassistant-stubs/components/climate/intent.pyi +1 -3
  120. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  121. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  122. homeassistant-stubs/components/co2signal/__init__.pyi +0 -1
  123. homeassistant-stubs/components/co2signal/config_flow.pyi +2 -1
  124. homeassistant-stubs/components/config/automation.pyi +1 -1
  125. homeassistant-stubs/components/config/category_registry.pyi +1 -1
  126. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  127. homeassistant-stubs/components/config/entity_registry.pyi +1 -2
  128. homeassistant-stubs/components/config/floor_registry.pyi +1 -1
  129. homeassistant-stubs/components/config/label_registry.pyi +1 -1
  130. homeassistant-stubs/components/config/scene.pyi +1 -1
  131. homeassistant-stubs/components/config/script.pyi +0 -1
  132. homeassistant-stubs/components/cover/__init__.pyi +3 -1
  133. homeassistant-stubs/components/cover/const.pyi +2 -0
  134. homeassistant-stubs/components/cover/intent.pyi +1 -4
  135. homeassistant-stubs/components/crownstone/{devices.pyi → entity.pyi} +1 -1
  136. homeassistant-stubs/components/crownstone/light.pyi +2 -2
  137. homeassistant-stubs/components/deako/__init__.pyi +14 -0
  138. homeassistant-stubs/components/deako/config_flow.pyi +6 -0
  139. homeassistant-stubs/components/deako/const.pyi +2 -0
  140. homeassistant-stubs/components/deako/light.pyi +32 -0
  141. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
  142. homeassistant-stubs/components/deconz/binary_sensor.pyi +3 -3
  143. homeassistant-stubs/components/deconz/button.pyi +4 -4
  144. homeassistant-stubs/components/deconz/climate.pyi +3 -3
  145. homeassistant-stubs/components/deconz/cover.pyi +3 -3
  146. homeassistant-stubs/components/deconz/deconz_event.pyi +1 -1
  147. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  148. homeassistant-stubs/components/deconz/fan.pyi +3 -3
  149. homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
  150. homeassistant-stubs/components/deconz/light.pyi +3 -3
  151. homeassistant-stubs/components/deconz/lock.pyi +3 -3
  152. homeassistant-stubs/components/deconz/number.pyi +3 -3
  153. homeassistant-stubs/components/deconz/scene.pyi +3 -3
  154. homeassistant-stubs/components/deconz/select.pyi +6 -6
  155. homeassistant-stubs/components/deconz/sensor.pyi +6 -5
  156. homeassistant-stubs/components/deconz/siren.pyi +3 -3
  157. homeassistant-stubs/components/deconz/switch.pyi +3 -3
  158. homeassistant-stubs/components/demo/lock.pyi +1 -2
  159. homeassistant-stubs/components/demo/notify.pyi +1 -1
  160. homeassistant-stubs/components/derivative/sensor.pyi +1 -1
  161. homeassistant-stubs/components/device_automation/__init__.pyi +1 -1
  162. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -1
  163. homeassistant-stubs/components/device_tracker/config_entry.pyi +30 -4
  164. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  165. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +1 -1
  166. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  167. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  168. homeassistant-stubs/components/devolo_home_network/__init__.pyi +1 -1
  169. homeassistant-stubs/components/devolo_home_network/const.pyi +1 -0
  170. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -6
  171. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  172. homeassistant-stubs/components/devolo_home_network/sensor.pyi +19 -14
  173. homeassistant-stubs/components/dhcp/__init__.pyi +7 -1
  174. homeassistant-stubs/components/discovergy/config_flow.pyi +1 -0
  175. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
  176. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -2
  177. homeassistant-stubs/components/dlna_dms/media_source.pyi +1 -2
  178. homeassistant-stubs/components/downloader/__init__.pyi +1 -9
  179. homeassistant-stubs/components/downloader/config_flow.pyi +0 -1
  180. homeassistant-stubs/components/dsmr/const.pyi +1 -0
  181. homeassistant-stubs/components/dsmr/sensor.pyi +4 -2
  182. homeassistant-stubs/components/efergy/__init__.pyi +0 -9
  183. homeassistant-stubs/components/efergy/entity.pyi +11 -0
  184. homeassistant-stubs/components/efergy/sensor.pyi +2 -1
  185. homeassistant-stubs/components/elevenlabs/config_flow.pyi +5 -1
  186. homeassistant-stubs/components/elevenlabs/const.pyi +11 -0
  187. homeassistant-stubs/components/elevenlabs/tts.pyi +7 -3
  188. homeassistant-stubs/components/elkm1/__init__.pyi +1 -34
  189. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
  190. homeassistant-stubs/components/elkm1/binary_sensor.pyi +2 -1
  191. homeassistant-stubs/components/elkm1/climate.pyi +4 -1
  192. homeassistant-stubs/components/elkm1/entity.pyi +43 -0
  193. homeassistant-stubs/components/elkm1/light.pyi +2 -1
  194. homeassistant-stubs/components/elkm1/scene.pyi +2 -1
  195. homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
  196. homeassistant-stubs/components/elkm1/switch.pyi +19 -1
  197. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -0
  198. homeassistant-stubs/components/enphase_envoy/sensor.pyi +13 -1
  199. homeassistant-stubs/components/enphase_envoy/switch.pyi +1 -1
  200. homeassistant-stubs/components/esphome/__init__.pyi +3 -2
  201. homeassistant-stubs/components/esphome/assist_satellite.pyi +75 -0
  202. homeassistant-stubs/components/esphome/binary_sensor.pyi +3 -0
  203. homeassistant-stubs/components/esphome/const.pyi +1 -0
  204. homeassistant-stubs/components/esphome/entry_data.pyi +3 -2
  205. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +49 -0
  206. homeassistant-stubs/components/esphome/manager.pyi +2 -9
  207. homeassistant-stubs/components/esphome/media_player.pyi +7 -1
  208. homeassistant-stubs/components/esphome/repairs.pyi +5 -0
  209. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +0 -7
  210. homeassistant-stubs/components/evil_genius_labs/entity.pyi +9 -0
  211. homeassistant-stubs/components/evil_genius_labs/light.pyi +1 -1
  212. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  213. homeassistant-stubs/components/evohome/const.pyi +5 -5
  214. homeassistant-stubs/components/fan/__init__.pyi +2 -0
  215. homeassistant-stubs/components/forecast_solar/coordinator.pyi +1 -1
  216. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -3
  217. homeassistant-stubs/components/fritz/switch.pyi +1 -1
  218. homeassistant-stubs/components/fritzbox/__init__.pyi +1 -27
  219. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +1 -1
  220. homeassistant-stubs/components/fritzbox/button.pyi +1 -1
  221. homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
  222. homeassistant-stubs/components/fritzbox/cover.pyi +1 -1
  223. homeassistant-stubs/components/fritzbox/entity.pyi +29 -0
  224. homeassistant-stubs/components/fritzbox/light.pyi +2 -2
  225. homeassistant-stubs/components/fritzbox/sensor.pyi +1 -1
  226. homeassistant-stubs/components/fritzbox/switch.pyi +1 -1
  227. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  228. homeassistant-stubs/components/frontend/storage.pyi +1 -1
  229. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +2 -1
  230. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +3 -1
  231. homeassistant-stubs/components/fujitsu_fglair/const.pyi +3 -1
  232. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +1 -1
  233. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +6 -6
  234. homeassistant-stubs/components/geo_location/__init__.pyi +2 -0
  235. homeassistant-stubs/components/google/calendar.pyi +20 -6
  236. homeassistant-stubs/components/google_cloud/__init__.pyi +10 -0
  237. homeassistant-stubs/components/google_cloud/config_flow.pyi +27 -0
  238. homeassistant-stubs/components/google_cloud/const.pyi +19 -0
  239. homeassistant-stubs/components/google_cloud/helpers.pyi +14 -0
  240. homeassistant-stubs/components/google_cloud/stt.pyi +34 -0
  241. homeassistant-stubs/components/google_cloud/tts.pyi +47 -0
  242. homeassistant-stubs/components/google_photos/__init__.pyi +3 -0
  243. homeassistant-stubs/components/google_photos/api.pyi +15 -0
  244. homeassistant-stubs/components/google_photos/application_credentials.pyi +6 -0
  245. homeassistant-stubs/components/google_photos/config_flow.pyi +19 -0
  246. homeassistant-stubs/components/google_photos/const.pyi +8 -0
  247. homeassistant-stubs/components/google_photos/coordinator.pyi +17 -0
  248. homeassistant-stubs/components/google_photos/media_source.pyi +54 -0
  249. homeassistant-stubs/components/google_photos/services.pyi +15 -0
  250. homeassistant-stubs/components/google_photos/types.pyi +4 -0
  251. homeassistant-stubs/components/group/__init__.pyi +1 -3
  252. homeassistant-stubs/components/group/button.pyi +1 -1
  253. homeassistant-stubs/components/group/const.pyi +7 -3
  254. homeassistant-stubs/components/group/cover.pyi +1 -1
  255. homeassistant-stubs/components/group/entity.pyi +1 -1
  256. homeassistant-stubs/components/group/event.pyi +1 -1
  257. homeassistant-stubs/components/group/fan.pyi +1 -1
  258. homeassistant-stubs/components/group/lock.pyi +2 -2
  259. homeassistant-stubs/components/group/media_player.pyi +1 -1
  260. homeassistant-stubs/components/group/notify.pyi +1 -1
  261. homeassistant-stubs/components/group/registry.pyi +2 -1
  262. homeassistant-stubs/components/group/sensor.pyi +1 -1
  263. homeassistant-stubs/components/group/switch.pyi +1 -1
  264. homeassistant-stubs/components/guardian/__init__.pyi +0 -24
  265. homeassistant-stubs/components/guardian/binary_sensor.pyi +2 -1
  266. homeassistant-stubs/components/guardian/button.pyi +2 -1
  267. homeassistant-stubs/components/guardian/entity.pyi +29 -0
  268. homeassistant-stubs/components/guardian/sensor.pyi +2 -1
  269. homeassistant-stubs/components/guardian/switch.pyi +2 -1
  270. homeassistant-stubs/components/guardian/util.pyi +1 -1
  271. homeassistant-stubs/components/guardian/valve.pyi +2 -1
  272. homeassistant-stubs/components/history/websocket_api.pyi +1 -2
  273. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
  274. homeassistant-stubs/components/homeassistant/triggers/time.pyi +9 -1
  275. homeassistant-stubs/components/homekit/config_flow.pyi +3 -3
  276. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  277. homeassistant-stubs/components/homekit/type_fans.pyi +1 -1
  278. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  279. homeassistant-stubs/components/homekit/type_lights.pyi +1 -1
  280. homeassistant-stubs/components/homekit/type_locks.pyi +1 -1
  281. homeassistant-stubs/components/homekit/type_media_players.pyi +1 -1
  282. homeassistant-stubs/components/homekit/type_security_systems.pyi +1 -1
  283. homeassistant-stubs/components/homekit/type_switches.pyi +0 -1
  284. homeassistant-stubs/components/homekit/util.pyi +1 -0
  285. homeassistant-stubs/components/homekit_controller/config_flow.pyi +0 -1
  286. homeassistant-stubs/components/homekit_controller/lock.pyi +3 -3
  287. homeassistant-stubs/components/homeworks/__init__.pyi +0 -15
  288. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -1
  289. homeassistant-stubs/components/homeworks/button.pyi +2 -1
  290. homeassistant-stubs/components/homeworks/config_flow.pyi +2 -1
  291. homeassistant-stubs/components/homeworks/entity.pyi +16 -0
  292. homeassistant-stubs/components/homeworks/light.pyi +2 -1
  293. homeassistant-stubs/components/homeworks/util.pyi +1 -0
  294. homeassistant-stubs/components/http/__init__.pyi +1 -1
  295. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -24
  296. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +1 -1
  297. homeassistant-stubs/components/huawei_lte/button.pyi +1 -1
  298. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +3 -4
  299. homeassistant-stubs/components/huawei_lte/entity.pyi +31 -0
  300. homeassistant-stubs/components/huawei_lte/select.pyi +2 -1
  301. homeassistant-stubs/components/huawei_lte/sensor.pyi +2 -1
  302. homeassistant-stubs/components/huawei_lte/switch.pyi +1 -1
  303. homeassistant-stubs/components/humidifier/__init__.pyi +7 -2
  304. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  305. homeassistant-stubs/components/husqvarna_automower/button.pyi +20 -6
  306. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +21 -0
  307. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  308. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +1 -3
  309. homeassistant-stubs/components/husqvarna_automower/entity.pyi +16 -2
  310. homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -10
  311. homeassistant-stubs/components/husqvarna_automower/switch.pyi +12 -1
  312. homeassistant-stubs/components/image/__init__.pyi +1 -1
  313. homeassistant-stubs/components/image/const.pyi +4 -0
  314. homeassistant-stubs/components/image/media_source.pyi +2 -5
  315. homeassistant-stubs/components/ios/__init__.pyi +1 -15
  316. homeassistant-stubs/components/ios/const.pyi +16 -0
  317. homeassistant-stubs/components/ios/notify.pyi +1 -1
  318. homeassistant-stubs/components/ios/sensor.pyi +2 -2
  319. homeassistant-stubs/components/iotty/cover.pyi +36 -0
  320. homeassistant-stubs/components/iotty/entity.pyi +19 -0
  321. homeassistant-stubs/components/iotty/switch.pyi +2 -11
  322. homeassistant-stubs/components/iqvia/__init__.pyi +2 -15
  323. homeassistant-stubs/components/iqvia/entity.pyi +18 -0
  324. homeassistant-stubs/components/iqvia/sensor.pyi +1 -1
  325. homeassistant-stubs/components/isy994/const.pyi +2 -1
  326. homeassistant-stubs/components/jellyfin/browse_media.pyi +1 -2
  327. homeassistant-stubs/components/jellyfin/media_player.pyi +1 -2
  328. homeassistant-stubs/components/jellyfin/media_source.pyi +1 -1
  329. homeassistant-stubs/components/jellyfin/sensor.pyi +1 -0
  330. homeassistant-stubs/components/knx/__init__.pyi +4 -2
  331. homeassistant-stubs/components/knx/binary_sensor.pyi +2 -2
  332. homeassistant-stubs/components/knx/button.pyi +2 -2
  333. homeassistant-stubs/components/knx/climate.pyi +9 -3
  334. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  335. homeassistant-stubs/components/knx/const.pyi +9 -3
  336. homeassistant-stubs/components/knx/cover.pyi +2 -2
  337. homeassistant-stubs/components/knx/date.pyi +2 -2
  338. homeassistant-stubs/components/knx/datetime.pyi +2 -2
  339. homeassistant-stubs/components/knx/device_trigger.pyi +3 -5
  340. homeassistant-stubs/components/knx/diagnostics.pyi +1 -1
  341. homeassistant-stubs/components/knx/fan.pyi +2 -2
  342. homeassistant-stubs/components/knx/light.pyi +2 -2
  343. homeassistant-stubs/components/knx/notify.pyi +2 -2
  344. homeassistant-stubs/components/knx/number.pyi +2 -2
  345. homeassistant-stubs/components/knx/scene.pyi +2 -2
  346. homeassistant-stubs/components/knx/schema.pyi +8 -2
  347. homeassistant-stubs/components/knx/select.pyi +2 -2
  348. homeassistant-stubs/components/knx/sensor.pyi +2 -2
  349. homeassistant-stubs/components/knx/services.pyi +1 -1
  350. homeassistant-stubs/components/knx/switch.pyi +2 -2
  351. homeassistant-stubs/components/knx/text.pyi +2 -2
  352. homeassistant-stubs/components/knx/time.pyi +2 -2
  353. homeassistant-stubs/components/knx/weather.pyi +2 -2
  354. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  355. homeassistant-stubs/components/lamarzocco/config_flow.pyi +5 -1
  356. homeassistant-stubs/components/laundrify/binary_sensor.pyi +0 -1
  357. homeassistant-stubs/components/laundrify/sensor.pyi +41 -0
  358. homeassistant-stubs/components/lawn_mower/__init__.pyi +2 -0
  359. homeassistant-stubs/components/lcn/__init__.pyi +8 -30
  360. homeassistant-stubs/components/lcn/binary_sensor.pyi +7 -7
  361. homeassistant-stubs/components/lcn/climate.pyi +5 -5
  362. homeassistant-stubs/components/lcn/config_flow.pyi +3 -1
  363. homeassistant-stubs/components/lcn/const.pyi +1 -0
  364. homeassistant-stubs/components/lcn/cover.pyi +6 -6
  365. homeassistant-stubs/components/lcn/entity.pyi +28 -0
  366. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  367. homeassistant-stubs/components/lcn/light.pyi +6 -6
  368. homeassistant-stubs/components/lcn/scene.pyi +4 -5
  369. homeassistant-stubs/components/lcn/sensor.pyi +6 -6
  370. homeassistant-stubs/components/lcn/services.pyi +16 -0
  371. homeassistant-stubs/components/lcn/switch.pyi +6 -6
  372. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  373. homeassistant-stubs/components/lektrico/__init__.pyi +12 -0
  374. homeassistant-stubs/components/lektrico/button.pyi +27 -0
  375. homeassistant-stubs/components/lektrico/config_flow.pyi +24 -0
  376. homeassistant-stubs/components/lektrico/const.pyi +4 -0
  377. homeassistant-stubs/components/lektrico/coordinator.pyi +19 -0
  378. homeassistant-stubs/components/lektrico/entity.pyi +10 -0
  379. homeassistant-stubs/components/lektrico/number.pyi +29 -0
  380. homeassistant-stubs/components/lektrico/select.pyi +30 -0
  381. homeassistant-stubs/components/lektrico/sensor.pyi +34 -0
  382. homeassistant-stubs/components/lidarr/__init__.pyi +2 -11
  383. homeassistant-stubs/components/lidarr/entity.pyi +13 -0
  384. homeassistant-stubs/components/lidarr/sensor.pyi +2 -1
  385. homeassistant-stubs/components/light/__init__.pyi +4 -2
  386. homeassistant-stubs/components/linkplay/const.pyi +1 -1
  387. homeassistant-stubs/components/linkplay/media_player.pyi +9 -3
  388. homeassistant-stubs/components/linkplay/utils.pyi +1 -1
  389. homeassistant-stubs/components/lock/__init__.pyi +4 -2
  390. homeassistant-stubs/components/lock/const.pyi +11 -0
  391. homeassistant-stubs/components/lock/device_condition.pyi +2 -2
  392. homeassistant-stubs/components/lock/device_trigger.pyi +2 -2
  393. homeassistant-stubs/components/lock/reproduce_state.pyi +2 -2
  394. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -2
  395. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  396. homeassistant-stubs/components/madvr/__init__.pyi +1 -1
  397. homeassistant-stubs/components/madvr/diagnostics.pyi +10 -0
  398. homeassistant-stubs/components/matter/button.pyi +25 -0
  399. homeassistant-stubs/components/matter/entity.pyi +1 -4
  400. homeassistant-stubs/components/matter/light.pyi +0 -1
  401. homeassistant-stubs/components/matter/models.pyi +5 -3
  402. homeassistant-stubs/components/matter/number.pyi +2 -2
  403. homeassistant-stubs/components/matter/sensor.pyi +9 -0
  404. homeassistant-stubs/components/matter/valve.pyi +33 -0
  405. homeassistant-stubs/components/media_player/__init__.pyi +11 -4
  406. homeassistant-stubs/components/media_player/const.pyi +67 -63
  407. homeassistant-stubs/components/mikrotik/device_tracker.pyi +1 -3
  408. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -0
  409. homeassistant-stubs/components/minecraft_server/diagnostics.pyi +1 -1
  410. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -1
  411. homeassistant-stubs/components/modbus/climate.pyi +1 -1
  412. homeassistant-stubs/components/modbus/cover.pyi +1 -1
  413. homeassistant-stubs/components/modbus/fan.pyi +1 -1
  414. homeassistant-stubs/components/modbus/light.pyi +1 -1
  415. homeassistant-stubs/components/modbus/sensor.pyi +1 -1
  416. homeassistant-stubs/components/modbus/switch.pyi +1 -1
  417. homeassistant-stubs/components/mold_indicator/__init__.pyi +10 -0
  418. homeassistant-stubs/components/mold_indicator/config_flow.pyi +20 -0
  419. homeassistant-stubs/components/mold_indicator/const.pyi +6 -0
  420. homeassistant-stubs/components/mold_indicator/sensor.pyi +59 -0
  421. homeassistant-stubs/components/mopeka/__init__.pyi +1 -1
  422. homeassistant-stubs/components/motionmount/entity.pyi +3 -0
  423. homeassistant-stubs/components/motionmount/number.pyi +1 -0
  424. homeassistant-stubs/components/motionmount/select.pyi +5 -0
  425. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  426. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -1
  427. homeassistant-stubs/components/mqtt/button.pyi +1 -1
  428. homeassistant-stubs/components/mqtt/camera.pyi +1 -1
  429. homeassistant-stubs/components/mqtt/climate.pyi +1 -6
  430. homeassistant-stubs/components/mqtt/config_flow.pyi +1 -2
  431. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  432. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  433. homeassistant-stubs/components/mqtt/device_tracker.pyi +3 -3
  434. homeassistant-stubs/components/mqtt/device_trigger.pyi +1 -1
  435. homeassistant-stubs/components/mqtt/discovery.pyi +1 -1
  436. homeassistant-stubs/components/mqtt/{mixins.pyi → entity.pyi} +0 -3
  437. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  438. homeassistant-stubs/components/mqtt/fan.pyi +1 -1
  439. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
  440. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  441. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -1
  442. homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
  443. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -1
  444. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -1
  445. homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -1
  446. homeassistant-stubs/components/mqtt/lock.pyi +1 -1
  447. homeassistant-stubs/components/mqtt/notify.pyi +1 -1
  448. homeassistant-stubs/components/mqtt/number.pyi +1 -1
  449. homeassistant-stubs/components/mqtt/scene.pyi +1 -1
  450. homeassistant-stubs/components/mqtt/select.pyi +1 -1
  451. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  452. homeassistant-stubs/components/mqtt/siren.pyi +1 -1
  453. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  454. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  455. homeassistant-stubs/components/mqtt/text.pyi +1 -1
  456. homeassistant-stubs/components/mqtt/trigger.pyi +3 -2
  457. homeassistant-stubs/components/mqtt/update.pyi +1 -1
  458. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -1
  459. homeassistant-stubs/components/mqtt/valve.pyi +3 -3
  460. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -1
  461. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  462. homeassistant-stubs/components/mysensors/binary_sensor.pyi +3 -2
  463. homeassistant-stubs/components/mysensors/climate.pyi +3 -2
  464. homeassistant-stubs/components/mysensors/cover.pyi +3 -2
  465. homeassistant-stubs/components/mysensors/device_tracker.pyi +5 -10
  466. homeassistant-stubs/components/mysensors/handler.pyi +1 -1
  467. homeassistant-stubs/components/mysensors/light.pyi +3 -3
  468. homeassistant-stubs/components/mysensors/remote.pyi +1 -1
  469. homeassistant-stubs/components/mysensors/sensor.pyi +4 -3
  470. homeassistant-stubs/components/mysensors/switch.pyi +1 -1
  471. homeassistant-stubs/components/mysensors/text.pyi +2 -2
  472. homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -2
  473. homeassistant-stubs/components/nest/device_trigger.pyi +1 -2
  474. homeassistant-stubs/components/nest/media_source.pyi +1 -2
  475. homeassistant-stubs/components/netatmo/device_trigger.pyi +1 -2
  476. homeassistant-stubs/components/netatmo/media_source.pyi +1 -2
  477. homeassistant-stubs/components/network/websocket.pyi +1 -1
  478. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  479. homeassistant-stubs/components/nextdns/config_flow.pyi +11 -1
  480. homeassistant-stubs/components/nextdns/coordinator.pyi +1 -0
  481. homeassistant-stubs/components/nissan_leaf/__init__.pyi +3 -14
  482. homeassistant-stubs/components/nissan_leaf/binary_sensor.pyi +2 -1
  483. homeassistant-stubs/components/nissan_leaf/button.pyi +2 -1
  484. homeassistant-stubs/components/nissan_leaf/const.pyi +1 -0
  485. homeassistant-stubs/components/nissan_leaf/entity.pyi +18 -0
  486. homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -1
  487. homeassistant-stubs/components/nissan_leaf/switch.pyi +2 -1
  488. homeassistant-stubs/components/notify/__init__.pyi +3 -2
  489. homeassistant-stubs/components/notify/legacy.pyi +5 -6
  490. homeassistant-stubs/components/notify/repairs.pyi +1 -2
  491. homeassistant-stubs/components/notion/__init__.pyi +1 -23
  492. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -2
  493. homeassistant-stubs/components/notion/entity.pyi +33 -0
  494. homeassistant-stubs/components/notion/sensor.pyi +1 -2
  495. homeassistant-stubs/components/onewire/binary_sensor.pyi +1 -1
  496. homeassistant-stubs/components/onewire/sensor.pyi +1 -1
  497. homeassistant-stubs/components/onewire/switch.pyi +1 -1
  498. homeassistant-stubs/components/onkyo/media_player.pyi +84 -0
  499. homeassistant-stubs/components/onkyo/receiver.pyi +19 -0
  500. homeassistant-stubs/components/openuv/__init__.pyi +0 -11
  501. homeassistant-stubs/components/openuv/binary_sensor.pyi +1 -1
  502. homeassistant-stubs/components/openuv/entity.pyi +14 -0
  503. homeassistant-stubs/components/openuv/sensor.pyi +1 -1
  504. homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
  505. homeassistant-stubs/components/overkiz/{climate_entities → climate}/__init__.pyi +9 -0
  506. homeassistant-stubs/components/overkiz/{water_heater.pyi → cover/__init__.pyi} +5 -4
  507. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +17 -0
  508. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -10
  509. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +2 -1
  510. homeassistant-stubs/components/pi_hole/entity.pyi +13 -0
  511. homeassistant-stubs/components/pi_hole/sensor.pyi +2 -1
  512. homeassistant-stubs/components/pi_hole/switch.pyi +2 -1
  513. homeassistant-stubs/components/pi_hole/update.pyi +2 -1
  514. homeassistant-stubs/components/ping/binary_sensor.pyi +0 -8
  515. homeassistant-stubs/components/ping/device_tracker.pyi +1 -3
  516. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -1
  517. homeassistant-stubs/components/prusalink/__init__.pyi +1 -8
  518. homeassistant-stubs/components/prusalink/binary_sensor.pyi +1 -1
  519. homeassistant-stubs/components/prusalink/button.pyi +1 -1
  520. homeassistant-stubs/components/prusalink/camera.pyi +1 -1
  521. homeassistant-stubs/components/prusalink/entity.pyi +9 -0
  522. homeassistant-stubs/components/prusalink/sensor.pyi +1 -1
  523. homeassistant-stubs/components/purpleair/__init__.pyi +1 -17
  524. homeassistant-stubs/components/purpleair/entity.pyi +21 -0
  525. homeassistant-stubs/components/purpleair/sensor.pyi +1 -1
  526. homeassistant-stubs/components/qnap_qsw/diagnostics.pyi +1 -1
  527. homeassistant-stubs/components/radarr/__init__.pyi +2 -15
  528. homeassistant-stubs/components/radarr/binary_sensor.pyi +2 -1
  529. homeassistant-stubs/components/radarr/calendar.pyi +2 -1
  530. homeassistant-stubs/components/radarr/entity.pyi +16 -0
  531. homeassistant-stubs/components/radarr/sensor.pyi +2 -1
  532. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -18
  533. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +2 -2
  534. homeassistant-stubs/components/rainmachine/button.pyi +2 -2
  535. homeassistant-stubs/components/rainmachine/entity.pyi +30 -0
  536. homeassistant-stubs/components/rainmachine/select.pyi +2 -2
  537. homeassistant-stubs/components/rainmachine/sensor.pyi +2 -2
  538. homeassistant-stubs/components/rainmachine/switch.pyi +2 -2
  539. homeassistant-stubs/components/rainmachine/update.pyi +2 -2
  540. homeassistant-stubs/components/recorder/const.pyi +2 -2
  541. homeassistant-stubs/components/recorder/core.pyi +1 -5
  542. homeassistant-stubs/components/recorder/history/legacy.pyi +9 -10
  543. homeassistant-stubs/components/recorder/history/modern.pyi +1 -1
  544. homeassistant-stubs/components/recorder/migration.pyi +28 -25
  545. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  546. homeassistant-stubs/components/recorder/models/legacy.pyi +1 -37
  547. homeassistant-stubs/components/recorder/models/time.pyi +0 -1
  548. homeassistant-stubs/components/recorder/statistics.pyi +2 -1
  549. homeassistant-stubs/components/recorder/tasks.pyi +0 -15
  550. homeassistant-stubs/components/recorder/util.pyi +6 -2
  551. homeassistant-stubs/components/recorder/websocket_api.pyi +2 -1
  552. homeassistant-stubs/components/remote/__init__.pyi +2 -0
  553. homeassistant-stubs/components/renault/device_tracker.pyi +8 -4
  554. homeassistant-stubs/components/renault/renault_hub.pyi +1 -1
  555. homeassistant-stubs/components/renault/renault_vehicle.pyi +2 -0
  556. homeassistant-stubs/components/renault/services.pyi +4 -0
  557. homeassistant-stubs/components/rfxtrx/__init__.pyi +2 -27
  558. homeassistant-stubs/components/rfxtrx/binary_sensor.pyi +2 -1
  559. homeassistant-stubs/components/rfxtrx/const.pyi +1 -0
  560. homeassistant-stubs/components/rfxtrx/cover.pyi +2 -1
  561. homeassistant-stubs/components/rfxtrx/device_action.pyi +1 -1
  562. homeassistant-stubs/components/rfxtrx/device_trigger.pyi +1 -2
  563. homeassistant-stubs/components/rfxtrx/entity.pyi +33 -0
  564. homeassistant-stubs/components/rfxtrx/event.pyi +2 -1
  565. homeassistant-stubs/components/rfxtrx/light.pyi +2 -1
  566. homeassistant-stubs/components/rfxtrx/sensor.pyi +2 -1
  567. homeassistant-stubs/components/rfxtrx/siren.pyi +2 -1
  568. homeassistant-stubs/components/rfxtrx/switch.pyi +3 -2
  569. homeassistant-stubs/components/ring/__init__.pyi +10 -9
  570. homeassistant-stubs/components/ring/binary_sensor.pyi +24 -20
  571. homeassistant-stubs/components/ring/button.pyi +2 -4
  572. homeassistant-stubs/components/ring/camera.pyi +2 -4
  573. homeassistant-stubs/components/ring/config_flow.pyi +2 -1
  574. homeassistant-stubs/components/ring/const.pyi +1 -1
  575. homeassistant-stubs/components/ring/coordinator.pyi +22 -7
  576. homeassistant-stubs/components/ring/diagnostics.pyi +2 -4
  577. homeassistant-stubs/components/ring/entity.pyi +27 -7
  578. homeassistant-stubs/components/ring/event.pyi +30 -0
  579. homeassistant-stubs/components/ring/light.pyi +2 -4
  580. homeassistant-stubs/components/ring/number.pyi +33 -0
  581. homeassistant-stubs/components/ring/sensor.pyi +6 -8
  582. homeassistant-stubs/components/ring/siren.pyi +30 -14
  583. homeassistant-stubs/components/ring/switch.pyi +25 -17
  584. homeassistant-stubs/components/roborock/binary_sensor.pyi +1 -1
  585. homeassistant-stubs/components/roborock/button.pyi +1 -1
  586. homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
  587. homeassistant-stubs/components/roborock/image.pyi +1 -1
  588. homeassistant-stubs/components/roborock/number.pyi +3 -2
  589. homeassistant-stubs/components/roborock/select.pyi +2 -1
  590. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  591. homeassistant-stubs/components/roborock/switch.pyi +3 -2
  592. homeassistant-stubs/components/roborock/time.pyi +3 -2
  593. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  594. homeassistant-stubs/components/samsungtv/device_trigger.pyi +1 -2
  595. homeassistant-stubs/components/scene/__init__.pyi +2 -0
  596. homeassistant-stubs/components/schedule/__init__.pyi +5 -1
  597. homeassistant-stubs/components/schedule/const.pyi +1 -0
  598. homeassistant-stubs/components/script/helpers.pyi +1 -1
  599. homeassistant-stubs/components/sensibo/diagnostics.pyi +1 -1
  600. homeassistant-stubs/components/sensor/device_condition.pyi +1 -2
  601. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -2
  602. homeassistant-stubs/components/sensor/recorder.pyi +9 -6
  603. homeassistant-stubs/components/sensoterra/__init__.pyi +10 -0
  604. homeassistant-stubs/components/sensoterra/config_flow.pyi +11 -0
  605. homeassistant-stubs/components/sensoterra/const.pyi +9 -0
  606. homeassistant-stubs/components/sensoterra/coordinator.pyi +15 -0
  607. homeassistant-stubs/components/sensoterra/sensor.pyi +39 -0
  608. homeassistant-stubs/components/shelly/cover.pyi +7 -1
  609. homeassistant-stubs/components/shelly/device_trigger.pyi +1 -2
  610. homeassistant-stubs/components/shelly/update.pyi +1 -0
  611. homeassistant-stubs/components/simplisafe/__init__.pyi +4 -38
  612. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -1
  613. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +2 -1
  614. homeassistant-stubs/components/simplisafe/button.pyi +2 -1
  615. homeassistant-stubs/components/simplisafe/const.pyi +6 -0
  616. homeassistant-stubs/components/simplisafe/entity.pyi +38 -0
  617. homeassistant-stubs/components/simplisafe/lock.pyi +2 -1
  618. homeassistant-stubs/components/simplisafe/sensor.pyi +2 -1
  619. homeassistant-stubs/components/siren/__init__.pyi +2 -0
  620. homeassistant-stubs/components/slack/__init__.pyi +1 -13
  621. homeassistant-stubs/components/slack/entity.pyi +15 -0
  622. homeassistant-stubs/components/slack/sensor.pyi +1 -1
  623. homeassistant-stubs/components/smlight/__init__.pyi +18 -0
  624. homeassistant-stubs/components/smlight/binary_sensor.pyi +46 -0
  625. homeassistant-stubs/components/smlight/button.pyi +32 -0
  626. homeassistant-stubs/components/smlight/config_flow.pyi +27 -0
  627. homeassistant-stubs/components/smlight/const.pyi +11 -0
  628. homeassistant-stubs/components/smlight/coordinator.pyi +49 -0
  629. homeassistant-stubs/components/smlight/diagnostics.pyi +5 -0
  630. homeassistant-stubs/components/smlight/entity.pyi +10 -0
  631. homeassistant-stubs/components/smlight/sensor.pyi +56 -0
  632. homeassistant-stubs/components/smlight/switch.pyi +39 -0
  633. homeassistant-stubs/components/smlight/update.pyi +48 -0
  634. homeassistant-stubs/components/solarlog/__init__.pyi +14 -0
  635. homeassistant-stubs/components/solarlog/config_flow.pyi +26 -0
  636. homeassistant-stubs/components/solarlog/const.pyi +4 -0
  637. homeassistant-stubs/components/solarlog/coordinator.pyi +19 -0
  638. homeassistant-stubs/components/solarlog/diagnostics.pyi +10 -0
  639. homeassistant-stubs/components/solarlog/entity.pyi +23 -0
  640. homeassistant-stubs/components/solarlog/sensor.pyi +36 -0
  641. homeassistant-stubs/components/squeezebox/__init__.pyi +24 -0
  642. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +17 -0
  643. homeassistant-stubs/components/squeezebox/browse_media.pyi +18 -0
  644. homeassistant-stubs/components/squeezebox/config_flow.pyi +27 -0
  645. homeassistant-stubs/components/squeezebox/const.pyi +29 -0
  646. homeassistant-stubs/components/squeezebox/coordinator.pyi +14 -0
  647. homeassistant-stubs/components/squeezebox/entity.pyi +14 -0
  648. homeassistant-stubs/components/squeezebox/media_player.pyi +111 -0
  649. homeassistant-stubs/components/squeezebox/sensor.pyi +18 -0
  650. homeassistant-stubs/components/ssdp/__init__.pyi +3 -1
  651. homeassistant-stubs/components/starlink/device_tracker.pyi +2 -5
  652. homeassistant-stubs/components/starlink/diagnostics.pyi +1 -1
  653. homeassistant-stubs/components/stt/const.pyi +6 -2
  654. homeassistant-stubs/components/surepetcare/lock.pyi +3 -4
  655. homeassistant-stubs/components/switch/__init__.pyi +2 -0
  656. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  657. homeassistant-stubs/components/switchbot_cloud/const.pyi +4 -0
  658. homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
  659. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +32 -0
  660. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
  661. homeassistant-stubs/components/switcher_kis/config_flow.pyi +23 -2
  662. homeassistant-stubs/components/switcher_kis/coordinator.pyi +2 -0
  663. homeassistant-stubs/components/switcher_kis/cover.pyi +2 -1
  664. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  665. homeassistant-stubs/components/tailscale/__init__.pyi +0 -13
  666. homeassistant-stubs/components/tailscale/binary_sensor.pyi +1 -1
  667. homeassistant-stubs/components/tailscale/config_flow.pyi +2 -0
  668. homeassistant-stubs/components/tailscale/entity.pyi +15 -0
  669. homeassistant-stubs/components/tailscale/sensor.pyi +1 -1
  670. homeassistant-stubs/components/tami4/button.pyi +14 -1
  671. homeassistant-stubs/components/tautulli/__init__.pyi +0 -13
  672. homeassistant-stubs/components/tautulli/entity.pyi +15 -0
  673. homeassistant-stubs/components/tautulli/sensor.pyi +2 -1
  674. homeassistant-stubs/components/tcp/binary_sensor.pyi +2 -1
  675. homeassistant-stubs/components/tcp/common.pyi +0 -17
  676. homeassistant-stubs/components/tcp/entity.pyi +21 -0
  677. homeassistant-stubs/components/tcp/sensor.pyi +2 -1
  678. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -17
  679. homeassistant-stubs/components/threshold/const.pyi +20 -5
  680. homeassistant-stubs/components/tile/device_tracker.pyi +1 -3
  681. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  682. homeassistant-stubs/components/todo/const.pyi +4 -0
  683. homeassistant-stubs/components/todo/intent.pyi +2 -2
  684. homeassistant-stubs/components/tolo/__init__.pyi +3 -22
  685. homeassistant-stubs/components/tolo/binary_sensor.pyi +2 -1
  686. homeassistant-stubs/components/tolo/button.pyi +2 -1
  687. homeassistant-stubs/components/tolo/climate.pyi +2 -1
  688. homeassistant-stubs/components/tolo/coordinator.pyi +20 -0
  689. homeassistant-stubs/components/tolo/entity.pyi +11 -0
  690. homeassistant-stubs/components/tolo/fan.pyi +2 -1
  691. homeassistant-stubs/components/tolo/light.pyi +2 -1
  692. homeassistant-stubs/components/tolo/number.pyi +2 -1
  693. homeassistant-stubs/components/tolo/select.pyi +2 -1
  694. homeassistant-stubs/components/tolo/sensor.pyi +2 -1
  695. homeassistant-stubs/components/tolo/switch.pyi +2 -1
  696. homeassistant-stubs/components/tplink/number.pyi +2 -0
  697. homeassistant-stubs/components/tplink/siren.pyi +22 -0
  698. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -0
  699. homeassistant-stubs/components/tplink_omada/controller.pyi +10 -5
  700. homeassistant-stubs/components/tplink_omada/coordinator.pyi +7 -2
  701. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +1 -3
  702. homeassistant-stubs/components/tplink_omada/entity.pyi +0 -1
  703. homeassistant-stubs/components/tplink_omada/update.pyi +8 -7
  704. homeassistant-stubs/components/trace/__init__.pyi +1 -2
  705. homeassistant-stubs/components/trace/const.pyi +7 -3
  706. homeassistant-stubs/components/tractive/device_tracker.pyi +3 -9
  707. homeassistant-stubs/components/tradfri/cover.pyi +1 -1
  708. homeassistant-stubs/components/tradfri/fan.pyi +1 -1
  709. homeassistant-stubs/components/tradfri/light.pyi +1 -1
  710. homeassistant-stubs/components/tradfri/sensor.pyi +1 -1
  711. homeassistant-stubs/components/tradfri/switch.pyi +1 -1
  712. homeassistant-stubs/components/tts/__init__.pyi +2 -1
  713. homeassistant-stubs/components/tts/const.pyi +6 -1
  714. homeassistant-stubs/components/tts/helper.pyi +2 -3
  715. homeassistant-stubs/components/tts/legacy.pyi +0 -1
  716. homeassistant-stubs/components/tts/media_source.pyi +3 -3
  717. homeassistant-stubs/components/unifi/device_tracker.pyi +2 -4
  718. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  719. homeassistant-stubs/components/unifi/switch.pyi +1 -1
  720. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -2
  721. homeassistant-stubs/components/unifiprotect/button.pyi +1 -2
  722. homeassistant-stubs/components/unifiprotect/entity.pyi +40 -3
  723. homeassistant-stubs/components/unifiprotect/event.pyi +1 -2
  724. homeassistant-stubs/components/unifiprotect/media_source.pyi +1 -1
  725. homeassistant-stubs/components/unifiprotect/number.pyi +1 -2
  726. homeassistant-stubs/components/unifiprotect/select.pyi +1 -2
  727. homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -2
  728. homeassistant-stubs/components/unifiprotect/switch.pyi +1 -2
  729. homeassistant-stubs/components/unifiprotect/text.pyi +1 -2
  730. homeassistant-stubs/components/upcloud/__init__.pyi +2 -37
  731. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -1
  732. homeassistant-stubs/components/upcloud/const.pyi +1 -0
  733. homeassistant-stubs/components/upcloud/entity.pyi +38 -0
  734. homeassistant-stubs/components/upcloud/switch.pyi +4 -1
  735. homeassistant-stubs/components/update/__init__.pyi +1 -0
  736. homeassistant-stubs/components/uvc/__init__.pyi +0 -0
  737. homeassistant-stubs/components/uvc/camera.pyi +54 -0
  738. homeassistant-stubs/components/vacuum/__init__.pyi +21 -14
  739. homeassistant-stubs/components/vallox/__init__.pyi +6 -9
  740. homeassistant-stubs/components/vallox/binary_sensor.pyi +1 -1
  741. homeassistant-stubs/components/vallox/const.pyi +3 -3
  742. homeassistant-stubs/components/vallox/date.pyi +1 -1
  743. homeassistant-stubs/components/vallox/entity.pyi +12 -0
  744. homeassistant-stubs/components/vallox/fan.pyi +2 -2
  745. homeassistant-stubs/components/vallox/number.pyi +1 -1
  746. homeassistant-stubs/components/vallox/sensor.pyi +2 -2
  747. homeassistant-stubs/components/vallox/switch.pyi +1 -1
  748. homeassistant-stubs/components/valve/__init__.pyi +3 -1
  749. homeassistant-stubs/components/valve/const.pyi +9 -0
  750. homeassistant-stubs/components/velbus/climate.pyi +4 -1
  751. homeassistant-stubs/components/wallbox/const.pyi +4 -0
  752. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -1
  753. homeassistant-stubs/components/wallbox/number.pyi +1 -1
  754. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  755. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  756. homeassistant-stubs/components/weather/__init__.pyi +1 -1
  757. homeassistant-stubs/components/weather/const.pyi +5 -0
  758. homeassistant-stubs/components/weather/intent.pyi +1 -3
  759. homeassistant-stubs/components/weather/websocket_api.pyi +1 -2
  760. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  761. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +1 -0
  762. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +9 -1
  763. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +10 -6
  764. homeassistant-stubs/components/yale_smart_alarm/switch.pyi +20 -0
  765. homeassistant-stubs/components/youtube/const.pyi +1 -0
  766. homeassistant-stubs/components/youtube/coordinator.pyi +1 -1
  767. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  768. homeassistant-stubs/components/zeroconf/__init__.pyi +4 -0
  769. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  770. homeassistant-stubs/components/zwave_js/cover.pyi +5 -0
  771. homeassistant-stubs/components/zwave_js/device_condition.pyi +1 -1
  772. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -2
  773. homeassistant-stubs/components/zwave_js/diagnostics.pyi +1 -2
  774. homeassistant-stubs/components/zwave_js/discovery.pyi +1 -0
  775. homeassistant-stubs/components/zwave_js/light.pyi +8 -6
  776. homeassistant-stubs/components/zwave_js/lock.pyi +2 -3
  777. homeassistant-stubs/components/zwave_js/migrate.pyi +8 -7
  778. homeassistant-stubs/components/zwave_js/sensor.pyi +8 -4
  779. homeassistant-stubs/config_entries.pyi +9 -4
  780. homeassistant-stubs/const.pyi +19 -8
  781. homeassistant-stubs/helpers/aiohttp_client.pyi +8 -7
  782. homeassistant-stubs/helpers/condition.pyi +2 -0
  783. homeassistant-stubs/helpers/config_validation.pyi +5 -1
  784. homeassistant-stubs/helpers/discovery.pyi +1 -1
  785. homeassistant-stubs/helpers/discovery_flow.pyi +12 -2
  786. homeassistant-stubs/helpers/frame.pyi +1 -1
  787. homeassistant-stubs/helpers/llm.pyi +5 -5
  788. homeassistant-stubs/helpers/script.pyi +1 -1
  789. homeassistant-stubs/helpers/state.pyi +2 -1
  790. homeassistant-stubs/helpers/template.pyi +5 -1
  791. homeassistant-stubs/util/aiohttp.pyi +10 -0
  792. homeassistant-stubs/util/package.pyi +3 -0
  793. homeassistant-stubs/util/ssl.pyi +8 -4
  794. homeassistant-stubs/util/unit_conversion.pyi +2 -0
  795. homeassistant-stubs/util/unit_system.pyi +1 -0
  796. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0b0.dist-info}/METADATA +2 -2
  797. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0b0.dist-info}/RECORD +828 -705
  798. homeassistant-stubs/components/esphome/voice_assistant.pyi +0 -66
  799. homeassistant-stubs/components/notion/model.pyi +0 -7
  800. homeassistant-stubs/components/overkiz/climate.pyi +0 -10
  801. homeassistant-stubs/components/overkiz/cover.pyi +0 -11
  802. homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +0 -8
  803. homeassistant-stubs/components/rainmachine/model.pyi +0 -7
  804. homeassistant-stubs/components/recorder/history/common.pyi +0 -4
  805. homeassistant-stubs/components/unifiprotect/models.pyi +0 -44
  806. /homeassistant-stubs/components/deconz/{deconz_device.pyi → entity.pyi} +0 -0
  807. /homeassistant-stubs/components/devolo_home_control/{devolo_device.pyi → entity.pyi} +0 -0
  808. /homeassistant-stubs/components/knx/{knx_entity.pyi → entity.pyi} +0 -0
  809. /homeassistant-stubs/components/modbus/{base_platform.pyi → entity.pyi} +0 -0
  810. /homeassistant-stubs/components/mysensors/{device.pyi → entity.pyi} +0 -0
  811. /homeassistant-stubs/components/onewire/{onewire_entities.pyi → entity.pyi} +0 -0
  812. /homeassistant-stubs/components/{overkiz/cover_entities → onkyo}/__init__.pyi +0 -0
  813. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater.pyi +0 -0
  814. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -0
  815. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_towel_dryer.pyi +0 -0
  816. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_heat_recovery_ventilation.pyi +0 -0
  817. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heat_pump_main_component.pyi +0 -0
  818. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heating_zone.pyi +0 -0
  819. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control.pyi +0 -0
  820. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control_zone.pyi +0 -0
  821. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -0
  822. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_ovp.pyi +0 -0
  823. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_heating_temperature_interface.pyi +0 -0
  824. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_thermostat.pyi +0 -0
  825. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/valve_heating_temperature_interface.pyi +0 -0
  826. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/awning.pyi +0 -0
  827. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/generic_cover.pyi +0 -0
  828. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/vertical_cover.pyi +0 -0
  829. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_domestic_hot_water_production_mlb_component.pyi +0 -0
  830. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_pass_apc_dhw.pyi +0 -0
  831. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/domestic_hot_water_production.pyi +0 -0
  832. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/hitachi_dhw.pyi +0 -0
  833. /homeassistant-stubs/components/roborock/{device.pyi → entity.pyi} +0 -0
  834. /homeassistant-stubs/components/tradfri/{base_class.pyi → entity.pyi} +0 -0
  835. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0b0.dist-info}/WHEEL +0 -0
  836. {homeassistant_stubs-2024.9.3.dist-info → homeassistant_stubs-2024.10.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -22,15 +22,15 @@ ATTR_KEEP_DAYS: str
22
22
  ATTR_REPACK: str
23
23
  ATTR_APPLY_FILTER: str
24
24
  KEEPALIVE_TIME: int
25
- STATISTICS_ROWS_SCHEMA_VERSION: int
26
25
  CONTEXT_ID_AS_BINARY_SCHEMA_VERSION: int
27
26
  EVENT_TYPE_IDS_SCHEMA_VERSION: int
28
27
  STATES_META_SCHEMA_VERSION: int
29
28
  LAST_REPORTED_SCHEMA_VERSION: int
30
29
  LEGACY_STATES_EVENT_ID_INDEX_SCHEMA_VERSION: int
31
30
  INTEGRATION_PLATFORM_COMPILE_STATISTICS: str
32
- INTEGRATION_PLATFORM_VALIDATE_STATISTICS: str
33
31
  INTEGRATION_PLATFORM_LIST_STATISTIC_IDS: str
32
+ INTEGRATION_PLATFORM_UPDATE_STATISTICS_ISSUES: str
33
+ INTEGRATION_PLATFORM_VALIDATE_STATISTICS: str
34
34
  INTEGRATION_PLATFORM_METHODS: Incomplete
35
35
 
36
36
  class SupportedDialect(StrEnum):
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  import threading
3
3
  from . import migration as migration, statistics as statistics
4
- from .const import DB_WORKER_PREFIX as DB_WORKER_PREFIX, DOMAIN as DOMAIN, KEEPALIVE_TIME as KEEPALIVE_TIME, LAST_REPORTED_SCHEMA_VERSION as LAST_REPORTED_SCHEMA_VERSION, MARIADB_PYMYSQL_URL_PREFIX as MARIADB_PYMYSQL_URL_PREFIX, MARIADB_URL_PREFIX as MARIADB_URL_PREFIX, MAX_QUEUE_BACKLOG_MIN_VALUE as MAX_QUEUE_BACKLOG_MIN_VALUE, MIN_AVAILABLE_MEMORY_FOR_QUEUE_BACKLOG as MIN_AVAILABLE_MEMORY_FOR_QUEUE_BACKLOG, MYSQLDB_PYMYSQL_URL_PREFIX as MYSQLDB_PYMYSQL_URL_PREFIX, MYSQLDB_URL_PREFIX as MYSQLDB_URL_PREFIX, SQLITE_MAX_BIND_VARS as SQLITE_MAX_BIND_VARS, SQLITE_URL_PREFIX as SQLITE_URL_PREFIX, STATISTICS_ROWS_SCHEMA_VERSION as STATISTICS_ROWS_SCHEMA_VERSION, SupportedDialect as SupportedDialect
4
+ from .const import DB_WORKER_PREFIX as DB_WORKER_PREFIX, DOMAIN as DOMAIN, KEEPALIVE_TIME as KEEPALIVE_TIME, LAST_REPORTED_SCHEMA_VERSION as LAST_REPORTED_SCHEMA_VERSION, MARIADB_PYMYSQL_URL_PREFIX as MARIADB_PYMYSQL_URL_PREFIX, MARIADB_URL_PREFIX as MARIADB_URL_PREFIX, MAX_QUEUE_BACKLOG_MIN_VALUE as MAX_QUEUE_BACKLOG_MIN_VALUE, MIN_AVAILABLE_MEMORY_FOR_QUEUE_BACKLOG as MIN_AVAILABLE_MEMORY_FOR_QUEUE_BACKLOG, MYSQLDB_PYMYSQL_URL_PREFIX as MYSQLDB_PYMYSQL_URL_PREFIX, MYSQLDB_URL_PREFIX as MYSQLDB_URL_PREFIX, SQLITE_MAX_BIND_VARS as SQLITE_MAX_BIND_VARS, SQLITE_URL_PREFIX as SQLITE_URL_PREFIX, SupportedDialect as SupportedDialect
5
5
  from .db_schema import Base as Base, EventData as EventData, EventTypes as EventTypes, Events as Events, SCHEMA_VERSION as SCHEMA_VERSION, StateAttributes as StateAttributes, States as States, StatesMeta as StatesMeta, Statistics as Statistics, StatisticsShortTerm as StatisticsShortTerm
6
6
  from .executor import DBInterruptibleThreadPoolExecutor as DBInterruptibleThreadPoolExecutor
7
7
  from .migration import EntityIDMigration as EntityIDMigration, EventIDPostMigration as EventIDPostMigration, EventTypeIDMigration as EventTypeIDMigration, EventsContextIDMigration as EventsContextIDMigration, StatesContextIDMigration as StatesContextIDMigration
@@ -87,7 +87,6 @@ class Recorder(threading.Thread):
87
87
  event_session: Incomplete
88
88
  _get_session: Incomplete
89
89
  _completed_first_database_setup: Incomplete
90
- async_migration_event: Incomplete
91
90
  migration_in_progress: bool
92
91
  migration_is_live: bool
93
92
  use_legacy_events_index: bool
@@ -157,7 +156,6 @@ class Recorder(threading.Thread):
157
156
  def _guarded_process_one_task_or_event_or_recover(self, task: RecorderTask | Event) -> None: ...
158
157
  def _process_one_task_or_event_or_recover(self, task: RecorderTask | Event) -> None: ...
159
158
  def _setup_recorder(self) -> bool: ...
160
- def _async_migration_started(self) -> None: ...
161
159
  def _migrate_schema_offline(self, schema_status: migration.SchemaValidationStatus) -> tuple[bool, migration.SchemaValidationStatus]: ...
162
160
  def _migrate_schema_live(self, schema_status: migration.SchemaValidationStatus) -> tuple[bool, migration.SchemaValidationStatus]: ...
163
161
  def _migrate_schema(self, schema_status: migration.SchemaValidationStatus, live: bool) -> tuple[bool, migration.SchemaValidationStatus]: ...
@@ -172,8 +170,6 @@ class Recorder(threading.Thread):
172
170
  def _close_event_session(self) -> None: ...
173
171
  def _reopen_event_session(self) -> None: ...
174
172
  def _open_event_session(self) -> None: ...
175
- def _post_schema_migration(self, old_version: int, new_version: int) -> None: ...
176
- def _post_migrate_entity_ids(self) -> bool: ...
177
173
  def _send_keep_alive(self) -> None: ...
178
174
  async def async_block_till_done(self) -> None: ...
179
175
  def block_till_done(self) -> None: ...
@@ -1,16 +1,15 @@
1
- from ... import recorder as recorder
2
1
  from ..db_schema import RecorderRuns as RecorderRuns, StateAttributes as StateAttributes, States as States
3
2
  from ..filters import Filters as Filters
4
- from ..models import process_datetime_to_timestamp as process_datetime_to_timestamp, process_timestamp as process_timestamp, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat
5
- from ..models.legacy import LegacyLazyState as LegacyLazyState, LegacyLazyStatePreSchema31 as LegacyLazyStatePreSchema31, legacy_row_to_compressed_state as legacy_row_to_compressed_state, legacy_row_to_compressed_state_pre_schema_31 as legacy_row_to_compressed_state_pre_schema_31
3
+ from ..models import process_timestamp as process_timestamp, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat
4
+ from ..models.legacy import LegacyLazyState as LegacyLazyState, legacy_row_to_compressed_state as legacy_row_to_compressed_state
6
5
  from ..util import execute_stmt_lambda_element as execute_stmt_lambda_element, session_scope as session_scope
7
- from .common import _schema_version as _schema_version
8
6
  from .const import LAST_CHANGED_KEY as LAST_CHANGED_KEY, NEED_ATTRIBUTE_DOMAINS as NEED_ATTRIBUTE_DOMAINS, SIGNIFICANT_DOMAINS as SIGNIFICANT_DOMAINS, SIGNIFICANT_DOMAINS_ENTITY_ID_LIKE as SIGNIFICANT_DOMAINS_ENTITY_ID_LIKE, STATE_KEY as STATE_KEY
9
7
  from _typeshed import Incomplete
10
8
  from collections.abc import Callable as Callable, Iterable
11
9
  from datetime import datetime
12
10
  from homeassistant.const import COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE
13
11
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, split_entity_id as split_entity_id
12
+ from homeassistant.helpers.recorder import get_instance as get_instance
14
13
  from sqlalchemy import Column as Column
15
14
  from sqlalchemy.engine.row import Row as Row
16
15
  from sqlalchemy.orm.session import Session as Session
@@ -34,16 +33,16 @@ _QUERY_STATES_NO_LAST_CHANGED: Incomplete
34
33
  _FIELD_MAP: Incomplete
35
34
  _FIELD_MAP_PRE_SCHEMA_31: Incomplete
36
35
 
37
- def _lambda_stmt_and_join_attributes(schema_version: int, no_attributes: bool, include_last_changed: bool = True) -> tuple[StatementLambdaElement, bool]: ...
36
+ def _lambda_stmt_and_join_attributes(no_attributes: bool, include_last_changed: bool = True) -> tuple[StatementLambdaElement, bool]: ...
38
37
  def get_significant_states(hass: HomeAssistant, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, minimal_response: bool = False, no_attributes: bool = False, compressed_state_format: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
39
- def _significant_states_stmt(schema_version: int, start_time: datetime, end_time: datetime | None, entity_ids: list[str], significant_changes_only: bool, no_attributes: bool) -> StatementLambdaElement: ...
38
+ def _significant_states_stmt(start_time: datetime, end_time: datetime | None, entity_ids: list[str], significant_changes_only: bool, no_attributes: bool) -> StatementLambdaElement: ...
40
39
  def get_significant_states_with_session(hass: HomeAssistant, session: Session, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, minimal_response: bool = False, no_attributes: bool = False, compressed_state_format: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
41
40
  def get_full_significant_states_with_session(hass: HomeAssistant, session: Session, start_time: datetime, end_time: datetime | None = None, entity_ids: list[str] | None = None, filters: Filters | None = None, include_start_time_state: bool = True, significant_changes_only: bool = True, no_attributes: bool = False) -> dict[str, list[State]]: ...
42
- def _state_changed_during_period_stmt(schema_version: int, start_time: datetime, end_time: datetime | None, entity_id: str, no_attributes: bool, descending: bool, limit: int | None) -> StatementLambdaElement: ...
41
+ def _state_changed_during_period_stmt(start_time: datetime, end_time: datetime | None, entity_id: str, no_attributes: bool, descending: bool, limit: int | None) -> StatementLambdaElement: ...
43
42
  def state_changes_during_period(hass: HomeAssistant, start_time: datetime, end_time: datetime | None = None, entity_id: str | None = None, no_attributes: bool = False, descending: bool = False, limit: int | None = None, include_start_time_state: bool = True) -> dict[str, list[State]]: ...
44
- def _get_last_state_changes_stmt(schema_version: int, number_of_states: int, entity_id: str) -> StatementLambdaElement: ...
43
+ def _get_last_state_changes_stmt(number_of_states: int, entity_id: str) -> StatementLambdaElement: ...
45
44
  def get_last_state_changes(hass: HomeAssistant, number_of_states: int, entity_id: str) -> dict[str, list[State]]: ...
46
- def _get_states_for_entities_stmt(schema_version: int, run_start: datetime, utc_point_in_time: datetime, entity_ids: list[str], no_attributes: bool) -> StatementLambdaElement: ...
45
+ def _get_states_for_entities_stmt(run_start: datetime, utc_point_in_time: datetime, entity_ids: list[str], no_attributes: bool) -> StatementLambdaElement: ...
47
46
  def _get_rows_with_session(hass: HomeAssistant, session: Session, utc_point_in_time: datetime, entity_ids: list[str], run: RecorderRuns | None = None, no_attributes: bool = False) -> Iterable[Row]: ...
48
- def _get_single_entity_states_stmt(schema_version: int, utc_point_in_time: datetime, entity_id: str, no_attributes: bool = False) -> StatementLambdaElement: ...
47
+ def _get_single_entity_states_stmt(utc_point_in_time: datetime, entity_id: str, no_attributes: bool = False) -> StatementLambdaElement: ...
49
48
  def _sorted_states_to_dict(hass: HomeAssistant, session: Session, states: Iterable[Row], start_time: datetime, entity_ids: list[str], include_start_time_state: bool = True, minimal_response: bool = False, no_attributes: bool = False, compressed_state_format: bool = False) -> dict[str, list[State | dict[str, Any]]]: ...
@@ -1,4 +1,3 @@
1
- from ... import recorder as recorder
2
1
  from ..const import LAST_REPORTED_SCHEMA_VERSION as LAST_REPORTED_SCHEMA_VERSION
3
2
  from ..db_schema import SHARED_ATTR_OR_LEGACY_ATTRIBUTES as SHARED_ATTR_OR_LEGACY_ATTRIBUTES, StateAttributes as StateAttributes, States as States
4
3
  from ..filters import Filters as Filters
@@ -10,6 +9,7 @@ from collections.abc import Callable as Callable, Iterable
10
9
  from datetime import datetime
11
10
  from homeassistant.const import COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE
12
11
  from homeassistant.core import HomeAssistant as HomeAssistant, State as State, split_entity_id as split_entity_id
12
+ from homeassistant.helpers.recorder import get_instance as get_instance
13
13
  from sqlalchemy import CompoundSelect as CompoundSelect, Select as Select, Subquery as Subquery
14
14
  from sqlalchemy.engine.row import Row as Row
15
15
  from sqlalchemy.orm.session import Session as Session
@@ -6,9 +6,9 @@ from .db_schema import BIG_INTEGER_SQL as BIG_INTEGER_SQL, Base as Base, CONTEXT
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
- from .statistics import get_start_time as get_start_time
10
- from .tasks import CommitTask as CommitTask, EntityIDPostMigrationTask as EntityIDPostMigrationTask, PostSchemaMigrationTask as PostSchemaMigrationTask, RecorderTask as RecorderTask, StatisticsTimestampMigrationCleanupTask as StatisticsTimestampMigrationCleanupTask
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
9
+ from .statistics import cleanup_statistics_timestamp_migration as cleanup_statistics_timestamp_migration, get_start_time as get_start_time
10
+ from .tasks import RecorderTask as RecorderTask
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, retryable_database_job_method as retryable_database_job_method, session_scope as session_scope
12
12
  from _typeshed import Incomplete
13
13
  from abc import ABC, abstractmethod
14
14
  from collections.abc import Callable as Callable, Iterable
@@ -24,6 +24,8 @@ from typing import Any
24
24
 
25
25
  LIVE_MIGRATION_MIN_SCHEMA_VERSION: int
26
26
  MIGRATION_NOTE_OFFLINE: str
27
+ MIGRATION_NOTE_MINUTES: str
28
+ MIGRATION_NOTE_WHILE: str
27
29
  _EMPTY_ENTITY_ID: str
28
30
  _EMPTY_EVENT_TYPE: str
29
31
  _LOGGER: Incomplete
@@ -233,8 +235,6 @@ class _SchemaVersion47Migrator(_SchemaVersionMigrator, target_version=47):
233
235
 
234
236
  def _migrate_statistics_columns_to_timestamp_removing_duplicates(hass: HomeAssistant, instance: Recorder, session_maker: Callable[[], Session], engine: Engine) -> None: ...
235
237
  def _correct_table_character_set_and_collation(table: str, session_maker: Callable[[], Session]) -> None: ...
236
- def post_schema_migration(instance: Recorder, old_version: int, new_version: int) -> None: ...
237
- def _wipe_old_string_statistics_columns(instance: Recorder) -> None: ...
238
238
  def _wipe_old_string_time_columns(instance: Recorder, engine: Engine, session: Session) -> None: ...
239
239
  def _migrate_columns_to_timestamp(instance: Recorder, session_maker: Callable[[], Session], engine: Engine) -> None: ...
240
240
  def _migrate_statistics_columns_to_timestamp_one_by_one(instance: Recorder, session_maker: Callable[[], Session]) -> None: ...
@@ -242,7 +242,6 @@ def _migrate_statistics_columns_to_timestamp(instance: Recorder, session_maker:
242
242
  def _context_id_to_bytes(context_id: str | None) -> bytes | None: ...
243
243
  def _generate_ulid_bytes_at_time(timestamp: float | None) -> bytes: ...
244
244
  def post_migrate_entity_ids(instance: Recorder) -> bool: ...
245
- def cleanup_legacy_states_event_ids(instance: Recorder) -> bool: ...
246
245
  def _initialize_database(session: Session) -> bool: ...
247
246
  def initialize_database(session_maker: Callable[[], Session]) -> bool: ...
248
247
 
@@ -259,12 +258,13 @@ class CommitBeforeMigrationTask(MigrationTask):
259
258
  def __init__(self, migrator) -> None: ...
260
259
 
261
260
  @dataclass(frozen=True, kw_only=True)
262
- class NeedsMigrateResult:
261
+ class DataMigrationStatus:
263
262
  needs_migrate: bool
264
263
  migration_done: bool
265
264
  def __init__(self, *, needs_migrate, migration_done) -> None: ...
266
265
 
267
266
  class BaseRunTimeMigration(ABC, metaclass=abc.ABCMeta):
267
+ index_to_drop: tuple[str, str] | None
268
268
  required_schema_version: int
269
269
  migration_version: int
270
270
  migration_id: str
@@ -273,60 +273,63 @@ class BaseRunTimeMigration(ABC, metaclass=abc.ABCMeta):
273
273
  migration_changes: Incomplete
274
274
  def __init__(self, schema_version: int, migration_changes: dict[str, int]) -> None: ...
275
275
  def do_migrate(self, instance: Recorder, session: Session) -> None: ...
276
- @staticmethod
276
+ def migrate_data(self, instance: Recorder) -> bool: ...
277
277
  @abstractmethod
278
- def migrate_data(instance: Recorder) -> bool: ...
279
- def migration_done(self, instance: Recorder, session: Session | None) -> None: ...
278
+ def migrate_data_impl(self, instance: Recorder) -> DataMigrationStatus: ...
279
+ def migration_done(self, instance: Recorder, session: Session) -> None: ...
280
280
  @abstractmethod
281
- def needs_migrate_impl(self, instance: Recorder, session: Session) -> NeedsMigrateResult: ...
281
+ def needs_migrate_impl(self, instance: Recorder, session: Session) -> DataMigrationStatus: ...
282
282
  def needs_migrate(self, instance: Recorder, session: Session) -> bool: ...
283
283
 
284
284
  class BaseRunTimeMigrationWithQuery(BaseRunTimeMigration, metaclass=abc.ABCMeta):
285
285
  @abstractmethod
286
286
  def needs_migrate_query(self) -> StatementLambdaElement: ...
287
- def needs_migrate_impl(self, instance: Recorder, session: Session) -> NeedsMigrateResult: ...
287
+ def needs_migrate_impl(self, instance: Recorder, session: Session) -> DataMigrationStatus: ...
288
288
 
289
289
  class StatesContextIDMigration(BaseRunTimeMigrationWithQuery):
290
290
  required_schema_version = CONTEXT_ID_AS_BINARY_SCHEMA_VERSION
291
291
  migration_id: str
292
- @staticmethod
293
- def migrate_data(instance: Recorder) -> bool: ...
292
+ migration_version: int
293
+ index_to_drop: Incomplete
294
+ def migrate_data_impl(self, instance: Recorder) -> DataMigrationStatus: ...
294
295
  def needs_migrate_query(self) -> StatementLambdaElement: ...
295
296
 
296
297
  class EventsContextIDMigration(BaseRunTimeMigrationWithQuery):
297
298
  required_schema_version = CONTEXT_ID_AS_BINARY_SCHEMA_VERSION
298
299
  migration_id: str
299
- @staticmethod
300
- def migrate_data(instance: Recorder) -> bool: ...
300
+ migration_version: int
301
+ index_to_drop: Incomplete
302
+ def migrate_data_impl(self, instance: Recorder) -> DataMigrationStatus: ...
301
303
  def needs_migrate_query(self) -> StatementLambdaElement: ...
302
304
 
303
305
  class EventTypeIDMigration(BaseRunTimeMigrationWithQuery):
304
306
  required_schema_version = EVENT_TYPE_IDS_SCHEMA_VERSION
305
307
  migration_id: str
306
308
  task = CommitBeforeMigrationTask
307
- @staticmethod
308
- def migrate_data(instance: Recorder) -> bool: ...
309
- def migration_done(self, instance: Recorder, session: Session | None) -> None: ...
309
+ def migrate_data_impl(self, instance: Recorder) -> DataMigrationStatus: ...
310
+ def migration_done(self, instance: Recorder, session: Session) -> None: ...
310
311
  def needs_migrate_query(self) -> StatementLambdaElement: ...
311
312
 
312
313
  class EntityIDMigration(BaseRunTimeMigrationWithQuery):
313
314
  required_schema_version = STATES_META_SCHEMA_VERSION
314
315
  migration_id: str
315
316
  task = CommitBeforeMigrationTask
316
- @staticmethod
317
- def migrate_data(instance: Recorder) -> bool: ...
318
- def migration_done(self, instance: Recorder, _session: Session | None) -> None: ...
317
+ def migrate_data_impl(self, instance: Recorder) -> DataMigrationStatus: ...
318
+ def migration_done(self, instance: Recorder, session: Session) -> None: ...
319
319
  def needs_migrate_query(self) -> StatementLambdaElement: ...
320
320
 
321
321
  class EventIDPostMigration(BaseRunTimeMigration):
322
322
  migration_id: str
323
323
  task = MigrationTask
324
324
  migration_version: int
325
- @staticmethod
326
- def migrate_data(instance: Recorder) -> bool: ...
325
+ def migrate_data_impl(self, instance: Recorder) -> DataMigrationStatus: ...
327
326
  @staticmethod
328
327
  def _legacy_event_id_foreign_key_exists(instance: Recorder) -> bool: ...
329
- def needs_migrate_impl(self, instance: Recorder, session: Session) -> NeedsMigrateResult: ...
328
+ def needs_migrate_impl(self, instance: Recorder, session: Session) -> DataMigrationStatus: ...
329
+
330
+ @dataclass(slots=True)
331
+ class EntityIDPostMigrationTask(RecorderTask):
332
+ def run(self, instance: Recorder) -> None: ...
330
333
 
331
334
  def _mark_migration_done(session: Session, migration: type[BaseRunTimeMigration]) -> None: ...
332
335
  def rebuild_sqlite_table(session_maker: Callable[[], Session], engine: Engine, table: type[Base]) -> bool: ...
@@ -3,6 +3,6 @@ from .database import DatabaseEngine as DatabaseEngine, DatabaseOptimizer as Dat
3
3
  from .event import extract_event_type_ids as extract_event_type_ids
4
4
  from .state import LazyState as LazyState, extract_metadata_ids as extract_metadata_ids, row_to_compressed_state as row_to_compressed_state
5
5
  from .statistics import CalendarStatisticPeriod as CalendarStatisticPeriod, FixedStatisticPeriod as FixedStatisticPeriod, RollingWindowStatisticPeriod as RollingWindowStatisticPeriod, StatisticData as StatisticData, StatisticDataTimestamp as StatisticDataTimestamp, StatisticMetaData as StatisticMetaData, StatisticPeriod as StatisticPeriod, StatisticResult as StatisticResult
6
- from .time import datetime_to_timestamp_or_none as datetime_to_timestamp_or_none, process_datetime_to_timestamp as process_datetime_to_timestamp, process_timestamp as process_timestamp, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat, timestamp_to_datetime_or_none as timestamp_to_datetime_or_none
6
+ from .time import datetime_to_timestamp_or_none as datetime_to_timestamp_or_none, process_timestamp as process_timestamp, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat, timestamp_to_datetime_or_none as timestamp_to_datetime_or_none
7
7
 
8
- __all__ = ['CalendarStatisticPeriod', 'DatabaseEngine', 'DatabaseOptimizer', 'FixedStatisticPeriod', 'LazyState', 'RollingWindowStatisticPeriod', 'StatisticData', 'StatisticDataTimestamp', 'StatisticMetaData', 'StatisticPeriod', 'StatisticResult', 'UnsupportedDialect', 'bytes_to_ulid_or_none', 'bytes_to_uuid_hex_or_none', 'datetime_to_timestamp_or_none', 'extract_event_type_ids', 'extract_metadata_ids', 'process_datetime_to_timestamp', 'process_timestamp', 'process_timestamp_to_utc_isoformat', 'row_to_compressed_state', 'timestamp_to_datetime_or_none', 'ulid_to_bytes_or_none', 'uuid_hex_to_bytes_or_none']
8
+ __all__ = ['CalendarStatisticPeriod', 'DatabaseEngine', 'DatabaseOptimizer', 'FixedStatisticPeriod', 'LazyState', 'RollingWindowStatisticPeriod', 'StatisticData', 'StatisticDataTimestamp', 'StatisticMetaData', 'StatisticPeriod', 'StatisticResult', 'UnsupportedDialect', 'bytes_to_ulid_or_none', 'bytes_to_uuid_hex_or_none', 'datetime_to_timestamp_or_none', 'extract_event_type_ids', 'extract_metadata_ids', 'process_timestamp', 'process_timestamp_to_utc_isoformat', 'row_to_compressed_state', 'timestamp_to_datetime_or_none', 'ulid_to_bytes_or_none', 'uuid_hex_to_bytes_or_none']
@@ -1,5 +1,5 @@
1
1
  from .state_attributes import decode_attributes_from_source as decode_attributes_from_source
2
- from .time import process_datetime_to_timestamp as process_datetime_to_timestamp, process_timestamp as process_timestamp, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat
2
+ from .time import process_timestamp as process_timestamp
3
3
  from _typeshed import Incomplete
4
4
  from datetime import datetime
5
5
  from homeassistant.const import COMPRESSED_STATE_ATTRIBUTES as COMPRESSED_STATE_ATTRIBUTES, COMPRESSED_STATE_LAST_CHANGED as COMPRESSED_STATE_LAST_CHANGED, COMPRESSED_STATE_LAST_UPDATED as COMPRESSED_STATE_LAST_UPDATED, COMPRESSED_STATE_STATE as COMPRESSED_STATE_STATE
@@ -7,42 +7,6 @@ from homeassistant.core import Context as Context, State as State
7
7
  from sqlalchemy.engine.row import Row as Row
8
8
  from typing import Any
9
9
 
10
- class LegacyLazyStatePreSchema31(State):
11
- __slots__: Incomplete
12
- _row: Incomplete
13
- entity_id: Incomplete
14
- state: Incomplete
15
- _attributes: Incomplete
16
- _last_changed: Incomplete
17
- _last_reported: Incomplete
18
- _last_updated: Incomplete
19
- _context: Incomplete
20
- attr_cache: Incomplete
21
- def __init__(self, row: Row, attr_cache: dict[str, dict[str, Any]], start_time: datetime | None) -> None: ...
22
- @property
23
- def attributes(self) -> dict[str, Any]: ...
24
- @attributes.setter
25
- def attributes(self, value: dict[str, Any]) -> None: ...
26
- @property
27
- def context(self) -> Context: ...
28
- @context.setter
29
- def context(self, value: Context) -> None: ...
30
- @property
31
- def last_changed(self) -> datetime: ...
32
- @last_changed.setter
33
- def last_changed(self, value: datetime) -> None: ...
34
- @property
35
- def last_reported(self) -> datetime: ...
36
- @last_reported.setter
37
- def last_reported(self, value: datetime) -> None: ...
38
- @property
39
- def last_updated(self) -> datetime: ...
40
- @last_updated.setter
41
- def last_updated(self, value: datetime) -> None: ...
42
- def as_dict(self) -> dict[str, Any]: ...
43
-
44
- def legacy_row_to_compressed_state_pre_schema_31(row: Row, attr_cache: dict[str, dict[str, Any]], start_time: datetime | None) -> dict[str, Any]: ...
45
-
46
10
  class LegacyLazyState(State):
47
11
  __slots__: Incomplete
48
12
  _row: Incomplete
@@ -14,6 +14,5 @@ def process_timestamp(ts: datetime) -> datetime: ...
14
14
  def process_timestamp_to_utc_isoformat(ts: None) -> None: ...
15
15
  @overload
16
16
  def process_timestamp_to_utc_isoformat(ts: datetime) -> str: ...
17
- def process_datetime_to_timestamp(ts: datetime) -> float: ...
18
17
  def datetime_to_timestamp_or_none(dt: datetime | None) -> float | None: ...
19
18
  def timestamp_to_datetime_or_none(ts: float | None) -> datetime | None: ...
@@ -1,6 +1,6 @@
1
1
  import dataclasses
2
2
  from . import Recorder as Recorder
3
- from .const import DOMAIN as DOMAIN, EVENT_RECORDER_5MIN_STATISTICS_GENERATED as EVENT_RECORDER_5MIN_STATISTICS_GENERATED, EVENT_RECORDER_HOURLY_STATISTICS_GENERATED as EVENT_RECORDER_HOURLY_STATISTICS_GENERATED, INTEGRATION_PLATFORM_COMPILE_STATISTICS as INTEGRATION_PLATFORM_COMPILE_STATISTICS, INTEGRATION_PLATFORM_LIST_STATISTIC_IDS as INTEGRATION_PLATFORM_LIST_STATISTIC_IDS, INTEGRATION_PLATFORM_VALIDATE_STATISTICS as INTEGRATION_PLATFORM_VALIDATE_STATISTICS, SupportedDialect as SupportedDialect
3
+ from .const import DOMAIN as DOMAIN, EVENT_RECORDER_5MIN_STATISTICS_GENERATED as EVENT_RECORDER_5MIN_STATISTICS_GENERATED, EVENT_RECORDER_HOURLY_STATISTICS_GENERATED as EVENT_RECORDER_HOURLY_STATISTICS_GENERATED, INTEGRATION_PLATFORM_COMPILE_STATISTICS as INTEGRATION_PLATFORM_COMPILE_STATISTICS, INTEGRATION_PLATFORM_LIST_STATISTIC_IDS as INTEGRATION_PLATFORM_LIST_STATISTIC_IDS, INTEGRATION_PLATFORM_UPDATE_STATISTICS_ISSUES as INTEGRATION_PLATFORM_UPDATE_STATISTICS_ISSUES, INTEGRATION_PLATFORM_VALIDATE_STATISTICS as INTEGRATION_PLATFORM_VALIDATE_STATISTICS, SupportedDialect as SupportedDialect
4
4
  from .db_schema import STATISTICS_TABLES as STATISTICS_TABLES, Statistics as Statistics, StatisticsBase as StatisticsBase, StatisticsRuns as StatisticsRuns, StatisticsShortTerm as StatisticsShortTerm
5
5
  from .models import StatisticData as StatisticData, StatisticDataTimestamp as StatisticDataTimestamp, StatisticMetaData as StatisticMetaData, StatisticResult as StatisticResult, datetime_to_timestamp_or_none as datetime_to_timestamp_or_none, process_timestamp as process_timestamp
6
6
  from .util import execute as execute, execute_stmt_lambda_element as execute_stmt_lambda_element, filter_unique_constraint_integrity_error as filter_unique_constraint_integrity_error, get_instance as get_instance, retryable_database_job as retryable_database_job, session_scope as session_scope
@@ -138,6 +138,7 @@ def _build_stats(db_rows: list[Row], table_duration_seconds: float, start_ts_idx
138
138
  def _build_converted_stats(db_rows: list[Row], table_duration_seconds: float, start_ts_idx: int, row_mapping: tuple[tuple[str, int], ...], convert: Callable[[float | None], float | None] | Callable[[float], float]) -> list[StatisticsRow]: ...
139
139
  def _sorted_statistics_to_dict(hass: HomeAssistant, stats: Sequence[Row[Any]], statistic_ids: set[str] | None, _metadata: dict[str, tuple[int, StatisticMetaData]], convert_units: bool, table: type[StatisticsBase], units: dict[str, str] | None, types: set[Literal['last_reset', 'max', 'mean', 'min', 'state', 'sum']]) -> dict[str, list[StatisticsRow]]: ...
140
140
  def validate_statistics(hass: HomeAssistant) -> dict[str, list[ValidationIssue]]: ...
141
+ def update_statistics_issues(hass: HomeAssistant) -> None: ...
141
142
  def _statistics_exists(session: Session, table: type[StatisticsBase], metadata_id: int, start: datetime) -> int | None: ...
142
143
  def _async_import_statistics(hass: HomeAssistant, metadata: StatisticMetaData, statistics: Iterable[StatisticData]) -> None: ...
143
144
  def async_import_statistics(hass: HomeAssistant, metadata: StatisticMetaData, statistics: Iterable[StatisticData]) -> None: ...
@@ -141,26 +141,11 @@ class SynchronizeTask(RecorderTask):
141
141
  def run(self, instance: Recorder) -> None: ...
142
142
  def __init__(self, event) -> None: ...
143
143
 
144
- @dataclass(slots=True)
145
- class PostSchemaMigrationTask(RecorderTask):
146
- old_version: int
147
- new_version: int
148
- def run(self, instance: Recorder) -> None: ...
149
- def __init__(self, old_version, new_version) -> None: ...
150
-
151
- @dataclass(slots=True)
152
- class StatisticsTimestampMigrationCleanupTask(RecorderTask):
153
- def run(self, instance: Recorder) -> None: ...
154
-
155
144
  @dataclass(slots=True)
156
145
  class AdjustLRUSizeTask(RecorderTask):
157
146
  commit_before = ...
158
147
  def run(self, instance: Recorder) -> None: ...
159
148
 
160
- @dataclass(slots=True)
161
- class EntityIDPostMigrationTask(RecorderTask):
162
- def run(self, instance: Recorder) -> None: ...
163
-
164
149
  @dataclass(slots=True)
165
150
  class RefreshEventTypesTask(RecorderTask):
166
151
  event_types: list[EventType[Any] | str]
@@ -74,9 +74,13 @@ def end_incomplete_runs(session: Session, start_time: datetime) -> None: ...
74
74
  def _is_retryable_error(instance: Recorder, err: OperationalError) -> bool: ...
75
75
 
76
76
  _FuncType: Incomplete
77
+ _MethType: Incomplete
78
+ _FuncOrMethType: Incomplete
77
79
 
78
- def retryable_database_job(description: str) -> Callable[[_FuncType[_RecorderT, _P, bool]], _FuncType[_RecorderT, _P, bool]]: ...
79
- def database_job_retry_wrapper(description: str, attempts: int = 5) -> Callable[[_FuncType[_RecorderT, _P, None]], _FuncType[_RecorderT, _P, None]]: ...
80
+ def retryable_database_job(description: str) -> Callable[[_FuncType[_P, bool]], _FuncType[_P, bool]]: ...
81
+ def retryable_database_job_method(description: str) -> Callable[[_MethType[_Self, _P, bool]], _MethType[_Self, _P, bool]]: ...
82
+ def _wrap_func_or_meth(job: _FuncOrMethType[_P, bool], description: str, method: bool) -> _FuncOrMethType[_P, bool]: ...
83
+ def database_job_retry_wrapper(description: str, attempts: int = 5) -> Callable[[_FuncType[_P, None]], _FuncType[_P, None]]: ...
80
84
  def periodic_db_cleanups(instance: Recorder) -> None: ...
81
85
  def write_lock_db_sqlite(instance: Recorder) -> Generator[None]: ...
82
86
  def async_migration_in_progress(hass: HomeAssistant) -> bool: ...
@@ -1,5 +1,5 @@
1
1
  from .models import StatisticPeriod as StatisticPeriod
2
- from .statistics import STATISTIC_UNIT_TO_UNIT_CONVERTER as STATISTIC_UNIT_TO_UNIT_CONVERTER, async_add_external_statistics as async_add_external_statistics, async_change_statistics_unit as async_change_statistics_unit, async_import_statistics as async_import_statistics, async_list_statistic_ids as async_list_statistic_ids, list_statistic_ids as list_statistic_ids, statistic_during_period as statistic_during_period, statistics_during_period as statistics_during_period, validate_statistics as validate_statistics
2
+ from .statistics import STATISTIC_UNIT_TO_UNIT_CONVERTER as STATISTIC_UNIT_TO_UNIT_CONVERTER, async_add_external_statistics as async_add_external_statistics, async_change_statistics_unit as async_change_statistics_unit, async_import_statistics as async_import_statistics, async_list_statistic_ids as async_list_statistic_ids, list_statistic_ids as list_statistic_ids, statistic_during_period as statistic_during_period, statistics_during_period as statistics_during_period, update_statistics_issues as update_statistics_issues, validate_statistics as validate_statistics
3
3
  from .util import PERIOD_SCHEMA as PERIOD_SCHEMA, get_instance as get_instance, resolve_period as resolve_period
4
4
  from _typeshed import Incomplete
5
5
  from datetime import datetime as dt
@@ -23,6 +23,7 @@ def _ws_get_list_statistic_ids(hass: HomeAssistant, msg_id: int, statistic_type:
23
23
  async def ws_handle_list_statistic_ids(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
24
24
  async def ws_list_statistic_ids(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
25
25
  async def ws_validate_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
26
+ async def ws_update_statistics_issues(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
26
27
  def ws_clear_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
27
28
  async def ws_get_statistics_metadata(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
28
29
  def ws_update_statistics_metadata(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -10,10 +10,12 @@ from homeassistant.helpers.entity import ToggleEntity as ToggleEntity, ToggleEnt
10
10
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
11
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
12
  from homeassistant.loader import bind_hass as bind_hass
13
+ from homeassistant.util.hass_dict import HassKey as HassKey
13
14
  from typing import Any
14
15
 
15
16
  _LOGGER: Incomplete
16
17
  DOMAIN: str
18
+ DATA_COMPONENT: HassKey[EntityComponent[RemoteEntity]]
17
19
  ENTITY_ID_FORMAT: Incomplete
18
20
  PLATFORM_SCHEMA: Incomplete
19
21
  PLATFORM_SCHEMA_BASE: Incomplete
@@ -1,18 +1,22 @@
1
1
  from . import RenaultConfigEntry as RenaultConfigEntry
2
2
  from .entity import RenaultDataEntity as RenaultDataEntity, RenaultDataEntityDescription as RenaultDataEntityDescription
3
- from homeassistant.components.device_tracker import SourceType as SourceType, TrackerEntity as TrackerEntity
3
+ from dataclasses import dataclass
4
+ from homeassistant.components.device_tracker import TrackerEntity as TrackerEntity, TrackerEntityDescription as TrackerEntityDescription
4
5
  from homeassistant.core import HomeAssistant as HomeAssistant
5
6
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
6
7
  from renault_api.kamereon.models import KamereonVehicleLocationData
7
8
 
9
+ @dataclass(frozen=True, kw_only=True)
10
+ class RenaultTrackerEntityDescription(TrackerEntityDescription, RenaultDataEntityDescription):
11
+ 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: ...
12
+
8
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: RenaultConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
9
14
 
10
15
  class RenaultDeviceTracker(RenaultDataEntity[KamereonVehicleLocationData], TrackerEntity):
16
+ entity_description: RenaultTrackerEntityDescription
11
17
  @property
12
18
  def latitude(self) -> float | None: ...
13
19
  @property
14
20
  def longitude(self) -> float | None: ...
15
- @property
16
- def source_type(self) -> SourceType: ...
17
21
 
18
- DEVICE_TRACKER_TYPES: tuple[RenaultDataEntityDescription, ...]
22
+ DEVICE_TRACKER_TYPES: tuple[RenaultTrackerEntityDescription, ...]
@@ -3,7 +3,7 @@ from .renault_vehicle import RenaultVehicleProxy as RenaultVehicleProxy
3
3
  from _typeshed import Incomplete
4
4
  from datetime import timedelta
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.const import ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_NAME as ATTR_NAME, ATTR_SW_VERSION as ATTR_SW_VERSION
6
+ from homeassistant.const import ATTR_IDENTIFIERS as ATTR_IDENTIFIERS, ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
9
  from homeassistant.helpers import device_registry as dr
@@ -42,6 +42,8 @@ class RenaultVehicleProxy:
42
42
  async def set_charge_stop(self) -> models.KamereonVehicleChargingStartActionData: ...
43
43
  async def set_ac_stop(self) -> models.KamereonVehicleHvacStartActionData: ...
44
44
  async def set_ac_start(self, temperature: float, when: datetime | None = None) -> models.KamereonVehicleHvacStartActionData: ...
45
+ async def get_hvac_settings(self) -> models.KamereonVehicleHvacSettingsData: ...
46
+ async def set_hvac_schedules(self, schedules: list[models.HvacSchedule]) -> models.KamereonVehicleHvacScheduleActionData: ...
45
47
  async def get_charging_settings(self) -> models.KamereonVehicleChargingSettingsData: ...
46
48
  async def set_charge_schedules(self, schedules: list[models.ChargeSchedule]) -> models.KamereonVehicleChargeScheduleActionData: ...
47
49
 
@@ -15,9 +15,13 @@ SERVICE_AC_START_SCHEMA: Incomplete
15
15
  SERVICE_CHARGE_SET_SCHEDULE_DAY_SCHEMA: Incomplete
16
16
  SERVICE_CHARGE_SET_SCHEDULE_SCHEMA: Incomplete
17
17
  SERVICE_CHARGE_SET_SCHEDULES_SCHEMA: Incomplete
18
+ SERVICE_AC_SET_SCHEDULE_DAY_SCHEMA: Incomplete
19
+ SERVICE_AC_SET_SCHEDULE_SCHEMA: Incomplete
20
+ SERVICE_AC_SET_SCHEDULES_SCHEMA: Incomplete
18
21
  SERVICE_AC_CANCEL: str
19
22
  SERVICE_AC_START: str
20
23
  SERVICE_CHARGE_SET_SCHEDULES: str
24
+ SERVICE_AC_SET_SCHEDULES: str
21
25
  SERVICES: Incomplete
22
26
 
23
27
  def setup_services(hass: HomeAssistant) -> None: ...
@@ -1,5 +1,5 @@
1
1
  import RFXtrx as rfxtrxmod
2
- from .const import ATTR_EVENT as ATTR_EVENT, COMMAND_GROUP_LIST as COMMAND_GROUP_LIST, CONF_AUTOMATIC_ADD as CONF_AUTOMATIC_ADD, CONF_DATA_BITS as CONF_DATA_BITS, CONF_PROTOCOLS as CONF_PROTOCOLS, DATA_RFXOBJECT as DATA_RFXOBJECT, DEVICE_PACKET_TYPE_LIGHTING4 as DEVICE_PACKET_TYPE_LIGHTING4, DOMAIN as DOMAIN, EVENT_RFXTRX_EVENT as EVENT_RFXTRX_EVENT, SERVICE_SEND as SERVICE_SEND
2
+ from .const import ATTR_EVENT as ATTR_EVENT, CONF_AUTOMATIC_ADD as CONF_AUTOMATIC_ADD, CONF_DATA_BITS as CONF_DATA_BITS, CONF_PROTOCOLS as CONF_PROTOCOLS, DATA_RFXOBJECT as DATA_RFXOBJECT, DEVICE_PACKET_TYPE_LIGHTING4 as DEVICE_PACKET_TYPE_LIGHTING4, DOMAIN as DOMAIN, EVENT_RFXTRX_EVENT as EVENT_RFXTRX_EVENT, SERVICE_SEND as SERVICE_SEND, SIGNAL_EVENT as SIGNAL_EVENT
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable, Mapping
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -7,15 +7,13 @@ from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_DEVICE as
7
7
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
8
8
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
9
  from homeassistant.helpers import device_registry as dr
10
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
10
+ from homeassistant.helpers.device_registry import EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
11
11
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
12
12
  from homeassistant.helpers.entity import Entity as Entity
13
13
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
- from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
15
14
  from typing import Any, NamedTuple
16
15
 
17
16
  DEFAULT_OFF_DELAY: float
18
- SIGNAL_EVENT: Incomplete
19
17
  CONNECT_TIMEOUT: float
20
18
  _LOGGER: Incomplete
21
19
 
@@ -42,27 +40,4 @@ def get_device_data_bits(device: rfxtrxmod.RFXtrxDevice, devices: dict[DeviceTup
42
40
  def find_possible_pt2262_device(device_ids: set[str], device_id: str) -> str | None: ...
43
41
  def get_device_id(device: rfxtrxmod.RFXtrxDevice, data_bits: int | None = None) -> DeviceTuple: ...
44
42
  def get_device_tuple_from_identifiers(identifiers: set[tuple[str, str]]) -> DeviceTuple | None: ...
45
- def get_identifiers_from_device_tuple(device_tuple: DeviceTuple) -> set[tuple[str, str]]: ...
46
43
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
47
-
48
- class RfxtrxEntity(RestoreEntity):
49
- _attr_assumed_state: bool
50
- _attr_has_entity_name: bool
51
- _attr_should_poll: bool
52
- _device: rfxtrxmod.RFXtrxDevice
53
- _event: rfxtrxmod.RFXtrxEvent | None
54
- _attr_device_info: Incomplete
55
- _attr_unique_id: Incomplete
56
- _device_id: Incomplete
57
- def __init__(self, device: rfxtrxmod.RFXtrxDevice, device_id: DeviceTuple, event: rfxtrxmod.RFXtrxEvent | None = None) -> None: ...
58
- async def async_added_to_hass(self) -> None: ...
59
- @property
60
- def extra_state_attributes(self) -> dict[str, str] | None: ...
61
- def _event_applies(self, event: rfxtrxmod.RFXtrxEvent, device_id: DeviceTuple) -> bool: ...
62
- def _apply_event(self, event: rfxtrxmod.RFXtrxEvent) -> None: ...
63
- def _handle_event(self, event: rfxtrxmod.RFXtrxEvent, device_id: DeviceTuple) -> None: ...
64
-
65
- class RfxtrxCommandEntity(RfxtrxEntity):
66
- _attr_name: Incomplete
67
- def __init__(self, device: rfxtrxmod.RFXtrxDevice, device_id: DeviceTuple, event: rfxtrxmod.RFXtrxEvent | None = None) -> None: ...
68
- async def _async_send(self, fun: Callable[[rfxtrxmod.PySerialTransport, Unpack[_Ts]], None], *args: Unpack[_Ts]) -> None: ...
@@ -1,6 +1,7 @@
1
1
  import RFXtrx as rfxtrxmod
2
- from . import DeviceTuple as DeviceTuple, RfxtrxEntity as RfxtrxEntity, async_setup_platform_entry as async_setup_platform_entry, get_pt2262_cmd as get_pt2262_cmd
2
+ from . import DeviceTuple as DeviceTuple, async_setup_platform_entry as async_setup_platform_entry, get_pt2262_cmd as get_pt2262_cmd
3
3
  from .const import COMMAND_OFF_LIST as COMMAND_OFF_LIST, COMMAND_ON_LIST as COMMAND_ON_LIST, CONF_DATA_BITS as CONF_DATA_BITS, CONF_OFF_DELAY as CONF_OFF_DELAY, DEVICE_PACKET_TYPE_LIGHTING4 as DEVICE_PACKET_TYPE_LIGHTING4
4
+ from .entity import RfxtrxEntity as RfxtrxEntity
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -18,3 +18,4 @@ DEVICE_PACKET_TYPE_LIGHTING4: int
18
18
  EVENT_RFXTRX_EVENT: str
19
19
  DATA_RFXOBJECT: str
20
20
  DOMAIN: str
21
+ SIGNAL_EVENT: Incomplete
@@ -1,6 +1,7 @@
1
1
  import RFXtrx as rfxtrxmod
2
- from . import DeviceTuple as DeviceTuple, RfxtrxCommandEntity as RfxtrxCommandEntity, async_setup_platform_entry as async_setup_platform_entry
2
+ from . import DeviceTuple as DeviceTuple, async_setup_platform_entry as async_setup_platform_entry
3
3
  from .const import COMMAND_OFF_LIST as COMMAND_OFF_LIST, COMMAND_ON_LIST as COMMAND_ON_LIST, CONF_VENETIAN_BLIND_MODE as CONF_VENETIAN_BLIND_MODE, CONST_VENETIAN_BLIND_MODE_EU as CONST_VENETIAN_BLIND_MODE_EU, CONST_VENETIAN_BLIND_MODE_US as CONST_VENETIAN_BLIND_MODE_US
4
+ from .entity import RfxtrxCommandEntity as RfxtrxCommandEntity
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.cover import CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -2,7 +2,7 @@ from . import DATA_RFXOBJECT as DATA_RFXOBJECT, DOMAIN as DOMAIN
2
2
  from .helpers import async_get_device_object as async_get_device_object
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
- from homeassistant.components.device_automation.exceptions import InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
5
+ from homeassistant.components.device_automation import InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
6
6
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_TYPE as CONF_TYPE
7
7
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
@@ -2,8 +2,7 @@ from . import DOMAIN as DOMAIN
2
2
  from .const import EVENT_RFXTRX_EVENT as EVENT_RFXTRX_EVENT
3
3
  from .helpers import async_get_device_object as async_get_device_object
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA
6
- from homeassistant.components.device_automation.exceptions import InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
5
+ from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA, InvalidDeviceAutomationConfig as InvalidDeviceAutomationConfig
7
6
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE
8
7
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
@@ -0,0 +1,33 @@
1
+ import RFXtrx as rfxtrxmod
2
+ from . import DeviceTuple as DeviceTuple
3
+ from .const import ATTR_EVENT as ATTR_EVENT, COMMAND_GROUP_LIST as COMMAND_GROUP_LIST, DATA_RFXOBJECT as DATA_RFXOBJECT, DOMAIN as DOMAIN, SIGNAL_EVENT as SIGNAL_EVENT
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from homeassistant.core import callback as callback
7
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
+ from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
10
+
11
+ def _get_identifiers_from_device_tuple(device_tuple: DeviceTuple) -> set[tuple[str, str]]: ...
12
+
13
+ class RfxtrxEntity(RestoreEntity):
14
+ _attr_assumed_state: bool
15
+ _attr_has_entity_name: bool
16
+ _attr_should_poll: bool
17
+ _device: rfxtrxmod.RFXtrxDevice
18
+ _event: rfxtrxmod.RFXtrxEvent | None
19
+ _attr_device_info: Incomplete
20
+ _attr_unique_id: Incomplete
21
+ _device_id: Incomplete
22
+ def __init__(self, device: rfxtrxmod.RFXtrxDevice, device_id: DeviceTuple, event: rfxtrxmod.RFXtrxEvent | None = None) -> None: ...
23
+ async def async_added_to_hass(self) -> None: ...
24
+ @property
25
+ def extra_state_attributes(self) -> dict[str, str] | None: ...
26
+ def _event_applies(self, event: rfxtrxmod.RFXtrxEvent, device_id: DeviceTuple) -> bool: ...
27
+ def _apply_event(self, event: rfxtrxmod.RFXtrxEvent) -> None: ...
28
+ def _handle_event(self, event: rfxtrxmod.RFXtrxEvent, device_id: DeviceTuple) -> None: ...
29
+
30
+ class RfxtrxCommandEntity(RfxtrxEntity):
31
+ _attr_name: Incomplete
32
+ def __init__(self, device: rfxtrxmod.RFXtrxDevice, device_id: DeviceTuple, event: rfxtrxmod.RFXtrxEvent | None = None) -> None: ...
33
+ async def _async_send(self, fun: Callable[[rfxtrxmod.PySerialTransport, Unpack[_Ts]], None], *args: Unpack[_Ts]) -> None: ...