Skip to content

A local listener for the Owl Intuition energy monitor

License

Notifications You must be signed in to change notification settings

billglover/go-owl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-owl

A local listener for the Owl Intuition energy monitor

Go Report Card travis-ci

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

Examples

  • 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

Benchmarks

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.

Contributing

Contributions are welcome. Please leave a comment on an issue if you are going to work on it.