Messages received via API

we are extensively using the API in Smartshooter 4 and have run into a couple of issues.

First I’m getting a very unpredictable number of “NodeUpdated” messages that are unexpected. According to the documentation these are GRID messages. I flush out the socket of unwanted data when I need to but they seem to arrive regularly but not in any response to activity. I’m trying to limit the amount of time the software is spending clearing out data that I don’t need.

The second is more predictable – when I enable live view via the SS4 interface I get a constant stream of CameraUpdated messages until I switch liveview off again.

Is there a way of surpressing these messages?


Hi Paul, good to hear from you!

The NodeUpdated messages are sent whenever some general application state is updated, including:

  • Number of connected cameras changes
  • Options are edited
  • Free disk space changes
  • Memory usage changes

I can add an option to filter these out, if you think its useful.

For the CameraUpdated messages, its a bit more difficult to filter these, and I assume you still want to receive some of them? Just not the live view related ones?

The reason I haven’t added filters on these before, is that I considered the overhead of them to be pretty low. If your app does not need them, is it that costly to just ignore them?

Hello Francis, hope all is well with you.
Thanks for the response.
I do ignore all the messages that I do not need but what appears to be happening is that while we are setting up a new capture SS4 is sending many thousands of CameraUpdated messages related ti LiveView. These are generated even when nothing is happening.
When we then proceed with a capture there are a massive number of messages to filter out and the download of photos just stops. If I turn off LiveView it works fine.
If there was a way to switch off the API messages related to LiveView I believe it would solve the issues.
I am perfectly happy to accept that it is our code that is the problem!!


The way the event messages are architected inside the app, the logic that sends the API event messages [such as CameraUpdated] does not know which fields of each message have changed.

So basically I can filter out all CameraUpdated messages, or none at all. Its not possible to filter out just a subset of them.

Would that still be useful to you?

That would be ideal. We do not use any CameraUpdaed messages at the moment so filtering those out would be excellent.