fix: prevent crash when unsupported device model is configured

Iterate over self.devices (successfully built devices) instead of
self.amcrest_devices (all API devices) in event and snapshot collection
loops. This prevents KeyError when calling is_rebooting() or
get_device_name() for devices that failed model validation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
pull/106/head
Jeff Culverhouse 6 days ago
parent 2088bd66f0
commit a1a41f3276

@ -30,7 +30,7 @@ class RefreshMixin:
async def collect_all_device_events(self: Amcrest2Mqtt) -> None:
tasks = []
for device_id in self.amcrest_devices:
for device_id in self.devices:
if self.is_rebooting(device_id):
self.logger.debug(f"skipping collecting events for '{self.get_device_name(device_id)}', still rebooting")
continue
@ -42,7 +42,7 @@ class RefreshMixin:
async def collect_all_device_snapshots(self: Amcrest2Mqtt) -> None:
tasks = []
for device_id in self.amcrest_devices:
for device_id in self.devices:
if self.is_rebooting(device_id):
self.logger.debug(f"skipping snapshot for '{self.get_device_name(device_id)}', still rebooting")
continue

Loading…
Cancel
Save