homematic is a simple library to interface a HomeMatic CCU2 or CCU3.
The communication is done with XML RPC and supports Wired, RF and HmIP devices.
// create client object for CCU
ccu, err := homematic.NewCCU("192.168.4.40")
// list all devices
devices, err := client.GetDevices()
// set state of device
devices["OEQ1234567:1"].SetValue("STATE", true)
See the documentation for more information.