Exemplo n.º 1
0
 public ITemperature this[ThermostatSetpointType setpointType]
 {
     get
     {
         return(_setpoints[setpointType]);
     }
 }
Exemplo n.º 2
0
        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];
     }
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 8
0
 internal void Update(ThermostatSetpointType setpointType, ITemperature temperature)
 {
     if (_setpoints.ContainsKey(setpointType))
     {
         _setpoints[setpointType] = temperature;
     }
     else
     {
         _setpoints.Add(setpointType, temperature);
     }
 }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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");
        }
Exemplo n.º 11
0
        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");
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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;
            }
        }
Exemplo n.º 14
0
        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);
            }
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
 public Task Set(ThermostatSetpointType type, float value)
 {
     return(Set(type, value, CancellationToken.None));
 }
Exemplo n.º 17
0
 public void SetSetpoint(ThermostatSetpointType setpointType, ITemperature temperature)
 {
     var controlThinkSetpointType = setpointType.ToControlThinkType().Value;
     var controlThinkTemperature = temperature.ToControlThinkType().Value;
     _device.DoDeviceOperation(() => _thermostat.ThermostatSetpoints[controlThinkSetpointType].Temperature = controlThinkTemperature);
 }
Exemplo n.º 18
0
 public Task <ThermostatSetpointReport> Get(ThermostatSetpointType type)
 {
     return(Get(type, CancellationToken.None));
 }
Exemplo n.º 19
0
        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));
        }
Exemplo n.º 20
0
 public async Task Set(ThermostatSetpointType type, float value)
 {
     await Channel.Send(Node, new Command(Class, command.Set, Convert.ToByte(type)));
 }
Exemplo n.º 21
0
 public ThermostatSetpointDataEntry(OpenZWaveDevice device, ThermostatSetpointType setpointType)
     : base(device, CommandClass.ThermostatSetpoint, GetSetpointIndex(setpointType))
 {
 }
Exemplo n.º 22
0
 public static string GetUnit(ThermostatSetpointType type, byte scale)
 {
     return(scale == 1 ? "°F" : "°C");
 }
Exemplo n.º 23
0
 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);
 }
Exemplo n.º 24
0
 public ThermostatSetpointDataEntry(OpenZWaveDevice device, ThermostatSetpointType setpointType)
     : base(device, CommandClass.ThermostatSetpoint, GetSetpointIndex(setpointType))
 {
 }
Exemplo n.º 25
0
        public void SetSetpoint(ThermostatSetpointType setpointType, ITemperature temperature)
        {
            var setpoint = _setpoints[setpointType];

            setpoint.SetValue(temperature);
        }
Exemplo n.º 26
0
        public void SetSetpoint(ThermostatSetpointType setpointType, ITemperature temperature)
        {
            var setpoint = _setpoints[setpointType];

            setpoint.SetValue(temperature);
        }
Exemplo n.º 27
0
 internal void Update(ThermostatSetpointType setpointType, ITemperature temperature)
 {
     if (_setpoints.ContainsKey(setpointType))
     {
         _setpoints[setpointType] = temperature;
     }
     else
     {
         _setpoints.Add(setpointType, temperature);
     }
 }
Exemplo n.º 28
0
        public void ItParsesValuesProperly(string input, ThermostatSetpointType expected)
        {
            var actual = ThermostatSetpointTypeParser.Parse(input);

            Assert.That(actual, Is.EqualTo(expected));
        }
Exemplo n.º 29
0
 public static string GetUnit(ThermostatSetpointType type, byte scale)
 {
     return (scale == 1 ? "°F" : "°C");
 }
Exemplo n.º 30
0
        public void ItParsesValuesProperly(string input, ThermostatSetpointType expected)
        {
            var actual = ThermostatSetpointTypeParser.Parse(input);

            Assert.That(actual, Is.EqualTo(expected));
        }