NVR Systems
Pre-requisite
- The user has to be signed in to perform the following operations.
- The space contains a network video recorder (
DeviceType.nvr) with its channels (DeviceType.nvrCamera).
A space built around an NVR is monitored through a parallel set of calls. The profile, arming and responding-party concepts are the same as on the other pages of this section; the difference is that the enrolled devices are the recorder’s channels, addressed by the recorder’s id.
A space uses either the camera path or the NVR path — they are not interchangeable.
Create an NVR Security Profile
To create the security profile for an NVR space, The following method can be used:
spaceId(required): The space id of the User.request(required): The initial profile details (ProMonitoringRequest— address, time zone, phone number, safe word, exit delay, dismissal window, anddeviceIdfor the recorder).
Factory.proMonitoringService.createNvrProfile(spaceId: String, request: ProMonitoringRequest) -> IVPublisher<Void>
Update the NVR Channels
To set which of the recorder’s channels take part in monitoring, The following method can be used. Send the complete list; channels left out are removed.
spaceId(required): The space id of the User.nvrId(required): The recorder’s device id.request(required):SubscribeDeviceRequest(deviceIds:)— the participating channel ids.
Factory.proMonitoringService.updateNvrDevices(spaceId: String, nvrId: String, request: SubscribeDeviceRequest) -> IVPublisher<[ProMonitoringDeviceIDModel]>
Each ProMonitoringDeviceIDModel carries the channel id and its state.
Update the Exit Delay
To change the exit delay of an NVR system, The following method can be used:
spaceId(required): The space id of the User.request(required): AProMonitoringRequestwithexitDelayset.
Factory.proMonitoringService.updateNvrExitDelay(spaceId: String, request: ProMonitoringRequest) -> IVPublisher<Void>
Arming and Disarming
To arm or disarm an NVR system, The following methods can be used:
spaceId(required): The space id of the User.
Factory.proMonitoringService.armNvrSystem(spaceId: String) -> IVPublisher<Void>
Factory.proMonitoringService.disarmNvrSystem(spaceId: String) -> IVPublisher<Void>
Arming starts the exit delay, exactly as on System Control.
Responding Parties
To add or remove a responding party on an NVR system, The following methods can be used. The number must be verified with an OTP first — see Notification and Communication.
spaceId(required): The space id of the User.request(required):RespondingPartyPhoneNumberRequest— countrycode,number, theotpand the party’sname(add), or thecodeandnumber(remove).
Factory.proMonitoringService.addNvrRespondingParty(spaceId: String, request: RespondingPartyPhoneNumberRequest) -> IVPublisher<Void>
Factory.proMonitoringService.removeNvrRespondingParty(spaceId: String, request: RespondingPartyPhoneNumberRequest) -> IVPublisher<Void>