package main import ( "fmt" "log" "xengineering.eu/homematic-go/homematic" ) const ( HOST = `127.0.0.1` PORT = 8080 ) func main() { server := fmt.Sprintf("http://%s:%d", HOST, PORT) req := homematic.NewRequester(server) inventory, err := req.ListDevices() if err != nil { log.Fatalf("Failed to retrieve device list: %v", err) } for _, device := range inventory { if device.Type == `SHUTTER_CONTACT` { state, err := req.GetValue(device.Address) if err != nil { log.Fatalf("Failed to get value: %v", err) } log.Printf("%s %s has state %t", device.Type, device.Address, state) } } }