Event when a device is added, moved, replaced, or deleted

Is there any way to get an event or notification when a new device is added, moved, replaced, or deleted? We checked the same with MultiSiteStatusViewer, but were unable to see any event for the above.

Milestone SDK: 2024R3

Milestone XProtect Corporate 2025 R1

Two samples are very alike MultiSiteStatusViewer and Statusviewer, the first can login and use multiple sites. But the second one is more complete in that it subscribes to SystemConfigurationChangedIndication and in that way pick up when a new device is added, moved, replaced, or deleted.

Please explore the Statusviewer sample. If you need the multi-site capability you can by comparing the two samples see how you can get that.

https://doc.developer.milestonesys.com/mipsdk/index.html?base=samples%2FComponentSamples%2FStatusViewer%2FREADME.html&tree=tree_2.html

Thank you for the quick response.

We are getting added, deleted, and updated.

Now, the updated state can be replaced, moved, or settings changed. How do you differentiate between settings changed, moved, and replaced?

Try to exchange SystemConfigurationChangedIndication with SystemConfigurationChangedDetailsIndication, I believe it holds extra information like this. Note you will need to change the handler, but apart from this I think you will find it relative easy to change the sample / integration.

We are currently using the SystemConfigurationChangedDetailsIndication to monitor hardware changes.

When we add or delete hardware, we correctly receive added and deleted events.

When we change any settings, we receive an updated event, which is expected.

However, we have noticed that when a camera is moved or replaced, we only receive an updated event, and not a specific event indicating a move or replacement.

This makes it difficult to differentiate between a settings change, a device move, or a device replacement, since all result in the same “updated” indication.

Ideally, we would expect a distinct “replaced” or “moved” event in these scenarios to allow for more precise handling.

Could you please confirm if:

  • Is there a specific way to detect move/replace events?

  • Are we missing any additional configuration or indication type that would help us distinguish these cases?

Appreciate any guidance or clarification you can provide.

I guess moved can be detected by looking at the camera.parent.parent and see if the recorder id has been changed.

Replace is harder, I do not see any way to detect this.