Рено

Адаптер для автомобилей Renault, Dacia и Alpine

Текущий релиз
1.1.0
Разработчик
TA2k
Лицензия
MIT

Этот адаптер использует библиотеки 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 . Автомобиль работает с адаптером, если им можно управлять в этом приложении.

Установка / Вход

  1. Установите адаптер через административный интерфейс ioBroker.
  2. Откройте настройки адаптера и введите учетные данные вашей учетной записи My Renault (или My Dacia / My Alpine ): адрес электронной почты приложения и пароль приложения.
  3. Выберите марку вашего приложения: Renault / Dacia для моего Renault и моей Dacia. Alpine для My Alpine. Все три приложения авторизуются в одной и той же службе Renault; производитель сам решает, какую учетную запись для входа в систему будет использовать адаптер.
  4. Выберите страну , в которой находится ваш аккаунт, в приложении.
  5. Нажмите «Проверить вход» , чтобы проверить электронную почту и пароль перед сохранением. Для корректной работы кнопки экземпляр должен быть запущен.
  6. При желании можно установить интервал опроса в минутах и ключ API (оставьте поле пустым для автоматического определения).
  7. Сохраните изменения, и экземпляр начнет опрос. Под полями для входа в систему отображается информация о том, подключено ли устройство.

Поддерживаемые модели

Информация о том, какие функции поддерживает каждая модель, берется из таблицы конечных точек renault-api (src/renault_api/kamereon/models.py (читайте 17.09.2026). yes: поддерживается, no: не поддерживается, поэтому адаптер не создает состояние и не отправляет запрос. ?: renault-api не указывает, поэтому адаптер пытается выполнить запрос. Модель, которой нет в таблице, получает каждый запрос; тот запрос, который автомобиль отклоняет, запрашивается повторно раз в день. Код вашей модели находится в general.vehicleDetails.model.code.

Рено

МодельКодБатареяКабина пилотаКлиматНачало зарядкиОстановка зарядкиОграничения по зарядуЗвуковой сигнал / фарыДавление в шинахОповещения
Arkana E-tech полный гибридXJL2TR?да?????нет?
АВСТРАЛXHN1SUнетданетнетнетнетданет?
КАПТУР IIXJB1SUдададанетнетнетнетнет?
CAPTUR II GPLXJB2SUнетданетнетнетнетданетнет
CLIO VXJA1VPнетданетнетнетнетнетнетнет
CLIO VXJA2VPнетданетнетнетнетнетнетнет
MEGANE E-TECHXCB1VEдадададанетдаданет?
Мегане IVXFB2BIдада?????нет?
Megane IV Break (E-Tech Plug-in Hybrid)XFB2BKдададада??нетнет?
РафалеXHN1CPдада?нетнет?данет?
Renault 5 E-TECHR5E1VEдадададанетдаданетда
Renault Espace VI (OpenRLink)XHN1MLнетданетнетнетнетданетнет
Renault Master E-TechXDD1VEдадададанетдаданет?
Renault R4 E-TechA4E1VEдадададанетдаданет?
Renault Symbioz 2025XJB2CPнетданетнетнетнетданет?
SCENIC E-TECHXCB1SEдадададанетдаданет?
ТВИНГО IIIX071VEдада?????нет?
Фаза 1 ZOEX101VEдададада?нет?нет?
Фаза 2 ZOEX102VEдададададанетнетда?

Дасия

МодельКодБатареяКабина пилотаКлиматНачало зарядкиОстановка зарядкиОграничения по зарядуЗвуковой сигнал / фарыДавление в шинахОповещения
DACIA BIGSTER HYBRID 155 (без электропривода)BD11SLнетда?нетнетнетнетнетнет
Dacia Duster IIIDU31SUнетда???нетнетнет?
DACIA SANDERO III (ECO-G, бензин+LPG; тип двигателя: ДРУГОЙ)XJF2BIнетданетнетнетнетданетнет
ДАЦИЯ ВЕСНАXBG1VEдададададанетнетнетнет

Альпийский

МодельКодБатареяКабина пилотаКлиматНачало зарядкиОстановка зарядкиОграничения по зарядуЗвуковой сигнал / фарыДавление в шинахОповещения
Альпин А290A5E1AEдадададанетдаданетнет

Пульт дистанционного управления

Каждое транспортное средство создается как устройство на основе его 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нитьtextalways, 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.latitude and value.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-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
  • (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
  • (typhosj) Breaking change: battery, range, mileage, fuel and temperature states get units and specific roles
  • (typhosj) battery-status.plugStatus and battery-status.chargingStatus name their codes, for example 1 plugged or 0.3 waiting 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.lastCommandError holds the error of the last command
  • (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
  • (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
  • (typhosj) set the charge mode with remote.chargeMode; it and the charge limit states show the values the car reports
  • (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
  • (typhosj) new channels pressure (tyre pressure in mbar) and alerts (Renault 5), read once per hour; a cleared alert is removed
  • (typhosj) the vehicle is named after its model without doubling it (ZOE instead of ZOEZOE); 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 main branch 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.connection is 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.