A method executable by a controller device, the method comprising: defining, in response to user input, an environment model, the environment model including a hierarchical representation of a physical environment where a plurality of accessory devices (104, 106, 108, 110, 112) are present, and the hierarchical representation including a plurality of rooms at a lowest level and a plurality of zones at a higher level than the lowest level, each zone of the plurality of zones including at least one subset of the plurality of rooms; adding, in response to user input, a representation of each accessory device of the plurality of accessory devices (104, 106, 108, 110, 112) to the environment model, the representation of each accessory device (104, 106, 108, 110, 112) of the plurality of accessory devices (104, 106, 108, 110, 112) being assigned to a room of the plurality of rooms in the environment model, each accessory device of the plurality of accessory devices having one of more services, each service being defined by a set of characteristics, each characteristic being defined by a value at any given time; providing a user interface operable to present a representation of at least one accessory device of the plurality of accessory devices, a representation of a current state of each characteristic of the accessory device, and a control element to allow the user to change a target state of a characteristic of the accessory device; and receive an input indicating a change to the target state; controlling the at least one accessory device by sending information to the at least one accessory device identifying the target state; and receiving, in response to sending information to the least one accessory device, an indication from the at least one accessory device of a new current state of at least one characteristic of the accessory device and updating the representation of the current state of that characteristic. defining, in response to user input, an environment model, the environment model including a hierarchical representation of a physical environment where a plurality of accessory devices (104, 106, 108, 110, 112) are present, and the hierarchical representation including a plurality of rooms at a lowest level and a plurality of zones at a higher level than the lowest level, each zone of the plurality of zones including at least one subset of the plurality of rooms; adding, in response to user input, a representation of each accessory device of the plurality of accessory devices (104, 106, 108, 110, 112) to the environment model, the representation of each accessory device (104, 106, 108, 110, 112) of the plurality of accessory devices (104, 106, 108, 110, 112) being assigned to a room of the plurality of rooms in the environment model, each accessory device of the plurality of accessory devices having one of more services, each service being defined by a set of characteristics, each characteristic being defined by a value at any given time; providing a user interface operable to present a representation of at least one accessory device of the plurality of accessory devices, a representation of a current state of each characteristic of the accessory device, and a control element to allow the user to change a target state of a characteristic of the accessory device; and receive an input indicating a change to the target state; controlling the at least one accessory device by sending information to the at least one accessory device identifying the target state; and receiving, in response to sending information to the least one accessory device, an indication from the at least one accessory device of a new current state of at least one characteristic of the accessory device and updating the representation of the current state of that characteristic.