A system for managing group commands associated with groups of device representations comprising: at least one processor; a memory device including instructions that, when executed by the at least one processor, cause the system to: receive a group command associated with a group of device representations managed by a device shadowing service that maintains the device representations, wherein device representations included in the group of device representations represent physical devices that connect to the device shadowing service over one or more computer networks identify the device representations included in the group of device representations; for device representations included in the group of device representations, update a desired state represented by a device representation included in the group of device representations to a state indicated in the group command; send instructions to the physical devices represented by the device representations included in the group of device representations to assume the desired state; receive a first indication that a physical device represented by a device representation included in the group of device representations has assumed the desired state; update a recorded state represented by the device representation included in the group of device representations in response to the first indication to indicate the desired state assumed by the physical device associated with the device representation; and provide a progress of execution of the group command. at least one processor; a memory device including instructions that, when executed by the at least one processor, cause the system to: receive a group command associated with a group of device representations managed by a device shadowing service that maintains the device representations, wherein device representations included in the group of device representations represent physical devices that connect to the device shadowing service over one or more computer networks identify the device representations included in the group of device representations; for device representations included in the group of device representations, update a desired state represented by a device representation included in the group of device representations to a state indicated in the group command; send instructions to the physical devices represented by the device representations included in the group of device representations to assume the desired state; receive a first indication that a physical device represented by a device representation included in the group of device representations has assumed the desired state; update a recorded state represented by the device representation included in the group of device representations in response to the first indication to indicate the desired state assumed by the physical device associated with the device representation; and provide a progress of execution of the group command. receive a group command associated with a group of device representations managed by a device shadowing service that maintains the device representations, wherein device representations included in the group of device representations represent physical devices that connect to the device shadowing service over one or more computer networks identify the device representations included in the group of device representations; for device representations included in the group of device representations, update a desired state represented by a device representation included in the group of device representations to a state indicated in the group command; send instructions to the physical devices represented by the device representations included in the group of device representations to assume the desired state; receive a first indication that a physical device represented by a device representation included in the group of device representations has assumed the desired state; update a recorded state represented by the device representation included in the group of device representations in response to the first indication to indicate the desired state assumed by the physical device associated with the device representation; and provide a progress of execution of the group command.