Cannot move Tapo camera
The move camera arrow buttons don't do anything on my Tapo C520WS.
Streaming, time sync, reboot work.
The preset positions buttons also work, and moves the camera to the positions set from the Tapo App.
Zoom buttons also don't do anything.
The PTZ functions have been tested and found correct for a number of different cameras, so it can be assumed that the program has a correct implementation. It seems most likely that the camera is not implementing the onvif spec for PTZ.
How can I confirm that? Would it be possible to find what are the commands to move the camera with the arrows, instead of just the predefined positions?
I do not know much at the moment about the ONVIF spec nor how the PTZ system works, but In the little research that I did, I found that many other people had issues with moving the Tapo cameras with ZoneMinder, and this repo kept poping up as a solution: https://github.com/oparm/zoneminder-tapo-c200
I'm not sure if that's something useful, but could you please take a look at that and tell me? Since you have more knowledge on the topic than me right now.
Hello,
Thank you so much for your inquiry. The script from the link looks like it might be a perl script implementing a different protocol that would be specific to that type of camera. ONVIF is an open source protocol that has a different command set.
The TAPO code looks like this for a PTZ move command
$self->sendCmd('{"method":"do","motor":{"move":{"x_coord":"0","y_coord":"-'.$step.'"}}}');
The ONVIF equivalent looks something like this
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl" xmlns:tt="http://www.onvif.org/ver10/schema">
<soap:Body>
<tptz:ContinuousMove>
<tptz:ProfileToken>Profile1</tptz:ProfileToken>
<tptz:Velocity>
<tt:PanTilt x="1" y="1"/>
<tt:Zoom x="1"/>
</tptz:Velocity>
</tptz:ContinuousMove>
</soap:Body>
</soap:Envelope>
This is a common issue when dealing with cameras and ONVIF. Many cameras that claim to support the ONVIF standard will only support a subset of the commands, and it can be difficult to know which commands are included. It is not uncommon to find errors in ONVIF implementations as well, leading to unexpected results when attempting to use the commands.
I don't know much about ZoneMinder as I haven't ever used it myself, but it has a good reputation. The onvif gui program design is based on entirely different principles, so there really wouldn't be any compatibility between the two.
I hope this has been helpful.