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. -hand--help
- Support dedicated operations like systemctl list-units
List of arguments:
- 
avmctl -h|--helpShow the available operations / arguments
- 
avmctl -c|--configSet the path to a config file
- 
avmctl -H|--hostSet a host for the operations (overwrites config host)
- 
avmctl -u|--userSet a username for session (overwrites config username)
- 
avmctl -p|--passwordSet a password for the session (overwrites config password)
- 
avmctl check-configTry to start a test session and on success end it
- 
avmctl listList all usable actors and print some meta information about them
- 
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:
- 
Document the usage in a man page