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(
|
self._publish_ha_state(
|
||||||
f"{base_sensor_entity}last_update",
|
f"{base_sensor_entity}last_update",
|
||||||
{
|
{
|
||||||
"state": time.time()
|
"state": time.time(),
|
||||||
|
'device_class': 'timestamp'
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
for watch_state in WATCH_STATES:
|
for watch_state in WATCH_STATES:
|
||||||
function = getattr(self.xplora, watch_state['function'])
|
function = getattr(self.xplora, watch_state['function'])
|
||||||
|
state = {
|
||||||
|
"state": ""
|
||||||
|
}
|
||||||
if 'params' in watch_state:
|
if 'params' in watch_state:
|
||||||
if 'date' in watch_state['params']:
|
if 'date' in watch_state['params']:
|
||||||
watch_state['params']['date'] = time.time()
|
watch_state['params']['date'] = time.time()
|
||||||
state = function(watch['ward']['id'], **watch_state['params'])
|
state['state'] = function(watch['ward']['id'], **watch_state['params'])
|
||||||
else:
|
else:
|
||||||
state = function(watch['ward']['id'])
|
state['state'] = function(watch['ward']['id'])
|
||||||
if 'type' in watch_state:
|
if 'type' in watch_state:
|
||||||
if watch_state['type'] == 'percentage':
|
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(
|
self._publish_ha_state(
|
||||||
f"{base_sensor_entity}{watch_state['entity_name']}",
|
f"{base_sensor_entity}{watch_state['entity_name']}",
|
||||||
{
|
state
|
||||||
"state": state,
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def _publish_ha_state(self, entity_id, state):
|
def _publish_ha_state(self, entity_id, state):
|
||||||
|
|
Loading…
Reference in a new issue