"""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),),
    ),
}
