A local listener for the Owl Intuition energy monitor
Package owl reads a slice of bytes as broadcast by the Owl Intuition electricity monitor and decodes them into an ElecReading containing three channels of Power and Energy measurements. It also reports battery level, signal strength and timestamp. Although the Owl Intuition broadcasts weather readings these are ignored as they are of limited use. Errors are returned if the byte slice is not decoded successfully.
Further information on the Owl Intuition multicast and UDP messages formats can be found on the OWL Intuition support pages.
Full documentation: godoc.org/github.com/billglover/go-owl
- basic – logs electricity readings to the console
- multicast – similar to
basic
but listens to the multicast address - prometheus – exposes electricty readings as metrics for Prometheus
To run the basic example:
examples/multicast ▸ go build
examples/multicast ▸ ./multicast
2017-11-07 21:50:44 +0000 GMT : electricity reading : power=434.00w
2017-11-07 21:50:56 +0000 GMT : electricity reading : power=418.00w
2017-11-07 21:51:32 +0000 GMT : electricity reading : power=402.00w
goos: darwin
goarch: amd64
pkg: github.com/billglover/go-owl
BenchmarkRead-8 50000 24739 ns/op
PASS
ok github.com/billglover/go-owl 1.496s
Note: remember, benchmarks allow for relative comparisons as actual performance is system dependence.
Contributions are welcome. Please leave a comment on an issue if you are going to work on it.