FalkTannhaeuser / python-onvif-zeep

ONVIF Client Implementation in Python 2+3 (using https://github.com/mvantellingen/python-zeep instead of suds as SOAP client)
MIT License
420 stars 137 forks source link

NOT an issue, just two doubts - List for the TPLINK ONVIF properties and GetEventProperties #110

Open anmabi1984 opened 11 months ago

anmabi1984 commented 11 months ago

Hi everybody, I successfully connected the camera to my Pyhton 3.7 and already getting some general information. Some of the informations I tried to retrieve are not available. Here two questions come: 1) over the Web seems impossible to find the list of the specific ONVIF properties which are available and readable/writable for the specific model. Certainly ONVIF define all the possible properties available but I am sure not all of them are available, not to mention some properties which could be not available in the protocol general but only for the specific products. Any list you ever used maybe even for general TPLINK use? 2) I will need to manage the events notifications, is my assumption correct in thinking that the only possibility here is the use of the section event with the specific property "GetEventProperties"? Good day to everybody. Andrew

anmabi1984 commented 11 months ago

Hi everybody, I successfully connected the camera to my Pyhton 3.7 and already getting some general information. Some of the informations I tried to retrieve are not available. Here two questions come:

  1. over the Web seems impossible to find the list of the specific ONVIF properties which are available and readable/writable for the specific model. Certainly ONVIF define all the possible properties available but I am sure not all of them are available, not to mention some properties which could be not available in the protocol general but only for the specific products. Any list you ever used maybe even for general TPLINK use?
  2. I will need to manage the events notifications, is my assumption correct in thinking that the only possibility here is the use of the section event with the specific property "GetEventProperties"? Good day to everybody. Andrew

Dear All, I must admit I was completely precipitous in thinking that there was no documentation over the web. In fact for my specific device the compatibility is exactly with ONVIF type S which means also events management are supported. Seems by the way some commands, like those used in the Events Example of Events.py is not possible to be used. The code is the following:

###CODE BEGIN event_service = mycam.create_events_service() print('ris1' + str(event_service.GetEventProperties()))

pullpoint = mycam.create_pullpoint_service() print('ris2') req = pullpoint.create_type('PullMessages') print('ris3') req.MessageLimit=100 ### CODE END

The Scheme of the GetEventProperties is confirmed in debug to be existing and be as follows:

### ris1{ 'TopicNamespaceLocation': [ 'http://www.onvif.org/onvif/ver10/topics/topicns.xml' ], 'FixedTopicSet': True, 'TopicSet': { 'documentation': None, '_value_1': [ <Element {http://www.onvif.org/ver10/topics}RuleEngine at 0x723496c0> ], '_attr_1': None }, 'TopicExpressionDialect': [ 'http://www.onvif.org/ver10/tev/topicExpression/ConcreteSet', 'http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete' ], 'MessageContentFilterDialect': [ 'http://www.onvif.org/ver10/tev/messageContentFilter/ItemFilter' ], 'ProducerPropertiesFilterDialect': [], 'MessageContentSchemaLocation': [ 'http://www.onvif.org/onvif/ver10/schema/onvif.xsd' ], '_value_1': None }

The flow is locked among the print ris1 and ris2 (which are basically only used as breakpoint) showing this traceback: Traceback (most recent call last): File "/home/pi/NR80_Test1.py", line 10, in pullpoint = mycam.create_pullpoint_service() File "/home/pi/.local/lib/python3.7/site-packages/onvif/client.py", line 375, in create_pullpoint_service transport=transport) File "/home/pi/.local/lib/python3.7/site-packages/onvif/client.py", line 320, in create_onvif_service xaddr, wsdl_file, binding_name = self.get_definition(name, portType) File "/home/pi/.local/lib/python3.7/site-packages/onvif/client.py", line 303, in get_definition raise ONVIFError("Device doesn't support service: %s" % name) onvif.exceptions.ONVIFError: Unknown error: Device doesn't support service: pullpoint

I am not so sure so far considering the error if this is due to my wrong use of the Pullpoint (which shall be managed consider the device is an S type for ONVIF), or a different one. I am running a Raspberry PI3 and Python is 3.7

Any thought or suggest?

Andrew