public NodeEvent GetEvent(ZWaveNode node, byte [] message)
        {
            if (message.Length == 0)
            {
                return(null);
            }

            byte cmdType = message [1];

            if (cmdType == (byte)Command.ScheduleReport)
            {
                var climateControlScheduleValue = ClimateControlScheduleValue.Parse(message);
                return(new NodeEvent(node, EventParameter.ClimateControlSchedule, climateControlScheduleValue, 0));
            }

            if (cmdType == (byte)Command.ScheduleChangedReport)
            {
                return(new NodeEvent(node, EventParameter.ClimateControlScheduleChanged, message[2], 0));
            }

            if (cmdType == (byte)Command.ScheduleOverrideReport)
            {
                var climateControlScheduleOverrideValue = ClimateControlScheduleOverrideValue.Parse(message);
                return(new NodeEvent(node, EventParameter.ClimateControlScheduleOverride, climateControlScheduleOverrideValue, 0));
            }

            return(null);
        }
Esempio n. 2
0
        public static ClimateControlScheduleOverrideValue Parse(byte [] bytes)
        {
            var result = new ClimateControlScheduleOverrideValue();

            result.OverrideType  = (OverrideType)bytes [2];
            result.ScheduleState = ScheduleStateValue.Parse(bytes [3]);

            return(result);
        }
        public static ZWaveMessage OverrideSet(ZWaveNode node, ClimateControlScheduleOverrideValue scheduleOverride)
        {
            var message = new List <byte> ();

            message.AddRange(new byte [] {
                (byte)CommandClass.ClimateControlSchedule,
                (byte)Command.ScheduleOverrideSet,
            });
            message.AddRange(scheduleOverride.GetValueBytes());

            return(node.SendDataRequest(message.ToArray()));
        }