public ITemperature this[ThermostatSetpointType setpointType] { get { return(_setpoints[setpointType]); } }
public void SetSetpoint(ThermostatSetpointType setpointType, ITemperature temperature) { var controlThinkSetpointType = setpointType.ToControlThinkType().Value; var controlThinkTemperature = temperature.ToControlThinkType().Value; _device.DoDeviceOperation(() => _thermostat.ThermostatSetpoints[controlThinkSetpointType].Temperature = controlThinkTemperature); }
public ITemperature this[ThermostatSetpointType setpoint] { get { return _setpoints[setpoint]; } }
public async Task Set(ThermostatSetpointType type, float value, CancellationToken cancellationToken) { // encode value, decimals = 1, scale = 0 (°C) var encoded = PayloadConverter.GetBytes(value, decimals: 1, scale: 0); var payload = new byte[] { Convert.ToByte(type) }.Concat(encoded).ToArray(); await Channel.Send(Node, new Command(Class, command.Set, payload), cancellationToken); }
public async Task Set(ThermostatSetpointType type, float value) { // encode value, decimals = 1, scale = 0 (°C) var encoded = PayloadConverter.GetBytes(value, decimals: 1, scale: 0); var payload = new byte[] { Convert.ToByte(type) }.Concat(encoded).ToArray(); await Channel.Send(Node, new Command(Class, command.Set, payload)); }
public async Task <ThermostatSetpointReport> SwitchBinary(byte id, ThermostatSetpointType type) { var nodes = await zwave.GetNodes(); var node = nodes[id]; return(await node.GetCommandClass <ThermostatSetpoint>().Get(type)); }
internal ThermostatModeReport(Node node, byte[] payload) : base(node) { if (payload == null) throw new ArgumentNullException(nameof(payload)); if (payload.Length < 1) throw new ReponseFormatException($"The response was not in the expected format. {GetType().Name}: Payload: {BitConverter.ToString(payload)}"); Type = (ThermostatSetpointType)(payload[0] & 0x1F); }
internal void Update(ThermostatSetpointType setpointType, ITemperature temperature) { if (_setpoints.ContainsKey(setpointType)) { _setpoints[setpointType] = temperature; } else { _setpoints.Add(setpointType, temperature); } }
internal ThermostatSetpointReport(Node node, byte[] payload) : base(node) { if (payload == null) throw new ArgumentNullException(nameof(payload)); if (payload.Length < 3) throw new ReponseFormatException($"The response was not in the expected format. {GetType().Name}: Payload: {BitConverter.ToString(payload)}"); Type = (ThermostatSetpointType)(payload[0] & 0x1F); Value = PayloadConverter.ToFloat(payload.Skip(1).ToArray(), out Scale); Unit = GetUnit(Type, Scale); }
private static byte GetSetpointIndex(ThermostatSetpointType setpointType) { switch (setpointType) { case ThermostatSetpointType.Heat: return HeatSetpointIndex; case ThermostatSetpointType.Cool: return CoolSetpointIndex; } throw new ArgumentException("setpointType " + setpointType + " not recognized", "setpointType"); }
private static byte GetSetpointIndex(ThermostatSetpointType setpointType) { switch (setpointType) { case ThermostatSetpointType.Heat: return(HeatSetpointIndex); case ThermostatSetpointType.Cool: return(CoolSetpointIndex); } throw new ArgumentException("setpointType " + setpointType + " not recognized", "setpointType"); }
internal ThermostatSetpointReport(Node node, byte[] payload) : base(node) { if (payload == null) { throw new ArgumentNullException(nameof(payload)); } if (payload.Length < 3) { throw new ReponseFormatException($"The response was not in the expected format. {GetType().Name}: Payload: {BitConverter.ToString(payload)}"); } Type = (ThermostatSetpointType)(payload[0] & 0x1F); Value = PayloadConverter.ToFloat(payload.Skip(1).ToArray(), out Scale); Unit = GetUnit(Type, Scale); }
public ITemperature this[ThermostatSetpointType setpointType] { get { ThermostatSetpointDataEntry dataEntry = _setpoints[setpointType]; //TODO: maybe this could be more relaxed? if (!dataEntry.HasValue()) { throw new IndexOutOfRangeException(); } var result = dataEntry.GetValue(); return result; } }
public ITemperature this[ThermostatSetpointType setpointType] { get { ThermostatSetpointDataEntry dataEntry = _setpoints[setpointType]; //TODO: maybe this could be more relaxed? if (!dataEntry.HasValue()) { throw new IndexOutOfRangeException(); } var result = dataEntry.GetValue(); return(result); } }
public static ControlThinkSetpointType?ToControlThinkType(this ThermostatSetpointType input) { ControlThinkSetpointType?result; switch (input) { case ThermostatSetpointType.Heat: result = ControlThinkSetpointType.Heating1; break; case ThermostatSetpointType.Cool: result = ControlThinkSetpointType.Cooling1; break; default: result = null; break; } return(result); }
public Task Set(ThermostatSetpointType type, float value) { return(Set(type, value, CancellationToken.None)); }
public void SetSetpoint(ThermostatSetpointType setpointType, ITemperature temperature) { var controlThinkSetpointType = setpointType.ToControlThinkType().Value; var controlThinkTemperature = temperature.ToControlThinkType().Value; _device.DoDeviceOperation(() => _thermostat.ThermostatSetpoints[controlThinkSetpointType].Temperature = controlThinkTemperature); }
public Task <ThermostatSetpointReport> Get(ThermostatSetpointType type) { return(Get(type, CancellationToken.None)); }
public async Task <ThermostatSetpointReport> Get(ThermostatSetpointType type, CancellationToken cancellationToken) { var response = await Channel.Send(Node, new Command(Class, command.Get, Convert.ToByte(type)), command.Report, cancellationToken); return(new ThermostatSetpointReport(Node, response)); }
public async Task Set(ThermostatSetpointType type, float value) { await Channel.Send(Node, new Command(Class, command.Set, Convert.ToByte(type))); }
public ThermostatSetpointDataEntry(OpenZWaveDevice device, ThermostatSetpointType setpointType) : base(device, CommandClass.ThermostatSetpoint, GetSetpointIndex(setpointType)) { }
public static string GetUnit(ThermostatSetpointType type, byte scale) { return(scale == 1 ? "°F" : "°C"); }
public async Task<ThermostatModeReport> Get(ThermostatSetpointType type) { var response = await Channel.Send(Node, new Command(Class, command.Get, Convert.ToByte(type)), command.Report); return new ThermostatModeReport(Node, response); }
public ThermostatSetpointDataEntry(OpenZWaveDevice device, ThermostatSetpointType setpointType) : base(device, CommandClass.ThermostatSetpoint, GetSetpointIndex(setpointType)) { }
public void SetSetpoint(ThermostatSetpointType setpointType, ITemperature temperature) { var setpoint = _setpoints[setpointType]; setpoint.SetValue(temperature); }
public void SetSetpoint(ThermostatSetpointType setpointType, ITemperature temperature) { var setpoint = _setpoints[setpointType]; setpoint.SetValue(temperature); }
internal void Update(ThermostatSetpointType setpointType, ITemperature temperature) { if (_setpoints.ContainsKey(setpointType)) { _setpoints[setpointType] = temperature; } else { _setpoints.Add(setpointType, temperature); } }
public void ItParsesValuesProperly(string input, ThermostatSetpointType expected) { var actual = ThermostatSetpointTypeParser.Parse(input); Assert.That(actual, Is.EqualTo(expected)); }
public static string GetUnit(ThermostatSetpointType type, byte scale) { return (scale == 1 ? "°F" : "°C"); }
public void ItParsesValuesProperly(string input, ThermostatSetpointType expected) { var actual = ThermostatSetpointTypeParser.Parse(input); Assert.That(actual, Is.EqualTo(expected)); }