Skip to content

Commit 6e67226

Browse files
committed
handling no save
1 parent ad6f02d commit 6e67226

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

buildingmotif/ingresses/bacnet.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ async def _collect_objects(
7777
ping: bool,
7878
device_kwargs: Dict[str, Any],
7979
):
80-
device_kwargs.setdefault("poll", 0)
80+
device_kwargs.setdefault("poll", -1)
81+
device_kwargs.setdefault("auto_save", False)
8182

8283
logger.error(f"starting with {ip=} {ping=}")
8384
async with BAC0.start(ip=ip, ping=ping) as bacnet:
@@ -119,14 +120,19 @@ async def _collect_objects(
119120

120121
for (address, device_id, _) in discovered_entries:
121122
device = await BAC0.device(address, device_id, bacnet, **device_kwargs)
122-
objects: List[Dict[str, Any]] = []
123-
124-
for bobj in device.points:
125-
obj = bobj.properties.asdict
126-
self._clean_object(obj)
127-
objects.append(obj)
128-
129-
self.objects[(address, device_id)] = objects
123+
try:
124+
objects: List[Dict[str, Any]] = []
125+
126+
for bobj in device.points:
127+
obj = bobj.properties.asdict
128+
self._clean_object(obj)
129+
objects.append(obj)
130+
131+
self.objects[(address, device_id)] = objects
132+
finally:
133+
disconnect_task = device.disconnect(save_on_disconnect=False)
134+
if disconnect_task is not None:
135+
await disconnect_task
130136

131137
def _clean_object(self, obj: Dict[str, Any]):
132138
if "name" in obj:

0 commit comments

Comments
 (0)