How to toggle PTZ function after adding a camera?

With the driver framework, the BuildDevices section is where we can define whether PTZ should be enabled or not in the device.

We need a way to override this function in case of some devices which have virtual PTZ.

The camera reports that it can do PTZ because it has virtual PTZ, but in some cases we want to make sure PTZ will be disabled and the PTZ tab does not show up in the Management Client.

With the ONVIF Driver, you have added a section to enable or disable PTZ:

Is there currently a way to use the SDK to add a new Hardware device and somehow send a parameter that we can pickup in the driver’s configuration manager in case we want to specify hardware options without having to connect to an external device.

Currently, the only variables we get are the hostname, port, username and password.

If we had a parameter, we could create a special “Add new Hardware” plugin page and add things that way.

I found this customData string when adding the hardware but found no way to use it in the driver framework. That would be great, we could pass a JSON or something.

Bonus question:

How would this work in the new upcoming Management Client?

When calling AddHardware the customData will be in the ConnectionManager.Connect method. There is a list of HardwareSettings, one of those should be customdata. Store the data here and then access them in your ConfigurationManager through Container.ConnectionManager. This way you should be able to configure each device to your needs when added.

I hope this solves your problem.

Hello Henrik,

We also need a way to be able to modify the PTZ setting once the device has been added.

Is it possible to also use this customData when doing a Hardware replace?

Can we do a hardware replace programatically with customData the same way as when we add it?

Thanks!

Hey Eric

Sorry for the long delay, we have had a lot high priority tasks.

Yes it is possible to send a new customData to a device by calling replaceHardware.

Note the AddHardwareTask is on the recordingServer while the ReplaceHardware is on the hardware object in the SDK. Calling the replaceHardware requires the driverNumber while the AddHardware takes the Driver path.