/// <summary> /// Разрешить сигнализацию о событии без подтверждения о приеме. /// </summary> /// <param name="target">Адрес устройства.</param> /// <param name="id">Идентификатор события.</param> /// <param name="isEventEnabled"><c>true</c> - разрешить сигнализацию о событии, иначе - <c>false</c>.</param> public void EnableEventMonitoring(Address target, int id, bool isEventEnabled) { Contract.Requires(!IsDisposed); Contract.Requires(target != null); Contract.Requires(target.Type == AddressType.Hardware || target.Type == AddressType.Net); var msg = new NmsAlterEventConditionMonitoring(Address.Empty, target, id, isEventEnabled, false); OutgoingMessages.Post(msg); }
/// <summary> /// Разрешить сигнализацию о событии с подтверждением о приеме. /// </summary> /// <param name="target">Адрес устройства.</param> /// <param name="id">Идентификатор события.</param> /// <param name="isEventEnabled"><c>true</c> - разрешить сигнализацию о событии, иначе - <c>false</c>.</param> /// <param name="options">Параметры NiBUS-операции.</param> /// <returns><see cref="Task"/> - асинхронная операция.</returns> public async Task EnableEventMonitoringConfirmedAsync( Address target, int id, bool isEventEnabled, NibusOptions options = null) { Contract.Requires(!IsDisposed); Contract.Requires(target != null); Contract.Requires(target.Type == AddressType.Hardware || target.Type == AddressType.Net); var msg = new NmsAlterEventConditionMonitoring(Address.Empty, target, id, isEventEnabled); await WaitForNmsResponseAsync(msg, options); }