Just to follow-up: indeed there was a inner error handling in pychromecast, configurable in this way
cast = pychromecast.get_chromecast_from_host(
host=(self.ip, None, self.id, self.id, self.id),
tries=1,
retry_wait=0,
timeout=5.0
)