Add more info to states

This commit is contained in:
Antonio J. Delgado 2025-07-26 13:12:07 +03:00
parent f7c50430be
commit 1e8361426a

View file

@ -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):