Facilitating the interaction of human users and machines with smart devices is important to drive the successful adoption of the Internet of Things in people's homes and at their workplaces. In this poster contribution, we present an approach to support users controlling smart devices in their environment. To do this, we propose to embed semantic metadata in the representations of smart things. By means of this metadata and a semantic reasoning service, our system enables users to specify a desirable state of their smart environment and produces a machine-readable description that details which steps are necessary to reach this state, where each step corresponds to a Web request to a smart device. A client application that could, for instance, run on the user's smartphone, can distill the necessary steps required to reach the user's goal state from this description and execute them to modify the smart environment on behalf of the user.