Этот адаптер использует библиотеки Sentry для автоматического сообщения разработчикам об исключениях и ошибках в коде. Более подробную информацию, а также инструкции по отключению отправки сообщений об ошибках см. в документации Sentry-Plugin ! Система отчетности Sentry используется начиная с js-controller 3.0.
Адаптер Renault / Dacia / Alpine для ioBroker
Этот адаптер подключает ioBroker к облаку Renault , Dacia и Alpine . Он считывает данные об автомобиле (аккумулятор, зарядка, климат-контроль, пробег, местоположение, давление в шинах и т. д.) и отправляет удаленные команды (климат-контроль, зарядка, ограничения заряда, звуковой сигнал и фары) для подключенных моделей, таких как Renault Zoe, Megane E-Tech, Renault 5, Dacia Spring и Alpine A290.
Адаптер подключается к учетной записи приложения My Renault , My Dacia или My Alpine . Автомобиль работает с адаптером, если им можно управлять в этом приложении.
Установка / Вход
- Установите адаптер через административный интерфейс ioBroker.
- Откройте настройки адаптера и введите учетные данные вашей учетной записи My Renault (или My Dacia / My Alpine ): адрес электронной почты приложения и пароль приложения.
- Выберите марку вашего приложения:
Renault / Daciaдля моего Renault и моей Dacia.Alpineдля My Alpine. Все три приложения авторизуются в одной и той же службе Renault; производитель сам решает, какую учетную запись для входа в систему будет использовать адаптер. - Выберите страну , в которой находится ваш аккаунт, в приложении.
- Нажмите «Проверить вход» , чтобы проверить электронную почту и пароль перед сохранением. Для корректной работы кнопки экземпляр должен быть запущен.
- При желании можно установить интервал опроса в минутах и ключ API (оставьте поле пустым для автоматического определения).
- Сохраните изменения, и экземпляр начнет опрос. Под полями для входа в систему отображается информация о том, подключено ли устройство.
Поддерживаемые модели
Информация о том, какие функции поддерживает каждая модель, берется из таблицы конечных точек renault-api (src/renault_api/kamereon/models.py (читайте 17.09.2026). yes: поддерживается, no: не поддерживается, поэтому адаптер не создает состояние и не отправляет запрос. ?: renault-api не указывает, поэтому адаптер пытается выполнить запрос. Модель, которой нет в таблице, получает каждый запрос; тот запрос, который автомобиль отклоняет, запрашивается повторно раз в день. Код вашей модели находится в general.vehicleDetails.model.code.
Рено
| Модель | Код | Батарея | Кабина пилота | Климат | Начало зарядки | Остановка зарядки | Ограничения по заряду | Звуковой сигнал / фары | Давление в шинах | Оповещения |
|---|---|---|---|---|---|---|---|---|---|---|
| Arkana E-tech полный гибрид | XJL2TR | ? | да | ? | ? | ? | ? | ? | нет | ? |
| АВСТРАЛ | XHN1SU | нет | да | нет | нет | нет | нет | да | нет | ? |
| КАПТУР II | XJB1SU | да | да | да | нет | нет | нет | нет | нет | ? |
| CAPTUR II GPL | XJB2SU | нет | да | нет | нет | нет | нет | да | нет | нет |
| CLIO V | XJA1VP | нет | да | нет | нет | нет | нет | нет | нет | нет |
| CLIO V | XJA2VP | нет | да | нет | нет | нет | нет | нет | нет | нет |
| MEGANE E-TECH | XCB1VE | да | да | да | да | нет | да | да | нет | ? |
| Мегане IV | XFB2BI | да | да | ? | ? | ? | ? | ? | нет | ? |
| Megane IV Break (E-Tech Plug-in Hybrid) | XFB2BK | да | да | да | да | ? | ? | нет | нет | ? |
| Рафале | XHN1CP | да | да | ? | нет | нет | ? | да | нет | ? |
| Renault 5 E-TECH | R5E1VE | да | да | да | да | нет | да | да | нет | да |
| Renault Espace VI (OpenRLink) | XHN1ML | нет | да | нет | нет | нет | нет | да | нет | нет |
| Renault Master E-Tech | XDD1VE | да | да | да | да | нет | да | да | нет | ? |
| Renault R4 E-Tech | A4E1VE | да | да | да | да | нет | да | да | нет | ? |
| Renault Symbioz 2025 | XJB2CP | нет | да | нет | нет | нет | нет | да | нет | ? |
| SCENIC E-TECH | XCB1SE | да | да | да | да | нет | да | да | нет | ? |
| ТВИНГО III | X071VE | да | да | ? | ? | ? | ? | ? | нет | ? |
| Фаза 1 ZOE | X101VE | да | да | да | да | ? | нет | ? | нет | ? |
| Фаза 2 ZOE | X102VE | да | да | да | да | да | нет | нет | да | ? |
Дасия
| Модель | Код | Батарея | Кабина пилота | Климат | Начало зарядки | Остановка зарядки | Ограничения по заряду | Звуковой сигнал / фары | Давление в шинах | Оповещения |
|---|---|---|---|---|---|---|---|---|---|---|
| DACIA BIGSTER HYBRID 155 (без электропривода) | BD11SL | нет | да | ? | нет | нет | нет | нет | нет | нет |
| Dacia Duster III | DU31SU | нет | да | ? | ? | ? | нет | нет | нет | ? |
| DACIA SANDERO III (ECO-G, бензин+LPG; тип двигателя: ДРУГОЙ) | XJF2BI | нет | да | нет | нет | нет | нет | да | нет | нет |
| ДАЦИЯ ВЕСНА | XBG1VE | да | да | да | да | да | нет | нет | нет | нет |
Альпийский
| Модель | Код | Батарея | Кабина пилота | Климат | Начало зарядки | Остановка зарядки | Ограничения по заряду | Звуковой сигнал / фары | Давление в шинах | Оповещения |
|---|---|---|---|---|---|---|---|---|---|---|
| Альпин А290 | A5E1AE | да | да | да | да | нет | да | да | нет | нет |
Пульт дистанционного управления
Каждое транспортное средство создается как устройство на основе его VIN-кода. Дистанционные команды отображаются в виде состояний в разделе renault.0.<VIN>.remote.*:
| Состояние | Тип | Роль | Действие |
|---|---|---|---|
climateStart | логический | button.start | запустить климат-контроль |
climateStop | логический | button.stop | остановить климат-контроль |
climateTemperature | число | level.temperature | Целевая температура в °C для следующего запуска (по умолчанию 21) |
chargingStart | логический | button.start | Начать зарядку (см. ниже) |
chargingStop | логический | button.stop | прекратить зарядку |
chargeLimitMin | число | level | минимальный уровень заряда в %, от 15 до 45 с шагом 5. |
chargeLimitTarget | число | level | Целевой уровень заряда в %, от 55 до 100 с шагом 5. |
chargeMode | нить | text | always, always_charging, schedule_mode или scheduled; показывает режим работы автомобиля |
hornStart | логический | button.start | подать звук рога |
lightsStart | логический | button.start | мигать светом |
refreshLocation | логический | button | считать местоположение из облака сейчас |
askForLocationRefresh | логический | button | Запросить у автомобиля данные о местоположении, считать местоположение через 30 секунд. |
refreshAll | логический | button | Опросить все данные о транспортных средствах прямо сейчас |
refreshBattery | логический | button | Теперь вы можете получать информацию о состоянии батареи из облака. |
refreshClimate | логический | button | проверить состояние системы климат-контроля (hvac-status) из облака сейчас |
lastCommandError | нить | text | ошибка последней команды, пусто после успешной команды |
Кнопка нажимается путем написания. true Адаптер сбрасывает его до... false с ack: true как только команда была обработана; lastCommandError Это показывает, приняло ли облачное хранилище Renault запрос. Затем автомобиль выполняет его, и данные показывают результат после следующего опроса, например. hvac-status.hvacStatus и battery-status.chargingStatus.
chargeLimitMin и chargeLimitTarget отправляются вместе, поэтому адаптеру требуется другое ограничение из soc-levels Считывание происходит один раз в час; сразу после запуска запись ожидает первого считывания. В обоих состояниях отображаются ограничения, сообщаемые автомобилем, даже после внесения изменений в приложение.
Он refresh… Кнопки считывают только то, что хранится в облаке; автомобиль загружает данные самостоятельно, например, после замены в зарядном устройстве или при выключении. askForLocationRefresh Сначала система запрашивает у автомобиля данные о его местоположении, что активирует её телематический блок; считывание данных происходит только после того, как облако примет этот запрос, и результат отображается в памяти устройства. lastCommandError Не нажимайте кнопку из скрипта в циклическом режиме, каждое нажатие активирует автомобиль и потребляет энергию от его 12-вольтовой батареи. Автомобиль нельзя запросить о состоянии батареи или системы климат-контроля: Zoe Phase 2 отвечает на запросы обновления, известные по другим проектам, ошибкой 404. Каждая кнопка требует одного прочтения вместо полного опроса, и одни и те же данные об автомобиле считываются не чаще, чем каждые три минуты.
Сценарий, который следует за нажатиями настенного блока. refreshBattery само собой, когда у автомобиля было время загрузить данные, например, через минуту после замены настенного зарядного устройства. Частое использование refreshAll может исчерпать квоту запросов учетной записи, что также блокирует приложение My Renault.
Какой запрос отправляет команда и какие данные об автомобиле запрашивает адаптер, зависит от модели. Адаптер использует таблицу конечных точек renault-api (код модели в general.vehicleDetails.model.code):
- Кнопка, которую модель не поддерживает, не создается. Модели, которые не могут дистанционно остановить зарядку, например, Megane E-Tech, Renault 4, Renault 5 и Alpine A290, не имеют такой кнопки.
chargingStop. - Для моделей Renault 4, Renault 5, Alpine A290, Scenic E-Tech и Master E-Tech зарядка осуществляется по расписанию.
chargingStartОтключает все программы зарядки , как это делает приложение My Renault; включите их снова в приложении. - Данные, которые модель не предоставляет, не опрашиваются, что позволяет сократить количество запросов.
- Если в списке поддерживаемых API Renault пока нет нужной модели, выполняются запросы по умолчанию: проверяется каждая команда и конечная точка, а запросы к неподдерживаемым конечным точкам отправляются повторно раз в день.
Данные об автомобиле
Данные с каждого конечного пункта записываются в канал, расположенный ниже. renault.0.<VIN> названный, например, по названию конечной точки. battery-status, cockpit и hvac-status Большинство вопросов задаются в каждом опросе; они меняются медленно и задаются раз в час:
| Канал | Содержание |
|---|---|
charge-history | плата за день |
charges | разовые зарядные устройства |
pressure | Давление в каждой шине (мбар) и код состояния. |
alerts | Предупреждения автомобиля (Renault 5); удаленное предупреждение. |
soc-levels | минимальный и целевой уровень заряда |
Часто задаваемые вопросы
В журнале отображается сообщение "Функция не найдена для… Игнорировать… в течение 24 часов". Автомобиль или его пакет обновлений не предоставляют эти данные. Адаптер запрашивает данные повторно один раз в день, что обходится в один запрос.
В журнале появляется сообщение "неверный логин или пароль", или вход в систему отклонен. Установите новый пароль в приложении My Renault (My Dacia, My Alpine), введите его в настройках адаптера и перезапустите устройство. До тех пор адаптер не отправляет команды, поэтому он не может заблокировать учетную запись со старым паролем.
В журнале указано, что квота запросов Renault исчерпана (429). Учетная запись позволяет отправлять около 60 запросов в час, которые распределяются между приложением. Адаптер автоматически приостанавливается на 15, 30, а затем на 60 минут. Увеличьте интервал обновления и используйте refreshAll Редко; адаптер выдает предупреждение один раз, когда его настройки требуют больше запросов, чем позволяет квота.
** chargingStart Я отключил расписание зарядки.** На Renault 4, Renault 5, Alpine A290, Scenic E-Tech и Master E-Tech зарядка запускается именно так, приложение делает то же самое. Включите программы зарядки снова в приложении.
Отсутствует удаленное состояние. Модель не поддерживает команду согласно приведенной выше таблице; адаптер не создает ее и удаляет, если она была создана в более старой версии.
Changelog
WORK IN PROGRESS
- Added a Test login button to the settings page. It checks email and password with the values on the page before saving and says whether they are wrong or the service did not answer. The page also shows whether the instance is connected.
- GPS latitude and longitude now carry the roles
value.gps.latitudeandvalue.gps.longitude, so map widgets and the type detector find the vehicle position. Existing states are updated on the next start.
1.0.0 (2026-09-23)
- (typhosj) Breaking change: the remote states are renamed and every command is a button.
actions/hvac-startbecomesclimateStartandclimateStop,hvac-temperaturebecomesclimateTemperature(default 21 °C, a valid old value is taken over),actions/charging-start,charge/pause-resumeandcharge/startbecomechargingStartandchargingStop, andrefreshbecomesrefreshAll. The old states are removed on the first start. Adjust scripts and visualizations - (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; thecockpitv2channel is removed - (typhosj) Breaking change: battery, range, mileage, fuel and temperature states get units and specific roles
- (typhosj)
battery-status.plugStatusandbattery-status.chargingStatusname their codes, for example1plugged or0.3waiting for current charge - (typhosj) Breaking change: the update interval is at least 5 minutes (15 minutes for new installations)
- (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
- (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.lastCommandErrorholds the error of the last command - (typhosj)
chargingStartstarts 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 - (typhosj) read and set the minimum and target charge level with
remote.chargeLimitMinandremote.chargeLimitTargeton models that support it; the current limits are in the new channelsoc-levels - (typhosj) set the charge mode with
remote.chargeMode; it and the charge limit states show the values the car reports - (typhosj) new buttons
remote.hornStartandremote.lightsStarton models that support them;remote.refreshLocation,remote.refreshBatteryandremote.refreshClimateread only the location, the battery status or the climate control status from the cloud, andremote.askForLocationRefreshfirst 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 inlastCommandError - (typhosj) new channels
pressure(tyre pressure in mbar) andalerts(Renault 5), read once per hour; a cleared alert is removed - (typhosj) the vehicle is named after its model without doubling it (
ZOEinstead ofZOEZOE); a name given by the user is kept - (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"
- (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
- (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
- (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
- (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
- (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
- (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
- (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
- (typhosj) the log no longer contains the vehicle list, the position of the car or the whole answer to a failed login
- (typhosj) a vehicle whose VIN contains characters other than letters and digits is skipped with a warning
- (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
- (typhosj) the adapter icon and readme links point to the
mainbranch again - (typhosj) lint uses the shared
@iobroker/eslint-config; dependencies updated
0.0.25
- (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
- (typhosj)
info.connectionis true only after the account was found and turns false when the token refresh fails - (typhosj) a temporary server error (5xx) on the first poll no longer disables that endpoint until restart
- (typhosj) fix crash for vehicles without vehicle details and for the refresh button before login
- (typhosj) no longer write password, session cookie, id token or account data into the log
- (typhosj) add missing admin translations, remove unused dependencies
- (typhosj) require Node.js 22 or newer, test with Node.js 26, update dependencies
0.0.24
- (TA2k) add Alpine support: brand selection (Alpine accounts use the same Renault Gigya/Kamereon tenant, only product/account type MYALPINE differs)
0.0.23
- (TA2k) align API headers with My Renault Android app, drop EOL Node 18/20, migrate admin UI to jsonConfig
0.0.22
- (TA2k) update dependencies, migrate to ESLint 10, fix repochecker findings
License
MIT License
Copyright (c) 2021-2026 TA2k tombox2020@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.