Skip to content

Implement the avm-motion-triggerd daemon

Implement a ready-to-use daemon application to model the business case of the project. When a motion is detected check the light sensor for the current ambient light level and if the threshold is passed, turn the configured actor (AVM lib) on. Wait for the configured timeout, if set, turn out the actor. While this time range, don't detect new motions. If no timeout was configured, wait for a configured bounce lock time to prevent jitter.

Acceptance criteria:

  • The application should be able to make use of a configuration file
  • Make use of the existing AVM interface/test binaries
  • Make use of the existing PIR Motion Detection interface/test binaries
  • Make use of the existsing config interface

Meta:

  • Name the application binary avm-motion-triggerd
  • Support short/long argument name eg. -h and --help

List of arguments:

  • avm-motion-triggerd -h|--help Show the available arguments
  • avm-motion-triggerd -c|--config Set the path to a config file
  • avm-motion-triggerd -f|--foreground Keep the daemon running in foreground

Other things to do:

  • Document the usage in a man page
  • Add new configuration parameter (Sensor: motion_sensor_locktime)
  • Add new configuration parameter (Device: actor_command)
  • Implement the business logic