We consider a smart lighting control system for daylight and occupancy adaptation with illumination and dimming constraints. The lighting system has multiple luminaires, with co-located light and occupancy sensors, and a central controller. The sensors communicate local occupancy state and illuminance measurements to the central controller where dimming levels for the luminaires are optimized. We consider an optimization framework wherein the objective is to minimize the power consumption subject to illumination and dimming constraints. The illumination constraint is to achieve an illumination value at the light sensor that is above a specified set-point, depending on the occupancy state. The dimming constraints are to achieve a level of spatial uniformity in dimming levels of the luminaires within a neighbourhood, with the dimming levels being within physical limits. We propose an iterative method for optimization to determine the dimming levels that (i) does not require explicit daylight knowledge for every iteration, and (ii) induces smoother dimming level changes in luminaires. The proposed method and optimization framework is compared with existing approaches, in terms of achieved illumination and dimming values, in an open-plan office lighting model.