Skip to content

Commit 504e3a0

Browse files
committed
Merge branch 'master' of github.com:FlyingDiver/Indigo-HA-Agent
2 parents 77668b3 + 7c116a2 commit 504e3a0

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

  • HomeAssistantAgent.indigoPlugin/Contents/Server Plugin

HomeAssistantAgent.indigoPlugin/Contents/Server Plugin/plugin.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -514,14 +514,20 @@ def entity_update(self, entity_id, entity, force_update=False):
514514
# Update battery state if needed
515515
if device.id in self.battery_entities:
516516
battery_entity_id = self.battery_entities.get(device.id)
517-
battery_entity_type, battery_entity_name = battery_entity_id.split('.')
518-
try:
519-
battery_entity = self.ha_entity_map[battery_entity_type][battery_entity_name]
520-
except KeyError:
521-
pass
517+
if not battery_entity_id:
518+
self.logger.warning(f"{device.name}: battery entity ID is not set")
522519
else:
523-
if battery_value := battery_entity.get("state"):
524-
update_list.append({'key': 'batteryLevel', 'value': int(battery_value), 'uiValue': f'{battery_value}%'})
520+
battery_entity_type, battery_entity_name = battery_entity_id.split('.')
521+
try:
522+
battery_entity = self.ha_entity_map[battery_entity_type][battery_entity_name]
523+
except KeyError:
524+
self.logger.warning(f"{device.name}: battery entity '{battery_entity_id}' not found in HA entity map")
525+
else:
526+
if battery_value := battery_entity.get("state"):
527+
try:
528+
update_list.append({'key': 'batteryLevel', 'value': int(battery_value), 'uiValue': f'{battery_value}%'})
529+
except ValueError:
530+
self.logger.warning(f"{device.name}: battery entity '{battery_entity_id}' has non-numeric state: {battery_value}")
525531

526532
old_states_list = self.custom_states.get(device.id, list())
527533
if set(old_states_list) != set(new_states_list):

0 commit comments

Comments
 (0)