homeassistant-stubs 2024.9.2__py3-none-any.whl → 2024.10.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (867) 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 +13 -11
  13. homeassistant-stubs/components/airgradient/diagnostics.pyi +5 -0
  14. homeassistant-stubs/components/airgradient/number.pyi +2 -3
  15. homeassistant-stubs/components/airgradient/select.pyi +2 -3
  16. homeassistant-stubs/components/airgradient/sensor.pyi +9 -9
  17. homeassistant-stubs/components/airgradient/switch.pyi +2 -3
  18. homeassistant-stubs/components/airgradient/update.pyi +2 -3
  19. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  20. homeassistant-stubs/components/airnow/const.pyi +4 -1
  21. homeassistant-stubs/components/airnow/coordinator.pyi +1 -1
  22. homeassistant-stubs/components/airnow/sensor.pyi +2 -1
  23. homeassistant-stubs/components/airvisual/__init__.pyi +6 -14
  24. homeassistant-stubs/components/airvisual/diagnostics.pyi +3 -4
  25. homeassistant-stubs/components/airvisual/entity.pyi +13 -0
  26. homeassistant-stubs/components/airvisual/sensor.pyi +4 -3
  27. homeassistant-stubs/components/airvisual_pro/__init__.pyi +2 -11
  28. homeassistant-stubs/components/airvisual_pro/entity.pyi +12 -0
  29. homeassistant-stubs/components/airvisual_pro/sensor.pyi +2 -1
  30. homeassistant-stubs/components/airzone/diagnostics.pyi +1 -1
  31. homeassistant-stubs/components/airzone_cloud/diagnostics.pyi +1 -1
  32. homeassistant-stubs/components/airzone_cloud/sensor.pyi +1 -1
  33. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -0
  34. homeassistant-stubs/components/alert/__init__.pyi +3 -43
  35. homeassistant-stubs/components/alert/entity.pyi +45 -0
  36. homeassistant-stubs/components/alexa/capabilities.pyi +2 -1
  37. homeassistant-stubs/components/alexa/config.pyi +1 -1
  38. homeassistant-stubs/components/alexa/smart_home.pyi +1 -1
  39. homeassistant-stubs/components/amazon_polly/tts.pyi +3 -1
  40. homeassistant-stubs/components/amberelectric/__init__.pyi +5 -3
  41. homeassistant-stubs/components/amberelectric/binary_sensor.pyi +3 -3
  42. homeassistant-stubs/components/amberelectric/sensor.pyi +3 -3
  43. homeassistant-stubs/components/ambient_network/__init__.pyi +3 -3
  44. homeassistant-stubs/components/ambient_network/sensor.pyi +2 -3
  45. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -2
  46. homeassistant-stubs/components/anova/__init__.pyi +3 -5
  47. homeassistant-stubs/components/anova/models.pyi +3 -0
  48. homeassistant-stubs/components/anova/sensor.pyi +2 -4
  49. homeassistant-stubs/components/anthemav/__init__.pyi +4 -3
  50. homeassistant-stubs/components/anthemav/media_player.pyi +2 -3
  51. homeassistant-stubs/components/apcupsd/__init__.pyi +3 -4
  52. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +2 -4
  53. homeassistant-stubs/components/apcupsd/diagnostics.pyi +2 -4
  54. homeassistant-stubs/components/apcupsd/sensor.pyi +3 -3
  55. homeassistant-stubs/components/apple_tv/__init__.pyi +2 -19
  56. homeassistant-stubs/components/apple_tv/const.pyi +2 -0
  57. homeassistant-stubs/components/apple_tv/entity.pyi +21 -0
  58. homeassistant-stubs/components/apple_tv/media_player.pyi +2 -1
  59. homeassistant-stubs/components/apple_tv/remote.pyi +2 -1
  60. homeassistant-stubs/components/arcam_fmj/media_player.pyi +1 -2
  61. homeassistant-stubs/components/arris_tg2492lg/device_tracker.pyi +1 -1
  62. homeassistant-stubs/components/aruba/device_tracker.pyi +1 -1
  63. homeassistant-stubs/components/aseko_pool_live/__init__.pyi +1 -2
  64. homeassistant-stubs/components/aseko_pool_live/binary_sensor.pyi +5 -8
  65. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +0 -1
  66. homeassistant-stubs/components/aseko_pool_live/coordinator.pyi +6 -5
  67. homeassistant-stubs/components/aseko_pool_live/entity.pyi +8 -3
  68. homeassistant-stubs/components/aseko_pool_live/sensor.pyi +16 -14
  69. homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -3
  70. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  71. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  72. homeassistant-stubs/components/assist_pipeline/repair_flows.pyi +11 -0
  73. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -3
  74. homeassistant-stubs/components/assist_satellite/__init__.pyi +5 -0
  75. homeassistant-stubs/components/assist_satellite/connection_test.pyi +15 -0
  76. homeassistant-stubs/components/assist_satellite/const.pyi +12 -0
  77. homeassistant-stubs/components/assist_satellite/entity.pyi +88 -0
  78. homeassistant-stubs/components/assist_satellite/errors.pyi +4 -0
  79. homeassistant-stubs/components/assist_satellite/websocket_api.pyi +16 -0
  80. homeassistant-stubs/components/asuswrt/bridge.pyi +8 -1
  81. homeassistant-stubs/components/asuswrt/const.pyi +3 -0
  82. homeassistant-stubs/components/asuswrt/device_tracker.pyi +1 -3
  83. homeassistant-stubs/components/asuswrt/sensor.pyi +3 -2
  84. homeassistant-stubs/components/autarco/coordinator.pyi +6 -4
  85. homeassistant-stubs/components/autarco/sensor.pyi +18 -2
  86. homeassistant-stubs/components/automation/__init__.pyi +5 -3
  87. homeassistant-stubs/components/automation/config.pyi +6 -2
  88. homeassistant-stubs/components/automation/const.pyi +2 -0
  89. homeassistant-stubs/components/axis/hub/__init__.pyi +2 -0
  90. homeassistant-stubs/components/axis/hub/event_source.pyi +1 -1
  91. homeassistant-stubs/components/bang_olufsen/__init__.pyi +1 -0
  92. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +2 -0
  93. homeassistant-stubs/components/bang_olufsen/const.pyi +6 -0
  94. homeassistant-stubs/components/bang_olufsen/media_player.pyi +21 -4
  95. homeassistant-stubs/components/bang_olufsen/util.pyi +1 -0
  96. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -1
  97. homeassistant-stubs/components/bayesian/binary_sensor.pyi +9 -4
  98. homeassistant-stubs/components/bayesian/const.pyi +1 -0
  99. homeassistant-stubs/components/bayesian/helpers.pyi +2 -1
  100. homeassistant-stubs/components/binary_sensor/__init__.pyi +2 -0
  101. homeassistant-stubs/components/blueprint/__init__.pyi +1 -1
  102. homeassistant-stubs/components/blueprint/importer.pyi +1 -1
  103. homeassistant-stubs/components/blueprint/models.pyi +4 -3
  104. homeassistant-stubs/components/blueprint/websocket_api.pyi +1 -0
  105. homeassistant-stubs/components/bluesound/__init__.pyi +25 -0
  106. homeassistant-stubs/components/bluesound/config_flow.pyi +24 -0
  107. homeassistant-stubs/components/bluesound/const.pyi +8 -0
  108. homeassistant-stubs/components/bluesound/media_player.pyi +136 -0
  109. homeassistant-stubs/components/bluesound/utils.pyi +3 -0
  110. homeassistant-stubs/components/bluetooth/manager.pyi +3 -0
  111. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +1 -3
  112. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -1
  113. homeassistant-stubs/components/braviatv/entity.pyi +1 -1
  114. homeassistant-stubs/components/braviatv/media_player.pyi +1 -2
  115. homeassistant-stubs/components/bryant_evolution/config_flow.pyi +3 -1
  116. homeassistant-stubs/components/bthome/device_trigger.pyi +4 -3
  117. homeassistant-stubs/components/button/__init__.pyi +2 -0
  118. homeassistant-stubs/components/calendar/__init__.pyi +7 -5
  119. homeassistant-stubs/components/calendar/const.pyi +5 -0
  120. homeassistant-stubs/components/calendar/trigger.pyi +2 -1
  121. homeassistant-stubs/components/camera/__init__.pyi +4 -4
  122. homeassistant-stubs/components/camera/const.pyi +12 -2
  123. homeassistant-stubs/components/camera/media_source.pyi +2 -4
  124. homeassistant-stubs/components/cert_expiry/entity.pyi +8 -0
  125. homeassistant-stubs/components/cert_expiry/sensor.pyi +3 -8
  126. homeassistant-stubs/components/climate/__init__.pyi +6 -2
  127. homeassistant-stubs/components/climate/const.pyi +1 -0
  128. homeassistant-stubs/components/climate/intent.pyi +1 -3
  129. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  130. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  131. homeassistant-stubs/components/co2signal/__init__.pyi +0 -1
  132. homeassistant-stubs/components/co2signal/config_flow.pyi +2 -1
  133. homeassistant-stubs/components/config/automation.pyi +1 -1
  134. homeassistant-stubs/components/config/category_registry.pyi +1 -1
  135. homeassistant-stubs/components/config/device_registry.pyi +1 -1
  136. homeassistant-stubs/components/config/entity_registry.pyi +1 -2
  137. homeassistant-stubs/components/config/floor_registry.pyi +1 -1
  138. homeassistant-stubs/components/config/label_registry.pyi +1 -1
  139. homeassistant-stubs/components/config/scene.pyi +1 -1
  140. homeassistant-stubs/components/config/script.pyi +0 -1
  141. homeassistant-stubs/components/cover/__init__.pyi +3 -1
  142. homeassistant-stubs/components/cover/const.pyi +2 -0
  143. homeassistant-stubs/components/cover/intent.pyi +1 -4
  144. homeassistant-stubs/components/crownstone/{devices.pyi → entity.pyi} +1 -1
  145. homeassistant-stubs/components/crownstone/light.pyi +2 -2
  146. homeassistant-stubs/components/deako/__init__.pyi +14 -0
  147. homeassistant-stubs/components/deako/config_flow.pyi +6 -0
  148. homeassistant-stubs/components/deako/const.pyi +2 -0
  149. homeassistant-stubs/components/deako/light.pyi +32 -0
  150. homeassistant-stubs/components/deconz/alarm_control_panel.pyi +3 -3
  151. homeassistant-stubs/components/deconz/binary_sensor.pyi +3 -3
  152. homeassistant-stubs/components/deconz/button.pyi +4 -4
  153. homeassistant-stubs/components/deconz/climate.pyi +3 -3
  154. homeassistant-stubs/components/deconz/cover.pyi +3 -3
  155. homeassistant-stubs/components/deconz/deconz_event.pyi +1 -1
  156. homeassistant-stubs/components/deconz/device_trigger.pyi +1 -2
  157. homeassistant-stubs/components/deconz/fan.pyi +3 -3
  158. homeassistant-stubs/components/deconz/hub/__init__.pyi +2 -0
  159. homeassistant-stubs/components/deconz/light.pyi +3 -3
  160. homeassistant-stubs/components/deconz/lock.pyi +3 -3
  161. homeassistant-stubs/components/deconz/number.pyi +3 -3
  162. homeassistant-stubs/components/deconz/scene.pyi +3 -3
  163. homeassistant-stubs/components/deconz/select.pyi +6 -6
  164. homeassistant-stubs/components/deconz/sensor.pyi +6 -5
  165. homeassistant-stubs/components/deconz/siren.pyi +3 -3
  166. homeassistant-stubs/components/deconz/switch.pyi +3 -3
  167. homeassistant-stubs/components/demo/lock.pyi +1 -2
  168. homeassistant-stubs/components/demo/notify.pyi +1 -1
  169. homeassistant-stubs/components/derivative/sensor.pyi +1 -1
  170. homeassistant-stubs/components/device_automation/__init__.pyi +1 -1
  171. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -1
  172. homeassistant-stubs/components/device_tracker/config_entry.pyi +30 -4
  173. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  174. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +1 -1
  175. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  176. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  177. homeassistant-stubs/components/devolo_home_network/__init__.pyi +1 -1
  178. homeassistant-stubs/components/devolo_home_network/const.pyi +1 -0
  179. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -6
  180. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  181. homeassistant-stubs/components/devolo_home_network/sensor.pyi +19 -14
  182. homeassistant-stubs/components/dhcp/__init__.pyi +7 -1
  183. homeassistant-stubs/components/discovergy/config_flow.pyi +1 -0
  184. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
  185. homeassistant-stubs/components/dlna_dms/dms.pyi +1 -2
  186. homeassistant-stubs/components/dlna_dms/media_source.pyi +1 -2
  187. homeassistant-stubs/components/downloader/__init__.pyi +1 -9
  188. homeassistant-stubs/components/downloader/config_flow.pyi +0 -1
  189. homeassistant-stubs/components/dsmr/const.pyi +1 -0
  190. homeassistant-stubs/components/dsmr/sensor.pyi +4 -2
  191. homeassistant-stubs/components/efergy/__init__.pyi +0 -9
  192. homeassistant-stubs/components/efergy/entity.pyi +11 -0
  193. homeassistant-stubs/components/efergy/sensor.pyi +2 -1
  194. homeassistant-stubs/components/elevenlabs/__init__.pyi +1 -0
  195. homeassistant-stubs/components/elevenlabs/config_flow.pyi +8 -2
  196. homeassistant-stubs/components/elevenlabs/const.pyi +11 -0
  197. homeassistant-stubs/components/elevenlabs/tts.pyi +7 -3
  198. homeassistant-stubs/components/elkm1/__init__.pyi +1 -34
  199. homeassistant-stubs/components/elkm1/alarm_control_panel.pyi +2 -1
  200. homeassistant-stubs/components/elkm1/binary_sensor.pyi +2 -1
  201. homeassistant-stubs/components/elkm1/climate.pyi +4 -1
  202. homeassistant-stubs/components/elkm1/entity.pyi +43 -0
  203. homeassistant-stubs/components/elkm1/light.pyi +2 -1
  204. homeassistant-stubs/components/elkm1/scene.pyi +2 -1
  205. homeassistant-stubs/components/elkm1/sensor.pyi +2 -1
  206. homeassistant-stubs/components/elkm1/switch.pyi +19 -1
  207. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
  208. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -0
  209. homeassistant-stubs/components/enphase_envoy/sensor.pyi +13 -1
  210. homeassistant-stubs/components/enphase_envoy/switch.pyi +1 -1
  211. homeassistant-stubs/components/esphome/__init__.pyi +3 -2
  212. homeassistant-stubs/components/esphome/assist_satellite.pyi +75 -0
  213. homeassistant-stubs/components/esphome/binary_sensor.pyi +3 -0
  214. homeassistant-stubs/components/esphome/const.pyi +1 -0
  215. homeassistant-stubs/components/esphome/entry_data.pyi +3 -2
  216. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +49 -0
  217. homeassistant-stubs/components/esphome/manager.pyi +2 -9
  218. homeassistant-stubs/components/esphome/media_player.pyi +7 -1
  219. homeassistant-stubs/components/esphome/repairs.pyi +5 -0
  220. homeassistant-stubs/components/evil_genius_labs/__init__.pyi +0 -7
  221. homeassistant-stubs/components/evil_genius_labs/entity.pyi +9 -0
  222. homeassistant-stubs/components/evil_genius_labs/light.pyi +1 -1
  223. homeassistant-stubs/components/evil_genius_labs/util.pyi +1 -1
  224. homeassistant-stubs/components/evohome/const.pyi +5 -5
  225. homeassistant-stubs/components/fan/__init__.pyi +2 -0
  226. homeassistant-stubs/components/forecast_solar/coordinator.pyi +1 -1
  227. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -3
  228. homeassistant-stubs/components/fritz/switch.pyi +1 -1
  229. homeassistant-stubs/components/fritzbox/__init__.pyi +1 -27
  230. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +1 -1
  231. homeassistant-stubs/components/fritzbox/button.pyi +1 -1
  232. homeassistant-stubs/components/fritzbox/climate.pyi +1 -1
  233. homeassistant-stubs/components/fritzbox/cover.pyi +1 -1
  234. homeassistant-stubs/components/fritzbox/entity.pyi +29 -0
  235. homeassistant-stubs/components/fritzbox/light.pyi +2 -2
  236. homeassistant-stubs/components/fritzbox/sensor.pyi +5 -3
  237. homeassistant-stubs/components/fritzbox/switch.pyi +1 -1
  238. homeassistant-stubs/components/frontend/__init__.pyi +1 -1
  239. homeassistant-stubs/components/frontend/storage.pyi +1 -1
  240. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +2 -1
  241. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +3 -1
  242. homeassistant-stubs/components/fujitsu_fglair/const.pyi +3 -1
  243. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +1 -1
  244. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +6 -6
  245. homeassistant-stubs/components/geo_location/__init__.pyi +2 -0
  246. homeassistant-stubs/components/google/calendar.pyi +20 -6
  247. homeassistant-stubs/components/google_cloud/__init__.pyi +10 -0
  248. homeassistant-stubs/components/google_cloud/config_flow.pyi +27 -0
  249. homeassistant-stubs/components/google_cloud/const.pyi +19 -0
  250. homeassistant-stubs/components/google_cloud/helpers.pyi +14 -0
  251. homeassistant-stubs/components/google_cloud/stt.pyi +34 -0
  252. homeassistant-stubs/components/google_cloud/tts.pyi +47 -0
  253. homeassistant-stubs/components/google_photos/__init__.pyi +3 -0
  254. homeassistant-stubs/components/google_photos/api.pyi +15 -0
  255. homeassistant-stubs/components/google_photos/application_credentials.pyi +6 -0
  256. homeassistant-stubs/components/google_photos/config_flow.pyi +19 -0
  257. homeassistant-stubs/components/google_photos/const.pyi +8 -0
  258. homeassistant-stubs/components/google_photos/coordinator.pyi +17 -0
  259. homeassistant-stubs/components/google_photos/media_source.pyi +54 -0
  260. homeassistant-stubs/components/google_photos/services.pyi +15 -0
  261. homeassistant-stubs/components/google_photos/types.pyi +4 -0
  262. homeassistant-stubs/components/group/__init__.pyi +1 -3
  263. homeassistant-stubs/components/group/button.pyi +1 -1
  264. homeassistant-stubs/components/group/const.pyi +7 -3
  265. homeassistant-stubs/components/group/cover.pyi +1 -1
  266. homeassistant-stubs/components/group/entity.pyi +1 -1
  267. homeassistant-stubs/components/group/event.pyi +1 -1
  268. homeassistant-stubs/components/group/fan.pyi +1 -1
  269. homeassistant-stubs/components/group/lock.pyi +2 -2
  270. homeassistant-stubs/components/group/media_player.pyi +1 -1
  271. homeassistant-stubs/components/group/notify.pyi +1 -1
  272. homeassistant-stubs/components/group/registry.pyi +2 -1
  273. homeassistant-stubs/components/group/sensor.pyi +1 -1
  274. homeassistant-stubs/components/group/switch.pyi +1 -1
  275. homeassistant-stubs/components/guardian/__init__.pyi +0 -24
  276. homeassistant-stubs/components/guardian/binary_sensor.pyi +2 -1
  277. homeassistant-stubs/components/guardian/button.pyi +2 -1
  278. homeassistant-stubs/components/guardian/entity.pyi +29 -0
  279. homeassistant-stubs/components/guardian/sensor.pyi +2 -1
  280. homeassistant-stubs/components/guardian/switch.pyi +2 -1
  281. homeassistant-stubs/components/guardian/util.pyi +1 -1
  282. homeassistant-stubs/components/guardian/valve.pyi +2 -1
  283. homeassistant-stubs/components/history/websocket_api.pyi +1 -2
  284. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
  285. homeassistant-stubs/components/homeassistant/triggers/time.pyi +9 -1
  286. homeassistant-stubs/components/homekit/config_flow.pyi +3 -3
  287. homeassistant-stubs/components/homekit/type_covers.pyi +1 -1
  288. homeassistant-stubs/components/homekit/type_fans.pyi +1 -1
  289. homeassistant-stubs/components/homekit/type_humidifiers.pyi +1 -1
  290. homeassistant-stubs/components/homekit/type_lights.pyi +1 -1
  291. homeassistant-stubs/components/homekit/type_locks.pyi +1 -1
  292. homeassistant-stubs/components/homekit/type_media_players.pyi +1 -1
  293. homeassistant-stubs/components/homekit/type_security_systems.pyi +1 -1
  294. homeassistant-stubs/components/homekit/type_switches.pyi +0 -1
  295. homeassistant-stubs/components/homekit/util.pyi +1 -0
  296. homeassistant-stubs/components/homekit_controller/config_flow.pyi +0 -1
  297. homeassistant-stubs/components/homekit_controller/lock.pyi +3 -3
  298. homeassistant-stubs/components/homeworks/__init__.pyi +0 -15
  299. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -1
  300. homeassistant-stubs/components/homeworks/button.pyi +2 -1
  301. homeassistant-stubs/components/homeworks/config_flow.pyi +6 -2
  302. homeassistant-stubs/components/homeworks/entity.pyi +16 -0
  303. homeassistant-stubs/components/homeworks/light.pyi +2 -1
  304. homeassistant-stubs/components/homeworks/util.pyi +1 -0
  305. homeassistant-stubs/components/http/__init__.pyi +1 -1
  306. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -24
  307. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +1 -1
  308. homeassistant-stubs/components/huawei_lte/button.pyi +1 -1
  309. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +3 -4
  310. homeassistant-stubs/components/huawei_lte/entity.pyi +31 -0
  311. homeassistant-stubs/components/huawei_lte/select.pyi +2 -1
  312. homeassistant-stubs/components/huawei_lte/sensor.pyi +2 -1
  313. homeassistant-stubs/components/huawei_lte/switch.pyi +1 -1
  314. homeassistant-stubs/components/humidifier/__init__.pyi +7 -2
  315. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -0
  316. homeassistant-stubs/components/husqvarna_automower/button.pyi +20 -6
  317. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +21 -0
  318. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  319. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +1 -3
  320. homeassistant-stubs/components/husqvarna_automower/entity.pyi +16 -2
  321. homeassistant-stubs/components/husqvarna_automower/number.pyi +4 -10
  322. homeassistant-stubs/components/husqvarna_automower/switch.pyi +12 -1
  323. homeassistant-stubs/components/image/__init__.pyi +1 -1
  324. homeassistant-stubs/components/image/const.pyi +4 -0
  325. homeassistant-stubs/components/image/media_source.pyi +2 -5
  326. homeassistant-stubs/components/ios/__init__.pyi +1 -15
  327. homeassistant-stubs/components/ios/const.pyi +16 -0
  328. homeassistant-stubs/components/ios/notify.pyi +1 -1
  329. homeassistant-stubs/components/ios/sensor.pyi +2 -2
  330. homeassistant-stubs/components/iotty/cover.pyi +36 -0
  331. homeassistant-stubs/components/iotty/entity.pyi +19 -0
  332. homeassistant-stubs/components/iotty/switch.pyi +2 -11
  333. homeassistant-stubs/components/iqvia/__init__.pyi +2 -15
  334. homeassistant-stubs/components/iqvia/entity.pyi +18 -0
  335. homeassistant-stubs/components/iqvia/sensor.pyi +1 -1
  336. homeassistant-stubs/components/isy994/const.pyi +2 -1
  337. homeassistant-stubs/components/jellyfin/browse_media.pyi +1 -2
  338. homeassistant-stubs/components/jellyfin/media_player.pyi +1 -2
  339. homeassistant-stubs/components/jellyfin/media_source.pyi +1 -1
  340. homeassistant-stubs/components/jellyfin/sensor.pyi +1 -0
  341. homeassistant-stubs/components/jvc_projector/coordinator.pyi +2 -1
  342. homeassistant-stubs/components/knx/__init__.pyi +4 -2
  343. homeassistant-stubs/components/knx/binary_sensor.pyi +2 -2
  344. homeassistant-stubs/components/knx/button.pyi +2 -2
  345. homeassistant-stubs/components/knx/climate.pyi +9 -3
  346. homeassistant-stubs/components/knx/config_flow.pyi +1 -1
  347. homeassistant-stubs/components/knx/const.pyi +9 -3
  348. homeassistant-stubs/components/knx/cover.pyi +2 -2
  349. homeassistant-stubs/components/knx/date.pyi +2 -2
  350. homeassistant-stubs/components/knx/datetime.pyi +2 -2
  351. homeassistant-stubs/components/knx/device_trigger.pyi +3 -5
  352. homeassistant-stubs/components/knx/diagnostics.pyi +1 -1
  353. homeassistant-stubs/components/knx/{knx_entity.pyi → entity.pyi} +10 -5
  354. homeassistant-stubs/components/knx/fan.pyi +2 -2
  355. homeassistant-stubs/components/knx/light.pyi +3 -9
  356. homeassistant-stubs/components/knx/notify.pyi +2 -2
  357. homeassistant-stubs/components/knx/number.pyi +2 -2
  358. homeassistant-stubs/components/knx/scene.pyi +2 -2
  359. homeassistant-stubs/components/knx/schema.pyi +8 -2
  360. homeassistant-stubs/components/knx/select.pyi +2 -2
  361. homeassistant-stubs/components/knx/sensor.pyi +2 -2
  362. homeassistant-stubs/components/knx/services.pyi +1 -1
  363. homeassistant-stubs/components/knx/switch.pyi +3 -9
  364. homeassistant-stubs/components/knx/text.pyi +2 -2
  365. homeassistant-stubs/components/knx/time.pyi +2 -2
  366. homeassistant-stubs/components/knx/weather.pyi +2 -2
  367. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  368. homeassistant-stubs/components/lamarzocco/config_flow.pyi +5 -1
  369. homeassistant-stubs/components/laundrify/__init__.pyi +2 -0
  370. homeassistant-stubs/components/laundrify/binary_sensor.pyi +0 -1
  371. homeassistant-stubs/components/laundrify/config_flow.pyi +1 -0
  372. homeassistant-stubs/components/laundrify/sensor.pyi +41 -0
  373. homeassistant-stubs/components/lawn_mower/__init__.pyi +2 -0
  374. homeassistant-stubs/components/lcn/__init__.pyi +8 -30
  375. homeassistant-stubs/components/lcn/binary_sensor.pyi +7 -7
  376. homeassistant-stubs/components/lcn/climate.pyi +5 -5
  377. homeassistant-stubs/components/lcn/config_flow.pyi +8 -3
  378. homeassistant-stubs/components/lcn/const.pyi +1 -0
  379. homeassistant-stubs/components/lcn/cover.pyi +6 -6
  380. homeassistant-stubs/components/lcn/entity.pyi +28 -0
  381. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  382. homeassistant-stubs/components/lcn/light.pyi +6 -6
  383. homeassistant-stubs/components/lcn/scene.pyi +4 -5
  384. homeassistant-stubs/components/lcn/sensor.pyi +6 -6
  385. homeassistant-stubs/components/lcn/services.pyi +16 -0
  386. homeassistant-stubs/components/lcn/switch.pyi +6 -6
  387. homeassistant-stubs/components/lcn/websocket.pyi +3 -1
  388. homeassistant-stubs/components/lektrico/__init__.pyi +12 -0
  389. homeassistant-stubs/components/lektrico/button.pyi +27 -0
  390. homeassistant-stubs/components/lektrico/config_flow.pyi +24 -0
  391. homeassistant-stubs/components/lektrico/const.pyi +4 -0
  392. homeassistant-stubs/components/lektrico/coordinator.pyi +19 -0
  393. homeassistant-stubs/components/lektrico/entity.pyi +10 -0
  394. homeassistant-stubs/components/lektrico/number.pyi +29 -0
  395. homeassistant-stubs/components/lektrico/select.pyi +30 -0
  396. homeassistant-stubs/components/lektrico/sensor.pyi +34 -0
  397. homeassistant-stubs/components/lidarr/__init__.pyi +2 -11
  398. homeassistant-stubs/components/lidarr/entity.pyi +13 -0
  399. homeassistant-stubs/components/lidarr/sensor.pyi +2 -1
  400. homeassistant-stubs/components/light/__init__.pyi +4 -2
  401. homeassistant-stubs/components/linkplay/const.pyi +1 -1
  402. homeassistant-stubs/components/linkplay/media_player.pyi +9 -3
  403. homeassistant-stubs/components/linkplay/utils.pyi +1 -1
  404. homeassistant-stubs/components/local_todo/todo.pyi +1 -0
  405. homeassistant-stubs/components/lock/__init__.pyi +4 -2
  406. homeassistant-stubs/components/lock/const.pyi +11 -0
  407. homeassistant-stubs/components/lock/device_condition.pyi +2 -2
  408. homeassistant-stubs/components/lock/device_trigger.pyi +2 -2
  409. homeassistant-stubs/components/lock/reproduce_state.pyi +2 -2
  410. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -2
  411. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  412. homeassistant-stubs/components/madvr/__init__.pyi +1 -1
  413. homeassistant-stubs/components/madvr/config_flow.pyi +2 -1
  414. homeassistant-stubs/components/madvr/diagnostics.pyi +10 -0
  415. homeassistant-stubs/components/matter/button.pyi +25 -0
  416. homeassistant-stubs/components/matter/entity.pyi +1 -4
  417. homeassistant-stubs/components/matter/light.pyi +0 -1
  418. homeassistant-stubs/components/matter/models.pyi +5 -3
  419. homeassistant-stubs/components/matter/number.pyi +2 -2
  420. homeassistant-stubs/components/matter/sensor.pyi +9 -0
  421. homeassistant-stubs/components/matter/valve.pyi +33 -0
  422. homeassistant-stubs/components/media_player/__init__.pyi +11 -4
  423. homeassistant-stubs/components/media_player/const.pyi +67 -63
  424. homeassistant-stubs/components/mikrotik/device_tracker.pyi +1 -3
  425. homeassistant-stubs/components/minecraft_server/__init__.pyi +1 -0
  426. homeassistant-stubs/components/minecraft_server/diagnostics.pyi +1 -1
  427. homeassistant-stubs/components/modbus/binary_sensor.pyi +1 -1
  428. homeassistant-stubs/components/modbus/climate.pyi +1 -1
  429. homeassistant-stubs/components/modbus/cover.pyi +1 -1
  430. homeassistant-stubs/components/modbus/fan.pyi +1 -1
  431. homeassistant-stubs/components/modbus/light.pyi +1 -1
  432. homeassistant-stubs/components/modbus/sensor.pyi +1 -1
  433. homeassistant-stubs/components/modbus/switch.pyi +1 -1
  434. homeassistant-stubs/components/mold_indicator/__init__.pyi +10 -0
  435. homeassistant-stubs/components/mold_indicator/config_flow.pyi +20 -0
  436. homeassistant-stubs/components/mold_indicator/const.pyi +6 -0
  437. homeassistant-stubs/components/mold_indicator/sensor.pyi +60 -0
  438. homeassistant-stubs/components/mopeka/__init__.pyi +1 -1
  439. homeassistant-stubs/components/motionmount/entity.pyi +3 -0
  440. homeassistant-stubs/components/motionmount/number.pyi +1 -0
  441. homeassistant-stubs/components/motionmount/select.pyi +5 -0
  442. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -1
  443. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -1
  444. homeassistant-stubs/components/mqtt/button.pyi +1 -1
  445. homeassistant-stubs/components/mqtt/camera.pyi +1 -1
  446. homeassistant-stubs/components/mqtt/climate.pyi +1 -6
  447. homeassistant-stubs/components/mqtt/config_flow.pyi +1 -2
  448. homeassistant-stubs/components/mqtt/cover.pyi +1 -1
  449. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  450. homeassistant-stubs/components/mqtt/device_tracker.pyi +3 -3
  451. homeassistant-stubs/components/mqtt/device_trigger.pyi +1 -1
  452. homeassistant-stubs/components/mqtt/discovery.pyi +1 -1
  453. homeassistant-stubs/components/mqtt/{mixins.pyi → entity.pyi} +0 -3
  454. homeassistant-stubs/components/mqtt/event.pyi +1 -1
  455. homeassistant-stubs/components/mqtt/fan.pyi +1 -1
  456. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -1
  457. homeassistant-stubs/components/mqtt/image.pyi +1 -1
  458. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -1
  459. homeassistant-stubs/components/mqtt/light/__init__.pyi +1 -1
  460. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -1
  461. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -1
  462. homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -1
  463. homeassistant-stubs/components/mqtt/lock.pyi +1 -1
  464. homeassistant-stubs/components/mqtt/notify.pyi +1 -1
  465. homeassistant-stubs/components/mqtt/number.pyi +1 -1
  466. homeassistant-stubs/components/mqtt/scene.pyi +1 -1
  467. homeassistant-stubs/components/mqtt/select.pyi +1 -1
  468. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  469. homeassistant-stubs/components/mqtt/siren.pyi +1 -1
  470. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  471. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  472. homeassistant-stubs/components/mqtt/text.pyi +1 -1
  473. homeassistant-stubs/components/mqtt/trigger.pyi +3 -2
  474. homeassistant-stubs/components/mqtt/update.pyi +1 -1
  475. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -1
  476. homeassistant-stubs/components/mqtt/valve.pyi +3 -3
  477. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -1
  478. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  479. homeassistant-stubs/components/mysensors/binary_sensor.pyi +3 -2
  480. homeassistant-stubs/components/mysensors/climate.pyi +3 -2
  481. homeassistant-stubs/components/mysensors/cover.pyi +3 -2
  482. homeassistant-stubs/components/mysensors/device_tracker.pyi +5 -10
  483. homeassistant-stubs/components/mysensors/handler.pyi +1 -1
  484. homeassistant-stubs/components/mysensors/light.pyi +3 -3
  485. homeassistant-stubs/components/mysensors/remote.pyi +1 -1
  486. homeassistant-stubs/components/mysensors/sensor.pyi +4 -3
  487. homeassistant-stubs/components/mysensors/switch.pyi +1 -1
  488. homeassistant-stubs/components/mysensors/text.pyi +2 -2
  489. homeassistant-stubs/components/nanoleaf/device_trigger.pyi +1 -2
  490. homeassistant-stubs/components/nest/device_trigger.pyi +1 -2
  491. homeassistant-stubs/components/nest/media_source.pyi +1 -2
  492. homeassistant-stubs/components/netatmo/device_trigger.pyi +1 -2
  493. homeassistant-stubs/components/netatmo/media_source.pyi +1 -2
  494. homeassistant-stubs/components/network/websocket.pyi +1 -1
  495. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  496. homeassistant-stubs/components/nextdns/config_flow.pyi +11 -1
  497. homeassistant-stubs/components/nextdns/coordinator.pyi +1 -0
  498. homeassistant-stubs/components/nissan_leaf/__init__.pyi +3 -14
  499. homeassistant-stubs/components/nissan_leaf/binary_sensor.pyi +2 -1
  500. homeassistant-stubs/components/nissan_leaf/button.pyi +2 -1
  501. homeassistant-stubs/components/nissan_leaf/const.pyi +1 -0
  502. homeassistant-stubs/components/nissan_leaf/entity.pyi +18 -0
  503. homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -1
  504. homeassistant-stubs/components/nissan_leaf/switch.pyi +2 -1
  505. homeassistant-stubs/components/notify/__init__.pyi +3 -2
  506. homeassistant-stubs/components/notify/legacy.pyi +5 -6
  507. homeassistant-stubs/components/notify/repairs.pyi +1 -2
  508. homeassistant-stubs/components/notion/__init__.pyi +1 -23
  509. homeassistant-stubs/components/notion/binary_sensor.pyi +1 -2
  510. homeassistant-stubs/components/notion/entity.pyi +33 -0
  511. homeassistant-stubs/components/notion/sensor.pyi +1 -2
  512. homeassistant-stubs/components/onewire/binary_sensor.pyi +1 -1
  513. homeassistant-stubs/components/onewire/sensor.pyi +1 -1
  514. homeassistant-stubs/components/onewire/switch.pyi +1 -1
  515. homeassistant-stubs/components/onkyo/media_player.pyi +84 -0
  516. homeassistant-stubs/components/onkyo/receiver.pyi +19 -0
  517. homeassistant-stubs/components/openuv/__init__.pyi +0 -11
  518. homeassistant-stubs/components/openuv/binary_sensor.pyi +1 -1
  519. homeassistant-stubs/components/openuv/entity.pyi +14 -0
  520. homeassistant-stubs/components/openuv/sensor.pyi +1 -1
  521. homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
  522. homeassistant-stubs/components/overkiz/{climate_entities → climate}/__init__.pyi +9 -0
  523. homeassistant-stubs/components/overkiz/{water_heater.pyi → cover/__init__.pyi} +5 -4
  524. homeassistant-stubs/components/overkiz/executor.pyi +1 -1
  525. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +17 -0
  526. homeassistant-stubs/components/pi_hole/__init__.pyi +1 -10
  527. homeassistant-stubs/components/pi_hole/binary_sensor.pyi +2 -1
  528. homeassistant-stubs/components/pi_hole/entity.pyi +13 -0
  529. homeassistant-stubs/components/pi_hole/sensor.pyi +2 -1
  530. homeassistant-stubs/components/pi_hole/switch.pyi +2 -1
  531. homeassistant-stubs/components/pi_hole/update.pyi +2 -1
  532. homeassistant-stubs/components/ping/binary_sensor.pyi +0 -8
  533. homeassistant-stubs/components/ping/device_tracker.pyi +1 -3
  534. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -1
  535. homeassistant-stubs/components/prusalink/__init__.pyi +1 -8
  536. homeassistant-stubs/components/prusalink/binary_sensor.pyi +1 -1
  537. homeassistant-stubs/components/prusalink/button.pyi +1 -1
  538. homeassistant-stubs/components/prusalink/camera.pyi +1 -1
  539. homeassistant-stubs/components/prusalink/entity.pyi +9 -0
  540. homeassistant-stubs/components/prusalink/sensor.pyi +1 -1
  541. homeassistant-stubs/components/purpleair/__init__.pyi +1 -17
  542. homeassistant-stubs/components/purpleair/entity.pyi +21 -0
  543. homeassistant-stubs/components/purpleair/sensor.pyi +1 -1
  544. homeassistant-stubs/components/qnap_qsw/diagnostics.pyi +1 -1
  545. homeassistant-stubs/components/radarr/__init__.pyi +2 -15
  546. homeassistant-stubs/components/radarr/binary_sensor.pyi +2 -1
  547. homeassistant-stubs/components/radarr/calendar.pyi +2 -1
  548. homeassistant-stubs/components/radarr/entity.pyi +16 -0
  549. homeassistant-stubs/components/radarr/sensor.pyi +2 -1
  550. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -18
  551. homeassistant-stubs/components/rainmachine/binary_sensor.pyi +2 -2
  552. homeassistant-stubs/components/rainmachine/button.pyi +2 -2
  553. homeassistant-stubs/components/rainmachine/entity.pyi +30 -0
  554. homeassistant-stubs/components/rainmachine/select.pyi +2 -2
  555. homeassistant-stubs/components/rainmachine/sensor.pyi +2 -2
  556. homeassistant-stubs/components/rainmachine/switch.pyi +2 -2
  557. homeassistant-stubs/components/rainmachine/update.pyi +2 -2
  558. homeassistant-stubs/components/recorder/const.pyi +2 -2
  559. homeassistant-stubs/components/recorder/core.pyi +3 -7
  560. homeassistant-stubs/components/recorder/history/legacy.pyi +9 -10
  561. homeassistant-stubs/components/recorder/history/modern.pyi +1 -1
  562. homeassistant-stubs/components/recorder/migration.pyi +28 -25
  563. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  564. homeassistant-stubs/components/recorder/models/legacy.pyi +1 -37
  565. homeassistant-stubs/components/recorder/models/time.pyi +0 -1
  566. homeassistant-stubs/components/recorder/statistics.pyi +2 -1
  567. homeassistant-stubs/components/recorder/tasks.pyi +4 -17
  568. homeassistant-stubs/components/recorder/util.pyi +6 -2
  569. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -3
  570. homeassistant-stubs/components/remote/__init__.pyi +2 -0
  571. homeassistant-stubs/components/renault/device_tracker.pyi +8 -4
  572. homeassistant-stubs/components/renault/renault_hub.pyi +1 -1
  573. homeassistant-stubs/components/renault/renault_vehicle.pyi +2 -0
  574. homeassistant-stubs/components/renault/services.pyi +4 -0
  575. homeassistant-stubs/components/rfxtrx/__init__.pyi +2 -27
  576. homeassistant-stubs/components/rfxtrx/binary_sensor.pyi +2 -1
  577. homeassistant-stubs/components/rfxtrx/const.pyi +1 -0
  578. homeassistant-stubs/components/rfxtrx/cover.pyi +2 -1
  579. homeassistant-stubs/components/rfxtrx/device_action.pyi +1 -1
  580. homeassistant-stubs/components/rfxtrx/device_trigger.pyi +1 -2
  581. homeassistant-stubs/components/rfxtrx/entity.pyi +33 -0
  582. homeassistant-stubs/components/rfxtrx/event.pyi +2 -1
  583. homeassistant-stubs/components/rfxtrx/light.pyi +2 -1
  584. homeassistant-stubs/components/rfxtrx/sensor.pyi +2 -1
  585. homeassistant-stubs/components/rfxtrx/siren.pyi +2 -1
  586. homeassistant-stubs/components/rfxtrx/switch.pyi +3 -2
  587. homeassistant-stubs/components/ring/__init__.pyi +10 -9
  588. homeassistant-stubs/components/ring/binary_sensor.pyi +24 -20
  589. homeassistant-stubs/components/ring/button.pyi +2 -4
  590. homeassistant-stubs/components/ring/camera.pyi +2 -4
  591. homeassistant-stubs/components/ring/config_flow.pyi +2 -1
  592. homeassistant-stubs/components/ring/const.pyi +1 -1
  593. homeassistant-stubs/components/ring/coordinator.pyi +22 -7
  594. homeassistant-stubs/components/ring/diagnostics.pyi +2 -4
  595. homeassistant-stubs/components/ring/entity.pyi +27 -7
  596. homeassistant-stubs/components/ring/event.pyi +30 -0
  597. homeassistant-stubs/components/ring/light.pyi +2 -4
  598. homeassistant-stubs/components/ring/number.pyi +33 -0
  599. homeassistant-stubs/components/ring/sensor.pyi +6 -8
  600. homeassistant-stubs/components/ring/siren.pyi +30 -14
  601. homeassistant-stubs/components/ring/switch.pyi +25 -17
  602. homeassistant-stubs/components/roborock/binary_sensor.pyi +1 -1
  603. homeassistant-stubs/components/roborock/button.pyi +1 -1
  604. homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
  605. homeassistant-stubs/components/roborock/image.pyi +1 -1
  606. homeassistant-stubs/components/roborock/number.pyi +3 -2
  607. homeassistant-stubs/components/roborock/select.pyi +2 -1
  608. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  609. homeassistant-stubs/components/roborock/switch.pyi +3 -2
  610. homeassistant-stubs/components/roborock/time.pyi +3 -2
  611. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  612. homeassistant-stubs/components/samsungtv/device_trigger.pyi +1 -2
  613. homeassistant-stubs/components/scene/__init__.pyi +2 -0
  614. homeassistant-stubs/components/schedule/__init__.pyi +5 -1
  615. homeassistant-stubs/components/schedule/const.pyi +1 -0
  616. homeassistant-stubs/components/script/helpers.pyi +1 -1
  617. homeassistant-stubs/components/sensibo/diagnostics.pyi +1 -1
  618. homeassistant-stubs/components/sensor/device_condition.pyi +1 -2
  619. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -2
  620. homeassistant-stubs/components/sensor/recorder.pyi +10 -6
  621. homeassistant-stubs/components/sensoterra/__init__.pyi +10 -0
  622. homeassistant-stubs/components/sensoterra/config_flow.pyi +11 -0
  623. homeassistant-stubs/components/sensoterra/const.pyi +9 -0
  624. homeassistant-stubs/components/sensoterra/coordinator.pyi +15 -0
  625. homeassistant-stubs/components/sensoterra/sensor.pyi +39 -0
  626. homeassistant-stubs/components/shelly/cover.pyi +7 -1
  627. homeassistant-stubs/components/shelly/device_trigger.pyi +1 -2
  628. homeassistant-stubs/components/shelly/update.pyi +1 -0
  629. homeassistant-stubs/components/simplisafe/__init__.pyi +4 -38
  630. homeassistant-stubs/components/simplisafe/alarm_control_panel.pyi +2 -1
  631. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +2 -1
  632. homeassistant-stubs/components/simplisafe/button.pyi +2 -1
  633. homeassistant-stubs/components/simplisafe/const.pyi +6 -0
  634. homeassistant-stubs/components/simplisafe/entity.pyi +38 -0
  635. homeassistant-stubs/components/simplisafe/lock.pyi +2 -1
  636. homeassistant-stubs/components/simplisafe/sensor.pyi +2 -1
  637. homeassistant-stubs/components/siren/__init__.pyi +2 -0
  638. homeassistant-stubs/components/slack/__init__.pyi +1 -13
  639. homeassistant-stubs/components/slack/entity.pyi +15 -0
  640. homeassistant-stubs/components/slack/sensor.pyi +1 -1
  641. homeassistant-stubs/components/smlight/__init__.pyi +18 -0
  642. homeassistant-stubs/components/smlight/binary_sensor.pyi +46 -0
  643. homeassistant-stubs/components/smlight/button.pyi +32 -0
  644. homeassistant-stubs/components/smlight/config_flow.pyi +27 -0
  645. homeassistant-stubs/components/smlight/const.pyi +11 -0
  646. homeassistant-stubs/components/smlight/coordinator.pyi +49 -0
  647. homeassistant-stubs/components/smlight/diagnostics.pyi +5 -0
  648. homeassistant-stubs/components/smlight/entity.pyi +10 -0
  649. homeassistant-stubs/components/smlight/sensor.pyi +56 -0
  650. homeassistant-stubs/components/smlight/switch.pyi +39 -0
  651. homeassistant-stubs/components/smlight/update.pyi +48 -0
  652. homeassistant-stubs/components/solarlog/__init__.pyi +14 -0
  653. homeassistant-stubs/components/solarlog/config_flow.pyi +27 -0
  654. homeassistant-stubs/components/solarlog/const.pyi +4 -0
  655. homeassistant-stubs/components/solarlog/coordinator.pyi +19 -0
  656. homeassistant-stubs/components/solarlog/diagnostics.pyi +10 -0
  657. homeassistant-stubs/components/solarlog/entity.pyi +23 -0
  658. homeassistant-stubs/components/solarlog/sensor.pyi +36 -0
  659. homeassistant-stubs/components/squeezebox/__init__.pyi +24 -0
  660. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +17 -0
  661. homeassistant-stubs/components/squeezebox/browse_media.pyi +18 -0
  662. homeassistant-stubs/components/squeezebox/config_flow.pyi +27 -0
  663. homeassistant-stubs/components/squeezebox/const.pyi +29 -0
  664. homeassistant-stubs/components/squeezebox/coordinator.pyi +14 -0
  665. homeassistant-stubs/components/squeezebox/entity.pyi +14 -0
  666. homeassistant-stubs/components/squeezebox/media_player.pyi +111 -0
  667. homeassistant-stubs/components/squeezebox/sensor.pyi +18 -0
  668. homeassistant-stubs/components/ssdp/__init__.pyi +3 -1
  669. homeassistant-stubs/components/starlink/device_tracker.pyi +2 -5
  670. homeassistant-stubs/components/starlink/diagnostics.pyi +1 -1
  671. homeassistant-stubs/components/stt/const.pyi +6 -2
  672. homeassistant-stubs/components/surepetcare/config_flow.pyi +2 -6
  673. homeassistant-stubs/components/surepetcare/lock.pyi +3 -4
  674. homeassistant-stubs/components/switch/__init__.pyi +2 -0
  675. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  676. homeassistant-stubs/components/switchbot_cloud/const.pyi +4 -0
  677. homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
  678. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +32 -0
  679. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
  680. homeassistant-stubs/components/switcher_kis/config_flow.pyi +23 -2
  681. homeassistant-stubs/components/switcher_kis/coordinator.pyi +2 -0
  682. homeassistant-stubs/components/switcher_kis/cover.pyi +2 -1
  683. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  684. homeassistant-stubs/components/tailscale/__init__.pyi +0 -13
  685. homeassistant-stubs/components/tailscale/binary_sensor.pyi +1 -1
  686. homeassistant-stubs/components/tailscale/config_flow.pyi +2 -0
  687. homeassistant-stubs/components/tailscale/entity.pyi +15 -0
  688. homeassistant-stubs/components/tailscale/sensor.pyi +1 -1
  689. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  690. homeassistant-stubs/components/tami4/button.pyi +14 -1
  691. homeassistant-stubs/components/tautulli/__init__.pyi +0 -13
  692. homeassistant-stubs/components/tautulli/entity.pyi +15 -0
  693. homeassistant-stubs/components/tautulli/sensor.pyi +2 -1
  694. homeassistant-stubs/components/tcp/binary_sensor.pyi +2 -1
  695. homeassistant-stubs/components/tcp/common.pyi +0 -17
  696. homeassistant-stubs/components/tcp/entity.pyi +21 -0
  697. homeassistant-stubs/components/tcp/sensor.pyi +2 -1
  698. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -17
  699. homeassistant-stubs/components/threshold/const.pyi +20 -5
  700. homeassistant-stubs/components/tibber/services.pyi +2 -2
  701. homeassistant-stubs/components/tile/device_tracker.pyi +1 -3
  702. homeassistant-stubs/components/todo/__init__.pyi +1 -1
  703. homeassistant-stubs/components/todo/const.pyi +4 -0
  704. homeassistant-stubs/components/todo/intent.pyi +2 -2
  705. homeassistant-stubs/components/tolo/__init__.pyi +3 -22
  706. homeassistant-stubs/components/tolo/binary_sensor.pyi +2 -1
  707. homeassistant-stubs/components/tolo/button.pyi +2 -1
  708. homeassistant-stubs/components/tolo/climate.pyi +2 -1
  709. homeassistant-stubs/components/tolo/coordinator.pyi +20 -0
  710. homeassistant-stubs/components/tolo/entity.pyi +11 -0
  711. homeassistant-stubs/components/tolo/fan.pyi +2 -1
  712. homeassistant-stubs/components/tolo/light.pyi +2 -1
  713. homeassistant-stubs/components/tolo/number.pyi +2 -1
  714. homeassistant-stubs/components/tolo/select.pyi +2 -1
  715. homeassistant-stubs/components/tolo/sensor.pyi +2 -1
  716. homeassistant-stubs/components/tolo/switch.pyi +2 -1
  717. homeassistant-stubs/components/tplink/binary_sensor.pyi +1 -1
  718. homeassistant-stubs/components/tplink/button.pyi +2 -1
  719. homeassistant-stubs/components/tplink/deprecate.pyi +18 -0
  720. homeassistant-stubs/components/tplink/entity.pyi +8 -4
  721. homeassistant-stubs/components/tplink/number.pyi +3 -1
  722. homeassistant-stubs/components/tplink/select.pyi +1 -1
  723. homeassistant-stubs/components/tplink/sensor.pyi +2 -1
  724. homeassistant-stubs/components/tplink/siren.pyi +22 -0
  725. homeassistant-stubs/components/tplink/switch.pyi +1 -1
  726. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -0
  727. homeassistant-stubs/components/tplink_omada/controller.pyi +10 -5
  728. homeassistant-stubs/components/tplink_omada/coordinator.pyi +7 -2
  729. homeassistant-stubs/components/tplink_omada/device_tracker.pyi +1 -3
  730. homeassistant-stubs/components/tplink_omada/entity.pyi +0 -1
  731. homeassistant-stubs/components/tplink_omada/update.pyi +8 -7
  732. homeassistant-stubs/components/trace/__init__.pyi +1 -2
  733. homeassistant-stubs/components/trace/const.pyi +7 -3
  734. homeassistant-stubs/components/tractive/device_tracker.pyi +3 -9
  735. homeassistant-stubs/components/tradfri/cover.pyi +1 -1
  736. homeassistant-stubs/components/tradfri/fan.pyi +1 -1
  737. homeassistant-stubs/components/tradfri/light.pyi +1 -1
  738. homeassistant-stubs/components/tradfri/sensor.pyi +1 -1
  739. homeassistant-stubs/components/tradfri/switch.pyi +1 -1
  740. homeassistant-stubs/components/tts/__init__.pyi +2 -1
  741. homeassistant-stubs/components/tts/const.pyi +6 -1
  742. homeassistant-stubs/components/tts/helper.pyi +2 -3
  743. homeassistant-stubs/components/tts/legacy.pyi +0 -1
  744. homeassistant-stubs/components/tts/media_source.pyi +3 -3
  745. homeassistant-stubs/components/unifi/device_tracker.pyi +2 -4
  746. homeassistant-stubs/components/unifi/hub/__init__.pyi +2 -0
  747. homeassistant-stubs/components/unifi/switch.pyi +1 -1
  748. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -2
  749. homeassistant-stubs/components/unifiprotect/button.pyi +1 -2
  750. homeassistant-stubs/components/unifiprotect/entity.pyi +40 -3
  751. homeassistant-stubs/components/unifiprotect/event.pyi +1 -2
  752. homeassistant-stubs/components/unifiprotect/media_source.pyi +1 -1
  753. homeassistant-stubs/components/unifiprotect/number.pyi +1 -2
  754. homeassistant-stubs/components/unifiprotect/select.pyi +1 -2
  755. homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -2
  756. homeassistant-stubs/components/unifiprotect/switch.pyi +1 -2
  757. homeassistant-stubs/components/unifiprotect/text.pyi +1 -2
  758. homeassistant-stubs/components/upcloud/__init__.pyi +2 -37
  759. homeassistant-stubs/components/upcloud/binary_sensor.pyi +2 -1
  760. homeassistant-stubs/components/upcloud/const.pyi +1 -0
  761. homeassistant-stubs/components/upcloud/entity.pyi +38 -0
  762. homeassistant-stubs/components/upcloud/switch.pyi +4 -1
  763. homeassistant-stubs/components/update/__init__.pyi +1 -0
  764. homeassistant-stubs/components/uvc/__init__.pyi +0 -0
  765. homeassistant-stubs/components/uvc/camera.pyi +54 -0
  766. homeassistant-stubs/components/vacuum/__init__.pyi +21 -14
  767. homeassistant-stubs/components/vallox/__init__.pyi +6 -9
  768. homeassistant-stubs/components/vallox/binary_sensor.pyi +1 -1
  769. homeassistant-stubs/components/vallox/config_flow.pyi +5 -2
  770. homeassistant-stubs/components/vallox/const.pyi +3 -3
  771. homeassistant-stubs/components/vallox/date.pyi +1 -1
  772. homeassistant-stubs/components/vallox/entity.pyi +12 -0
  773. homeassistant-stubs/components/vallox/fan.pyi +2 -2
  774. homeassistant-stubs/components/vallox/number.pyi +1 -1
  775. homeassistant-stubs/components/vallox/sensor.pyi +2 -2
  776. homeassistant-stubs/components/vallox/switch.pyi +1 -1
  777. homeassistant-stubs/components/valve/__init__.pyi +3 -1
  778. homeassistant-stubs/components/valve/const.pyi +9 -0
  779. homeassistant-stubs/components/velbus/climate.pyi +4 -1
  780. homeassistant-stubs/components/wallbox/const.pyi +4 -0
  781. homeassistant-stubs/components/wallbox/coordinator.pyi +3 -1
  782. homeassistant-stubs/components/wallbox/number.pyi +1 -1
  783. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  784. homeassistant-stubs/components/water_heater/__init__.pyi +2 -0
  785. homeassistant-stubs/components/weather/__init__.pyi +1 -1
  786. homeassistant-stubs/components/weather/const.pyi +5 -0
  787. homeassistant-stubs/components/weather/intent.pyi +1 -3
  788. homeassistant-stubs/components/weather/websocket_api.pyi +1 -2
  789. homeassistant-stubs/components/webostv/device_trigger.pyi +1 -2
  790. homeassistant-stubs/components/withings/config_flow.pyi +1 -1
  791. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +1 -0
  792. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +9 -1
  793. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +10 -6
  794. homeassistant-stubs/components/yale_smart_alarm/switch.pyi +20 -0
  795. homeassistant-stubs/components/youtube/const.pyi +1 -0
  796. homeassistant-stubs/components/youtube/coordinator.pyi +1 -1
  797. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  798. homeassistant-stubs/components/zeroconf/__init__.pyi +4 -0
  799. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  800. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  801. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  802. homeassistant-stubs/components/zwave_js/cover.pyi +5 -0
  803. homeassistant-stubs/components/zwave_js/device_condition.pyi +1 -1
  804. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -2
  805. homeassistant-stubs/components/zwave_js/diagnostics.pyi +1 -2
  806. homeassistant-stubs/components/zwave_js/entity.pyi +1 -2
  807. homeassistant-stubs/components/zwave_js/lock.pyi +2 -3
  808. homeassistant-stubs/components/zwave_js/migrate.pyi +8 -7
  809. homeassistant-stubs/components/zwave_js/sensor.pyi +8 -4
  810. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +1 -1
  811. homeassistant-stubs/config_entries.pyi +9 -4
  812. homeassistant-stubs/const.pyi +19 -8
  813. homeassistant-stubs/helpers/aiohttp_client.pyi +8 -7
  814. homeassistant-stubs/helpers/condition.pyi +2 -0
  815. homeassistant-stubs/helpers/config_validation.pyi +5 -1
  816. homeassistant-stubs/helpers/discovery.pyi +1 -1
  817. homeassistant-stubs/helpers/discovery_flow.pyi +12 -2
  818. homeassistant-stubs/helpers/frame.pyi +1 -1
  819. homeassistant-stubs/helpers/llm.pyi +5 -5
  820. homeassistant-stubs/helpers/script.pyi +1 -1
  821. homeassistant-stubs/helpers/state.pyi +2 -1
  822. homeassistant-stubs/helpers/template.pyi +5 -1
  823. homeassistant-stubs/util/aiohttp.pyi +10 -0
  824. homeassistant-stubs/util/package.pyi +3 -0
  825. homeassistant-stubs/util/ssl.pyi +8 -4
  826. homeassistant-stubs/util/unit_conversion.pyi +2 -0
  827. homeassistant-stubs/util/unit_system.pyi +1 -0
  828. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info}/METADATA +14 -16
  829. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info}/RECORD +904 -779
  830. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info}/WHEEL +1 -1
  831. homeassistant-stubs/components/esphome/voice_assistant.pyi +0 -66
  832. homeassistant-stubs/components/notion/model.pyi +0 -7
  833. homeassistant-stubs/components/overkiz/climate.pyi +0 -10
  834. homeassistant-stubs/components/overkiz/cover.pyi +0 -11
  835. homeassistant-stubs/components/overkiz/water_heater_entities/__init__.pyi +0 -8
  836. homeassistant-stubs/components/rainmachine/model.pyi +0 -7
  837. homeassistant-stubs/components/recorder/history/common.pyi +0 -4
  838. homeassistant-stubs/components/unifiprotect/models.pyi +0 -44
  839. /homeassistant-stubs/components/deconz/{deconz_device.pyi → entity.pyi} +0 -0
  840. /homeassistant-stubs/components/devolo_home_control/{devolo_device.pyi → entity.pyi} +0 -0
  841. /homeassistant-stubs/components/modbus/{base_platform.pyi → entity.pyi} +0 -0
  842. /homeassistant-stubs/components/mysensors/{device.pyi → entity.pyi} +0 -0
  843. /homeassistant-stubs/components/onewire/{onewire_entities.pyi → entity.pyi} +0 -0
  844. /homeassistant-stubs/components/{overkiz/cover_entities → onkyo}/__init__.pyi +0 -0
  845. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater.pyi +0 -0
  846. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -0
  847. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_electrical_towel_dryer.pyi +0 -0
  848. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_heat_recovery_ventilation.pyi +0 -0
  849. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heat_pump_main_component.pyi +0 -0
  850. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_heating_zone.pyi +0 -0
  851. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control.pyi +0 -0
  852. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/atlantic_pass_apc_zone_control_zone.pyi +0 -0
  853. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -0
  854. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/hitachi_air_to_air_heat_pump_ovp.pyi +0 -0
  855. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_heating_temperature_interface.pyi +0 -0
  856. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/somfy_thermostat.pyi +0 -0
  857. /homeassistant-stubs/components/overkiz/{climate_entities → climate}/valve_heating_temperature_interface.pyi +0 -0
  858. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/awning.pyi +0 -0
  859. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/generic_cover.pyi +0 -0
  860. /homeassistant-stubs/components/overkiz/{cover_entities → cover}/vertical_cover.pyi +0 -0
  861. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_domestic_hot_water_production_mlb_component.pyi +0 -0
  862. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/atlantic_pass_apc_dhw.pyi +0 -0
  863. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/domestic_hot_water_production.pyi +0 -0
  864. /homeassistant-stubs/components/overkiz/{water_heater_entities → water_heater}/hitachi_dhw.pyi +0 -0
  865. /homeassistant-stubs/components/roborock/{device.pyi → entity.pyi} +0 -0
  866. /homeassistant-stubs/components/tradfri/{base_class.pyi → entity.pyi} +0 -0
  867. {homeassistant_stubs-2024.9.2.dist-info → homeassistant_stubs-2024.10.0.dist-info/licenses}/LICENSE +0 -0
