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);
        }
        public static ZWaveMessage Set(ZWaveNode node, ClimateControlScheduleValue value)
        {
            var message = new List <byte> ();

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

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