energietracker
Health Pass
- License — License: AGPL-3.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 11 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Self-hosted energy and water tracker. Home Assistant measures, Energietracker settles the bill: balance, bill check, contracts, forecasts and what-if. Ask your local AI over MCP, check your rights as a customer (German law), let supplier mail be read for you. Home Assistant app and HACS. No account, no database, no telemetry.
Energietracker
English · Deutsch
Home Assistant measures, Energietracker settles the bill.
Meter readings in, answers out: Will I get money back? Is the bill right? Is switching worth it?
Self-hosted, no account and no database. And, if you like, with your own AI in your home network.
Demo · Help · Roadmap · Discussions
![]()
At a glance
| What you get | |
|---|---|
| Ask your AI how electricity and gas are doing. Over MCP it looks up balance, consumption, contracts and deadlines with 20 tools and says where every figure comes from. It changes nothing without you: by default you confirm every proposal in the app. Off by default, tested with Open WebUI and a local model through Ollama, other programs and cloud AI experimental. Guide | |
| Your rights as a customer, with a source. Seven checks under German law: late bill, advance payment too high, special termination after a price increase, missing bonus and more. The matching letter comes as text and PDF, in German. A note, not legal advice. Rights | |
| File supplier mail instead of typing it. Drop the PDF into the inbox, an AI in your home network reads it, every figure shows its place in the document. One click takes it over, even a whole household from a stack of letters. Inbox | |
| Will I get money back? Balance per contract: measured up to the last reading, estimated up to today, expected at the bill, with an honest range. As on the bill: “credit” or “additional payment”. Balance | |
| What does a cold winter cost? The forecast workshop runs winter, insulation, room temperature and tariff through your own data, with a ranking and the result as a PDF. What if | |
| Save where it can be shown. Set the advance payment right, check a switch with notice period and break-even point, recalculate the annual bill section by section. No made-up savings: you see your own figures. Annual bill | |
| Home Assistant measures, Energietracker settles the bill. Readings come from Home Assistant, deadlines and new mail go back as notifications. As an app for Home Assistant OS, sensors through the HACS integration without YAML. Home Assistant | |
| Your data stays with you. No accounts, no ads, no telemetry, no database, just files on your server. By default only the weather sync goes out, and it can be switched off; everything else you switch on yourself. Your data |
Nine utilities: gas, electricity, water, district heating, heating oil, pellets, PV feed-in, PV generation
and heat. In seven languages: German, English, French, Italian, Spanish, Portuguese and Dutch. Plus meter
swaps, sub-meters, metering concepts with heat pump and peak/off-peak, weather adjustment with degree days,
tenancy and in-app help with a glossary and an ⓘ next to technical terms.
→ All features · All views with pictures
![]()
Quick start
docker run -d --name energietracker --restart unless-stopped -p 8080:80 \
-v energietracker-data:/data \
ghcr.io/bingerminger/energietracker:3
Then open http://localhost:8080. “Try with sample data” shows right away what everything looks like;
your own data is not lost.
Home Assistant OS: install it as an app, with an entry in the sidebar and sign-in through Home
Assistant (step by step).Sensors in Home Assistant without YAML: the integration through HACS,
energietracker-hacs.Without Docker, PHP 8.3 or later is enough:
git clone, thenphp -S 127.0.0.1:8080 router.php.For permanent use: Installation ·
Docker, also on Synology · Apache and nginx ·
Use on your phone.
[!WARNING]
Without sign-in, anyone who can reach the app can read and change everything. On your own home network
that is fine. Before allowing access from outside, switch sign-in on:
Security & network operation.
Who it is for
| Home Assistant (Energy) | Energietracker | |
|---|---|---|
| Meter readings | automatic, real time | by hand, by CSV, from supplier mail or from Home Assistant |
| Costs | one price per unit | contract with energy and standing charge, bonuses, advance payments, price changes to the day |
| Billing | — | balance, expected bill, bill check, notice periods, your rights as a customer |
| Weather | — | degree days from your location, weather adjustment |
| Outlook | — | cost forecast for the year, switching decision, what if |
- Households, rented or owned, who want to understand and foresee their annual bill.
- Home Assistant users: Home Assistant measures, Energietracker works out contracts, advance payments and
forecasts. - AI users: an AI in your home network that looks things up instead of guessing, and changes nothing
without you. - Tinkerers: open REST API, CSV and JSON backup, no database.
Your data
Everything stays on your server: no accounts, no ads, no telemetry, no database, just JSON files. The app
talks only to Open-Meteo: for the daily weather sync (it sends your location rounded to about 1 km, and can be
switched off) and the place search, if you use it.
Paths you switch on yourself:
- your own text recognition service in your home network, if you set one up (for meter photos and for reading
supplier mail in the inbox); - your evcc in your home network, when you fetch its charging sessions;
- your Home Assistant, when you switch on notifications to it;
- wholesale electricity prices for the dynamic tariff check, when you tap “Load from SMARD” (Federal Network
Agency; nothing of yours is sent); - the note about new versions (once a day GitHub is asked for the newest version number; only your server’s
address is visible).
Reading in the cloud is off until someone who manages the installation switches it on. Then documents go to
the chosen service: Claude (Anthropic) at api.anthropic.com, OpenAI (api.openai.com),
Mistral (api.mistral.ai), OpenRouter (openrouter.ai), Google Gemini (generativelanguage.googleapis.com) or your
own OpenAI-compatible address, which is only contacted with this opt-in. The app contacts each of these hosts
only with the opt-in: for the list of models once the key is saved, and for reading once it is switched on.
All cloud paths are experimental. The AI interface (MCP) is off by default and only accepts requests with a key
of its own. Fonts, Chart.js and PDF.js ship with the repository.
Help and community
- In the app: Help at the bottom of the sidebar (on the iPhone under “More”) with the guide, first steps
and a glossary, plus an ⓘ next to technical terms. - Handbook: Getting started ·
Questions and answers ·
Enter and check the annual bill ·
Troubleshooting · the full compendium, also in
German. - Questions and ideas: Discussions, ideas
with voting under Ideas. - Bugs: Issues.
Please report security issues confidentially, as described in SECURITY.md. - What comes next: Roadmap.
Countries and assumptions
Country profiles for Germany, Austria, Switzerland, France, Italy, Spain, Portugal, the Netherlands and the
United Kingdom set currency, formats, time zone, weather location, heating limit, CO₂ factor and gas units.
In substance Energietracker is at home in Germany: efficiency classes per the GModG (formerly GEG), CO₂
factors from BAFA and the German Environment Agency, the special right to cancel under the EnWG, the rights
checks under German law. Elsewhere it calculates without classes and says why; it does not convert currencies.
Country profiles
Status
v3.12.0 is the current version; what changed is in the CHANGELOG (German version:
CHANGELOG.md). APIs, CSV formats and the backup format change only additively; anything is
removed only with a new major version and after notice. What comes next is in the roadmap.
Coming from a private v0.9.0: since 3.4.0 no version reads its backups any more; install 3.3.0, migrate there,
then update.
Contributing
Pull requests are welcome. Setup, tests and the documentation rules are in CONTRIBUTING.md,
and the code of conduct applies to everyone. A new language is mostly translation: a
catalogue, an entry in languages.json and its notation under format.*, plus a few lines of code for the
plural rule and the country assignment (Translating and languages).
Support
Energietracker is independent: no company behind it, no advertising, no cloud account, no data collection. If
it saves you money or time and you want to give something back, you can
buy me a coffee, entirely voluntary. A star on GitHub, bug reports
and telling others about it help just as much. You reach both from the app too, at the bottom of the sidebar.
Licence
Since version 3.0.0 Energietracker is under the GNU AGPL v3.0 or later. In plain words:
- At home it is yours: use it for free, change it, pass it on, with no conditions, no account, no fee.
- Only one rule: whoever offers a modified version to others as a web service also gives them its source
code. That keeps the app free and open for everyone. - Nothing hidden: under Settings → System a link leads to the source code of exactly the running version.
Versions up to 2.16.0 remain available under the MIT licence they were published with.
It ships Chart.js (MIT), PDF.js (Apache-2.0)
and the fonts DM Sans and DM Mono (SIL Open Font License 1.1); weather data comes from
Open-Meteo.com under CC BY 4.0.
Details in CREDITS.md, product names in TRADEMARKS.md.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found