Device tracker attributes (#4753)
This commit is contained in:
parent
e21382cd3e
commit
13006cee68
1 changed files with 12 additions and 9 deletions
|
@ -332,6 +332,7 @@ class Device(Entity):
|
||||||
gps = None # type: GPSType
|
gps = None # type: GPSType
|
||||||
gps_accuracy = 0
|
gps_accuracy = 0
|
||||||
last_seen = None # type: dt_util.dt.datetime
|
last_seen = None # type: dt_util.dt.datetime
|
||||||
|
battery = None # type: str
|
||||||
attributes = None # type: dict
|
attributes = None # type: dict
|
||||||
vendor = None # type: str
|
vendor = None # type: str
|
||||||
|
|
||||||
|
@ -369,6 +370,7 @@ class Device(Entity):
|
||||||
|
|
||||||
self.away_hide = hide_if_away
|
self.away_hide = hide_if_away
|
||||||
self.vendor = vendor
|
self.vendor = vendor
|
||||||
|
self._attributes = {}
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
|
@ -395,12 +397,16 @@ class Device(Entity):
|
||||||
attr[ATTR_LONGITUDE] = self.gps[1]
|
attr[ATTR_LONGITUDE] = self.gps[1]
|
||||||
attr[ATTR_GPS_ACCURACY] = self.gps_accuracy
|
attr[ATTR_GPS_ACCURACY] = self.gps_accuracy
|
||||||
|
|
||||||
if self.attributes:
|
if self.battery:
|
||||||
for key, value in self.attributes.items():
|
attr[ATTR_BATTERY] = self.battery
|
||||||
attr[key] = value
|
|
||||||
|
|
||||||
return attr
|
return attr
|
||||||
|
|
||||||
|
@property
|
||||||
|
def device_state_attributes(self):
|
||||||
|
"""Return device state attributes."""
|
||||||
|
return self._attributes
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def hidden(self):
|
def hidden(self):
|
||||||
"""If device should be hidden."""
|
"""If device should be hidden."""
|
||||||
|
@ -415,13 +421,10 @@ class Device(Entity):
|
||||||
self.host_name = host_name
|
self.host_name = host_name
|
||||||
self.location_name = location_name
|
self.location_name = location_name
|
||||||
self.gps_accuracy = gps_accuracy or 0
|
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:
|
if attributes:
|
||||||
for key, value in attributes.items():
|
self._attributes.update(attributes)
|
||||||
self.attributes[key] = value
|
|
||||||
self.gps = None
|
self.gps = None
|
||||||
|
|
||||||
if gps is not None:
|
if gps is not None:
|
||||||
|
|
Loading…
Add table
Reference in a new issue