bartbutenaers / node-red-contrib-onvif-nodes

Node Red nodes for communicating with OnVif compliant IP devices
Apache License 2.0
65 stars 25 forks source link

Error: You should create pull-point subscription first #8

Closed EvertDekker closed 4 years ago

EvertDekker commented 4 years ago

Hi Bart, I'm playing around with your Onvif node, but i'm getting an error "You should create pull-point subscription first" when pressing on the "Start listening" node in the event example.

22 Mar 16:32:06 - Error: You should create pull-point subscription first! at Cam.pullMessages (C:\Users\Evert.node-red\node_modules\onvif\lib\events.js:188:10) at Cam._eventPull (C:\Users\Evert.node-red\node_modules\onvif\lib\events.js:311:9) at Cam. (C:\Users\Evert.node-red\node_modules\onvif\lib\events.js:100:13) at parseSOAPString (C:\Users\Evert.node-red\node_modules\onvif\lib\utils.js:108:3) at IncomingMessage. (C:\Users\Evert.node-red\node_modules\onvif\lib\cam.js:214:4) at emitNone (events.js:111:20) at IncomingMessage.emit (events.js:208:7) at endReadableNT (_stream_readable.js:1055:12) at _combinedTickCallback (internal/process/next_tick.js:138:11) at process._tickCallback (internal/process/next_tick.js:180:9)

I have some shady Chinese Onvif camera and want to use to motion detection of the camera. Let me know if I can test something for you.

bartbutenaers commented 4 years ago

Hi Evert,

I have some shady Chinese Onvif camera

Do other types exist ? ;-)

i'm getting an error "You should create pull-point subscription first" when pressing on the "Start listening" node in the event example.

That is weird. Had the same issue long time ago. But in the onvif library that I'm using, they have recently rewritten the entire Event stuff from scratch. And now it works very smooth here at home ...

If you try the following flow:

image

[{"id":"2774034b.91102c","type":"inject","z":"b3db206e.b7139","name":"Get event properties","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":230,"y":1220,"wires":[["e59923ee.4db8d"]]},{"id":"e59923ee.4db8d","type":"change","z":"b3db206e.b7139","name":"","rules":[{"t":"set","p":"action","pt":"msg","to":"getEventProperties","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":1220,"wires":[["d701df1c.6f0f1"]]},{"id":"120e35a2.b4da5a","type":"inject","z":"b3db206e.b7139","name":"Get event service capabilities","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":260,"y":1180,"wires":[["2c1017b7.e2e448"]]},{"id":"2c1017b7.e2e448","type":"change","z":"b3db206e.b7139","name":"","rules":[{"t":"set","p":"action","pt":"msg","to":"getEventServiceCapabilities","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":1180,"wires":[["d701df1c.6f0f1"]]},{"id":"d701df1c.6f0f1","type":"onvif-events","z":"b3db206e.b7139","name":"","deviceConfig":"c6b46a46.8067f8","action":"","x":750,"y":1180,"wires":[["de45638b.327d9"]]},{"id":"de45638b.327d9","type":"debug","z":"b3db206e.b7139","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":950,"y":1180,"wires":[]},{"id":"c6b46a46.8067f8","type":"onvif-config","z":"","xaddress":"192.168.1.174","port":"80","name":"Hikvision"}]

Can you share your output please, when you press both buttons?

Bart

EvertDekker commented 4 years ago

Hi Bart,

Attached the requested output. Onvif

Ps, Don't spent to much time on this problem, it's just a bad camera I think. Onvif device manager https://sourceforge.net/projects/onvifdm/ shows that this camera doesn't have events. My other 2 camera's having events and your sample regarding events is for those camera's also working fine.

bartbutenaers commented 4 years ago

Hi Evert,

I think that the Onvif Device manager shows the correct information.

From the screenshot you can see that no pull-point subscriptions are supported:

image

And that is the mechanism that we are using here ... I'm afraid I can't help you with these camera's, so I will close this issue. But I have explained this on the readme page, to explain to other users how it works.

Thanks for reporting! Bart