Files
HomeAssistantVS/custom_components/maintenance_supporter/helpers/signatures/wallboxes.py
T
2026-07-20 22:52:35 -04:00

63 lines
2.6 KiB
Python

"""EV chargers — cable/plug inspection by delivered energy.
Data module of the suggested-setups signature catalog — see
``helpers/signatures/_model.py`` for the direction semantics and the
method contract (every entry cites and is verified against the
integration's source; drift-probed weekly)."""
from __future__ import annotations
from ._model import ConsumableSignature, IntegrationSignature
SIGNATURES: dict[str, IntegrationSignature] = {
"easee": IntegrationSignature(
name="Easee Wallbox",
verified="2026-07-18 @ nordicopen/easee_hass master",
source=(
"nordicopen/easee_hass const.py 'lifetime_energy' "
"(state.lifetimeEnergy, translation_key 'lifetime_energy', kWh "
"lifetime counter) → cable/plug inspection by delivered energy. "
"Core `wallbox` verified NEGATIVE: its added_energy is per-session."
),
tasks=(
ConsumableSignature(
("lifetime_energy",),
"Inspect Cable and Plug",
"usage_delta",
delta_units=5000,
),
),
),
"keba": IntegrationSignature(
name="KEBA Wallbox",
verified="2026-07-18 @ home-assistant/core dev",
source=(
"home-assistant/core homeassistant/components/keba/sensor.py "
"('E total' description, name 'Total Energy' → entity_id suffix "
"_total_energy, kWh, TOTAL_INCREASING lifetime)."
),
tasks=(ConsumableSignature(("total_energy",), "Inspect Cable and Plug", "usage_delta", delta_units=5000),),
),
"goecharger_api2": IntegrationSignature(
name="go-e Charger",
verified="2026-07-18 @ marq24/ha-goecharger-api2 main",
source=(
"marq24/ha-goecharger-api2 const.py Tag.ETO sensor (key 'eto', "
"native WATT_HOUR with suggested kWh display, TOTAL_INCREASING "
"lifetime energy) — the unit map converts the 5,000 kWh target "
"into the live display unit."
),
tasks=(ConsumableSignature(("eto",), "Inspect Cable and Plug", "usage_delta", delta_units=5000),),
),
"openevse": IntegrationSignature(
name="OpenEVSE",
verified="2026-07-18 @ home-assistant/core dev",
source=(
"home-assistant/core homeassistant/components/openevse/sensor.py "
"(translation_key 'usage_total', kWh lifetime; usage_session is "
"per-session and deliberately not used)."
),
tasks=(ConsumableSignature(("usage_total",), "Inspect Cable and Plug", "usage_delta", delta_units=5000),),
),
}