Netcam studio X - enable/disable all cams


#1

I am pretty happy with netcam studio, but I wonder, is there a way to quickly enable / disable recording or motion detection on all cameras?
When I leave my property for the day I’d like to quickly turn on all my cameras (2 IP, 1 USB) and when I return a way to turn the monitoring/recording off for all cameras since I’m there.
I suppose I can do it using the mobile app but I’d have to visit each camera and do that manually.
Is there a way to do something similar with the JSON / api connection? Some quick way to enable/disable all cameras?


#2

Hello,

In 1 call not is not possible but by JSON calls to the API it’s pretty easy to put in place… You just have to repeat the operation for each camera depending on the number you have (ideally a loop based on number returned by GetCameras method):

http://localhost:8124/Json/StartStopMotionDetector?sourceId=1&enabled=true&authToken=eb311d1e-0f56-46f6-9ffe-249984e62885
http://localhost:8124/Json/StartStopMotionDetector?sourceId=2&enabled=true&authToken=eb311d1e-0f56-46f6-9ffe-249984e62885
http://localhost:8124/Json/StartStopMotionDetector?sourceId=3&enabled=true&authToken=eb311d1e-0f56-46f6-9ffe-249984e62885

#3

Excellent, thanks for the quick response. I’ll give it a try!


#4

You can have a look at the controller for the Netcam Studio Web Client:

The login and many useful methods are already implemented since you will need to retrieve an authToken


#5

I finally got around to investigating your suggestions.
I am using GSON from google to sniff through the results from the server but maybe I’m daft but the API documentation seems to be missing a lot of content, or I am clearly missing it.

For example:
if we review the API call for Login:
http://netcamstudio.com/WebAPI/#Moonware.Server.WCF~Moonware.Server.WCF.MoonwareServerWCF~Login.html

it says it returns:
Moonware.Security.UserInformation

Where can I find the type definition for UserInformation?
I mean, I can simply execute the same Login method via web browser and creatively come up with the information for the class def which I have and have it working, but it would be nice to view the real definition for UserInfomation and I cannot find it anywhere in the API docs.

Similarly with
http://netcamstudio.com/WebAPI/#Moonware.Server.WCF~Moonware.Server.WCF.MoonwareServerWCF~GetCameras.html

which says : public List[Camera] GetCameras()
but for the life of me I cannot find the definition for Camera… again I just manually defined it myself but I was sort of expecting to find what Camera is defined as inside the API docs.
This holds true for the Camera.Status.CurrentSchedulerState, it’s clearly an Integer but I have no idea what the values might be or what to expect for them.

Anyway, thanks for the help and guidance, I am not a web developer, my background is a application developer so forgive me if I’m clueless around the layout of the API docs.

My plan is to write a server side application that will watch when user’s devices connect to the network and will turn on/off motion detection when those devices join/leave the network.
This way I have even more complex schedules for monitoring, if my cell phone connects to my network it will disable all motion detection (I’m at home), if it detects that my cell phone has left my home network it will turn on motion detection for 2 out of my 3 cameras… and so on.

Cheers!


#6

Yes the online doc which is generated automatically hasn’t been refreshed for some time.

On the other end the websiteAPI.js used by the web client is up-to-date.

You can at any time get the WSDL definition matching your version of NCS using:
http://instance_ip:8124/?singlewsdl

And then use the tool of your choice to review all the methods and the types, everything is defined in this file.

Hope it helps.


#7

I am a WSDL newb so to be honest the output of using ?singlewsdl or ?wsdl isn’t familiar to me, I can see the XML it spits out does give some general information but I can’t find any type information in the file at all, at best just a very raw list of methods.
At any rate I’ll continue with my app, hopefully the documentation can be updated to reflect a more recent build of the software.
Thanks again for the guidance, this sort of flexibility from the application is very appreciated.


#8

A question about a few fields returned from getCameras()
Enabled - I was assuming that this meant that the camera was valid and was streaming/streamable, in my experiences with my 3 cameras (2 IP, 1 USB) this flag is never true?!
IsMotionDetector - is this only ever true when motion detection is enabled for a camera? Schedule has no direct connection