Implement a commandline interface for the AVM smart home lib
Implement a ready-to-use application to interface the existing AVM smart home lib **Acceptance criteria:** * The application should be able to make use of a configuration file or via direct arguments * Direct arguments overwrite config settings * Make use of the existing AVM interface/test binaries * Make use of the existsing config interface **Meta:** * Name the application binary `avmctrl` * Support short/long argument name eg. `-h` and `--help` * Support dedicated operations like `systemctl list-units` **List of arguments:** - [x] `avmctl -h|--help` Show the available operations / arguments - [x] `avmctl -c|--config` Set the path to a config file - [x] `avmctl -H|--host` Set a host for the operations (overwrites config host) - [x] `avmctl -u|--user` Set a username for session (overwrites config username) - [x] `avmctl -p|--password` Set a password for the session (overwrites config password) - [x] `avmctl check-config` Try to start a test session and on success end it - [x] `avmctl list` List all usable actors and print some meta information about them - [x] `avmctl present [ain]` Check if the configured actor is present/connected - [ ] `avmctl state [ain]` Retrieve the current state of the actor (EXIT 0 = on, EXIT_FAILURE 1 = off) - [ ] `avmctl status [ain]` Print information about presence and state of the actor - [ ] `avmctl toggle [ain]` Toggle the state of the actor - [ ] `avmctl off [ain]` Turn the actor off - [ ] `avmctl on [ain]` Turn the actor on **Other things to do:** - [x] Document the usage in a man page
issue