Clear up _services in disconnect method
Ensure that `get_services` retrieves services again, rather than using the cached object, by clearing up `_services` and `_services_resolved` in the `disconnect` method.
@@ -93,6 +93,9 @@ class BleakClientCoreBluetooth(BaseBleakClient):
manager = self._device_info.manager().delegate()
await manager.disconnect()
self.services = BleakGATTServiceCollection()
+ # Ensure that `get_services` retrieves services again, rather than using the cached object
+ self._services_resolved = False
+ self._services = None
return True
async def is_connected(self) -> bool:
