mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-09-13 13:49:22 -04:00
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