iobroker.renault 0.0.24 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,37 +9,171 @@
9
9
 
10
10
  **Tests:** ![Test and Release](https://github.com/TA2k/ioBroker.renault/workflows/Test%20and%20Release/badge.svg)
11
11
 
12
+ **This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
13
+
12
14
  ## Renault / Dacia / Alpine adapter for ioBroker
13
15
 
14
- This adapter connects ioBroker to the My Renault / My Dacia / My Alpine cloud and exposes vehicle status data (battery, charging, HVAC, mileage, ...) as well as remote commands (HVAC start, charging start/stop, force refresh) for compatible Renault, Dacia and Alpine models such as the Renault Zoe, Megane E-Tech, Kangoo E-Tech, the Dacia Spring and the Alpine A290.
16
+ This adapter connects ioBroker to the cloud of [Renault](https://www.renault.com/), [Dacia](https://www.dacia.com/)
17
+ and [Alpine](https://www.alpinecars.com/). It reads vehicle data (battery, charging, climate control,
18
+ mileage, location, tyre pressure, ...) and sends remote commands (climate control, charging, charge
19
+ limits, horn and lights) for connected models such as the Renault Zoe, Megane E-Tech, Renault 5, the
20
+ Dacia Spring and the Alpine A290.
21
+
22
+ The adapter logs in with the account of the **My Renault**, **My Dacia** or **My Alpine** app. A
23
+ car works with the adapter when it can be controlled in that app.
15
24
 
16
25
  ## Installation / Login
17
26
 
18
27
  1. Install the adapter via the ioBroker admin UI.
19
28
  2. Open the adapter configuration and enter the credentials of your **My Renault** (or **My Dacia** / **My Alpine**) account: app email and app password.
20
- 3. Select the **brand** matching your app: `Renault / Dacia` or `Alpine` (they use separate accounts and API keys).
21
- 4. Set the **country** to the two-letter country code matching your account (e.g. `de`, `fr`, `it`, `es`).
29
+ 3. Select the **brand** of your app: `Renault / Dacia` for My Renault and My Dacia, `Alpine` for My Alpine. All three apps log in at the same Renault service; the brand decides which account of your login the adapter uses.
30
+ 4. Select the **country** of your account in the app.
22
31
  5. Optionally set the polling **interval** in minutes and the **API key** (leave empty for auto-detect).
23
32
  6. Save and the instance will start polling.
24
33
 
34
+ ## Supported models
35
+
36
+ What each model supports comes from the endpoint table of
37
+ [renault-api](https://github.com/hacf-fr/renault-api) (`src/renault_api/kamereon/models.py`, read on
38
+ 2026-09-17). `yes`: supported, `no`: not supported, so the adapter neither creates the state nor
39
+ sends the request, `?`: renault-api does not say, so the adapter tries it. A model that is not in
40
+ the table gets every request; what the car rejects is asked again once a day. Your model code is in
41
+ `general.vehicleDetails.model.code`.
42
+
43
+ <!-- models:start (generated by tools/updateVehicleEndpoints.js) -->
44
+
45
+ ### Renault
46
+
47
+ | Model | Code | Battery | Cockpit | Climate | Charging start | Charging stop | Charge limits | Horn / lights | Tyre pressure | Alerts |
48
+ | --------------------------------------- | ------ | ------- | ------- | ------- | -------------- | ------------- | ------------- | ------------- | ------------- | ------ |
49
+ | Arkana E-tech full hybrid | XJL2TR | ? | yes | ? | ? | ? | ? | ? | no | ? |
50
+ | AUSTRAL | XHN1SU | no | yes | no | no | no | no | yes | no | ? |
51
+ | CAPTUR II | XJB1SU | yes | yes | yes | no | no | no | no | no | ? |
52
+ | CAPTUR II GPL | XJB2SU | no | yes | no | no | no | no | yes | no | no |
53
+ | CLIO V | XJA1VP | no | yes | no | no | no | no | no | no | no |
54
+ | CLIO V | XJA2VP | no | yes | no | no | no | no | no | no | no |
55
+ | MEGANE E-TECH | XCB1VE | yes | yes | yes | yes | no | yes | yes | no | ? |
56
+ | Megane IV | XFB2BI | yes | yes | ? | ? | ? | ? | ? | no | ? |
57
+ | Megane IV Break (E-Tech Plug-in Hybrid) | XFB2BK | yes | yes | yes | yes | ? | ? | no | no | ? |
58
+ | Rafale | XHN1CP | yes | yes | ? | no | no | ? | yes | no | ? |
59
+ | Renault 5 E-TECH | R5E1VE | yes | yes | yes | yes | no | yes | yes | no | yes |
60
+ | Renault Espace VI (OpenRLink) | XHN1ML | no | yes | no | no | no | no | yes | no | no |
61
+ | Renault Master E-Tech | XDD1VE | yes | yes | yes | yes | no | yes | yes | no | ? |
62
+ | Renault R4 E-Tech | A4E1VE | yes | yes | yes | yes | no | yes | yes | no | ? |
63
+ | Renault Symbioz 2025 | XJB2CP | no | yes | no | no | no | no | yes | no | ? |
64
+ | SCENIC E-TECH | XCB1SE | yes | yes | yes | yes | no | yes | yes | no | ? |
65
+ | TWINGO III | X071VE | yes | yes | ? | ? | ? | ? | ? | no | ? |
66
+ | ZOE phase 1 | X101VE | yes | yes | yes | yes | ? | no | ? | no | ? |
67
+ | ZOE phase 2 | X102VE | yes | yes | yes | yes | yes | no | no | yes | ? |
68
+
69
+ ### Dacia
70
+
71
+ | Model | Code | Battery | Cockpit | Climate | Charging start | Charging stop | Charge limits | Horn / lights | Tyre pressure | Alerts |
72
+ | ------------------------------------------------------------- | ------ | ------- | ------- | ------- | -------------- | ------------- | ------------- | ------------- | ------------- | ------ |
73
+ | DACIA BIGSTER HYBRID 155 (no EV) | BD11SL | no | yes | ? | no | no | no | no | no | no |
74
+ | Dacia Duster III | DU31SU | no | yes | ? | ? | ? | no | no | no | ? |
75
+ | DACIA SANDERO III (ECO-G, petrol+LPG; engineEnergyType OTHER) | XJF2BI | no | yes | no | no | no | no | yes | no | no |
76
+ | DACIA SPRING | XBG1VE | yes | yes | yes | yes | yes | no | no | no | no |
77
+
78
+ ### Alpine
79
+
80
+ | Model | Code | Battery | Cockpit | Climate | Charging start | Charging stop | Charge limits | Horn / lights | Tyre pressure | Alerts |
81
+ | ----------- | ------ | ------- | ------- | ------- | -------------- | ------------- | ------------- | ------------- | ------------- | ------ |
82
+ | Alpine A290 | A5E1AE | yes | yes | yes | yes | no | yes | yes | no | no |
83
+
84
+ <!-- models:end -->
85
+
25
86
  ## Remote control
26
87
 
27
88
  Each vehicle is created as a device using its VIN. Remote commands are exposed as states under `renault.0.<VIN>.remote.*`:
28
89
 
29
- | State | Type | Action |
30
- | --------------------------- | ------- | ------ |
31
- | `actions/hvac-start` | boolean | `true` = start, `false` = stop pre-conditioning |
32
- | `hvac-temperature` | number | Target HVAC temperature |
33
- | `actions/charging-start` | boolean | `true` = start, `false` = stop charging |
34
- | `charge/pause-resume` | boolean | `true` = start, `false` = pause |
35
- | `charge/start` | boolean | `true` = start, `false` = stop charging (legacy endpoint) |
36
- | `refresh` | boolean | `true` = force refresh of vehicle data |
90
+ | State | Type | Role | Action |
91
+ | ----------------------- | ------- | ------------------- | ------------------------------------------------------------------------------------------- |
92
+ | `climateStart` | boolean | `button.start` | start the climate control |
93
+ | `climateStop` | boolean | `button.stop` | stop the climate control |
94
+ | `climateTemperature` | number | `level.temperature` | target temperature in °C for the next start (default 21) |
95
+ | `chargingStart` | boolean | `button.start` | start charging (see below) |
96
+ | `chargingStop` | boolean | `button.stop` | stop charging |
97
+ | `chargeLimitMin` | number | `level` | minimum charge level in %, 15 to 45 in steps of 5 |
98
+ | `chargeLimitTarget` | number | `level` | target charge level in %, 55 to 100 in steps of 5 |
99
+ | `chargeMode` | string | `text` | `always`, `always_charging`, `schedule_mode` or `scheduled`; shows the mode the car reports |
100
+ | `hornStart` | boolean | `button.start` | sound the horn |
101
+ | `lightsStart` | boolean | `button.start` | flash the lights |
102
+ | `refreshLocation` | boolean | `button` | read the location from the cloud now |
103
+ | `askForLocationRefresh` | boolean | `button` | ask the car to upload its position, read the location 30 s later |
104
+ | `refreshAll` | boolean | `button` | poll all vehicle data now |
105
+ | `refreshBattery` | boolean | `button` | read the battery status from the cloud now |
106
+ | `refreshClimate` | boolean | `button` | read the climate control status (`hvac-status`) from the cloud now |
107
+ | `lastCommandError` | string | `text` | error of the last command, empty after a successful command |
108
+
109
+ A button is pressed by writing `true`. The adapter resets it to `false` with `ack: true` once the
110
+ command was handled; `lastCommandError` tells whether the Renault cloud accepted it. The car carries
111
+ it out afterwards, and the data states show the result after the next poll, for example
112
+ `hvac-status.hvacStatus` and `battery-status.chargingStatus`.
113
+
114
+ `chargeLimitMin` and `chargeLimitTarget` are sent together, so the adapter needs the other limit
115
+ from `soc-levels`. It is read once per hour; right after the start a write waits for that first
116
+ read. Both states show the limits the car reports, also after a change in the app.
117
+
118
+ The `refresh…` buttons read only what the cloud holds; the car uploads by itself, for example after
119
+ a change at the wallbox or when it is switched off. `askForLocationRefresh` first asks the car to
120
+ upload its position, which wakes its telematics unit; it reads only when the cloud accepted that
121
+ request, and the result is in `lastCommandError`. Do not press it from a script in a tight loop,
122
+ every press wakes the car and draws on its 12 V battery. The car cannot be asked for its battery or
123
+ climate control status: the Zoe phase 2 answers the refresh requests known from other projects with 404. Each button costs one read instead of a full poll, and the same data of a vehicle is read at
124
+ most every three minutes.
37
125
 
38
- Set the corresponding state to `true` to trigger the command.
126
+ A script that follows the wallbox presses `refreshBattery` itself when the car has had time to
127
+ upload, for example one minute after the wallbox changed. Frequent use of `refreshAll` can exhaust
128
+ the request quota of the account, which also blocks the My Renault app.
39
129
 
40
- ## Discussion / questions
130
+ Which request a command sends, and which vehicle data the adapter polls, depends on the model. The
131
+ adapter uses the endpoint table of [renault-api](https://github.com/hacf-fr/renault-api) (model code
132
+ in `general.vehicleDetails.model.code`):
41
133
 
42
- ioBroker forum: <https://forum.iobroker.net/topic/48074/test-adapter-renault-v0-0-x>
134
+ - A button the model does not support is not created. Models that cannot stop charging remotely,
135
+ for example the Megane E-Tech, Renault 4, Renault 5 and Alpine A290, have no `chargingStop`.
136
+ - Renault 4, Renault 5, Alpine A290, Scenic E-Tech and Master E-Tech charge by schedule. On these
137
+ models `chargingStart` **switches off all charge programs**, as the My Renault app does; switch
138
+ them on again in the app.
139
+ - Data the model does not provide is not polled, which saves requests.
140
+ - A model renault-api does not list yet gets the default requests: every command and endpoint is tried,
141
+ and unsupported endpoints are asked again once a day.
142
+
143
+ ## Vehicle data
144
+
145
+ The data of each endpoint is written to a channel below `renault.0.<VIN>`, named after the
146
+ endpoint, for example `battery-status`, `cockpit` and `hvac-status`. Most are asked on every
147
+ poll; these change slowly and are asked once per hour:
148
+
149
+ | Channel | Content |
150
+ | ---------------- | --------------------------------------------------------- |
151
+ | `charge-history` | charges per day |
152
+ | `charges` | single charges |
153
+ | `pressure` | tyre pressure per wheel in mbar and a status code |
154
+ | `alerts` | alerts of the car (Renault 5); a cleared alert is removed |
155
+ | `soc-levels` | minimum and target charge level |
156
+
157
+ ## FAQ
158
+
159
+ **The log says "Feature not found for … Ignore … for 24 hours".** The car or its service pack
160
+ does not offer this data. The adapter asks again once a day, which costs one request.
161
+
162
+ **The log says "invalid loginID or password", or the login is rejected.** Set a new password in the
163
+ My Renault (My Dacia, My Alpine) app, enter it in the adapter settings and restart the instance.
164
+ Until then the adapter sends no commands, so it cannot lock the account with the old password.
165
+
166
+ **The log says the Renault request quota is used up (429).** The account allows about 60 requests
167
+ per hour, shared with the app. The adapter pauses by itself for 15, 30 and then 60 minutes. Raise
168
+ the update interval, and use `refreshAll` rarely; the adapter warns once when its settings need
169
+ more requests than the quota allows.
170
+
171
+ **`chargingStart` switched off my charge schedule.** On the Renault 4, Renault 5, Alpine A290,
172
+ Scenic E-Tech and Master E-Tech this is how charging is started, the app does the same. Switch the
173
+ programs on again in the app.
174
+
175
+ **A remote state is missing.** The model does not support the command according to the table
176
+ above; the adapter does not create it, and removes it if an older version had created it.
43
177
 
44
178
  ## Changelog
45
179
 
@@ -48,6 +182,45 @@ ioBroker forum: <https://forum.iobroker.net/topic/48074/test-adapter-renault-v0-
48
182
  ### **WORK IN PROGRESS**
49
183
  -->
50
184
 
185
+ ### 1.0.0 (2026-09-23)
186
+
187
+ - (typhosj) **Breaking change:** the remote states are renamed and every command is a button. `actions/hvac-start` becomes `climateStart` and `climateStop`, `hvac-temperature` becomes `climateTemperature` (default 21 °C, a valid old value is taken over), `actions/charging-start`, `charge/pause-resume` and `charge/start` become `chargingStart` and `chargingStop`, and `refresh` becomes `refreshAll`. The old states are removed on the first start. Adjust scripts and visualizations
188
+ - (typhosj) **Breaking change:** only one cockpit version is polled per vehicle (v2 if it answers, else v1; v1 fills in while v2 answers with server errors), and its data is always written to `cockpit`; the `cockpitv2` channel is removed
189
+ - (typhosj) **Breaking change:** battery, range, mileage, fuel and temperature states get units and specific roles
190
+ - (typhosj) `battery-status.plugStatus` and `battery-status.chargingStatus` name their codes, for example `1` plugged or `0.3` waiting for current charge
191
+ - (typhosj) **Breaking change:** the update interval is at least 5 minutes (15 minutes for new installations)
192
+ - (typhosj) commands and polled data follow the endpoint table of renault-api per model: each command sends the request the model needs, and commands or data the model does not offer are neither created nor polled
193
+ - (typhosj) a command button is reset with ack after the command, charge mode and charge limits are confirmed with ack once the Renault cloud accepted them, and `remote.lastCommandError` holds the error of the last command
194
+ - (typhosj) `chargingStart` starts charging on the Renault 4, Renault 5, Alpine A290, Scenic E-Tech and Master E-Tech by switching off their charge programs, as the app does
195
+ - (typhosj) read and set the minimum and target charge level with `remote.chargeLimitMin` and `remote.chargeLimitTarget` on models that support it; the current limits are in the new channel `soc-levels`
196
+ - (typhosj) set the charge mode with `remote.chargeMode`; it and the charge limit states show the values the car reports
197
+ - (typhosj) new buttons `remote.hornStart` and `remote.lightsStart` on models that support them; `remote.refreshLocation`, `remote.refreshBattery` and `remote.refreshClimate` read only the location, the battery status or the climate control status from the cloud, and `remote.askForLocationRefresh` first asks the car to upload its position and reads it 30 seconds later; during a quota pause, or while the car does not offer the data, these buttons send nothing and say why in `lastCommandError`
198
+ - (typhosj) new channels `pressure` (tyre pressure in mbar) and `alerts` (Renault 5), read once per hour; a cleared alert is removed
199
+ - (typhosj) the vehicle is named after its model without doubling it (`ZOE` instead of `ZOEZOE`); a name given by the user is kept
200
+ - (typhosj) the vehicle list and details are loaded again every 24 hours, new vehicles are picked up, and the details channel is named "Vehicle details"
201
+ - (typhosj) fewer requests against Renault's quota of about 60 per hour: slow-changing data such as the charge history is fetched once per hour, and the adapter warns once when its settings need more requests than the quota allows
202
+ - (typhosj) when the request quota is used up (429), polling pauses for 15, 30 and then 60 minutes instead of logging an error per endpoint; a command that meets the quota error starts the pause too
203
+ - (typhosj) an expired token during a poll is refreshed and the poll repeated once; after a failed token refresh the adapter logs in again with growing delay; only wrong credentials stop the login, a temporary error of the account service is retried
204
+ - (typhosj) an endpoint the car rejected is asked again once a day instead of never until restart; an answer without data counts as not supported; an endpoint with server errors for 24 hours is asked only hourly, and its server error is logged once as warning
205
+ - (typhosj) login and requests use the country from the settings instead of always Germany; the settings offer the countries of the My Renault app as a list
206
+ - (typhosj) the Kamereon API key lookup accepts only a well-formed key; an invalid key in the settings is ignored with a warning, and the link to the current key in the settings points to renault-api, where the lookup reads it
207
+ - (typhosj) polls no longer overlap, requests time out after 30 seconds, no timer survives a stop of the instance, and the adapter only listens to its remote states
208
+ - (typhosj) the log no longer contains the vehicle list, the position of the car or the whole answer to a failed login
209
+ - (typhosj) a vehicle whose VIN contains characters other than letters and digits is skipped with a warning
210
+ - (typhosj) an invalid number of charge history entries or an unknown brand in the settings is replaced by the default with a warning; more than 1000 entries are capped at 1000
211
+ - (typhosj) the adapter icon and readme links point to the `main` branch again
212
+ - (typhosj) lint uses the shared `@iobroker/eslint-config`; dependencies updated
213
+
214
+ ### 0.0.25
215
+
216
+ - (typhosj) retry the connection with growing delay (5 to 60 minutes) when login or vehicle list fail at startup; a login rejected by the account service is not retried
217
+ - (typhosj) `info.connection` is true only after the account was found and turns false when the token refresh fails
218
+ - (typhosj) a temporary server error (5xx) on the first poll no longer disables that endpoint until restart
219
+ - (typhosj) fix crash for vehicles without vehicle details and for the refresh button before login
220
+ - (typhosj) no longer write password, session cookie, id token or account data into the log
221
+ - (typhosj) add missing admin translations, remove unused dependencies
222
+ - (typhosj) require Node.js 22 or newer, test with Node.js 26, update dependencies
223
+
51
224
  ### 0.0.24
52
225
 
53
226
  - (TA2k) add Alpine support: brand selection (Alpine accounts use the same Renault Gigya/Kamereon tenant, only product/account type MYALPINE differs)
@@ -60,10 +233,6 @@ ioBroker forum: <https://forum.iobroker.net/topic/48074/test-adapter-renault-v0-
60
233
 
61
234
  - (TA2k) update dependencies, migrate to ESLint 10, fix repochecker findings
62
235
 
63
- ### 0.0.7
64
-
65
- - (TA2k) initial release
66
-
67
236
  [Older changelogs can be found here](CHANGELOG_OLD.md)
68
237
 
69
238
  ## License
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "API-Schlüssel",
3
+ "API Key (leave empty for auto-detect)": "API-Schlüssel (leer lassen für automatische Erkennung)",
4
+ "App Email": "App E-Mail",
5
+ "App Password": "App Passwort",
6
+ "Brand": "Marke",
7
+ "Charge history entries to keep": "Aufzubewahrende Einträge der Ladehistorie",
8
+ "Click here for current API Key": "Hier klicken für aktuellen API-Schlüssel",
9
+ "Country": "Land",
10
+ "Country of the account in the app": "Land des Kontos in der App",
11
+ "Disable charge fetching": "Ladedaten-Abruf deaktivieren",
12
+ "If empty, the API key will be set automatically": "Wenn leer, wird der API-Schlüssel automatisch gesetzt",
13
+ "Login": "Anmeldung",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Anzahl der neuesten Einträge, die je Ladehistorie-Endpunkt behalten werden (0 = unbegrenzt)",
15
+ "Polling": "Abfrage",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia für die App My Renault und My Dacia, Alpine für die App My Alpine",
17
+ "Update interval in minutes": "Aktualisierungsintervall in Minuten"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "API Key",
3
+ "API Key (leave empty for auto-detect)": "API Key (leave empty for auto-detect)",
4
+ "App Email": "App Email",
5
+ "App Password": "App Password",
6
+ "Brand": "Brand",
7
+ "Charge history entries to keep": "Charge history entries to keep",
8
+ "Click here for current API Key": "Click here for current API Key",
9
+ "Country": "Country",
10
+ "Country of the account in the app": "Country of the account in the app",
11
+ "Disable charge fetching": "Disable charge fetching",
12
+ "If empty, the API key will be set automatically": "If empty, the API key will be set automatically",
13
+ "Login": "Login",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Number of most recent entries kept per charge-history endpoint (0 = unlimited)",
15
+ "Polling": "Polling",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app",
17
+ "Update interval in minutes": "Update interval in minutes"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "Clave API",
3
+ "API Key (leave empty for auto-detect)": "Clave API (déjelo vacío para detección automática)",
4
+ "App Email": "Correo electrónico de la app",
5
+ "App Password": "Contraseña de la app",
6
+ "Brand": "Marca",
7
+ "Charge history entries to keep": "Entradas del historial de carga a conservar",
8
+ "Click here for current API Key": "Haga clic aquí para la clave API actual",
9
+ "Country": "País",
10
+ "Country of the account in the app": "País de la cuenta en la app",
11
+ "Disable charge fetching": "Deshabilitar obtención de carga",
12
+ "If empty, the API key will be set automatically": "Si está vacío, la clave API se establecerá automáticamente",
13
+ "Login": "Acceso",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Número de entradas más recientes que se conservan por endpoint del historial de carga (0 = ilimitado)",
15
+ "Polling": "Sondeo",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia para la app My Renault y My Dacia, Alpine para la app My Alpine",
17
+ "Update interval in minutes": "Intervalo de actualización en minutos"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "Clé API",
3
+ "API Key (leave empty for auto-detect)": "Clé API (laisser vide pour détection automatique)",
4
+ "App Email": "Email de l'application",
5
+ "App Password": "Mot de passe de l'application",
6
+ "Brand": "Marque",
7
+ "Charge history entries to keep": "Entrées de l'historique de charge à conserver",
8
+ "Click here for current API Key": "Cliquez ici pour la clé API actuelle",
9
+ "Country": "Pays",
10
+ "Country of the account in the app": "Pays du compte dans l'application",
11
+ "Disable charge fetching": "Désactiver la récupération de charge",
12
+ "If empty, the API key will be set automatically": "Si vide, la clé API sera définie automatiquement",
13
+ "Login": "Connexion",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Nombre d'entrées les plus récentes conservées par point d'accès de l'historique de charge (0 = illimité)",
15
+ "Polling": "Interrogation",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia pour l'application My Renault et My Dacia, Alpine pour l'application My Alpine",
17
+ "Update interval in minutes": "Intervalle de mise à jour en minutes"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "Chiave API",
3
+ "API Key (leave empty for auto-detect)": "Chiave API (lascia vuoto per il rilevamento automatico)",
4
+ "App Email": "Email dell'app",
5
+ "App Password": "Password dell'app",
6
+ "Brand": "Marchio",
7
+ "Charge history entries to keep": "Voci della cronologia di ricarica da conservare",
8
+ "Click here for current API Key": "Fai clic qui per la chiave API attuale",
9
+ "Country": "Paese",
10
+ "Country of the account in the app": "Paese dell'account nell'app",
11
+ "Disable charge fetching": "Disabilita il recupero della carica",
12
+ "If empty, the API key will be set automatically": "Se vuoto, la chiave API verrà impostata automaticamente",
13
+ "Login": "Accesso",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Numero di voci più recenti conservate per ogni endpoint della cronologia di ricarica (0 = illimitato)",
15
+ "Polling": "Polling",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia per l'app My Renault e My Dacia, Alpine per l'app My Alpine",
17
+ "Update interval in minutes": "Intervallo di aggiornamento in minuti"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "API-sleutel",
3
+ "API Key (leave empty for auto-detect)": "API-sleutel (laat leeg voor auto-detectie)",
4
+ "App Email": "App E-mail",
5
+ "App Password": "App Wachtwoord",
6
+ "Brand": "Merk",
7
+ "Charge history entries to keep": "Te bewaren items van de laadgeschiedenis",
8
+ "Click here for current API Key": "Klik hier voor de huidige API-sleutel",
9
+ "Country": "Land",
10
+ "Country of the account in the app": "Land van het account in de app",
11
+ "Disable charge fetching": "Laadgegevens ophalen uitschakelen",
12
+ "If empty, the API key will be set automatically": "Indien leeg, wordt de API-sleutel automatisch ingesteld",
13
+ "Login": "Inloggen",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Aantal meest recente items dat per laadgeschiedenis-endpoint wordt bewaard (0 = onbeperkt)",
15
+ "Polling": "Polling",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia voor de app My Renault en My Dacia, Alpine voor de app My Alpine",
17
+ "Update interval in minutes": "Update interval in minuten"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "Klucz API",
3
+ "API Key (leave empty for auto-detect)": "Klucz API (pozostaw puste, aby wykryć automatycznie)",
4
+ "App Email": "Email aplikacji",
5
+ "App Password": "Hasło aplikacji",
6
+ "Brand": "Marka",
7
+ "Charge history entries to keep": "Liczba zachowywanych wpisów historii ładowania",
8
+ "Click here for current API Key": "Kliknij tutaj, aby uzyskać aktualny klucz API",
9
+ "Country": "Kraj",
10
+ "Country of the account in the app": "Kraj konta w aplikacji",
11
+ "Disable charge fetching": "Wyłącz pobieranie danych ładowania",
12
+ "If empty, the API key will be set automatically": "Jeśli puste, klucz API zostanie ustawiony automatycznie",
13
+ "Login": "Logowanie",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Liczba najnowszych wpisów zachowywanych dla każdego endpointu historii ładowania (0 = bez limitu)",
15
+ "Polling": "Odpytywanie",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia dla aplikacji My Renault i My Dacia, Alpine dla aplikacji My Alpine",
17
+ "Update interval in minutes": "Interwał aktualizacji w minutach"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "Chave API",
3
+ "API Key (leave empty for auto-detect)": "Chave API (deixe em branco para detecção automática)",
4
+ "App Email": "Email do aplicativo",
5
+ "App Password": "Senha do aplicativo",
6
+ "Brand": "Marca",
7
+ "Charge history entries to keep": "Entradas do histórico de carregamento a manter",
8
+ "Click here for current API Key": "Clique aqui para a chave API atual",
9
+ "Country": "País",
10
+ "Country of the account in the app": "País da conta na aplicação",
11
+ "Disable charge fetching": "Desativar obtenção de carga",
12
+ "If empty, the API key will be set automatically": "Se vazio, a chave API será definida automaticamente",
13
+ "Login": "Login",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Número de entradas mais recentes mantidas por endpoint do histórico de carregamento (0 = ilimitado)",
15
+ "Polling": "Sondagem",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia para a aplicação My Renault e My Dacia, Alpine para a aplicação My Alpine",
17
+ "Update interval in minutes": "Intervalo de atualização em minutos"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "API ключ",
3
+ "API Key (leave empty for auto-detect)": "API ключ (оставьте пустым для автоопределения)",
4
+ "App Email": "Электронная почта приложения",
5
+ "App Password": "Пароль приложения",
6
+ "Brand": "Марка",
7
+ "Charge history entries to keep": "Сохраняемые записи истории зарядки",
8
+ "Click here for current API Key": "Нажмите здесь для получения текущего API ключа",
9
+ "Country": "Страна",
10
+ "Country of the account in the app": "Страна учётной записи в приложении",
11
+ "Disable charge fetching": "Отключить получение данных о зарядке",
12
+ "If empty, the API key will be set automatically": "Если пусто, API ключ будет установлен автоматически",
13
+ "Login": "Авторизация",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Количество последних записей, сохраняемых для каждого эндпоинта истории зарядки (0 = без ограничений)",
15
+ "Polling": "Опрос",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia для приложения My Renault и My Dacia, Alpine для приложения My Alpine",
17
+ "Update interval in minutes": "Интервал обновления в минутах"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "API ключ",
3
+ "API Key (leave empty for auto-detect)": "API ключ (залиште порожнім для автовизначення)",
4
+ "App Email": "Електронна пошта застосунку",
5
+ "App Password": "Пароль застосунку",
6
+ "Brand": "Марка",
7
+ "Charge history entries to keep": "Записи історії заряджання, що зберігаються",
8
+ "Click here for current API Key": "Натисніть тут для отримання поточного API ключа",
9
+ "Country": "Країна",
10
+ "Country of the account in the app": "Країна облікового запису в застосунку",
11
+ "Disable charge fetching": "Вимкнути отримання даних про зарядку",
12
+ "If empty, the API key will be set automatically": "Якщо порожньо, API ключ буде встановлено автоматично",
13
+ "Login": "Вхід",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "Кількість останніх записів, що зберігаються для кожного ендпоінта історії заряджання (0 = без обмежень)",
15
+ "Polling": "Опитування",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia для застосунку My Renault і My Dacia, Alpine для застосунку My Alpine",
17
+ "Update interval in minutes": "Інтервал оновлення в хвилинах"
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "API Key": "API 密钥",
3
+ "API Key (leave empty for auto-detect)": "API 密钥(留空自动检测)",
4
+ "App Email": "应用邮箱",
5
+ "App Password": "应用密码",
6
+ "Brand": "品牌",
7
+ "Charge history entries to keep": "保留的充电历史记录条数",
8
+ "Click here for current API Key": "点击此处获取当前 API 密钥",
9
+ "Country": "国家",
10
+ "Country of the account in the app": "应用中账户所属的国家",
11
+ "Disable charge fetching": "禁用充电数据获取",
12
+ "If empty, the API key will be set automatically": "如果为空,API 密钥将自动设置",
13
+ "Login": "登录",
14
+ "Number of most recent entries kept per charge-history endpoint (0 = unlimited)": "每个充电历史接口保留的最新记录条数(0 = 不限制)",
15
+ "Polling": "轮询",
16
+ "Renault / Dacia for the My Renault and My Dacia app, Alpine for the My Alpine app": "Renault / Dacia 对应 My Renault 和 My Dacia 应用,Alpine 对应 My Alpine 应用",
17
+ "Update interval in minutes": "更新间隔(分钟)"
18
+ }