How to replace zigbee coordinator without repairing (Z2M)

How can I migrate my installation from a ConBee II to a Sonoff Zigbee 3.0 Stick?

I am using ZigBee2MQTT in case that matters.

They explain it in their FAQ, but as far as I know it’s not possible to migrate from a ConBee to anything else.

I was trying this, but the installation failed:

pip install zigpy-znp 'git+https://github.com/puddly/bellows@puddly/open-coordinator-backup'

It tells me the branch is outdated:

Collecting git+https://github.com/puddly/bellows@puddly/open-coordinator-backup
  Cloning https://github.com/puddly/bellows (to revision puddly/open-coordinator-backup) to /private/var/folders/k1/bn2_hzgs3sb65wy1qpsx9_wr0000gn/T/pip-req-build-6w8vc4w7
  Running command git clone --filter=blob:none --quiet https://github.com/puddly/bellows /private/var/folders/k1/bn2_hzgs3sb65wy1qpsx9_wr0000gn/T/pip-req-build-6w8vc4w7
  Running command git checkout -b puddly/open-coordinator-backup --track origin/puddly/open-coordinator-backup
  Switched to a new branch 'puddly/open-coordinator-backup'
  Branch 'puddly/open-coordinator-backup' set up to track remote branch 'puddly/open-coordinator-backup' from 'origin'.
  Resolved https://github.com/puddly/bellows to commit 11fb6d2f0954bc1339249b64f03ac3fa7dcc2ea8
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [29 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/private/var/folders/k1/bn2_hzgs3sb65wy1qpsx9_wr0000gn/T/pip-req-build-6w8vc4w7/setup.py", line 3, in <module>
          raise RuntimeError(
      RuntimeError:
      
      
      
      
      
      
      
      
      
      #######################################################################################
      This branch is obsolete!  Please test https://github.com/zigpy/zigpy-cli/pull/2 instead
      #######################################################################################
      
      
      
      
      
      
      
      
      
      
      
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

If I install it using this code it installs, but fails to run the backup (bellows):

pip install git+https://github.com/zigpy/zigpy-cli.git
Traceback (most recent call last):
  File "/opt/homebrew/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py", line 490, in wait_for
    return fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/homebrew/bin/bellows", line 8, in <module>
    sys.exit(main())
  File "/opt/homebrew/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/opt/homebrew/lib/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/opt/homebrew/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/opt/homebrew/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/opt/homebrew/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/opt/homebrew/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/opt/homebrew/lib/python3.9/site-packages/bellows/cli/util.py", line 39, in inner
    loop.run_until_complete(f(*args, **kwargs))
  File "/opt/homebrew/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
    return future.result()
  File "/opt/homebrew/lib/python3.9/site-packages/bellows/cli/backup.py", line 77, in backup
    ezsp = await util.setup(ctx.obj["device"], ctx.obj["baudrate"], _print_cb)
  File "/opt/homebrew/lib/python3.9/site-packages/bellows/cli/util.py", line 118, in setup
    await s.reset()
  File "/opt/homebrew/lib/python3.9/site-packages/bellows/ezsp/__init__.py", line 99, in reset
    await self._gw.reset()
  File "/opt/homebrew/lib/python3.9/site-packages/bellows/uart.py", line 223, in reset
    return await asyncio.wait_for(self._reset_future, timeout=RESET_TIMEOUT)
  File "/opt/homebrew/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

Nevermind, I just repaired all devices.