summaryrefslogtreecommitdiff
path: root/main.go
blob: 2beb538d8bf4b3775d89126e3635c4ebef1eb0aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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)
		}
	}
}