|
|
@ -220,12 +220,13 @@ class GeoRideContext:
|
|
|
|
return tracker_beacon
|
|
|
|
return tracker_beacon
|
|
|
|
return {}
|
|
|
|
return {}
|
|
|
|
|
|
|
|
|
|
|
|
async def get_tracker_beacon_by_tracker_id(self, tracker_id):
|
|
|
|
async def get_tracker_beacons_by_tracker_id(self, tracker_id):
|
|
|
|
""" here we return last tracker_beacon by id"""
|
|
|
|
""" here we return last tracker_beacon by id"""
|
|
|
|
|
|
|
|
filtered_beacon = []
|
|
|
|
for tracker_beacon in self._georide_trackers_beacon:
|
|
|
|
for tracker_beacon in self._georide_trackers_beacon:
|
|
|
|
if tracker_beacon.linked_tracker_id == tracker_id:
|
|
|
|
if tracker_beacon.linked_tracker_id == tracker_id:
|
|
|
|
return tracker_beacon
|
|
|
|
filtered_beacon.append(tracker_beacon)
|
|
|
|
return {}
|
|
|
|
return filtered_beacon
|
|
|
|
|
|
|
|
|
|
|
|
async def refresh_trackers(self):
|
|
|
|
async def refresh_trackers(self):
|
|
|
|
""" here we return last tracker by id"""
|
|
|
|
""" here we return last tracker by id"""
|
|
|
@ -265,8 +266,10 @@ class GeoRideContext:
|
|
|
|
async def force_refresh_trackers_beacon(self, tracker_id):
|
|
|
|
async def force_refresh_trackers_beacon(self, tracker_id):
|
|
|
|
"""Used to refresh the tracker list"""
|
|
|
|
"""Used to refresh the tracker list"""
|
|
|
|
_LOGGER.info("Tracker beacon refresh")
|
|
|
|
_LOGGER.info("Tracker beacon refresh")
|
|
|
|
new_georide_tracker_beacon = await self._hass.async_add_executor_job(GeoRideApi.get_tracker_beacon,
|
|
|
|
new_georide_tracker_beacons = await self._hass.async_add_executor_job(GeoRideApi.get_tracker_beacon,
|
|
|
|
await self.get_token(), tracker_id)
|
|
|
|
await self.get_token(), tracker_id)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for new_georide_tracker_beacon in new_georide_tracker_beacons:
|
|
|
|
found = False
|
|
|
|
found = False
|
|
|
|
for tracker_beacon in self._georide_trackers_beacon:
|
|
|
|
for tracker_beacon in self._georide_trackers_beacon:
|
|
|
|
if tracker_beacon.tracker_id == new_georide_tracker_beacon.beacon_id:
|
|
|
|
if tracker_beacon.tracker_id == new_georide_tracker_beacon.beacon_id:
|
|
|
@ -300,7 +303,8 @@ class GeoRideContext:
|
|
|
|
"coordinator": coordinator
|
|
|
|
"coordinator": coordinator
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if tracker.version > 2:
|
|
|
|
if tracker.version > 2:
|
|
|
|
tracker_beacon = await self.get_tracker_beacon_by_tracker_id(tracker.tracker_id)
|
|
|
|
tracker_beacons = await self.get_tracker_beacon_by_tracker_id(tracker.tracker_id)
|
|
|
|
|
|
|
|
for tracker_beacon in tracker_beacons
|
|
|
|
beacon_coordinator = DataUpdateCoordinator[Mapping[str, Any]](
|
|
|
|
beacon_coordinator = DataUpdateCoordinator[Mapping[str, Any]](
|
|
|
|
hass,
|
|
|
|
hass,
|
|
|
|
_LOGGER,
|
|
|
|
_LOGGER,
|
|
|
@ -310,7 +314,7 @@ class GeoRideContext:
|
|
|
|
"beacon_device": DeviceBeacon(tracker_beacon),
|
|
|
|
"beacon_device": DeviceBeacon(tracker_beacon),
|
|
|
|
"coordinator": coordinator
|
|
|
|
"coordinator": coordinator
|
|
|
|
}
|
|
|
|
}
|
|
|
|
self._georide_trackers_beacon_coordoned(coordoned_beacon)
|
|
|
|
self._georide_trackers_beacon_coordoned.append(coordoned_beacon)
|
|
|
|
self._georide_trackers_coordoned.append(coordoned_tracker)
|
|
|
|
self._georide_trackers_coordoned.append(coordoned_tracker)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|