* experiment with namespaces on the Server class
* experiment with namespaces on the Server class
* Implement the ZM namespace on objects
* Implement the ZM namespace on objects
* Implement the ZM namespace on objects
* Add a control module to support the current Amcrest HTTP API
This patch adds ZoneMinder::Control::Amcrest_HTTP
This module is adapted and improved from one available on the ZoneMinder
forums.[1] It appears that a number of individuals have contributed to
it. This is an attempt to correct some of its interactions with ZM::Control
and friends as well as enhance and extend supported control features
for Amcrest cameras.
This work is based on Amcrest HTTP Protocol API Specifications
Rev. 2.12 2017-03-15
[1]https://forums.zoneminder.com/download/file.php?id=1878
* Fixing zoom methods
* Misc. cleanup of comments, etc.
* Fixing up POD, etc.
* Converting line endings to Unix
* Fixing up preset methods
The current Amcrest HTTP API does not support a Home command per se. So this
method is set up to send the camera to the first preset position. Of course,
this presupposes that the user will setup a preset #1 otherwise the command
will fail on a bad preset error.
If a future version of the API supports a true Home command, we'll adjust
at that point. For now this seems to be a useful workaround.
* Removing duplicate home method
* Adding moveAbs method
I'm putting this in, but absolute camera movement does not seem to be well
supported in the classic skin ATM. Reading
www/skins/classic/include/control_functions.php seems to indicate
a faulty implementation, unless I'm reading it wrong. I see nowhere
where the user is able to specify the absolute location to move to. Rather,
the call is passed back movement in increments of 1 unit. At least with the
Amcrest/Duhua API this would result in the camera moving to the 1* or 0* etc.
position.
moveAbsUp, Down, Left, Right, etc. Doesn't make sense given the definition
of Absolute movement.
* Adding a note about the moveMap method
This method does not appear to be implemented in the classic skin,
but we'll leave it here for future implementation. Caveat: It may
or may not work as-is.
* Fixing up zoomConTele/Wide methods
* Adding a vanilla control type for the Amcrest HTTP API
Please note that this control type matches (mostly) the currently
available control options in Amcrest_HTTP.pm. It does not match
all (or possibly any) of the control options available on a specific
Amcrest camera. The user may need to create their own control type
specific to the camera model they are using.
* Removing misplaced comment
Thanks to connortechnology for pointing this out!
* Validate zmu Username and Password lengths
Ensure user provided values are not larger than allowed and error if
they are, therefore further preventing overflow.
* Check username and password functions for zmu and zms
* Check username and password functions for zmu and zms
* updated docs to include instructions on how to find the loaded PHP config file
* Added note about verifying timezone change
* revert docs back to master branch's content
* added installation guide for Ubuntu 18.04
The only difference between Ubuntu 16.04 and 18.04 is the version of
PHP that comes installed, which changes the location of its config file
* reverting debian instructions to master