Files
zoneminder/scripts
Isaac ConnorandClaude Opus 5 e2a325295e Correct Amcrest_HTTP against a live IP5M-1190EW
Verified every added endpoint against an Amcrest IP5M-1190EW running
2.810.00AC004.0.R.  A full get_config() returns 52 sections in ~24s and
the set_config() key form round-trips, but several guesses were wrong:

networkInterface.cgi does not exist, netApp.cgi?action=getInterfaces is
the real endpoint.

userManager.cgi reports a real per-user Id starting at 1, so get_users
was handing callers the array position instead of the number the camera
actually recognises.

modifyUser rejects a partial record with 400.  update_user now reads the
user back and sends the whole record with the changes merged over it.

getSoftwareVersion and getHardwareVersion both answer with a bare
'version=', so device_info's flat merge lost one of them.  The software
one is a single line with the build appended - '2.810.00AC004.0.R,
build:2023-09-04' - so getVersion splits it and returns the build
separately in list context.

The configManager list is now the set that model actually implements.
UPnP and Login are gone, they answer 400; Lighting_V2, WLan, NAS, Record,
Alarm and the VideoIn* sections are added.

That model has no getCurrentProtocolCaps and no coaxialControlIO, and it
answers OK to Lighting/Lighting_V2 writes and then ignores them, so its
WhiteLight is not drivable over http.  Documented rather than papered
over.  update_firmware stays the one unverified path, deliberately.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LzHrvNtF13vyYBAJjktam6
2026-08-16 14:49:27 -04:00
..
2016-11-07 16:08:43 -05:00
2023-07-05 01:03:48 +02:00
2013-03-17 00:45:21 +01:00
2013-03-17 00:45:21 +01:00
2020-06-30 18:58:46 -04:00
2023-07-05 01:03:48 +02:00
2024-11-05 13:12:12 -05:00