Ignore acc: 0 updates.
parent
dd1703469e
commit
8ff9506138
|
@ -53,6 +53,12 @@ def setup_scanner(hass, config, see):
|
|||
'accuracy %s is not met: %s',
|
||||
data_type, max_gps_accuracy, data)
|
||||
return None
|
||||
if convert(data.get('acc'), float, 1.0) == 0.0:
|
||||
_LOGGER.debug('Skipping %s update because GPS accuracy'
|
||||
'is zero',
|
||||
data_type)
|
||||
return None
|
||||
|
||||
return data
|
||||
|
||||
def owntracks_location_update(topic, payload, qos):
|
||||
|
|
|
@ -55,6 +55,21 @@ LOCATION_MESSAGE_INACCURATE = {
|
|||
'tst': 1,
|
||||
'vel': 0}
|
||||
|
||||
LOCATION_MESSAGE_ZERO_ACCURACY = {
|
||||
'batt': 92,
|
||||
'cog': 248,
|
||||
'tid': 'user',
|
||||
'lon': 2.0,
|
||||
't': 'u',
|
||||
'alt': 27,
|
||||
'acc': 0,
|
||||
'p': 101.3977584838867,
|
||||
'vac': 4,
|
||||
'lat': 6.0,
|
||||
'_type': 'location',
|
||||
'tst': 1,
|
||||
'vel': 0}
|
||||
|
||||
REGION_ENTER_MESSAGE = {
|
||||
'lon': 1.0,
|
||||
'event': 'enter',
|
||||
|
@ -204,6 +219,14 @@ class TestDeviceTrackerOwnTracks(unittest.TestCase):
|
|||
self.assert_location_latitude(2.0)
|
||||
self.assert_location_longitude(1.0)
|
||||
|
||||
def test_location_zero_accuracy_gps(self):
|
||||
"""Ignore the location for zero accuracy GPS information."""
|
||||
self.send_message(LOCATION_TOPIC, LOCATION_MESSAGE)
|
||||
self.send_message(LOCATION_TOPIC, LOCATION_MESSAGE_ZERO_ACCURACY)
|
||||
|
||||
self.assert_location_latitude(2.0)
|
||||
self.assert_location_longitude(1.0)
|
||||
|
||||
def test_event_entry_exit(self):
|
||||
"""Test the entry event."""
|
||||
self.send_message(EVENT_TOPIC, REGION_ENTER_MESSAGE)
|
||||
|
|
Loading…
Reference in New Issue