diff --git a/xplora_ha/xplora_ha.py b/xplora_ha/xplora_ha.py index 2b716ba..e1574e2 100755 --- a/xplora_ha/xplora_ha.py +++ b/xplora_ha/xplora_ha.py @@ -29,15 +29,18 @@ else: WATCH_STATES = [ { "function": "getWatchBattery", - "entity_name": "battery_level" + "entity_name": "battery_level", + "type": "percentage" }, { "function": "getWatchIsCharging", - "entity_name": "battery_charging" + "entity_name": "battery_charging", + "type": "boolean" }, { "function": "getWatchIsInSafeZone", - "entity_name": "in_safe_zone" + "entity_name": "in_safe_zone", + "type": "boolean" }, { "function": "getWatchLastLocation", @@ -49,7 +52,8 @@ WATCH_STATES = [ }, { "function": "getWatchSafeZoneLabel", - "entity_name": "safe_zone_label" + "entity_name": "safe_zone_label", + "type": "string" }, # { # "function": "getWatchState", @@ -57,22 +61,26 @@ WATCH_STATES = [ # }, { "function": "getWatchUnReadChatMsgCount", - "entity_name": "unread_chat_count" + "entity_name": "unread_chat_count", + "type": "integer" }, { "function": "getWatchUserCurrentStep", - "entity_name": "current_step" + "entity_name": "current_step", + "type": "integer" }, { "function": "getWatchUserSteps", "params": { "date": time.time() }, - "entity_name": "user_steps" + "entity_name": "user_steps", + "type": "integer" }, { "function": "getWatchUserTotalStep", - "entity_name": "user_total_step" + "entity_name": "user_total_step", + "type": "integer" } ] class XploraHa: @@ -133,6 +141,9 @@ class XploraHa: state = function(watch['ward']['id'], **watch_state['params']) else: state = function(watch['ward']['id']) + if 'type' in watch_state: + if watch_state['type'] == 'percentage': + state = f"{state}%" self._publish_ha_state( f"{base_sensor_entity}{watch_state['entity_name']}", {