text/microsoft-resx
2.0
System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Add
Add category
Add energy type
Add meter
Close
Color hex (optional, e.g. #ff9800)
Delete '{0}' and its {1} membership(s)? Manual costs in this category are kept but unlinked.
Delete category
Edit {0}
Meter: {0}
{0} meter(s), {1} type(s)
Type: {0}
Members
New category
No members yet — add a meter or an energy type.
Save the category first to add members.
Saved. Add members below.
Sort
Sort order
Cost
Actions
Amount
Cancel
Cost (range)
Currency
Date
Delete
Deleted.
Enabled
Energy type
Events:
Last seen
Manual costs:
Meter
Meters
Mode
Name
Name is required.
No data in this range.
Now
Preview
Range
All time
Last 12 months
Last 24 months
Last 5 years
Readings:
Save
Saved.
Scope
Skipped rows:
Status
Target
This year
Type
Unit
Value
Add connector
Base URL (e.g. http://homeassistant.local:8123)
Delete '{0}'?
{0} source(s) use it and will stop ingesting until reassigned to another connector.
Delete connector
Edit {0}
No connectors yet. Add an MQTT broker or a Home Assistant connection.
Encrypted before it is stored; database dumps and JSON exports carry nothing usable.
Enter credentials here
Enter the token here
Extra topics (comma-separated, optional)
Host
Last status
New connector
no
Password env-var name (optional)
Password (optional)
Password (stored — type to replace)
Port
name of an environment variable
Secrets are never stored here. Credentials/tokens are referenced by the
(or Docker secret) resolved at runtime.
Base URL differs from the saved one. Re-enter the token to test against a different host — a stored token is only sent to the host it was saved for.
Base URL is required.
Connected — Home Assistant API reachable and token accepted.
Connected — {0} = {1}.
Test connection
Test entity id (optional, e.g. sensor.house_power)
Environment variable '{0}' is not set on the server. Set it and restart the app, or switch on "Enter the token here" to store the token directly.
Connection failed: {0}
Home Assistant answered {0}.
Connected, but "{0}" has no numeric state (unavailable, unknown or not a number).
Enter a token first.
Name the environment variable holding the token, or switch on "Enter the token here".
No token available to test.
TLS
Long-lived access token
Token env-var name (e.g. HA_TOKEN)
name
The variable's
, not the token. Set it on the server and restart the app.
Enter the token, or switch off "Enter the token here" and name an env var.
Long-lived access token (stored — type to replace)
Username env-var name (optional)
Username (optional)
On: subscribe to state changes and ingest in real time. Off: REST poll on each source's interval.
Real-time WebSocket push
yes
as of {0}
Burner runtime
Consumption by month
Deliveries ({0})
Effective rate
{0}% of {1} {2}
Forecast to empty
No deliveries recorded.
No consumable meters found. Add a meter with mode
and a tank, or load the reference data from
Consumables
({0} {1}/day)
Tank level
{0} used
Used (range)
Category
Now
Prev
Latest month with data
No cost data yet — import a sheet or add tariffs.
This month
What cost more / less (year vs last year)
What costs most (this year)
Add energy type
Base unit
Base unit (kWh, m3, L, h)
Color hex (optional, e.g. #4caf50)
Default mode
Cannot delete '{0}': {1} meter(s) still use it.
Delete '{0}'? This cannot be undone.
Delete energy type
Display name
Edit {0}
Icon (optional)
Key
Key '{0}' is already in use.
Key (stable machine key, e.g. electricity)
New energy type
Key, display name and base unit are required.
Consumption
Upstream of
Energy
Flow
Where the top-level flow goes. Arrow thickness ∝ amount; "Other" is the unmetered remainder.
{0} flow
No meter chain configured yet. In
→ edit a sub-meter and set its
to show where the main meter's flow divides (e.g. main → car, pool, other).
upstream meter(s)
No meters for this energy type yet. Add meters in
, or load the reference data from
Top-level throughput
Consumption
Generation
Home Assistant
MQTT broker
Delivery
Ignore
Manual cost
Reading
Tank level
Correction
Counter reset
Delivery
Meter swap
Note
Tank level
Consumable balance
Cumulative counter
Direct delta
Generation counter
Instant rate
Runtime counter
Virtual
Anomaly
Counter reset
Meter swap
Estimated
Imported
Interpolated
Manual
Measured
Home Assistant
Import
Manual
MQTT
Tasmota
Virtual
Delta
Level
Rate
Register
Runtime
Empirical
Fixed
Base price
Bonus
Discount
Feed-in
Tax
Unit price
Energy type
Global
Meter
Allowed
not enabled (MeterVault__AllowInAppUpdate)
not supported on this install
For local debugging, enable the {0} environment by setting the {1} environment variable to {0} and restarting the app.
Development Mode
Swapping to {0} environment will display more detailed information about the error that occurred.
The Development environment shouldn't be enabled for deployed applications.
It can result in displaying sensitive information from exceptions to end users.
Error.
An error occurred while processing your request.
Error
Request ID:
Other ({0})
Row {0}: register for meter {1} fell {2}→{3}; a swap event was created (please check).
Row {0}: register for meter {1} fell {2}→{3}; consumption across the swap set to {4}.
Row {0}: skipped ({1}).
Row {0}: expected unit "{1}" but found "{2}".
Row {0}: unparseable date, skipped.
Back to Import
Choose CSV
Col {0}
Col {0}: {1}
Commit import
Commit failed: {0}
Imported batch #{0}: {1} rows staged. Consumption recomputed.
Auto-detect
Date column
Day (31.12.2024)
Date format
Month name (Januar 2024)
Detect swaps
Dry-run preview
{0} rows, {1} columns
First data row
Column
Role
Header row
Sample
Upload any CSV, map its columns to your meters and categories, preview what would be staged, then commit it as a revertible import. Values may use the German dialect (decimal comma, unit suffixes,
or
dates) — the same parser the reference sheets use.
The mapping changed after the preview. Run the dry run again, then commit.
meter {0}
Nothing staged. Check the first-data-row, date column and column mappings above.
Faded rows are before the first data row. The 📅 column supplies the date.
Select category
Select meter
Skip zero rows
1. Parsing options
2. Column preview
3. Map columns
4. Preview & commit
Import wizard
e.g. kWh
{0} all read into '{1}'. Each Reading column needs its own meter.
Col {0} (ManualCost) needs a target category.
Col {0} ({1}) needs a target meter.
Map at least one column to a role other than Ignore.
Import #{0} reverted.
Imported
Rows
Source
Dry-run a reference sheet
Import failed: {0}
Load reference data
Mapping wizard
No imports yet.
Costs (Kosten)
Electricity (Strom)
Heating oil (Heizöl)
Water (Wasser)
Recent imports
Reference data loaded.
Reference dataset
Load the bundled Energiebilanz sheets (electricity, water, heating oil, costs) as a starter dataset with meters, tariffs and categories.
Loaded
Reference profile
Revert
Delete all {0} rows from import #{1} ({2}) and recompute the affected meters?
Revert import?
Revert failed: {0}
active
reverted
unnamed
{0} warnings
Your own CSV
Map an arbitrary sheet's columns to your meters/categories, preview and commit it as a revertible import. Or dry-run against one of the built-in reference profiles below.
Dark mode
Language
Light mode
Reload
Toggle navigation
An unhandled error has occurred.
about the same
Add reading
Add reading — {0}
Add source
Attribute (optional; blank = state)
Back to meters
Backdated before the latest reading — consumption from there on is recomputed.
(baseline {0})
{0} {1} since last reading
Component
Connector
'{0}' is disabled, so this source would never ingest. Enable it first.
'{0}' is a {1} connector; a {2} source needs {3}.
Cost this year
(set it up once; every source then just picks it).
create one
Below the last reading ({0} {1}) on a register that only counts up, so it will be rejected. If the meter was swapped or reset, record that on the Events tab first.
Delete this {0} source?
Delete source
Edit source
Enter a value
Entity id (e.g. sensor.house_power)
Flags
From
That time is in the future.
Kind
{0} this month
last month {0} {1}
Last reading {0} {1} on {2}.
Last value
· {0} last year
Lifetime total
Local time in {0}.
This meter no longer exists.
New source
no
no basis yet
no change since last reading
No {0} connector yet —
No normalized consumption yet.
No events (swaps, deliveries, corrections).
No raw readings.
No readings yet — prefilled with this meter's baseline ({0} {1}).
No ingest sources bound to this meter. Add one to pull from MQTT/Tasmota or Home Assistant.
No applicable tariffs.
Meter #{0} not found.
Notes
Offset
Pick a {0} connector for this {1} source.
Hourly is plenty for a meter — monthly totals and cost come out identical, with far less raw data.
Poll interval (minutes)
Prev→New
Priority
'{0}' is disabled
no connector — never ingests
'{0}' is {1}, needs {2}
≈ {0} {1} by month end
≈ {0} {1} full year
Quality
Reading ({0})
Rejected — below the previous reading on a register that only counts up. Record a counter reset or meter swap first.
Replaced the reading at that time with {0} {1}.
Reading saved: {0} {1}.
Readings
Most recent {0} normalized deltas.
Most recent {0} (raw, immutable audit truth). Times in {1}.
Meter register details
Register span
This meter already has a reading at that time — saving replaces its value.
retired
Save reading
Saving…
Scale
That clock time never happened in {0} — the clocks moved forward. Pick another time.
Source deleted.
Source saved.
Source type
Consumption ({0})
Events ({0})
Readings ({0})
Sources ({0})
Tariffs ({0})
open
Time
Time
Time path (optional, e.g. Time)
To
MQTT topic (e.g. tele/plug1/SENSOR)
Value kind
Value path (e.g. ENERGY.Total; blank = bare scalar)
A virtual meter is an expression over other meters, so it stores no readings of its own — enter the reading on the meter the expression refers to.
Virtual meter — its value is an expression over other meters, evaluated when read, so it has no stored series of its own.
See Trends for its figures.
vs last month
{0} vs {1} last year
— will be rejected
yes
Active
Add meter
Delete '{0}'? This cannot be undone.
Delete '{0}'? This will also delete {1} reading(s) and {2} consumption row(s). This cannot be undone.
Delete meter
Edit {0}
to load the reference data.
No meters yet. Add one, or go to
Initial register baseline
rate in this meter's unit (e.g. kW for kWh, L/h for L): a source reporting W or L/min should carry a scale factor to convert it first.
Power/flow sensor — readings are an instantaneous rate, integrated over time into consumption. Store the value as a
per-hour
Location (optional)
Manufacturer (optional)
Measurement mode
Model (optional)
New meter
no
PV role (optional)
Mode/baseline changed — consumption will be recomputed on save.
Name, energy type and unit are required.
— none —
Serial number (optional)
Sources
This meter measures a subsection of the selected meter(s)' flow.
Sub-meter of (upstream meters)
Virtual "sum" meter — it has no readings of its own. In the flow view it equals the sum of the upstream meters you select below (e.g. Sum Solar = Solar 1 + Solar 2).
yes
Admin
Connectors
Oil / consumables
Cost categories
Energy types
Import
Meters
Overview
Settings
Solar / PV
Tariffs
Trends
Sorry, the content you are looking for does not exist.
Not Found
The session has been paused by the server.
Failed to rejoin.
Rejoining the server...
Resume
Failed to resume the session.
Retry
Rejoin failed... trying again in
seconds.
Please retry or reload the page.
Flow diagram
No flow to show for this period.
Access & ingestion
closed (401)
API docs at
{0} key(s) configured
Keys themselves are never shown here.
Set API keys with
open (anonymous)
effective
These are the
settings the running instance is using. They are configured via environment variables
or Docker/compose, not stored in the database — so config stays reproducible and secrets never land in the DB. Change them in your compose/env and restart.
Env keys:
Live ingestion workers
Locale
Locale & time
off
on
Raw-reading retention
{0} days
Reverse-proxy trust
Seed reference data on start
Timezone
Autarky
Generation
Generation & self-consumption
Generation by meter
Grid draw {0} kWh
No generation meters found. Add a meter with mode
or load the reference data from
Savings (Ersparnis)
Self-consumption
{0}% of generation
Tag a meter
and one
(in meter metadata) to unlock self-consumption, autarky and savings.
Add tariff
Component
Delete this {0} tariff ({1} {2})?
Delete tariff
Edit tariff
No tariffs yet. Add one, or load the reference data from
New tariff
Notes (optional)
open
Global
Meter: {0}
Select the energy type or meter this tariff applies to.
Type: {0}
Unit and valid-from are required.
Unit (e.g. EUR/kWh, EUR/m3, EUR/month)
Valid from
Valid to
Valid to (empty = open-ended)
Monthly cost
Apply
Last 48 months
Cost trend
Total over range: {0}
This pulls the latest source, rebuilds it, and restarts the service. It takes a few minutes, during which MeterVault is unavailable. Readings are not affected — ingestion resumes on restart.
Update MeterVault
pull the new image and recreate the container
run: update
MeterVault {0} is available — this instance runs {1}.
Starting…
Update now
Could not start the update.
Could not start the update: {0}
Could not start systemd-run.
Update cannot be started: {0}.
Update started. The service restarts when the rebuild finishes — this usually takes a few minutes.