The section in the README related to creating an unofficial service is not accurate.
The documentation shows that create_onvif_service should be called with a WSDL location, xaddr, and service name as arguments. The actual arguments for this function are the (service) name, from_template (unused), and portType.
Another aspect is that the create_onvif_service function can't be used as described to just create a service willy-nilly, but instead the service needs to be defined in the SERVICES dictionary declared within definition.py otherwise, an ONVIFError is raised within client.py.
Instead, it seems that what is necessary for a new service is to add an entry into the SERVICES dictionary declared within definition.py as well as a corresponding create_<name>_service function within the ONVIFCamera class within client.py.
The section in the README related to creating an unofficial service is not accurate.
The documentation shows that
create_onvif_service
should be called with a WSDL location, xaddr, and service name as arguments. The actual arguments for this function are the (service)name
,from_template
(unused), and portType.Another aspect is that the
create_onvif_service
function can't be used as described to just create a service willy-nilly, but instead the service needs to be defined in theSERVICES
dictionary declared within definition.py otherwise, an ONVIFError is raised within client.py.Instead, it seems that what is necessary for a new service is to add an entry into the
SERVICES
dictionary declared within definition.py as well as a correspondingcreate_<name>_service
function within theONVIFCamera
class within client.py.