Imaginary Home is a suite of Open Source APIs for home automation. It includes both a reference implementation for a RESTful home automation API for cloud and home, but also a Java abstraction API for talking to devices and the REST API.