Add more info to states
This commit is contained in:
parent
f7c50430be
commit
1e8361426a
1 changed files with 11 additions and 7 deletions
|
@ -130,25 +130,29 @@ class XploraHa:
|
|||
self._publish_ha_state(
|
||||
f"{base_sensor_entity}last_update",
|
||||
{
|
||||
"state": time.time()
|
||||
"state": time.time(),
|
||||
'device_class': 'timestamp'
|
||||
}
|
||||
)
|
||||
for watch_state in WATCH_STATES:
|
||||
function = getattr(self.xplora, watch_state['function'])
|
||||
state = {
|
||||
"state": ""
|
||||
}
|
||||
if 'params' in watch_state:
|
||||
if 'date' in watch_state['params']:
|
||||
watch_state['params']['date'] = time.time()
|
||||
state = function(watch['ward']['id'], **watch_state['params'])
|
||||
state['state'] = function(watch['ward']['id'], **watch_state['params'])
|
||||
else:
|
||||
state = function(watch['ward']['id'])
|
||||
state['state'] = function(watch['ward']['id'])
|
||||
if 'type' in watch_state:
|
||||
if watch_state['type'] == 'percentage':
|
||||
state = f"{state}%"
|
||||
state['unit_of_measurementstate'] = "%"
|
||||
elif watch_state['type'] == 'date':
|
||||
state['device_class'] = 'timestamp'
|
||||
self._publish_ha_state(
|
||||
f"{base_sensor_entity}{watch_state['entity_name']}",
|
||||
{
|
||||
"state": state,
|
||||
}
|
||||
state
|
||||
)
|
||||
|
||||
def _publish_ha_state(self, entity_id, state):
|
||||
|
|
Loading…
Reference in a new issue