Fix tracker position, add mesuremnt for longtherme statistics

develop 0.9.0-snapshot29
Matthieu DUVAL 3 years ago
parent 9719f26631
commit 118911c361

@ -182,7 +182,7 @@ class GeoRideContext:
socket.subscribe_device(self.on_device_callback) socket.subscribe_device(self.on_device_callback)
socket.subscribe_position(self.on_position_callback) socket.subscribe_position(self.on_position_callback)
socket.subscribe_alarm(self.on_alarm_callback) socket.subscribe_alarm(self.on_alarm_callback)
socker.subscribe_refresh_tracker(self.on_refresh_tracker_callback) socket.subscribe_refresh_tracker(self.on_refresh_tracker_callback)
self._socket = socket self._socket = socket
socket.init() socket.init()
@ -396,7 +396,7 @@ class GeoRideContext:
"""on device callback""" """on device callback"""
_LOGGER.info("On refresh tracker received") _LOGGER.info("On refresh tracker received")
self._previous_refresh = math.floor(time.time()/60) self._previous_refresh = math.floor(time.time()/60)
await self.force_refresh_trackers() self.force_refresh_trackers()
for coordoned_tracker in self._georide_trackers_coordoned: for coordoned_tracker in self._georide_trackers_coordoned:
tracker_device = coordoned_tracker['tracker_device'] tracker_device = coordoned_tracker['tracker_device']

@ -32,6 +32,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities): # pylint: d
entities.append(GeoRideOdometerSensorEntity(coordinator, tracker_device, hass)) entities.append(GeoRideOdometerSensorEntity(coordinator, tracker_device, hass))
entities.append(GeoRideOdometerKmSensorEntity(coordinator, tracker_device, hass)) entities.append(GeoRideOdometerKmSensorEntity(coordinator, tracker_device, hass))
entities.append(GeoRideFixtimeSensorEntity(coordinator, tracker_device)) entities.append(GeoRideFixtimeSensorEntity(coordinator, tracker_device))
entities.append(GeoRideSpeedSensorEntity(coordinator, tracker_device))
if tracker_device.tracker.version > 2: if tracker_device.tracker.version > 2:
entities.append(GeoRideInternalBatterySensorEntity(coordinator, tracker_device)) entities.append(GeoRideInternalBatterySensorEntity(coordinator, tracker_device))
entities.append(GeoRideExternalBatterySensorEntity(coordinator, tracker_device)) entities.append(GeoRideExternalBatterySensorEntity(coordinator, tracker_device))
@ -155,6 +156,7 @@ class GeoRideSpeedSensorEntity(CoordinatorEntity, SensorEntity):
self.entity_id = f"{ENTITY_ID_FORMAT.format('speed')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self.entity_id = f"{ENTITY_ID_FORMAT.format('speed')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301
self._state = 0 self._state = 0
self._hass = hass self._hass = hass
self._state_class = "measurement"
@property @property
def unique_id(self): def unique_id(self):
@ -166,6 +168,10 @@ class GeoRideSpeedSensorEntity(CoordinatorEntity, SensorEntity):
"""state property""" """state property"""
return self._tracker_device.tracker.speed return self._tracker_device.tracker.speed
@property
def state_class(self):
return self._state_class
@property @property
def unit_of_measurement(self): def unit_of_measurement(self):
"""unit of mesurment property""" """unit of mesurment property"""
@ -198,8 +204,17 @@ class GeoRideInternalBatterySensorEntity(CoordinatorEntity, SensorEntity):
self._name = tracker_device.tracker.tracker_name self._name = tracker_device.tracker.tracker_name
self._unit_of_measurement = "V" self._unit_of_measurement = "V"
self.entity_id = f"{ENTITY_ID_FORMAT.format('internal_battery_voltage')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self.entity_id = f"{ENTITY_ID_FORMAT.format('internal_battery_voltage')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301
self._state = 0 self._state = 0
self._state_class = "measurement"
self._device_class = "voltage"
@property
def state_class(self):
return self._state_class
@property
def device_class(self):
return self._device_class
@property @property
def entity_category(self): def entity_category(self):
@ -247,6 +262,16 @@ class GeoRideExternalBatterySensorEntity(CoordinatorEntity, SensorEntity):
self._unit_of_measurement = "V" self._unit_of_measurement = "V"
self.entity_id = f"{ENTITY_ID_FORMAT.format('external_battery_voltage')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301 self.entity_id = f"{ENTITY_ID_FORMAT.format('external_battery_voltage')}.{tracker_device.tracker.tracker_id}"# pylint: disable=C0301
self._state = 0 self._state = 0
self._state_class = "measurement"
self._device_class = "voltage"
@property
def state_class(self):
return self._state_class
@property
def device_class(self):
return self._device_class
@property @property
def entity_category(self): def entity_category(self):

Loading…
Cancel
Save