python-miio
python-miio copied to clipboard
Failure to initialize the `gateway` command while using `miiocli` to connect with `lumi.gateway.mgl03`
Describe the bug
It is not possible to run miiocli gateway command because of an unspecified error related to the click library.
Version information (please complete the following information):
- OS: Windows 10 21H1
- python: Python 3.11.3
- python-miio: version
0.6.0.dev0
Device information:
Sadly, miiocli device --ip <ip address> --token <token> info for my device doesn't work, but this is an another issue #1777 and it's not connected to the malfunction of the gateway command.
- Model: lumi.gateway.mgl03
- Hardware version: Xiaomi Multimode Gateway CN/EU (Mi Gateway 3) ZNDMWG02LM
- Firmware version: 1.5.0_0026
To Reproduce Steps to reproduce the behavior:
- install
python-miioversion0.6.0.dev0, possibly into a virtualenv, but global installation gives the same issue - run
miiocli gateway
Expected behavior A help page with the list of supported gateway actions is expected.
Console output
C:\Users\User>miiocli gateway
ERROR:miio.click_common:Exception: Arguments take exactly one parameter declaration, got 2.
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\miio\click_common.py", line 54, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1055, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1655, in invoke
sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 920, in make_context
self.parse_args(ctx, args)
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1610, in parse_args
echo(ctx.get_help(), color=ctx.color)
^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 699, in get_help
return self.command.get_help(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1298, in get_help
self.format_help(ctx, formatter)
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1331, in format_help
self.format_options(ctx, formatter)
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1533, in format_options
self.format_commands(ctx, formatter)
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1586, in format_commands
cmd = self.get_command(ctx, subcommand)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\miio\click_common.py", line 277, in get_command
return self.commands[cmd_name].wrap(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\miio\click_common.py", line 213, in wrap
func = decorator(func)
^^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\decorators.py", line 287, in decorator
_param_memo(f, ArgumentClass(param_decls, **attrs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 2950, in __init__
super().__init__(param_decls, required=required, **attrs)
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 2072, in __init__
self.name, self.opts, self.secondary_opts = self._parse_decls(
^^^^^^^^^^^^^^^^^^
File "C:\Users\User\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 2985, in _parse_decls
raise TypeError(
TypeError: Arguments take exactly one parameter declaration, got 2.