66
77from homeassistant .components import websocket_api
88from homeassistant .const import EVENT_HOMEASSISTANT_STARTED
9- from homeassistant .core import Event , HassJob , HomeAssistant , callback
9+ from homeassistant .core import Event , HomeAssistant , callback
1010from homeassistant .helpers import config_validation as cv
11- from homeassistant .helpers .event import async_call_later , async_track_time_interval
1211from homeassistant .helpers .typing import ConfigType
1312from homeassistant .util .hass_dict import HassKey
1413
2019 EntityAnalyticsModifications ,
2120 async_devices_payload ,
2221)
23- from .const import ATTR_ONBOARDED , ATTR_PREFERENCES , DOMAIN , INTERVAL , PREFERENCE_SCHEMA
22+ from .const import ATTR_ONBOARDED , ATTR_PREFERENCES , DOMAIN , PREFERENCE_SCHEMA
2423from .http import AnalyticsDevicesView
2524
2625__all__ = [
@@ -43,28 +42,9 @@ async def async_setup(hass: HomeAssistant, _: ConfigType) -> bool:
4342 # Load stored data
4443 await analytics .load ()
4544
46- @callback
47- def start_schedule (_event : Event ) -> None :
45+ async def start_schedule (_event : Event ) -> None :
4846 """Start the send schedule after the started event."""
49- # Wait 15 min after started
50- async_call_later (
51- hass ,
52- 900 ,
53- HassJob (
54- analytics .send_analytics ,
55- name = "analytics schedule" ,
56- cancel_on_shutdown = True ,
57- ),
58- )
59-
60- # Send every day
61- async_track_time_interval (
62- hass ,
63- analytics .send_analytics ,
64- INTERVAL ,
65- name = "analytics daily" ,
66- cancel_on_shutdown = True ,
67- )
47+ await analytics .async_schedule ()
6848
6949 hass .bus .async_listen_once (EVENT_HOMEASSISTANT_STARTED , start_schedule )
7050
@@ -111,7 +91,7 @@ async def websocket_analytics_preferences(
11191 analytics = hass .data [DATA_COMPONENT ]
11292
11393 await analytics .save_preferences (preferences )
114- await analytics .send_analytics ()
94+ await analytics .async_schedule ()
11595
11696 connection .send_result (
11797 msg ["id" ],
0 commit comments