import appdaemon.appapi as appapi
class BatteryShow(appapi.AppDaemon):
def initialize(self):
self.entity_with_bl = []
try:
self.include = self.args['include']
except KeyError as e:
self.include = []
try:
self.exclude = self.args['exclude']
except KeyError as e:
self.exclude = []
if self.include != []:
self.entity_with_bl = self.include
else:
self.all_state = self.get_state()
for k in self.all_state.keys():
if 'battery_level' in self.all_state[k]['attributes']:
self.entity_with_bl.append(k)
if self.exclude != []:
self.entity_with_bl = [i for i in self.entity_with_bl if i not in self.exclude]
for e in self.exclude:
self.set_state(e, attributes = {"extra_data_template": ""})
for e in self.entity_with_bl:
self.listen_state(self.add_extra_bl, e)
self.set_state(e, attributes = {"extra_data_template": "剩余电量:${attributes.battery_level}%"})
self.log(e)
def add_extra_bl(self, entity, attribute, old, new, kwargs):
self.set_state(entity, attributes = {"extra_data_template": "剩余电量:${attributes.battery_level}%"})