Home chargers: your own wallbox as a record, imported the way a car is
The Home chargers tab has been showing a hardcoded "Home charger · 11 kW · NACS" since it was drawn, and the control card asked for a serial as free text — a number printed on a box hanging in a garage, typed in by hand while the connected account already knew it. The garage solved the same problem for cars a while ago, so this is that solution aimed at the wall: pick the charger off a service you have connected, press Import, and it becomes a record of yours. A charger is a record rather than a live listing because it has to outlive the account it came from. Disconnect Anker and the wallbox is still on the wall; the integration is how the charger was found, not what it is. Hence home_chargers, owned by a person and not related to any car — it charges whichever car is plugged into it, and it outlives all of them — and hence no sharing: a charger is one household's business in a way a car shared with a partner is not. The provider layer is vehicleproviders.go's shape on purpose, down to the soft gate: a listing answers 200 with an empty list and the sentence that says what to do about a closed gate, a write answers 400, because there the caller asked for something that did not happen. Anker and Greencell are two adapters over plugins that already exist, so the next charger service is an adapter appended to chargerSources() and nothing else. What is deliberately absent is the car import's checkbox panel: a charger is a name, a serial and the hardware behind it, all of which the list already carries, so there is nothing to choose and the whole screen is pick one, press Import. Only the name is editable afterwards. The rest describes hardware and came from the service, and the provider link is written by the import endpoint alone, so renaming a charger cannot quietly orphan it from the account it tracks. Deleting one says as much in its confirmation: the charger is untouched, and importing it again brings the record straight back. The Anker gate moved into ankerGate() beside greencellGate(), because the same four-case switch was about to exist in a third place. Behaviour is unchanged — the same sentences, and the probe still skips the personal opt-in, since checking credentials is what you do before switching the integration on. The phone app still has the old tab; parity there is a separate change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a809980d8b
commit
a3f69fa5ef
15 files changed
+1150
-59
No files matched your search
@@ -37,6 +37,14 @@
|
||||
},
|
||||
|
||||
"charging": {
|
||||
"home": {
|
||||
"count": { "one": "{n} lader", "other": "{n} ladere" },
|
||||
"import": "Importer fra tjeneste",
|
||||
"remove": "Fjern",
|
||||
"removeConfirm": "Fjern {name} fra dine ladere? Selve laderen røres ikke — importerer du den igen, er den tilbage.",
|
||||
"empty": "Ingen ladere endnu. Importer den fra din Anker- eller Greencell-konto i stedet for at taste serienummeret.",
|
||||
"connectFirst": "Tilslut en ladertjeneste under Indstillinger › Integrationer for at importere."
|
||||
},
|
||||
"eyebrow": "Opladning og kort",
|
||||
"title": "Ladere i nærheden",
|
||||
"tabs": {
|
||||
@@ -690,6 +698,17 @@
|
||||
},
|
||||
|
||||
"forms": {
|
||||
"importCharger": {
|
||||
"title": "Importer en lader",
|
||||
"subtitle": "Tilføj en lader fra en tjeneste, du har tilsluttet. Navn, serienummer og model følger med.",
|
||||
"noProviders": "Ingen ladertjeneste er tilsluttet. Tilføj en under Indstillinger › Integrationer.",
|
||||
"selectCharger": "Lader",
|
||||
"loadingChargers": "Indlæser dine ladere…",
|
||||
"noChargers": "Ingen ladere på denne konto.",
|
||||
"alreadyImported": "Allerede importeret",
|
||||
"name": "Ladernavn",
|
||||
"submit": "Importer lader"
|
||||
},
|
||||
"common": {
|
||||
"pickDate": "Åbn kalender",
|
||||
"dateInvalid": "Indtast en gyldig dato i dette format."
|
||||
|
||||
@@ -37,6 +37,14 @@
|
||||
},
|
||||
|
||||
"charging": {
|
||||
"home": {
|
||||
"count": { "one": "{n} charger", "other": "{n} chargers" },
|
||||
"import": "Import from service",
|
||||
"remove": "Remove",
|
||||
"removeConfirm": "Remove {name} from your chargers? The charger itself is untouched — importing it again brings it back.",
|
||||
"empty": "No chargers yet. Import the one on your Anker or Greencell account instead of typing its serial.",
|
||||
"connectFirst": "Connect a charger service in Settings › Integrations to import one."
|
||||
},
|
||||
"eyebrow": "Charging & map",
|
||||
"title": "Nearby chargers",
|
||||
"tabs": {
|
||||
@@ -689,6 +697,17 @@
|
||||
},
|
||||
|
||||
"forms": {
|
||||
"importCharger": {
|
||||
"title": "Import a charger",
|
||||
"subtitle": "Add a charger from a service you have connected. Its name, serial and model come with it.",
|
||||
"noProviders": "No charger service is connected. Add one in Settings › Integrations.",
|
||||
"selectCharger": "Charger",
|
||||
"loadingChargers": "Loading your chargers…",
|
||||
"noChargers": "No chargers on this account.",
|
||||
"alreadyImported": "Already imported",
|
||||
"name": "Charger name",
|
||||
"submit": "Import charger"
|
||||
},
|
||||
"common": {
|
||||
"pickDate": "Open calendar",
|
||||
"dateInvalid": "Enter a real date in this format."
|
||||
|
||||
@@ -37,6 +37,14 @@
|
||||
},
|
||||
|
||||
"charging": {
|
||||
"home": {
|
||||
"count": { "one": "{n} ładowarka", "few": "{n} ładowarki", "many": "{n} ładowarek", "other": "{n} ładowarki" },
|
||||
"import": "Importuj z usługi",
|
||||
"remove": "Usuń",
|
||||
"removeConfirm": "Usunąć {name} z Twoich ładowarek? Sama ładowarka pozostaje nietknięta — ponowny import ją przywróci.",
|
||||
"empty": "Nie masz jeszcze ładowarek. Zaimportuj tę z konta Anker lub Greencell, zamiast przepisywać numer seryjny.",
|
||||
"connectFirst": "Podłącz usługę ładowarki w Ustawienia › Integracje, aby zaimportować."
|
||||
},
|
||||
"eyebrow": "Ładowanie i mapa",
|
||||
"title": "Ładowarki w pobliżu",
|
||||
"tabs": {
|
||||
@@ -704,6 +712,17 @@
|
||||
},
|
||||
|
||||
"forms": {
|
||||
"importCharger": {
|
||||
"title": "Importuj ładowarkę",
|
||||
"subtitle": "Dodaj ładowarkę z podłączonej usługi. Nazwa, numer seryjny i model przychodzą razem z nią.",
|
||||
"noProviders": "Nie podłączono żadnej usługi ładowarki. Dodaj ją w Ustawienia › Integracje.",
|
||||
"selectCharger": "Ładowarka",
|
||||
"loadingChargers": "Wczytywanie ładowarek…",
|
||||
"noChargers": "Brak ładowarek na tym koncie.",
|
||||
"alreadyImported": "Już zaimportowana",
|
||||
"name": "Nazwa ładowarki",
|
||||
"submit": "Importuj ładowarkę"
|
||||
},
|
||||
"common": {
|
||||
"pickDate": "Otwórz kalendarz",
|
||||
"dateInvalid": "Wpisz istniejącą datę w tym formacie."
|
||||
|
||||
Reference in new issue
Block a user