iobroker.renault 0.0.22 → 0.0.24
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/LICENSE +1 -1
- package/README.md +47 -13
- package/admin/i18n/de/translations.json +16 -0
- package/admin/i18n/en/translations.json +16 -0
- package/admin/i18n/es/translations.json +14 -0
- package/admin/i18n/fr/translations.json +14 -0
- package/admin/i18n/it/translations.json +14 -0
- package/admin/i18n/nl/translations.json +14 -0
- package/admin/i18n/pl/translations.json +14 -0
- package/admin/i18n/pt/translations.json +14 -0
- package/admin/i18n/ru/translations.json +14 -0
- package/admin/i18n/uk/translations.json +14 -0
- package/admin/i18n/zh-cn/translations.json +14 -0
- package/admin/jsonConfig.json +130 -0
- package/io-package.json +123 -30
- package/main.js +140 -46
- package/package.json +29 -23
- package/admin/index_m.html +0 -105
- package/admin/style.css +0 -32
- package/admin/words.js +0 -65
- package/lib/json2iob.js +0 -254
- package/lib/tools.js +0 -99
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2021 TA2k <tombox2020@gmail.com>
|
|
3
|
+
Copyright (c) 2021-2026 TA2k <tombox2020@gmail.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -6,37 +6,71 @@
|
|
|
6
6
|
[](https://www.npmjs.com/package/iobroker.renault)
|
|
7
7
|

|
|
8
8
|

|
|
9
|
-
[](https://david-dm.org/TA2k/iobroker.renault)
|
|
10
|
-
|
|
11
|
-
[](https://nodei.co/npm/iobroker.renault/)
|
|
12
9
|
|
|
13
10
|
**Tests:** 
|
|
14
11
|
|
|
15
|
-
##
|
|
12
|
+
## Renault / Dacia / Alpine adapter for ioBroker
|
|
13
|
+
|
|
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.
|
|
15
|
+
|
|
16
|
+
## Installation / Login
|
|
17
|
+
|
|
18
|
+
1. Install the adapter via the ioBroker admin UI.
|
|
19
|
+
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`).
|
|
22
|
+
5. Optionally set the polling **interval** in minutes and the **API key** (leave empty for auto-detect).
|
|
23
|
+
6. Save and the instance will start polling.
|
|
16
24
|
|
|
17
|
-
|
|
18
|
-
## Loginablauf
|
|
25
|
+
## Remote control
|
|
19
26
|
|
|
20
|
-
|
|
27
|
+
Each vehicle is created as a device using its VIN. Remote commands are exposed as states under `renault.0.<VIN>.remote.*`:
|
|
21
28
|
|
|
22
|
-
|
|
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 |
|
|
23
37
|
|
|
24
|
-
|
|
38
|
+
Set the corresponding state to `true` to trigger the command.
|
|
25
39
|
|
|
26
|
-
##
|
|
27
|
-
|
|
40
|
+
## Discussion / questions
|
|
41
|
+
|
|
42
|
+
ioBroker forum: <https://forum.iobroker.net/topic/48074/test-adapter-renault-v0-0-x>
|
|
28
43
|
|
|
29
44
|
## Changelog
|
|
30
45
|
|
|
46
|
+
<!--
|
|
47
|
+
Placeholder for the next version (at the beginning of the line):
|
|
48
|
+
### **WORK IN PROGRESS**
|
|
49
|
+
-->
|
|
50
|
+
|
|
51
|
+
### 0.0.24
|
|
52
|
+
|
|
53
|
+
- (TA2k) add Alpine support: brand selection (Alpine accounts use the same Renault Gigya/Kamereon tenant, only product/account type MYALPINE differs)
|
|
54
|
+
|
|
55
|
+
### 0.0.23
|
|
56
|
+
|
|
57
|
+
- (TA2k) align API headers with My Renault Android app, drop EOL Node 18/20, migrate admin UI to jsonConfig
|
|
58
|
+
|
|
59
|
+
### 0.0.22
|
|
60
|
+
|
|
61
|
+
- (TA2k) update dependencies, migrate to ESLint 10, fix repochecker findings
|
|
62
|
+
|
|
31
63
|
### 0.0.7
|
|
32
64
|
|
|
33
|
-
|
|
65
|
+
- (TA2k) initial release
|
|
66
|
+
|
|
67
|
+
[Older changelogs can be found here](CHANGELOG_OLD.md)
|
|
34
68
|
|
|
35
69
|
## License
|
|
36
70
|
|
|
37
71
|
MIT License
|
|
38
72
|
|
|
39
|
-
Copyright (c) 2021 TA2k <tombox2020@gmail.com>
|
|
73
|
+
Copyright (c) 2021-2026 TA2k <tombox2020@gmail.com>
|
|
40
74
|
|
|
41
75
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
42
76
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Anmeldung",
|
|
3
|
+
"App Email": "App E-Mail",
|
|
4
|
+
"App Password": "App Passwort",
|
|
5
|
+
"Country": "Land",
|
|
6
|
+
"Brand": "Marke",
|
|
7
|
+
"Renault/Dacia and Alpine use different accounts and API keys": "Renault/Dacia und Alpine nutzen unterschiedliche Konten und API-Schlüssel",
|
|
8
|
+
"Two-letter country code, e.g. de, fr, it, es": "Zweistelliger Ländercode, z.B. de, fr, it, es",
|
|
9
|
+
"Polling": "Abfrage",
|
|
10
|
+
"Update interval in minutes": "Aktualisierungsintervall in Minuten",
|
|
11
|
+
"Disable charge fetching": "Ladedaten-Abruf deaktivieren",
|
|
12
|
+
"API Key": "API-Schlüssel",
|
|
13
|
+
"API Key (leave empty for auto-detect)": "API-Schlüssel (leer lassen für automatische Erkennung)",
|
|
14
|
+
"If empty, the API key will be set automatically": "Wenn leer, wird der API-Schlüssel automatisch gesetzt",
|
|
15
|
+
"Click here for current API Key": "Hier klicken für aktuellen API-Schlüssel"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Login",
|
|
3
|
+
"App Email": "App Email",
|
|
4
|
+
"App Password": "App Password",
|
|
5
|
+
"Country": "Country",
|
|
6
|
+
"Brand": "Brand",
|
|
7
|
+
"Renault/Dacia and Alpine use different accounts and API keys": "Renault/Dacia and Alpine use different accounts and API keys",
|
|
8
|
+
"Two-letter country code, e.g. de, fr, it, es": "Two-letter country code, e.g. de, fr, it, es",
|
|
9
|
+
"Polling": "Polling",
|
|
10
|
+
"Update interval in minutes": "Update interval in minutes",
|
|
11
|
+
"Disable charge fetching": "Disable charge fetching",
|
|
12
|
+
"API Key": "API Key",
|
|
13
|
+
"API Key (leave empty for auto-detect)": "API Key (leave empty for auto-detect)",
|
|
14
|
+
"If empty, the API key will be set automatically": "If empty, the API key will be set automatically",
|
|
15
|
+
"Click here for current API Key": "Click here for current API Key"
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Acceso",
|
|
3
|
+
"App Email": "Correo electrónico de la app",
|
|
4
|
+
"App Password": "Contraseña de la app",
|
|
5
|
+
"Country": "País",
|
|
6
|
+
"Two-letter country code, e.g. de, fr, it, es": "Código de país de dos letras, p. ej. de, fr, it, es",
|
|
7
|
+
"Polling": "Sondeo",
|
|
8
|
+
"Update interval in minutes": "Intervalo de actualización en minutos",
|
|
9
|
+
"Disable charge fetching": "Deshabilitar obtención de carga",
|
|
10
|
+
"API Key": "Clave API",
|
|
11
|
+
"API Key (leave empty for auto-detect)": "Clave API (déjelo vacío para detección automática)",
|
|
12
|
+
"If empty, the API key will be set automatically": "Si está vacío, la clave API se establecerá automáticamente",
|
|
13
|
+
"Click here for current API Key": "Haga clic aquí para la clave API actual"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Connexion",
|
|
3
|
+
"App Email": "Email de l'application",
|
|
4
|
+
"App Password": "Mot de passe de l'application",
|
|
5
|
+
"Country": "Pays",
|
|
6
|
+
"Two-letter country code, e.g. de, fr, it, es": "Code pays à deux lettres, par exemple de, fr, it, es",
|
|
7
|
+
"Polling": "Interrogation",
|
|
8
|
+
"Update interval in minutes": "Intervalle de mise à jour en minutes",
|
|
9
|
+
"Disable charge fetching": "Désactiver la récupération de charge",
|
|
10
|
+
"API Key": "Clé API",
|
|
11
|
+
"API Key (leave empty for auto-detect)": "Clé API (laisser vide pour détection automatique)",
|
|
12
|
+
"If empty, the API key will be set automatically": "Si vide, la clé API sera définie automatiquement",
|
|
13
|
+
"Click here for current API Key": "Cliquez ici pour la clé API actuelle"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Accesso",
|
|
3
|
+
"App Email": "Email dell'app",
|
|
4
|
+
"App Password": "Password dell'app",
|
|
5
|
+
"Country": "Paese",
|
|
6
|
+
"Two-letter country code, e.g. de, fr, it, es": "Codice paese di due lettere, ad esempio de, fr, it, es",
|
|
7
|
+
"Polling": "Polling",
|
|
8
|
+
"Update interval in minutes": "Intervallo di aggiornamento in minuti",
|
|
9
|
+
"Disable charge fetching": "Disabilita il recupero della carica",
|
|
10
|
+
"API Key": "Chiave API",
|
|
11
|
+
"API Key (leave empty for auto-detect)": "Chiave API (lascia vuoto per il rilevamento automatico)",
|
|
12
|
+
"If empty, the API key will be set automatically": "Se vuoto, la chiave API verrà impostata automaticamente",
|
|
13
|
+
"Click here for current API Key": "Fai clic qui per la chiave API attuale"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Inloggen",
|
|
3
|
+
"App Email": "App E-mail",
|
|
4
|
+
"App Password": "App Wachtwoord",
|
|
5
|
+
"Country": "Land",
|
|
6
|
+
"Two-letter country code, e.g. de, fr, it, es": "Tweeletterige landcode, bijv. de, fr, it, es",
|
|
7
|
+
"Polling": "Polling",
|
|
8
|
+
"Update interval in minutes": "Update interval in minuten",
|
|
9
|
+
"Disable charge fetching": "Laadgegevens ophalen uitschakelen",
|
|
10
|
+
"API Key": "API-sleutel",
|
|
11
|
+
"API Key (leave empty for auto-detect)": "API-sleutel (laat leeg voor auto-detectie)",
|
|
12
|
+
"If empty, the API key will be set automatically": "Indien leeg, wordt de API-sleutel automatisch ingesteld",
|
|
13
|
+
"Click here for current API Key": "Klik hier voor de huidige API-sleutel"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Logowanie",
|
|
3
|
+
"App Email": "Email aplikacji",
|
|
4
|
+
"App Password": "Hasło aplikacji",
|
|
5
|
+
"Country": "Kraj",
|
|
6
|
+
"Two-letter country code, e.g. de, fr, it, es": "Dwuliterowy kod kraju, np. de, fr, it, es",
|
|
7
|
+
"Polling": "Odpytywanie",
|
|
8
|
+
"Update interval in minutes": "Interwał aktualizacji w minutach",
|
|
9
|
+
"Disable charge fetching": "Wyłącz pobieranie danych ładowania",
|
|
10
|
+
"API Key": "Klucz API",
|
|
11
|
+
"API Key (leave empty for auto-detect)": "Klucz API (pozostaw puste, aby wykryć automatycznie)",
|
|
12
|
+
"If empty, the API key will be set automatically": "Jeśli puste, klucz API zostanie ustawiony automatycznie",
|
|
13
|
+
"Click here for current API Key": "Kliknij tutaj, aby uzyskać aktualny klucz API"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Login",
|
|
3
|
+
"App Email": "Email do aplicativo",
|
|
4
|
+
"App Password": "Senha do aplicativo",
|
|
5
|
+
"Country": "País",
|
|
6
|
+
"Two-letter country code, e.g. de, fr, it, es": "Código de país de duas letras, por exemplo de, fr, it, es",
|
|
7
|
+
"Polling": "Sondagem",
|
|
8
|
+
"Update interval in minutes": "Intervalo de atualização em minutos",
|
|
9
|
+
"Disable charge fetching": "Desativar obtenção de carga",
|
|
10
|
+
"API Key": "Chave API",
|
|
11
|
+
"API Key (leave empty for auto-detect)": "Chave API (deixe em branco para detecção automática)",
|
|
12
|
+
"If empty, the API key will be set automatically": "Se vazio, a chave API será definida automaticamente",
|
|
13
|
+
"Click here for current API Key": "Clique aqui para a chave API atual"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Авторизация",
|
|
3
|
+
"App Email": "Электронная почта приложения",
|
|
4
|
+
"App Password": "Пароль приложения",
|
|
5
|
+
"Country": "Страна",
|
|
6
|
+
"Two-letter country code, e.g. de, fr, it, es": "Двухбуквенный код страны, например de, fr, it, es",
|
|
7
|
+
"Polling": "Опрос",
|
|
8
|
+
"Update interval in minutes": "Интервал обновления в минутах",
|
|
9
|
+
"Disable charge fetching": "Отключить получение данных о зарядке",
|
|
10
|
+
"API Key": "API ключ",
|
|
11
|
+
"API Key (leave empty for auto-detect)": "API ключ (оставьте пустым для автоопределения)",
|
|
12
|
+
"If empty, the API key will be set automatically": "Если пусто, API ключ будет установлен автоматически",
|
|
13
|
+
"Click here for current API Key": "Нажмите здесь для получения текущего API ключа"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "Вхід",
|
|
3
|
+
"App Email": "Електронна пошта застосунку",
|
|
4
|
+
"App Password": "Пароль застосунку",
|
|
5
|
+
"Country": "Країна",
|
|
6
|
+
"Two-letter country code, e.g. de, fr, it, es": "Дволітерний код країни, наприклад de, fr, it, es",
|
|
7
|
+
"Polling": "Опитування",
|
|
8
|
+
"Update interval in minutes": "Інтервал оновлення в хвилинах",
|
|
9
|
+
"Disable charge fetching": "Вимкнути отримання даних про зарядку",
|
|
10
|
+
"API Key": "API ключ",
|
|
11
|
+
"API Key (leave empty for auto-detect)": "API ключ (залиште порожнім для автовизначення)",
|
|
12
|
+
"If empty, the API key will be set automatically": "Якщо порожньо, API ключ буде встановлено автоматично",
|
|
13
|
+
"Click here for current API Key": "Натисніть тут для отримання поточного API ключа"
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Login": "登录",
|
|
3
|
+
"App Email": "应用邮箱",
|
|
4
|
+
"App Password": "应用密码",
|
|
5
|
+
"Country": "国家",
|
|
6
|
+
"Two-letter country code, e.g. de, fr, it, es": "两位字母的国家代码,例如 de, fr, it, es",
|
|
7
|
+
"Polling": "轮询",
|
|
8
|
+
"Update interval in minutes": "更新间隔(分钟)",
|
|
9
|
+
"Disable charge fetching": "禁用充电数据获取",
|
|
10
|
+
"API Key": "API 密钥",
|
|
11
|
+
"API Key (leave empty for auto-detect)": "API 密钥(留空自动检测)",
|
|
12
|
+
"If empty, the API key will be set automatically": "如果为空,API 密钥将自动设置",
|
|
13
|
+
"Click here for current API Key": "点击此处获取当前 API 密钥"
|
|
14
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
{
|
|
2
|
+
"i18n": true,
|
|
3
|
+
"type": "panel",
|
|
4
|
+
"items": {
|
|
5
|
+
"_loginHeader": {
|
|
6
|
+
"type": "header",
|
|
7
|
+
"text": "Login",
|
|
8
|
+
"size": 4
|
|
9
|
+
},
|
|
10
|
+
"username": {
|
|
11
|
+
"type": "text",
|
|
12
|
+
"label": "App Email",
|
|
13
|
+
"newLine": true,
|
|
14
|
+
"xs": 12,
|
|
15
|
+
"sm": 12,
|
|
16
|
+
"md": 6,
|
|
17
|
+
"lg": 4,
|
|
18
|
+
"xl": 4
|
|
19
|
+
},
|
|
20
|
+
"password": {
|
|
21
|
+
"type": "password",
|
|
22
|
+
"label": "App Password",
|
|
23
|
+
"repeat": false,
|
|
24
|
+
"newLine": true,
|
|
25
|
+
"xs": 12,
|
|
26
|
+
"sm": 12,
|
|
27
|
+
"md": 6,
|
|
28
|
+
"lg": 4,
|
|
29
|
+
"xl": 4
|
|
30
|
+
},
|
|
31
|
+
"brand": {
|
|
32
|
+
"type": "select",
|
|
33
|
+
"label": "Brand",
|
|
34
|
+
"help": "Renault/Dacia and Alpine use different accounts and API keys",
|
|
35
|
+
"default": "renault",
|
|
36
|
+
"options": [
|
|
37
|
+
{ "label": "Renault / Dacia", "value": "renault" },
|
|
38
|
+
{ "label": "Alpine", "value": "alpine" }
|
|
39
|
+
],
|
|
40
|
+
"newLine": true,
|
|
41
|
+
"xs": 12,
|
|
42
|
+
"sm": 12,
|
|
43
|
+
"md": 4,
|
|
44
|
+
"lg": 2,
|
|
45
|
+
"xl": 2
|
|
46
|
+
},
|
|
47
|
+
"country": {
|
|
48
|
+
"type": "text",
|
|
49
|
+
"label": "Country",
|
|
50
|
+
"help": "Two-letter country code, e.g. de, fr, it, es",
|
|
51
|
+
"newLine": true,
|
|
52
|
+
"xs": 12,
|
|
53
|
+
"sm": 12,
|
|
54
|
+
"md": 4,
|
|
55
|
+
"lg": 2,
|
|
56
|
+
"xl": 2
|
|
57
|
+
},
|
|
58
|
+
"_pollingHeader": {
|
|
59
|
+
"type": "header",
|
|
60
|
+
"text": "Polling",
|
|
61
|
+
"size": 4,
|
|
62
|
+
"newLine": true
|
|
63
|
+
},
|
|
64
|
+
"interval": {
|
|
65
|
+
"type": "number",
|
|
66
|
+
"label": "Update interval in minutes",
|
|
67
|
+
"min": 1,
|
|
68
|
+
"max": 1440,
|
|
69
|
+
"newLine": true,
|
|
70
|
+
"xs": 12,
|
|
71
|
+
"sm": 12,
|
|
72
|
+
"md": 4,
|
|
73
|
+
"lg": 2,
|
|
74
|
+
"xl": 2
|
|
75
|
+
},
|
|
76
|
+
"disableChargeFetching": {
|
|
77
|
+
"type": "checkbox",
|
|
78
|
+
"label": "Disable charge fetching",
|
|
79
|
+
"newLine": true,
|
|
80
|
+
"xs": 12,
|
|
81
|
+
"sm": 12,
|
|
82
|
+
"md": 6,
|
|
83
|
+
"lg": 4,
|
|
84
|
+
"xl": 4
|
|
85
|
+
},
|
|
86
|
+
"chargeHistoryLimit": {
|
|
87
|
+
"type": "number",
|
|
88
|
+
"label": "Charge history entries to keep",
|
|
89
|
+
"help": "Number of most recent entries kept per charge-history endpoint (0 = unlimited)",
|
|
90
|
+
"min": 0,
|
|
91
|
+
"max": 1000,
|
|
92
|
+
"default": 100,
|
|
93
|
+
"hidden": "data.disableChargeFetching === true",
|
|
94
|
+
"newLine": true,
|
|
95
|
+
"xs": 12,
|
|
96
|
+
"sm": 12,
|
|
97
|
+
"md": 4,
|
|
98
|
+
"lg": 2,
|
|
99
|
+
"xl": 2
|
|
100
|
+
},
|
|
101
|
+
"_apiHeader": {
|
|
102
|
+
"type": "header",
|
|
103
|
+
"text": "API Key",
|
|
104
|
+
"size": 4,
|
|
105
|
+
"newLine": true
|
|
106
|
+
},
|
|
107
|
+
"apiKeyUpdate": {
|
|
108
|
+
"type": "text",
|
|
109
|
+
"label": "API Key (leave empty for auto-detect)",
|
|
110
|
+
"help": "If empty, the API key will be set automatically",
|
|
111
|
+
"newLine": true,
|
|
112
|
+
"xs": 12,
|
|
113
|
+
"sm": 12,
|
|
114
|
+
"md": 8,
|
|
115
|
+
"lg": 6,
|
|
116
|
+
"xl": 6
|
|
117
|
+
},
|
|
118
|
+
"_apiKeyLink": {
|
|
119
|
+
"type": "staticLink",
|
|
120
|
+
"label": "Click here for current API Key",
|
|
121
|
+
"href": "https://github.com/db-EV/ZoePHP/blob/main/src/api-keys.php",
|
|
122
|
+
"newLine": true,
|
|
123
|
+
"xs": 12,
|
|
124
|
+
"sm": 12,
|
|
125
|
+
"md": 8,
|
|
126
|
+
"lg": 6,
|
|
127
|
+
"xl": 6
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
package/io-package.json
CHANGED
|
@@ -1,43 +1,113 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "renault",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.24",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.0.24": {
|
|
7
|
+
"en": "add Alpine support (select brand Alpine in the settings)",
|
|
8
|
+
"de": "Alpine-Unterstützung hinzugefügt (Marke Alpine in den Einstellungen wählen)",
|
|
9
|
+
"ru": "Добавлена поддержка Alpine (выберите марку Alpine в настройках)",
|
|
10
|
+
"pt": "Suporte para Alpine adicionado (selecione a marca Alpine nas definições)",
|
|
11
|
+
"nl": "Alpine-ondersteuning toegevoegd (selecteer merk Alpine in de instellingen)",
|
|
12
|
+
"fr": "Prise en charge d'Alpine ajoutée (sélectionnez la marque Alpine dans les paramètres)",
|
|
13
|
+
"it": "Aggiunto supporto Alpine (seleziona il marchio Alpine nelle impostazioni)",
|
|
14
|
+
"es": "Añadido soporte para Alpine (seleccione la marca Alpine en los ajustes)",
|
|
15
|
+
"pl": "Dodano obsługę Alpine (wybierz markę Alpine w ustawieniach)",
|
|
16
|
+
"uk": "Додано підтримку Alpine (виберіть марку Alpine в налаштуваннях)",
|
|
17
|
+
"zh-cn": "新增 Alpine 支持(在设置中选择品牌 Alpine)"
|
|
18
|
+
},
|
|
19
|
+
"0.0.23": {
|
|
20
|
+
"en": "align API headers with My Renault Android app (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
21
|
+
"de": "API-Header an My-Renault-Android-App angeglichen (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
22
|
+
"ru": "Заголовки API приведены в соответствие с приложением My Renault для Android (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
23
|
+
"pt": "Cabeçalhos da API alinhados com o app Android My Renault (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
24
|
+
"nl": "API-headers afgestemd op de My Renault Android-app (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
25
|
+
"fr": "En-têtes API alignés avec l'application Android My Renault (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
26
|
+
"it": "Header API allineati all'app Android My Renault (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
27
|
+
"es": "Cabeceras API alineadas con la app Android My Renault (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
28
|
+
"pl": "Nagłówki API dopasowane do aplikacji Android My Renault (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
29
|
+
"uk": "Заголовки API приведені у відповідність з Android-застосунком My Renault (User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)",
|
|
30
|
+
"zh-cn": "API 头与 My Renault 安卓应用对齐(User-Agent okhttp/5.3.0, X-Amzn-Trace-Id)"
|
|
31
|
+
},
|
|
6
32
|
"0.0.22": {
|
|
7
|
-
"en": "add error log"
|
|
33
|
+
"en": "add error log",
|
|
34
|
+
"de": "Fehlerprotokoll hinzugefügt",
|
|
35
|
+
"ru": "Добавлено журналирование ошибок",
|
|
36
|
+
"pt": "Adicionado registo de erros",
|
|
37
|
+
"nl": "Foutlogboek toegevoegd",
|
|
38
|
+
"fr": "Journal d'erreurs ajouté",
|
|
39
|
+
"it": "Aggiunto log degli errori",
|
|
40
|
+
"es": "Añadido registro de errores",
|
|
41
|
+
"pl": "Dodano dziennik błędów",
|
|
42
|
+
"uk": "Додано журнал помилок",
|
|
43
|
+
"zh-cn": "添加错误日志"
|
|
8
44
|
},
|
|
9
45
|
"0.0.21": {
|
|
10
|
-
"en": "fix login"
|
|
46
|
+
"en": "fix login",
|
|
47
|
+
"de": "Login korrigiert",
|
|
48
|
+
"ru": "Исправлен вход",
|
|
49
|
+
"pt": "Correção do login",
|
|
50
|
+
"nl": "Login gerepareerd",
|
|
51
|
+
"fr": "Correction de la connexion",
|
|
52
|
+
"it": "Correzione del login",
|
|
53
|
+
"es": "Corrección del inicio de sesión",
|
|
54
|
+
"pl": "Naprawa logowania",
|
|
55
|
+
"uk": "Виправлено вхід",
|
|
56
|
+
"zh-cn": "修复登录"
|
|
11
57
|
},
|
|
12
58
|
"0.0.17": {
|
|
13
|
-
"en": "update apikey"
|
|
59
|
+
"en": "update apikey",
|
|
60
|
+
"de": "API-Key aktualisiert",
|
|
61
|
+
"ru": "Обновлён API-ключ",
|
|
62
|
+
"pt": "Atualizada a API key",
|
|
63
|
+
"nl": "API-sleutel bijgewerkt",
|
|
64
|
+
"fr": "Mise à jour de la clé API",
|
|
65
|
+
"it": "Chiave API aggiornata",
|
|
66
|
+
"es": "Clave API actualizada",
|
|
67
|
+
"pl": "Zaktualizowano klucz API",
|
|
68
|
+
"uk": "Оновлено API-ключ",
|
|
69
|
+
"zh-cn": "更新 API 密钥"
|
|
14
70
|
},
|
|
15
71
|
"0.0.15": {
|
|
16
|
-
"en": "fix charge start and reduce error logs"
|
|
72
|
+
"en": "fix charge start and reduce error logs",
|
|
73
|
+
"de": "Ladestart korrigiert und Fehlerprotokolle reduziert",
|
|
74
|
+
"ru": "Исправлен запуск зарядки и уменьшены журналы ошибок",
|
|
75
|
+
"pt": "Correção do início de carga e redução dos logs de erro",
|
|
76
|
+
"nl": "Laadstart gerepareerd en foutlogboeken verminderd",
|
|
77
|
+
"fr": "Correction du démarrage de charge et réduction des journaux d'erreur",
|
|
78
|
+
"it": "Correzione dell'avvio della carica e riduzione dei log degli errori",
|
|
79
|
+
"es": "Corregido el inicio de carga y reducidos los registros de error",
|
|
80
|
+
"pl": "Naprawiono start ładowania i zmniejszono logi błędów",
|
|
81
|
+
"uk": "Виправлено старт зарядки та зменшено журнали помилок",
|
|
82
|
+
"zh-cn": "修复充电启动并减少错误日志"
|
|
17
83
|
},
|
|
18
84
|
"0.0.14": {
|
|
19
|
-
"en": "add charging stop"
|
|
85
|
+
"en": "add charging stop",
|
|
86
|
+
"de": "Ladestopp hinzugefügt",
|
|
87
|
+
"ru": "Добавлена остановка зарядки",
|
|
88
|
+
"pt": "Adicionada paragem de carga",
|
|
89
|
+
"nl": "Stoppen van het laden toegevoegd",
|
|
90
|
+
"fr": "Ajout de l'arrêt de la charge",
|
|
91
|
+
"it": "Aggiunto stop della carica",
|
|
92
|
+
"es": "Añadida parada de carga",
|
|
93
|
+
"pl": "Dodano zatrzymanie ładowania",
|
|
94
|
+
"uk": "Додано зупинку зарядки",
|
|
95
|
+
"zh-cn": "添加充电停止"
|
|
20
96
|
},
|
|
21
97
|
"0.0.13": {
|
|
22
|
-
"en": "add remote object for force refresh"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"fr": "Première version",
|
|
34
|
-
"it": "Versione iniziale",
|
|
35
|
-
"es": "Versión inicial",
|
|
36
|
-
"pl": "Pierwsze wydanie",
|
|
37
|
-
"zh-cn": "首次出版"
|
|
98
|
+
"en": "add remote object for force refresh",
|
|
99
|
+
"de": "Remote-Objekt für erzwungene Aktualisierung hinzugefügt",
|
|
100
|
+
"ru": "Добавлен удалённый объект для принудительного обновления",
|
|
101
|
+
"pt": "Adicionado objeto remoto para forçar atualização",
|
|
102
|
+
"nl": "Remote-object voor geforceerde verversing toegevoegd",
|
|
103
|
+
"fr": "Ajout d'un objet distant pour le rafraîchissement forcé",
|
|
104
|
+
"it": "Aggiunto oggetto remoto per il refresh forzato",
|
|
105
|
+
"es": "Añadido objeto remoto para actualización forzada",
|
|
106
|
+
"pl": "Dodano obiekt zdalny do wymuszonego odświeżenia",
|
|
107
|
+
"uk": "Додано віддалений об'єкт для примусового оновлення",
|
|
108
|
+
"zh-cn": "添加用于强制刷新的 remote 对象"
|
|
38
109
|
}
|
|
39
110
|
},
|
|
40
|
-
"title": "Renault",
|
|
41
111
|
"titleLang": {
|
|
42
112
|
"en": "Renault",
|
|
43
113
|
"de": "Renault",
|
|
@@ -48,6 +118,7 @@
|
|
|
48
118
|
"it": "Renault",
|
|
49
119
|
"es": "Renault",
|
|
50
120
|
"pl": "Renault ",
|
|
121
|
+
"uk": "Рено",
|
|
51
122
|
"zh-cn": "雷诺和佐伊"
|
|
52
123
|
},
|
|
53
124
|
"desc": {
|
|
@@ -60,24 +131,30 @@
|
|
|
60
131
|
"it": "Adattatore per auto Renault ad esempio Zoe",
|
|
61
132
|
"es": "Adaptador para automóviles Renault, por ejemplo Zoe",
|
|
62
133
|
"pl": "Adapter do samochodów Renault np. Zoe",
|
|
134
|
+
"uk": "Адаптер для автомобілів Renault, наприклад Zoe",
|
|
63
135
|
"zh-cn": "雷诺汽车的适配器,例如 Zoe"
|
|
64
136
|
},
|
|
65
137
|
"authors": ["TA2k <tombox2020@gmail.com>"],
|
|
66
|
-
"keywords": ["renault", "Renault"],
|
|
67
|
-
"
|
|
138
|
+
"keywords": ["renault", "Renault", "dacia", "Dacia", "zoe", "kangoo"],
|
|
139
|
+
"licenseInformation": {
|
|
140
|
+
"type": "free",
|
|
141
|
+
"license": "MIT"
|
|
142
|
+
},
|
|
68
143
|
"platform": "Javascript/Node.js",
|
|
69
|
-
"main": "main.js",
|
|
70
144
|
"icon": "renault.png",
|
|
71
145
|
"enabled": true,
|
|
72
146
|
"extIcon": "https://raw.githubusercontent.com/TA2k/ioBroker.renault/master/admin/renault.png",
|
|
73
147
|
"readme": "https://github.com/TA2k/ioBroker.renault/blob/master/README.md",
|
|
74
148
|
"loglevel": "info",
|
|
149
|
+
"tier": 2,
|
|
75
150
|
"mode": "daemon",
|
|
76
151
|
"type": "vehicle",
|
|
77
152
|
"compact": true,
|
|
78
153
|
"connectionType": "cloud",
|
|
79
154
|
"dataSource": "poll",
|
|
80
|
-
"
|
|
155
|
+
"adminUI": {
|
|
156
|
+
"config": "json"
|
|
157
|
+
},
|
|
81
158
|
"plugins": {
|
|
82
159
|
"sentry": {
|
|
83
160
|
"dsn": "https://c9bd6c851b1246da95e6e982aa9b88f3@sentry.iobroker.net/152"
|
|
@@ -85,12 +162,12 @@
|
|
|
85
162
|
},
|
|
86
163
|
"dependencies": [
|
|
87
164
|
{
|
|
88
|
-
"js-controller": ">=
|
|
165
|
+
"js-controller": ">=6.0.11"
|
|
89
166
|
}
|
|
90
167
|
],
|
|
91
168
|
"globalDependencies": [
|
|
92
169
|
{
|
|
93
|
-
"admin": ">=
|
|
170
|
+
"admin": ">=7.6.20"
|
|
94
171
|
}
|
|
95
172
|
]
|
|
96
173
|
},
|
|
@@ -99,9 +176,12 @@
|
|
|
99
176
|
"native": {
|
|
100
177
|
"username": "",
|
|
101
178
|
"country": "de",
|
|
179
|
+
"brand": "renault",
|
|
102
180
|
"password": "",
|
|
103
181
|
"apiKeyUpdate": "",
|
|
104
|
-
"interval": 10
|
|
182
|
+
"interval": 10,
|
|
183
|
+
"disableChargeFetching": false,
|
|
184
|
+
"chargeHistoryLimit": 100
|
|
105
185
|
},
|
|
106
186
|
"objects": [],
|
|
107
187
|
"instanceObjects": [
|
|
@@ -125,6 +205,19 @@
|
|
|
125
205
|
"def": false
|
|
126
206
|
},
|
|
127
207
|
"native": {}
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"_id": "info.migrationV1",
|
|
211
|
+
"type": "state",
|
|
212
|
+
"common": {
|
|
213
|
+
"role": "indicator",
|
|
214
|
+
"name": "Migration V1 (charge history forceIndex) executed",
|
|
215
|
+
"type": "boolean",
|
|
216
|
+
"read": true,
|
|
217
|
+
"write": false,
|
|
218
|
+
"def": false
|
|
219
|
+
},
|
|
220
|
+
"native": {}
|
|
128
221
|
}
|
|
129
222
|
]
|
|
130
223
|
}
|