python-kasa/kasa/smart
Steven B 9cffbe9e48
Support child devices in all applicable cli commands (#1020)
Adds a new decorator that adds child options to a command and gets the
child device if the options are set.

- Single definition of options and error handling
- Adds options automatically to command
- Backwards compatible with `--index` and `--name`
- `--child` allows for id and alias for ease of use
- Omitting a value for `--child` gives an interactive prompt

Implements private `_update` to allow the CLI to patch a child `update`
method to call the parent device `update`.

Example help output:
```
$ kasa brightness --help
Usage: kasa brightness [OPTIONS] [BRIGHTNESS]

  Get or set brightness.

Options:
  --transition INTEGER
  --child, --name TEXT            Child ID or alias for controlling sub-
                                  devices. If no value provided will show an
                                  interactive prompt allowing you to select a
                                  child.
  --child-index, --index INTEGER  Child index controlling sub-devices
  --help                          Show this message and exit.
```

Fixes #769
2024-07-02 15:11:19 +02:00
..
modules Fix changing brightness when effect is active (#1019) 2024-07-01 13:59:24 +02:00
__init__.py Move SmartBulb into SmartDevice (#874) 2024-04-29 18:19:44 +01:00
effects.py Fix changing brightness when effect is active (#1019) 2024-07-01 13:59:24 +02:00
smartchilddevice.py Support child devices in all applicable cli commands (#1020) 2024-07-02 15:11:19 +02:00
smartdevice.py Support child devices in all applicable cli commands (#1020) 2024-07-02 15:11:19 +02:00
smartmodule.py Add support for contact sensor (T110) (#877) 2024-05-07 20:58:18 +02:00