mirror of https://git.sr.ht/~michalr/go-satel
7793e93b5b | ||
---|---|---|
.github/workflows | ||
.gitignore | ||
LICENSE | ||
README.md | ||
change_type.go | ||
frame.go | ||
go.mod | ||
go.sum | ||
satel.go | ||
satel_test.go | ||
scanner.go |
README.md
go-satel
go-satel is a Go library to integrate with Satel ETHM-1/ETHM-1 Plus module
Installation
go-satel is compatible with modern Go releases in module mode, with Go installed:
go get github.com/probakowski/go-satel
will resolve and add the package to the current development module, along with its dependencies.
Alternatively the same can be achieved if you use import in a package:
import "github.com/probakowski/go-satel"
and run go get
without parameters.
Finally, to use the top-of-trunk version of this repo, use the following command:
go get github.com/probakowski/go-satel@master
Usage
s := satel.NewConfig("<ip:port>", satel.Config{EventsQueueSize: 1000})
go func() {
value := true
for {
s.SetOutput("<user code>", <port number>, value)
time.Sleep(5 * time.Second)
value = !value
}
}()
for e, ok := <-s.Events; ok; e, ok = <-s.Events {
logger.Print("change from satel", "type", e.Type, "index", e.Index, "value", e.Value)
}