@@ -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: ...
@@ -33,17 +33,19 @@ class ChangeStatisticsUnitTask(RecorderTask):
33
33
 
34
34
  @dataclass(slots=True)
35
35
  class ClearStatisticsTask(RecorderTask):
36
+ on_done: Callable[[], None] | None
36
37
  statistic_ids: list[str]
37
38
  def run(self, instance: Recorder) -> None: ...
38
- def __init__(self, statistic_ids) -> None: ...
39
+ def __init__(self, on_done, statistic_ids) -> None: ...
39
40
 
40
41
  @dataclass(slots=True)
41
42
  class UpdateStatisticsMetadataTask(RecorderTask):
43
+ on_done: Callable[[], None] | None
42
44
  statistic_id: str
43
45
  new_statistic_id: str | None | UndefinedType
44
46
  new_unit_of_measurement: str | None | UndefinedType
45
47
  def run(self, instance: Recorder) -> None: ...
46
- def __init__(self, statistic_id, new_statistic_id, new_unit_of_measurement) -> None: ...
48
+ def __init__(self, on_done, statistic_id, new_statistic_id, new_unit_of_measurement) -> None: ...
47
49
 
48
50
  @dataclass(slots=True)
49
51
  class UpdateStatesMetadataTask(RecorderTask):
