Skip to content
Snippets Groups Projects
Commit 13006cee authored by Paulus Schoutsen's avatar Paulus Schoutsen Committed by Lewis Juggins
Browse files

Device tracker attributes (#4753)

parent e21382cd
No related branches found
No related tags found
No related merge requests found
......@@ -332,6 +332,7 @@ class Device(Entity):
gps = None # type: GPSType
gps_accuracy = 0
last_seen = None # type: dt_util.dt.datetime
battery = None # type: str
attributes = None # type: dict
vendor = None # type: str
......@@ -369,6 +370,7 @@ class Device(Entity):
self.away_hide = hide_if_away
self.vendor = vendor
self._attributes = {}
@property
def name(self):
......@@ -395,12 +397,16 @@ class Device(Entity):
attr[ATTR_LONGITUDE] = self.gps[1]
attr[ATTR_GPS_ACCURACY] = self.gps_accuracy
if self.attributes:
for key, value in self.attributes.items():
attr[key] = value
if self.battery:
attr[ATTR_BATTERY] = self.battery
return attr
@property
def device_state_attributes(self):
"""Return device state attributes."""
return self._attributes
@property
def hidden(self):
"""If device should be hidden."""
......@@ -415,13 +421,10 @@ class Device(Entity):
self.host_name = host_name
self.location_name = location_name
self.gps_accuracy = gps_accuracy or 0
if (battery or attributes) and self.attributes is None:
self.attributes = {}
if battery:
self.attributes[ATTR_BATTERY] = battery
if attributes:
for key, value in attributes.items():
self.attributes[key] = value
self._attributes.update(attributes)
self.gps = None
if gps is not None:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment