Add space betteween useless refresh

develop
Matthieu DUVAL 4 years ago
parent 660aaa0180
commit dbbe1f33b9

@ -211,42 +211,39 @@ class GeoRideContext:
""" here we return last tracker by id"""
_LOGGER.debug("Call refresh tracker")
epoch_min = math.floor(time.time()/60)
if (epoch_min % MIN_UNTIL_REFRESH) == 0:
if epoch_min != self._previous_refresh:
self._previous_refresh = epoch_min
await self.force_refresh_trackers()
if epoch_min != self._previous_refresh:
self._previous_refresh = epoch_min
await self.force_refresh_trackers()
else:
_LOGGER.debug("We wil dont refresh the tracker list")
if not self._thread_started:
_LOGGER.info("Start the thread")
# We refresh the tracker list each hours
self._thread_started = True
await self.connect_socket()
async def force_refresh_trackers(self):
"""Used to refresh the tracker list"""
_LOGGER.info("Tracker list refresh")
new_georide_trackers = await self._hass.async_add_executor_job(GeoRideApi.get_trackers,
await self.get_token())
for refreshed_tracker in new_georide_trackers:
found = False
for tracker in self._georide_trackers:
if tracker.tracker_id == refreshed_tracker.tracker_id:
tracker.update_all_data(refreshed_tracker)
found = True
if not found:
self._georide_trackers.append(refreshed_tracker)
if not found:
self._georide_trackers.append(refreshed_tracker)
if not self._thread_started:
_LOGGER.info("Start the thread")
# We refresh the tracker list each hours
self._thread_started = True
await self.connect_socket()
async def init_context(self, hass):
"""Used to refresh the tracker list"""
_LOGGER.info("Init_context")
await self.force_refresh_trackers()
update_interval = timedelta(seconds=10)
update_interval = timedelta(minutes=MIN_UNTIL_REFRESH)
for tracker in self._georide_trackers:
coordinator = DataUpdateCoordinator[Mapping[str, Any]](
@ -286,7 +283,9 @@ class GeoRideContext:
tracker.locked_latitude = data['lockedLatitude']
tracker.locked_longitude = data['lockedLongitude']
tracker.is_locked = data['isLocked']
return
break
self.force_refresh_trackers()
@callback
def on_device_callback(self, data):
@ -295,7 +294,8 @@ class GeoRideContext:
for tracker in self._georide_trackers:
if tracker.tracker_id == data['trackerId']:
tracker.status = data['status']
return
self.force_refresh_trackers()
@callback
def on_alarm_callback(self, data):
"""on device callback"""
@ -318,8 +318,8 @@ class GeoRideContext:
_LOGGER.info("powerCut detected")
else:
_LOGGER.warning("Unamanged alarm: ", data.name)
return
break
self.force_refresh_trackers()
@callback
def on_position_callback(self, data):
@ -332,5 +332,7 @@ class GeoRideContext:
tracker.moving = data['moving']
tracker.speed = data['speed']
tracker.fixtime = data['fixtime']
return
break
self.force_refresh_trackers()

@ -60,7 +60,7 @@ class GeoRideLockSwitchEntity(CoordinatorEntity, SwitchEntity):
georide_context = self._hass.data[GEORIDE_DOMAIN]["context"]
token = await georide_context.get_token()
success = await self._hass.async_add_executor_job(GeoRideApi.lock_tracker,
token, self._tracker_id)
token, self._tracker.tracker_id)
if success:
self._tracker.is_locked = True
@ -70,7 +70,7 @@ class GeoRideLockSwitchEntity(CoordinatorEntity, SwitchEntity):
georide_context = self._hass.data[GEORIDE_DOMAIN]["context"]
token = await georide_context.get_token()
success = await self._hass.async_add_executor_job(GeoRideApi.unlock_tracker,
token, self._tracker_id)
token, self._tracker.tracker_id)
if success:
self._tracker.is_locked = False
@ -80,7 +80,7 @@ class GeoRideLockSwitchEntity(CoordinatorEntity, SwitchEntity):
georide_context = self._hass.data[GEORIDE_DOMAIN]["context"]
token = await georide_context.get_token()
result = await self._hass.async_add_executor_job(GeoRideApi.toogle_lock_tracker,
token, self._tracker_id)
token, self._tracker.tracker_id)
self._tracker.is_locked = result
@property

Loading…
Cancel
Save