![]() |
4 months ago | |
---|---|---|
build | 4 months ago | |
screenshots | 4 months ago | |
ui | 4 months ago | |
.gitignore | 4 months ago | |
README.md | 4 months ago | |
go.mod | 4 months ago | |
go.sum | 4 months ago | |
init.go | 4 months ago | |
main.go | 4 months ago | |
package.json | 4 months ago | |
restore.go | 4 months ago | |
rollup.go | 4 months ago | |
websocket.go | 4 months ago |
This project aims to be a simple to install energy monitoring app. Currently the energy sensor logging expects an Efergy data structure, but it would be very easy to support other data structures. The UI is hardware independent, but is focused on energy, but it wouldn't be difficult to support other data.
You will need to have the fantastic rtl_433 project https://github.com/merbanan/rtl_433 to be installed and working for this software to function. Just make sure it's in the $PATH so this app can execute it.
Only tested on Linux so far, happy for PR's to fix other platforms.
The data is stored in a simple Round Robin style format in JSON files. It stores < 10 raw samples, 60 minute averages, 24 hour averages, 31 day averages and unlimited month totals. Total storage should be less than a megabyte max even for several years.
The program will run rtl_433 and capture the sensor data via standard input, it also listens on a websocket on port 4888, it will broadcast every new sample it receives to every websocket connection. It will also respond to individual requests for the rollup averages.
The UI is a basic SPA app that will connect to the websocket and request the rollup data and render the charts, it will also display the live power usage. You can customize the websocket address using the settings cog icon.
Of course you can build / host the UI yourself, but a fully compiled and hosted version can also be accessed via ENS/IPFS at energytracker.eth or https://energytracker.eth.link and you can also grab the IPFS multihash and pin it into your own IPFS instance.