So just thought this might be helpful for people still looking....
I did all this using the RLC-410
When logging into a ReoLink which chrome you can press ctrl+shift+i -> to get the inspector. Then click the network tab.
When you are interacting with settings on the camera (or I assume PTZ stuff) you can see the commands being sent to the camera.
Something like this:
api.cgi?cmd=SetIsp&token=17d15df75be25e3
If you expand out the details on the "Request Payload" (view source) you can see the JSON... something like this (here I was changing the irmode to auto):
[{"cmd":"SetIsp","action":0,"param":{"Isp":{"channel":0,"antiFlicker":"Off","exposure":"Auto","gain":{"min":1,"max":62},"shutter":{"min":0,"max":125},"blueGain":128,"redGain":128,"whiteBalance":"Auto","dayNight":"Auto","backLight":"Off","blc":128,"drc":128,"rotation":0,"mirroring":0,"nr3d":1}}}]
Combining information from these links:
Control Reolink RLC-423 with API
Zoneminder Darknet yolov2 tiny Hack - ZoneMinder Forums
You can then get a token through login and send commands with scripts.
Here is my bash script that sets the ir mode to "Color" or day:
#!/bin/bash
vartoken=`curl -i -s -k -X $'POST' --data-binary $'[{\"cmd\":\"Login\",\"action\":0,\"param\":{\"User\":{\"userName\":\"myusername\",\"password\":\"mypassword\"}}}]' $'
http://192.168.1.XXX/cgi-bin/api.cgi?cmd=Login&token=null' | grep name |sed -r 's/(.*: \")(.*)(\".*)/\2/g'`
echo $vartoken
curl -g -v -k -X $'POST' --data-binary $'[{"cmd":"SetIsp","action":0,"param":{"Isp":{"channel":0,"antiFlicker":"Off","exposure":"Auto","gain":{"min":1,"max":62},"shutter":{"min":0,"max":125},"blueGain":128,"redGain":128,"whiteBalance":"Auto","dayNight":"Color","backLight":"Off","blc":128,"drc":128,"rotation":0,"mirroring":0,"nr3d":1}}}]' $"
http://192.168.1.XXX/cgi-bin/api.cgi?cmd=SetIsp&token=${vartoken}"
I imagine you can use
blue iris with a script to do ptz commands this way.