Skip to content

6. Configuration Testing and Troubleshooting

Rich edited this page Mar 13, 2025 · 2 revisions

At this point, DMS3 should now be installed and configured on both the server and all smart device clients (SDCs). Once both the DMS3Server and DMS3Client are running, DMS3 should:

  1. Watch for the presence of relevant user device proxies on the network at a regular interval
  2. Start/stop Motion when relevant user device proxies join/leave the network
  3. Optionally, create and send an email when an event of interest is generated by Motion (assuming that the DMS3Mail component has been installed)

6a. System Testing DMS3

The procedure for testing DMS3 is to remove all registered user device proxies (e.g., smartphones) from the network (i.e., disable the devices' networking capability), and watch DMS3Server and DMS3Client process motion state events. In effect, you're simulating an event where DMS3Server determines that "no one is home" and so, notifies all participating DMS3 client devices to "turn on" and start looking for motion events of interest. When at least one of those registered user device proxies is reintroduced into the network, DMS3Server will sense this, and notify these client devices to stop looking for motion events.

Recall that individual DMS3 components can be configured to generate multi-level logging (INFO, ERROR, FATAL, and DEBUG) to log files for future review, or to stdout. These logging configurations occur in the various TOML configuration files.

6b. Unit Testing the DMS3Libs Component

As an aid in troubleshooting issues, the DMS3 source project tree includes a tests folder as part of the DMS3Libs component. This tests folder contains a number of unit tests designed to verify operation of each of the library packages used in the DMS3Libs component.

To run a DMS3Libs component unit test, from the command line, change directory into the tests folder and choose a test to run:

go test -v <*>.go

Where <*> is a Go test file. The unit test results will be displayed as each test is completed.

Clone this wiki locally