@@ -141,26 +143,11 @@ class SynchronizeTask(RecorderTask):
141
143
  def run(self, instance: Recorder) -> None: ...
142
144
  def __init__(self, event) -> None: ...
143
145
 
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
146
  @dataclass(slots=True)
156
147
  class AdjustLRUSizeTask(RecorderTask):
157
148
  commit_before = ...
158
149
  def run(self, instance: Recorder) -> None: ...
159
150
 
160
- @dataclass(slots=True)
161
- class EntityIDPostMigrationTask(RecorderTask):
162
- def run(self, instance: Recorder) -> None: ...
163
-
164
151
  @dataclass(slots=True)
165
152
  class RefreshEventTypesTask(RecorderTask):
166
153
  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
@@ -11,6 +11,8 @@ from homeassistant.helpers.json import json_bytes as json_bytes
11
11
  from homeassistant.util.unit_conversion import ConductivityConverter as ConductivityConverter, DataRateConverter as DataRateConverter, DistanceConverter as DistanceConverter, DurationConverter as DurationConverter, ElectricCurrentConverter as ElectricCurrentConverter, ElectricPotentialConverter as ElectricPotentialConverter, EnergyConverter as EnergyConverter, InformationConverter as InformationConverter, MassConverter as MassConverter, PowerConverter as PowerConverter, PressureConverter as PressureConverter, SpeedConverter as SpeedConverter, TemperatureConverter as TemperatureConverter, UnitlessRatioConverter as UnitlessRatioConverter, VolumeConverter as VolumeConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
