Onvif VS onvif-nodes issue

Hi.

I have node red on Edge Device. The node red runs on docker.

I have camera connected to the same network (able to ping the cam fine).

Using node-red-contrib-onvif snapshot node, I was able to get a capture. My settings
is as follows:

onvif

Using same settings on node-red-contrib-onvif-nodes (beta7), I am not getting any snapshot from it
using the media node.

onvif-nodes
onvif-nodes2

Gives the error on debug:
"Error: getaddrinfo ENOTFOUND http://192.168.33.51:80/onvif/device_service http://192.168.33.51:80/onvif/device_service:80"

Any idea why? I know this is beta, but just wondering if I missed something simple, especially seeing the thread by Bart (maintainer of onvif-nodes), a few people got it working.

Something looks a bit of with the URL it constructs. Will need @BartButenaers to comment.

Seems there are two problems:

  • In the field "IP address" you enter an entire url. What happens when you only enter the IP address 192.168.33.51 ??
  • I see that you have created also a Github issue for the same problem... You say that the discovery doesn't work either. I'm not sure whether a WS-Discovery (seems to use a probe` SOAP method) will work from a Docker container? Does anybody has experience with that???

Hey @gene-code,
Did you made any progress with these issues?

Hi Bart.

Thanks for your replies. I will try your suggestions tomorrow. I was shifted to another task at work so wasn't able to check up on that yet.

But I did google about soap on docker. Seems like it will not readily work. See: https://stackoverflow.com/questions/50121641/enable-soap-for-php-in-docker-container/50121691.

I am guessing my issues are somewhat similar.

1 Like

So, I tried again your suggestion by just supplying the IP (without port and paths),
but it still isn't working.

I have found another way though - using the ISAPI protocol on the camera (using standard HTTP REST requests) and can work. Anyways, thanks for your comments and replies.

Hello! I summon @BartButenaers and other folks to help.
Lately, i tried to install Bart's nodes https://github.com/bartbutenaers/node-red-contrib-onvif-nodes
first, i tried command npm install node-red-contrib-onvif-nodes@0.0.1-beta.7 from manual https://github.com/bartbutenaers/node-red-contrib-onvif-nodes#install but got multiple errors

image

Then i tried install directly from github with command

**npm install bartbutenaers/node-red-contrib-onvif-nodes**

and also got errors
image

Any ideas to make install happen?

To install like that you need git installed.
sudo apt install git

Hey Colin, thanks for your help. I had asked @greyser to ask his question on Discourse, because there are smart people in the community... So "spawn git ENOENT" means git is not installed. I should remember that!

@Colin @BartButenaers thanks, guys. I will try to install git an first

1 Like

Yes, apparently it is short for Error No Entry (or Entity). It is a linux system error code.

1 Like

@BartButenaers @Colin Thanks, I installed nodes.
Now I m trying to connect to my cameras. Discovery node shows 2 of 3. Made 3 configurations for each camera, insert IP and port from Discovery Xaddr , but cant connect.


image
image

In the field "IP address" you should only enter the IP address:
image

So you have 3 ip camera, but only 2 are discovered? Correct? Is that third camera another brand?
You could try to increase the "Timeout" value in the discovery node, so camera's have more time to respond to the broadcast request. Otherwise I don't know why it not detects all camera's...

Bart, thanks.
Entered just IP, got errors
image
image

I should not use "http://" in an address form. Now it works

1 Like

@BartButenaers Hello, again!
Now I try send "goto PTZ preset" command.
First, i got names of all presets by GetPresets action, then insert one value to presetName. But camera not responding anything. Am I doing everything right?

Have you checked whether your camera supports presets? It is one of the features that is missing on some.

Yes, of course. Somehow i managed to make it work. One more question, how can i get current preset of the camera ptz?

I will need to have a look tonight... If you send the getPresets command, perhaps there is something in the output that refers to the current position? But it is only a wild guess ...

@greyser,
Did you find anything useful yet? When I look at the wsdl I don't see anything useful in the GetPresets or anywhere else ...