public VSPair AddVSPair(double Value, string Status, ePairControlUse ControlUse, string Graphic = null, ePairStatusControl Status_Control = ePairStatusControl.Both ) { var svPair = new VSPair(Status_Control) { PairType = VSVGPairType.SingleValue, Value = Value, Status = Status, ControlUse = ControlUse, Render = Enums.CAPIControlType.Button, IncludeValues = true }; bool ret = hs.DeviceVSP_AddPair(RefId, svPair); if (Graphic != null) { var vgPair = new VGPair(); vgPair.PairType = VSVGPairType.SingleValue; vgPair.Set_Value = Value; vgPair.Graphic = Graphic; ret = hs.DeviceVGP_AddPair(RefId, vgPair); } return(svPair); }
public virtual Task HandleCommand(IHSApplication HS, CameraBase camera, string stringValue, double value, ePairControlUse control, CancellationToken token) { return(Task.CompletedTask); }
public override Task HandleCommand(IHSApplication HS, CameraBase camera, [AllowNull] string stringValue, double value, ePairControlUse control, CancellationToken token) { var hikVisionCamera = (HikvisionIsapiCamera)camera; return(hikVisionCamera.Put(Property, stringValue ?? string.Empty)); }
public override Task HandleCommand(IHSApplication HS, CameraBase baseCamera, string stringValue, double value, ePairControlUse control, CancellationToken token) { var camera = (HikvisionIsapiCamera)baseCamera; switch ((Commands)value) { case Commands.DownloadVideos: camera.StartVideoDownload(); break; case Commands.CancelDownloadVideos: camera.CancelVideoDownload(); break; case Commands.Reboot: return(camera.Reboot()); case Commands.RequestKeyFrameTrack1: return(camera.RequestKeyFrame(HikvisionIsapiCamera.Track1)); case Commands.RequestKeyFrameTrack2: return(camera.RequestKeyFrame(HikvisionIsapiCamera.Track2)); case Commands.StartRecordingTrack1: return(camera.StartRecording(HikvisionIsapiCamera.Track1)); case Commands.StartRecordingTrack2: return(camera.StartRecording(HikvisionIsapiCamera.Track2)); case Commands.StopRecordingTrack1: return(camera.StopRecording(HikvisionIsapiCamera.Track1)); case Commands.StopRecordingTrack2: return(camera.StopRecording(HikvisionIsapiCamera.Track2)); case Commands.TakeSnapshotTrack1: return(TakeSnapshot(camera, HikvisionIsapiCamera.Track1)); case Commands.TakeSnapshotTrack2: return(TakeSnapshot(camera, HikvisionIsapiCamera.Track2)); case Commands.Poll: return(camera.RefreshProperties()); } return(Task.CompletedTask); }
public async Task HandleCommand(DeviceIdentifier deviceIdentifier, CancellationToken token, MPowerConnector connector, double value, ePairControlUse control) { if (deviceIdentifier.DeviceId != rootDeviceId) { throw new ArgumentException("Invalid Device Identifier"); } if (!currentChildDevices.TryGetValue(deviceIdentifier.Address, out var deviceData)) { throw new HspiException(Invariant($"{deviceIdentifier.Address} Not Found.")); } await deviceData.HandleCommand(connector, token, value, control).ConfigureAwait(false); }
public override Task HandleCommand(IHSApplication HS, CameraBase baseCamera, string stringValue, double value, ePairControlUse control, CancellationToken token) { var camera = (OnvifCamera)baseCamera; switch ((Commands)value) { case Commands.Reboot: return(camera.Reboot()); case Commands.TakeSnapshot: return(camera.TakeSnapshot()); } return(Task.CompletedTask); }
public VSPair AddVSTemperaturePair(bool C, double Start = 0, double End = 35, string Suffix = null, int RangeStatusDecimals = 0, ePairControlUse ControlUse = ePairControlUse.Not_Specified, CAPIControlType ControlType = CAPIControlType.ValuesRange, string Graphic = "/images/HomeSeer/status/Thermometer-50.png", ePairStatusControl Status_Control = ePairStatusControl.Both ) { return(AddVSRangePair(Start, End, Suffix: Suffix ?? (C ? " °C" : " °F"), Graphic: Graphic, RangeStatusDecimals: RangeStatusDecimals, ControlUse: ControlUse, ControlType: ControlType, Status_Control: Status_Control )); }
public VSPair AddVSRangePair(double Start, double End, string Prefix = "", string Suffix = "", int RangeStatusDecimals = 0, ePairControlUse ControlUse = ePairControlUse.Not_Specified, CAPIControlType ControlType = CAPIControlType.ValuesRange, string Graphic = null, ePairStatusControl Status_Control = ePairStatusControl.Both ) { var svPair = new VSPair(Status_Control) { PairType = VSVGPairType.Range, RangeStart = Start, RangeEnd = End, ControlUse = ControlUse, Render = ControlType, IncludeValues = true, RangeStatusPrefix = Prefix, RangeStatusSuffix = Suffix, RangeStatusDecimals = RangeStatusDecimals }; bool ret = hs.DeviceVSP_AddPair(RefId, svPair); if (Graphic != null) { var vgPair = new VGPair(); vgPair.PairType = VSVGPairType.Range; vgPair.RangeStart = Start; vgPair.RangeEnd = End; vgPair.Graphic = Graphic; ret = hs.DeviceVGP_AddPair(RefId, vgPair); } return(svPair); }
public override Task HandleCommand(MPowerConnector connector, CancellationToken token, double value, ePairControlUse control) { bool?output = null; if (control == ePairControlUse._Off) { output = false; } else if (control == ePairControlUse._On) { output = true; } else if (value == OffValue) { output = false; } else if (value == OnValue) { output = true; } if (output.HasValue) { return(connector.UpdateOutput(Port, output.Value, token)); } else { return(Task.CompletedTask); } }
public async Task HandleCommand(DeviceIdentifier deviceIdentifier, CameraBase camera, string stringValue, double value, ePairControlUse control) { if (deviceIdentifier.CameraId != CameraSettings.Id) { throw new ArgumentException("Invalid Device Identifier"); } DeviceDataBase deviceData; using (var sync = await dataLock.ReaderLockAsync().ConfigureAwait(false)) { if (!devices.TryGetValue(deviceIdentifier.Address, out deviceData)) { throw new HspiException(Invariant($"{deviceIdentifier.Address} Not Found.")); } } await deviceData.HandleCommand(HS, camera, stringValue, value, control, cancellationToken).ConfigureAwait(false); }
public async Task HandleCommand(DeviceIdentifier deviceIdentifier, string stringValue, double value, ePairControlUse control) { if (deviceIdentifier.CameraId != CameraSettings.Id) { throw new ArgumentException("Invalid Device Identifier", nameof(deviceIdentifier)); } await rootDeviceData.HandleCommand(deviceIdentifier, camera, stringValue, value, control).ConfigureAwait(false); }
public virtual Task HandleCommand(MPowerConnector connector, CancellationToken token, double value, ePairControlUse control) => throw new NotImplementedException();
public async Task HandleCommand(DeviceIdentifier deviceIdentifier, double value, ePairControlUse control) { if (deviceIdentifier.DeviceId != Device.Id) { throw new ArgumentException("Invalid Device Identifier"); } // This function runs in separate thread than main run MPowerConnector connectorCopy; await rootDeviceDataLock.WaitAsync(Token); try { connectorCopy = connector; if (connectorCopy == null) { throw new HspiException(Invariant($"No connection to Device for {Device.DeviceIP}")); } await rootDeviceData.HandleCommand(deviceIdentifier, Token, connectorCopy, value, control); } finally { rootDeviceDataLock.Release(); } await connectorCopy.UpdateAllSensorData(Token); }
public override Task HandleCommand(MPowerConnector connector, CancellationToken token, double value, ePairControlUse control) { bool output = false; if (control == ePairControlUse._Off) { output = false; } else if (control == ePairControlUse._On) { output = true; } else if (value == OffValue) { output = false; } else if (value == OnValue) { output = true; } return(connector.UpdateOutput(Port, output, token)); }
public virtual Task HandleCommand(AirVisualNodeConnector connector, double value, ePairControlUse control, CancellationToken token) => throw new NotImplementedException();