12
12
  from typing import Any, Literal
13
13
 
14
+ CLEAR_STATISTICS_TIME_OUT: int
15
+ UPDATE_STATISTICS_METADATA_TIME_OUT: int
14
16
  UNIT_SCHEMA: Incomplete
15
17
 
16
18
  def async_setup(hass: HomeAssistant) -> None: ...
@@ -23,9 +25,10 @@ def _ws_get_list_statistic_ids(hass: HomeAssistant, msg_id: int, statistic_type:
23
25
  async def ws_handle_list_statistic_ids(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
24
26
  async def ws_list_statistic_ids(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
25
27
  async def ws_validate_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
26
- def ws_clear_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
28
+ async def ws_update_statistics_issues(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
29
+ async def ws_clear_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
27
30
  async def ws_get_statistics_metadata(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
28
- def ws_update_statistics_metadata(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
31
+ async def ws_update_statistics_metadata(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
29
32
  def ws_change_statistics_unit(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
30
33
  async def ws_adjust_sum_statistics(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
31
34
  def ws_import_statistics(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: ...
@@ -1,5 +1,6 @@
1
- from . import DeviceTuple as DeviceTuple, RfxtrxEntity as RfxtrxEntity, async_setup_platform_entry as async_setup_platform_entry
1
+ from . import DeviceTuple as DeviceTuple, async_setup_platform_entry as async_setup_platform_entry
2
2
  from .const import DEVICE_PACKET_TYPE_LIGHTING4 as DEVICE_PACKET_TYPE_LIGHTING4
3
+ from .entity import RfxtrxEntity as RfxtrxEntity
3
4
  from RFXtrx import RFXtrxDevice as RFXtrxDevice, RFXtrxEvent as RFXtrxEvent
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.event import EventEntity as EventEntity
@@ -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
4
+ from .entity import RfxtrxCommandEntity as RfxtrxCommandEntity
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ColorMode as ColorMode, LightEntity as LightEntity
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -1,5 +1,6 @@
1
- from . import DeviceTuple as DeviceTuple, RfxtrxEntity as RfxtrxEntity, async_setup_platform_entry as async_setup_platform_entry, get_rfx_object as get_rfx_object
1
+ from . import DeviceTuple as DeviceTuple, async_setup_platform_entry as async_setup_platform_entry, get_rfx_object as get_rfx_object
2
2
  from .const import ATTR_EVENT as ATTR_EVENT
3
+ from .entity import RfxtrxEntity as RfxtrxEntity
3
4
  from RFXtrx import RFXtrxDevice as RFXtrxDevice, RFXtrxEvent as RFXtrxEvent
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Callable as Callable
@@ -1,6 +1,7 @@
1
1
  import RFXtrx as rfxtrxmod
2
- from . import DEFAULT_OFF_DELAY as DEFAULT_OFF_DELAY, DeviceTuple as DeviceTuple, RfxtrxCommandEntity as RfxtrxCommandEntity, async_setup_platform_entry as async_setup_platform_entry
2
+ from . import DEFAULT_OFF_DELAY as DEFAULT_OFF_DELAY, DeviceTuple as DeviceTuple, async_setup_platform_entry as async_setup_platform_entry
3
3
  from .const import CONF_OFF_DELAY as CONF_OFF_DELAY
4
+ from .entity import RfxtrxCommandEntity as RfxtrxCommandEntity
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.siren import ATTR_TONE as ATTR_TONE, SirenEntity as SirenEntity, SirenEntityFeature as SirenEntityFeature
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -1,6 +1,7 @@
1
1
  import RFXtrx as rfxtrxmod
2
- from . import DOMAIN as DOMAIN, DeviceTuple as DeviceTuple, RfxtrxCommandEntity as RfxtrxCommandEntity, async_setup_platform_entry as async_setup_platform_entry, get_pt2262_cmd as get_pt2262_cmd
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, DEVICE_PACKET_TYPE_LIGHTING4 as DEVICE_PACKET_TYPE_LIGHTING4
2
+ from . import DeviceTuple as DeviceTuple, async_setup_platform_entry as async_setup_platform_entry, get_pt2262_cmd as get_pt2262_cmd
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, DEVICE_PACKET_TYPE_LIGHTING4 as DEVICE_PACKET_TYPE_LIGHTING4, DOMAIN as DOMAIN
4
+ from .entity import RfxtrxCommandEntity as RfxtrxCommandEntity
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.switch import SwitchEntity as SwitchEntity
6
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry